Skip to content

Commit 4c07dc1

Browse files
rexjohannestimothycarambatshatfield4okaeizjasonhp
authored
resolve merge conflicts (#2)
* Add caching to Gemini /models (Mintplex-Labs#2969) rename file typo * patch gemini embedding key preference resolves Mintplex-Labs#2972 * add `index` to response object for marshalling resolves Mintplex-Labs#2956 * Support historical message image inputs/attachments for n+1 queries (Mintplex-Labs#2919) * Support historical message image inputs/attachments for n+1 queries * patch gemini * OpenRouter vision support cleanup * xai vision history support * Mistral logging --------- Co-authored-by: shatfield4 <[email protected]> * Swap to GH `arm64` runner (Mintplex-Labs#2980) * test arm runner speed * test arm runner speed with arm * update primary worker flows * update dev build name * remove QEMU step * Fix similarity score bug in lance/chroma dbs (Mintplex-Labs#2986) * fix similarity score bug in lance/chroma dbs * batch lower bound case --------- Co-authored-by: timothycarambat <[email protected]> * Farsi (Persian) translations (Mintplex-Labs#2989) * Initial commit | Farsi (Persian) translations * Farsi (Persian) translations - Pt. 2 * Farsi (Persian) translations - Pt. 3 * Farsi (Persian) translations - `README.fa-IR.md` file * remove greptile link * linting * wip agent ui animation (Mintplex-Labs#2999) * wip agent ui animation * WIP agent ui revision * linting * simplify css * memoize agent responses --------- Co-authored-by: shatfield4 <[email protected]> * Display `thinking` in the prompt response - model agnostic (Mintplex-Labs#3001) * CoT Display * forgot file * preformance optimizations * match agent ui on thinking model ui when collapsed * style cleanup * spacing fixes --------- Co-authored-by: shatfield4 <[email protected]> * Fix stop generation button UI (Mintplex-Labs#3011) * fix stop generation button ui * keep action color theme and match rest of the UI rescale button to be consistent with UI --------- Co-authored-by: timothycarambat <[email protected]> * Revert StatusResponse Changes due to crashing frontend * Bump perplexity models (Mintplex-Labs#3014) * bump perplexity models --------- Co-authored-by: Timothy Carambat <[email protected]> * linting * Dynamic fetching of TogetherAI models (Mintplex-Labs#3017) * implement dynamic fetching of togetherai models * implement caching for togetherai models * update gitignore for togetherai model caching * Remove models.json from git tracking * Remove .cached_at from git tracking * lint * revert unneeded change --------- Co-authored-by: Timothy Carambat <[email protected]> * Add Version to AzureOpenAI (Mintplex-Labs#3023) * Allow editing of LLM settings from workspace settings (Mintplex-Labs#2865) * wip change workspace llm settings * allow editing of workspace llm and agent config inside workspace settings * lint + put back deleted comment --------- Co-authored-by: Timothy Carambat <[email protected]> * feat: update novita AI logo and default model (Mintplex-Labs#3037) * [Chore] Add better data-handling for unknown providers (Mintplex-Labs#3026) Add better data-handling for unknown providers * breakout latex plugin for delims (Mintplex-Labs#3040) * Breakout LaTeX plugin for modification * backport regular markdown link * Remove native LLM option (Mintplex-Labs#3024) * remove native llm * remove node-llama-cpp from dockerfile * remove unneeded items from dockerfile --------- Co-authored-by: Timothy Carambat <[email protected]> * Add ability to disable default agent skills (Mintplex-Labs#3041) * Add ability to disable default agent skills * debug build * rever ubuntu arm runner - fickle and fails often * Update NVIDIA branding * Agent UI animations (Mintplex-Labs#3025) * wip agent ui animation * WIP agent ui revision * linting * simplify css * memoize agent responses * patch hook memo issue * dev build --------- Co-authored-by: shatfield4 <[email protected]> * Patch gear showing on llms with no settings * Enable `include_reasoning` in request (Mintplex-Labs#3067) * parse streams from `reasoning_content` from DeepSeek API (Mintplex-Labs#3068) * Add tokenizer improvments via Singleton class and estimation (Mintplex-Labs#3072) * Add tokenizer improvments via Singleton class linting * dev build * Estimation fallback when string exceeds a fixed byte size * Add notice to tiktoken on backend * autodetect parseable text file contents (Mintplex-Labs#3079) * Fix inifite loading when bad file is uploaded alone in uploader * o3 model patch * inherit font size from UI for thoughts (Mintplex-Labs#3099) * bump cdn * Add patch for `o#` models on Azure connect Mintplex-Labs#3023 Note: depends on user naming the deployment correctly. * Enable consistent styling on chart items (Mintplex-Labs#3126) * Add reasoning flag for azure models with "default" fallback (Mintplex-Labs#3128) * Enable `num_ctx` to match defined chunk length in ollama embedder (Mintplex-Labs#3129) * Enable `num_ctx` to match defined chunk length in ollama embedder * remove console * Patch PPLX streaming for timeouts (Mintplex-Labs#3130) Add in-text citations as well for PPLX token streaming handle timeouts for stream/buffer hanging * Add improved logging and introspection to web-browsing (Mintplex-Labs#3140) * [FEAT] Add Turkish Language Support (tr.js) Mintplex-Labs#3108 (Mintplex-Labs#3141) * Patch light mode remove on SQL Connection resolves Mintplex-Labs#3160 * linting * [CHORE] Onboarding language translations (Mintplex-Labs#3176) * wip onboarding translations * add normalized EN reference for languages * add zh/zh-tw translations * Fix translations * fix UserMenu rendered twice on Main page (Mintplex-Labs#3110) fix: fix UserMenu rendered twice on Main page * Add handling to reasoning models for Generic OpenAI connector (Mintplex-Labs#3183) * Add handling to resoning models for Generic OpenAI connector resolves Mintplex-Labs#3177 * linting * Patch code block header oddity resolves Mintplex-Labs#3117 * Agent flow builder (Mintplex-Labs#3077) * wip agent builder * refactor structure for agent builder * improve ui for add block menu and sidebar * lint * node ui improvement * handle deleting variable in all nodes * add headers and body to apiCall node * lint * Agent flow builder backend (Mintplex-Labs#3078) * wip agent builder backend * save/load agent tasks * lint * refactor agent task to use uuids instead of names * placeholder for run task * update frontend sidebar + seperate backend to agent-tasks utils * lint * add deleting of agent tasks * create AgentTasks class + wip load agent tasks into aibitat * lint * inject + call agent tasks * wip call agent tasks * add llm instruction + fix api calling blocks * add ui + backend for editing/toggling agent tasks * lint * add back middlewares * disable run task + add navigate to home on logo click * implement normalizePath to prevent path traversal * wip make api calling more consistent * lint * rename all references from task to flow * patch load flow bug when on editing page * remove unneeded files/comments * lint * fix delete endpoint + rename load flows * add move block to ui + fix api-call backend + add telemetry * lint * add web scraping block * only allow admin for agent builder --------- Co-authored-by: timothycarambat <[email protected]> * Move AgentFlowManager flows to static simplify UI states Handle LLM prompt flow when provided non-string * delete/edit menu for agent flow panel + update flow icon * lint * fix open builder button hidden bug * add tooltips to move up/down block buttons * add tooltip to delete block * truncate block description to fit on blocklist component * light mode agent builder sidebar * light mode api call block * fix light mode styles for agent builder blocks * agent flow fetch in UI * sync delete flow * agent flow ui/ux improvements * remove unused AgentSidebar component * comment out /run * UI changes and updates for flow builder * format flow panel info * update link handling * ui tweaks to header menu * remove unused import * update doc links update block icons * bump readme * Patch code block header oddity resolves Mintplex-Labs#3117 * bump dev image --------- Co-authored-by: Timothy Carambat <[email protected]> * patch flow link * chore: rename Github to GitHub (Mintplex-Labs#3199) * chore: rename Github to GitHub Signed-off-by: Adam Setch <[email protected]> * chore: rename Github to GitHub Signed-off-by: Adam Setch <[email protected]> * Undo some code changes for references --------- Signed-off-by: Adam Setch <[email protected]> Co-authored-by: timothycarambat <[email protected]> * update dead link resolves Mintplex-Labs#3201 * chore: rename `Gitlab` to `GitLab` (Mintplex-Labs#3200) * chore: rename `Gitlab` to `GitLab` Signed-off-by: Adam Setch <[email protected]> * undo code changes - breaks refs --------- Signed-off-by: Adam Setch <[email protected]> Co-authored-by: timothycarambat <[email protected]> * Add `querySelectorAll` capability to web-scraping block (Mintplex-Labs#3186) * Add `querySelectorAll` capability to web-scraping block * patches and fallbacks * fix styles of text in web scraping block --------- Co-authored-by: shatfield4 <[email protected]> * Turkish translations (Mintplex-Labs#3207) * OCR PDFs as fallback during upload (Mintplex-Labs#3204) * OCR PDFs as fallback in spawn thread * wip * build our own worker fanout and wrapper * norm pkgs * bump dev * Add OCR of image support (Mintplex-Labs#3219) * OCR PDFs as fallback in spawn thread * wip * build our own worker fanout and wrapper * norm pkgs * Add image OCR support * feat(dataconnectors): support confluence personal access token (Mintplex-Labs#3206) * feat(dataconnectors): support confluence personal access token * fix: change select option * linting change name on accesstype field --------- Co-authored-by: timothycarambat <[email protected]> * fix agent builder move block bug (Mintplex-Labs#3220) patch bug allowing user to move block above vars in agent builder * Drop Node `canvas` for manual `sharp` conversion (Mintplex-Labs#3221) * Drop Node `canvas` for manual `sharp` conversion * bump dev * disable PH people props * Revert "disable PH people props" This reverts commit 6fd34e5. * for projects in gitlab subgroup (Mintplex-Labs#3075) (Mintplex-Labs#3247) * for projects in gitlab subgroup (Mintplex-Labs#3075) * fix: false condition * refactor pattern matching logic --------- Co-authored-by: t2 <> Co-authored-by: shatfield4 <[email protected]> Co-authored-by: Timothy Carambat <[email protected]> * Fix: fix text and format issues in Chinese documentation. (Mintplex-Labs#3249) fix: docs(zh-CN): fix text and format issues in Chinese documentation - Remove redundant punctuation and repeated words - Standardize quotation marks format and remove unnecessary quotes - Add and complete TTS and STT related translations * fix: sanitizeNamespace (Mintplex-Labs#3246) bug fixes for sanitizing Namespaces and handling chunk size limit of astradb collections in each doc Co-authored-by: Timothy Carambat <[email protected]> * fix: Patch agent flow to honor agent handler established provider (Mintplex-Labs#3251) resolves Mintplex-Labs#3248 * Add additional embed API endpoints (Mintplex-Labs#3264) * wip embed dev api endpoints * fix /v1/embed/new endpoint * add delete endpoint to embeds * linting --------- Co-authored-by: timothycarambat <[email protected]> * feat: Add endpoint to retrieve documents by folder name (Mintplex-Labs#3258) * feat: Add endpoint to retrieve documents by folder name * isWithin Check on path to prevent path traversal --------- Co-authored-by: timothycarambat <[email protected]> * Improve PromptInput component (Mintplex-Labs#3266) * allow typing while streaming + refactor props * remove duplicate function * 2749 ollama client auth token (Mintplex-Labs#3005) * ollama auth token provision * auth token provision * ollama auth provision * ollama auth token * ollama auth provision * token input field css fix * Fix provider handler not using key sensible fallback to not break existing installs re-order of input fields null-check for API key and header optional insert on request linting * apply header and auth to agent invocations * upgrading to ollama 5.10 for passing headers to constructor * rename Auth systemSetting key to be more descriptive linting and copy * remove untracked files + update gitignore * remove debug * patch lockfile --------- Co-authored-by: timothycarambat <[email protected]> * patch swagger * lint * Normalize chat sorting defaults in developer API (Mintplex-Labs#3270) * normalize sorting for workspace and workspace thread chats in dev api * lint --------- Co-authored-by: Timothy Carambat <[email protected]> * Markdown support in custom messages (Mintplex-Labs#3267) * add md support to appearance custom messages * break out dompurify to util --------- Co-authored-by: Timothy Carambat <[email protected]> * Update null-check function for aibitat runners (Mintplex-Labs#3283) * Update nullcheck function for aibitat runners resolves Mintplex-Labs#3273 closes Mintplex-Labs#3277 * lint * Fix garbled non English chars on document upload (Mintplex-Labs#3301) update handleAPIFileUpload middleware to handle non english chars + update jsdoc * [FEAT] Add claude-3-7 (Mintplex-Labs#3337) * add claude 3-7 sonnet * made all the changes everywhere * add 3-7-sonnet-latest model * lint --------- Co-authored-by: shatfield4 <[email protected]> * feature: support configurable left and right message layout (Mintplex-Labs#3244) * feat: support user select message direction * feat: optimizing the code * feat: lint code * fix: prevent localstorage read on every message component render ui: refactor alignment UI selector for dark and light mode with simple styling * docs: update jsdoc comment for hook fix: apply chat alignment to homepage chat * fix mobile styles of message chat alignment preference --------- Co-authored-by: Timothy Carambat <[email protected]> Co-authored-by: shatfield4 <[email protected]> * Arabic Translation (Mintplex-Labs#3357) * Arabic translation * Arabic Translation correction * fix: bug where in single user mode deletion of an api key deletes all (Mintplex-Labs#3358) * fix: bug where in single user mode deletion of an api key deletes all resolves Mintplex-Labs#3352 * linting * feat: Add endpoint to upload documents to a specified folder (Mintplex-Labs#3276) * feat: Add endpoint to retrieve documents by folder name * isWithin Check on path to prevent path traversal * feat: Add endpoint to upload documents to a specified folder * refactor upload to folder endpoint + update jsdoc for swagger * linting --------- Co-authored-by: timothycarambat <[email protected]> Co-authored-by: shatfield4 <[email protected]> * patch openapi swagger docs * chore: patch QUMU CI segfault due to recent QEMU issue on image * chore: patch QUMU CI segfault due to recent QEMU issue on image * chore: patch again for buildx segfault * chore: attempt to unblock CI * chore: attempt to unblock CI * chore: attempt to unblock CI * Patch multi-arch builds ref: NVIDIA/cuda-quantum#2651 (comment) * Add bio field to user (Mintplex-Labs#3346) * add bio to users table * lint * add bio field to edit user admin page * fix bio saving on new user * simplify updating localstorage user * linting --------- Co-authored-by: timothycarambat <[email protected]> * speech to text typo correction (Mintplex-Labs#3330) Co-authored-by: Timothy Carambat <[email protected]> * New thinking/agent animation + UI (Mintplex-Labs#3302) * implement new thinking animation ui * implement agent thinking animation * Windows development environment variables support (Mintplex-Labs#3354) * Windows development environment variables support * moved cross-env to dev dependencies --------- Co-authored-by: Timothy Carambat <[email protected]> * Add new model provider PPIO (Mintplex-Labs#3211) * feat: add new model provider PPIO * fix: fix ppio model fetching * fix: code lint * reorder LLM update interface for streaming and chats to use valid keys linting --------- Co-authored-by: timothycarambat <[email protected]> * changed language support for following windows: chat, data-upload and… (Mintplex-Labs#3010) * changed language support for following windows: chat, data-upload and account settings * normalize translations * linting, normalization with DE --------- Co-authored-by: Ron Metzger <[email protected]> Co-authored-by: timothycarambat <[email protected]> * feat: Add multilingual support for ocr module (Mintplex-Labs#3325) * Add multilingual support for ocr mudule * Add OCR langauge as server var that is passed into Collector Support all valid tesseract language codes Filter and parse only valid codes with fallbacks' * persist TARGET_OCR_LANG * update docker example env --------- Co-authored-by: Timothy Carambat <[email protected]> * Prevent collector crash when blocked by CDN (Mintplex-Labs#3373) resolves Mintplex-Labs#3365 * Add support for Anthropics /model endpoint (finally) (Mintplex-Labs#3376) * Add support for Anthropics /model endpoint (finally) * dev * Show default deepseek models on wrong API key connect Mintplex-Labs#3390 * fix thought container from getting cut off at max height (Mintplex-Labs#3449) * Fix agent calling UI max height (Mintplex-Labs#3457) fix agent calling ui max height * Added danish translation (Mintplex-Labs#3461) ### Pull Request Type <!-- For change type, change [ ] to [x]. --> - [ ] ✨ feat - [ ] 🐛 fix - [ ] ♻️ refactor - [ ] 💄 style - [x] 🔨 chore - [ ] 📝 docs Adds danish translation - [x] I ran `yarn lint` from the root of the repo & committed changes - [x] Relevant documentation has been updated - [x] I have tested my code functionality - [x] Docker build succeeds locally * Pinning UI improvements (Mintplex-Labs#3490) * improve pinning ui + sort pinned docs to top * lint * Add remove folder developer API endpoint (Mintplex-Labs#3489) * add remove folder api endpoint * update purgeFolder function comment --------- Co-authored-by: timothycarambat <[email protected]> * fix pkg order * fix chroma db + add similarity offset (Mintplex-Labs#3458) * fix chroma db + add similarity offset * patch chroma scoring --------- Co-authored-by: timothycarambat <[email protected]> * Fix embedding endpoint for OpenAI compatible API (Mintplex-Labs#3467) * fix embedding endpoint for openai compatible api * remove unused imports * add backwards compat for embedding --------- Co-authored-by: timothycarambat <[email protected]> * Add ability to reordering workspaces (Mintplex-Labs#3446) * added reordering of workspaces * smooth ui updates on dnd + ui bug fixes * pin react-beautiful-dnd version * Move to localstorage solution to support single and multi-user --------- Co-authored-by: Ron Metzger <[email protected]> Co-authored-by: shatfield4 <[email protected]> Co-authored-by: timothycarambat <[email protected]> * Use concurrently to run all dev service at once (Mintplex-Labs#3424) * Update package.json * patch run command to use local node_module concurrently --------- Co-authored-by: Timothy Carambat <[email protected]> * remove unused import * CHORE: debounce telems to prevent spamming (Mintplex-Labs#3505) debounce telems to prevent spamming * Bump LanceDB (Mintplex-Labs#3015) * bump lancedb * dev build * normalize build * wtf is going on with build now --------- Co-authored-by: timothycarambat <[email protected]> * remove dupe key * change submodules to https for non-ssh pulls * Enable slash commands in dev API chat/stream-chat (Mintplex-Labs#3514) * enable slash commands in dev api * lint * Remove ability to use default slash commands in API request Add `reset` param to body that can reset chats according to the api chat execution parameters Allow null `message` if `reset` is set in request. Added early return for if message is null and reset is true Enable chat to reset chat history and continue `message` execution Added generic WorkspaceChat history reset function. Deprecated others * update grep function comment remove debug --------- Co-authored-by: timothycarambat <[email protected]> * Enable use of @agent in slash commands (Mintplex-Labs#3508) * allow @agent in slash commands * make prompt input focused on slash command click * lint --------- Co-authored-by: timothycarambat <[email protected]> * Protected slash command check (Mintplex-Labs#3524) * protected slash command check * fix error handling on frontend --------- Co-authored-by: timothycarambat <[email protected]> * Update README.zh-CN.md (Mintplex-Labs#3527) * Update README.zh-CN.md * Update README.ja-JP.md * Update README.zh-CN.md * Update README.zh-CN.md * Update README.ja-JP.md * Prompt variables (Mintplex-Labs#3359) * wip prompt variables * refactor backend + add popup suggestions menu to frontend * use processString to replace all variables in system prompts * update translations * fix translations * wip highlight variables * revert accidental name change * rename everything, remove translations * Update prompt var UI and backend logic * Update form handler linting * linting * normalize all translation files for prompt variables * prompt vars dev image --------- Co-authored-by: Timothy Carambat <[email protected]> * Update QDRANT_SETUP.md (Mintplex-Labs#3530) * linting * Overhaul AWS Bedrock provider (Mintplex-Labs#3537) * Patch AWS Bedrock provider for newer models and performance * patch prompt constructor * add AgentFlow execution via API chat invocation (Mintplex-Labs#3545) * add AgentFlow execution via API chat invocation * reorder import * Persist images attached in API requests to the UI for rendering (Mintplex-Labs#3546) Persist images attached in API requests to the UI for rendereing resolves Mintplex-Labs#3518 * Replace connectionString parser for sql-agent (Mintplex-Labs#3560) resolves Mintplex-Labs#3551 * Update styles of experimental modal buttons (Mintplex-Labs#3535) update styles of experimental modal buttons Co-authored-by: timothycarambat <[email protected]> * Teal color for onboarding buttons (Mintplex-Labs#3533) add teal color for onboarding Co-authored-by: Timothy Carambat <[email protected]> * Agent builder UI bug fixes (Mintplex-Labs#3522) * builder ui bug fixes * fix save button text color --------- Co-authored-by: Timothy Carambat <[email protected]> * ModelContextProtocol (MCP) Full Compatibility (Mintplex-Labs#3547) * WIP MCP full compatibility layer * implement MCP agent function wrapping and invocation methods * Add `uvx` to docker bin for MCP executions * dev build * prune removed data * Wrap MCP servers to lazy load items to not block the UI Mobile bug fixes * arm64 test build * reset dev builder * remove unused prop * MCP announcement * Fix broken links in MCP UI (Mintplex-Labs#3569) * fix broken links in agent skills mcp section * remove link and use a tag * Allow period in username (Mintplex-Labs#3592) * allow period in username * update validation hint --------- Co-authored-by: timothycarambat <[email protected]> * fix broken links on locales READMEs closes Mintplex-Labs#3584 * Fix agent flow description bug (Mintplex-Labs#3593) * fix agent flow description bug * add jsdoc to AgentFlows class * lint --------- Co-authored-by: timothycarambat <[email protected]> * sync and publish embed changes (Mintplex-Labs#3596) * optional "env" in MCP config * [CHORE] Consistent table styling across settings pages (Mintplex-Labs#3597) make all tables styling consistent across settings pages Co-authored-by: Timothy Carambat <[email protected]> * Gemini model list sync (Mintplex-Labs#3609) * Update defaultModels.js add gemma-3-27b-it to v1BetaModels * Update defaultModels.js 20250330 model update * Update defaultModels.js remove text embedding * Update name and inputTokenLimit modelMap.js * Update gemini to load models from both endpoints dedupe models decide endpoint based on expieremental status from fetch add util script for maintainers reduce cache time on gemini models to 1 day * remove comment --------- Co-authored-by: DreamerC <[email protected]> * Disable Agent retry to prevent looping on crash (Mintplex-Labs#3617) * Refactor Gemini to use OpenAI interface API (Mintplex-Labs#3616) * Refactor Gemini to use OpenAI interface API * add TODO * handle errors better (gemini) * remove unused code * Fix bottom border on workspace settings tab switcher (Mintplex-Labs#3615) fix bottom border on workspace settings tab switcher Co-authored-by: Timothy Carambat <[email protected]> * Move CTA save buttons to top of workspace setting screens (Mintplex-Labs#3613) move cta save buttons to top of workspace setting screens * Fix truncation of threads/workspaces (Mintplex-Labs#3610) * fix truncation of threads/workspaces * remove unneeded import * fix missing i18n string for watching documents * New chat home page (Mintplex-Labs#3555) * wip getting started checklist page * lint * add new ui skeleton for new home page/checklist * make legacy home page appearance setting * dynamic checklist rendering/close checklist * make home page functional + update cta buttons in ws settings * lint * remove unneeded routes * wip fixing checklist items (create ws and embed doc broken) + news section updates * lint * FINALLY fix all functionality & remove hook to simplify logic * lint * hide/show options based on user role/mum enabled * add hover states and redo checklist ui * remove welcome checklist page * add validation to task completion * polish behavior of checklist/fix roles on checklist items * lint * light mode/use tailwind color classes * remove tutorials link * Modify how legacy page works * small UI updates * remove unused paths cleanup explore features * revert save button changes * conditionally render legacy default chat page when in multiuser * remove role checks in checklist * remove role checks in quick links * remove unused hook * dark mode new home page checklist ui updates * Add news logging to repo for record keeping update new module to pull from CDN * simplify landing markup * light mode styles * remove border in light mode from merge conflict * Update ignores * slide up dismiss * prevent checklist popin * confetti? * fix url hash on navigate * watch for event changes for updating checklist * useMemo and callback memory optimization * move handlers to constants via params fwd * dev * update github text --------- Co-authored-by: Timothy Carambat <[email protected]> * update copy for landing feature card * update gitignore * Main page QA (Mintplex-Labs#3623) * fix alignment of new home page + update hover states on checklist items * hover states + font weight changes in light mode * Appearance menu styles (Mintplex-Labs#3627) * fix alignment/fonts/styles for appearance settings page * lint --------- Co-authored-by: Timothy Carambat <[email protected]> * Fix customize logo bug (Mintplex-Labs#3628) fix customize logo bug on first setup Co-authored-by: Timothy Carambat <[email protected]> * fix typo --------- Signed-off-by: Adam Setch <[email protected]> Co-authored-by: Timothy Carambat <[email protected]> Co-authored-by: shatfield4 <[email protected]> Co-authored-by: okaeiz <[email protected]> Co-authored-by: Jason <[email protected]> Co-authored-by: TunahanDilercan <[email protected]> Co-authored-by: Sander de Leeuw <[email protected]> Co-authored-by: Adam Setch <[email protected]> Co-authored-by: Mert Cobanov <[email protected]> Co-authored-by: mr-chenguang <[email protected]> Co-authored-by: t2 <[email protected]> Co-authored-by: alongLFB <[email protected]> Co-authored-by: Hakeem Abbas <[email protected]> Co-authored-by: Shanmukeshwar <[email protected]> Co-authored-by: Sushanth Srivatsa <[email protected]> Co-authored-by: Skanda Kaashyap <[email protected]> Co-authored-by: 高先生 <[email protected]> Co-authored-by: Said Ouhdach <[email protected]> Co-authored-by: Yash Suresh Chandra <[email protected]> Co-authored-by: Kristofer Bourro <[email protected]> Co-authored-by: cnJasonZ <[email protected]> Co-authored-by: MrMarans <[email protected]> Co-authored-by: Ron Metzger <[email protected]> Co-authored-by: AbelDuan <[email protected]> Co-authored-by: Morten Aagaard Eistrøm <[email protected]> Co-authored-by: Weijing Jay Lin <[email protected]> Co-authored-by: Shixian Sheng <[email protected]> Co-authored-by: DreamerC <[email protected]>
1 parent cbe9725 commit 4c07dc1

File tree

383 files changed

+24469
-5850
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

383 files changed

+24469
-5850
lines changed

.devcontainer/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Welcome to the AnythingLLM development container configuration, designed to crea
2020

2121
## Getting Started
2222

23-
1. Using Github Codepaces. Just select to create a new workspace, and the devcontainer will be created for you.
23+
1. Using GitHub Codespaces. Just select to create a new workspace, and the devcontainer will be created for you.
2424

2525
2. Using your Local VSCode (Release or Insiders). We suggest you first make a fork of the repo and then clone it to your local machine using VSCode tools. Then open the project folder in VSCode, which will prompt you to open the project in a devcontainer. Select yes, and the devcontainer will be created for you. If this does not happen, you can open the command palette and select "Remote-Containers: Reopen in Container".
2626

@@ -36,16 +36,16 @@ Checklist:
3636

3737
- [ ] The usual message asking you to start the Server and Frontend in different windows are now "hidden" in the building process of the devcontainer. Don't forget to do as suggested.
3838
- [ ] Open a JavaScript file, for example "server/index.js" and check if `eslint` is working. It will complain that `'err' is defined but never used.`. This means it is working.
39-
- [ ] Open a React File, for example, "frontend/src/main.jsx," and check if `eslint` complains about `Fast refresh only works when a file has exports. Move your component(s) to a separate file.`. Again, it means `eslint` is working. Now check at the status bar if the `Prettier` has a double checkmark :heavy_check_mark: (double). It means Prettier is working. You will see a nice extension `Formatting:`:heavy_check_mark: that can be used to disable the `Format on Save` feature temporarily.
39+
- [ ] Open a React File, for example, "frontend/src/main.jsx," and check if `eslint` complains about `Fast refresh only works when a file has exports. Move your component(s) to a separate file.`. Again, it means `eslint` is working. Now check at the status bar if the `Prettier` has a double checkmark :heavy_check_mark: (double). It means Prettier is working. You will see a nice extension `Formatting:`:heavy_check_mark: that can be used to disable the `Format on Save` feature temporarily.
4040
- [ ] Check if, on the left pane, you have the NPM Scripts (this may be disabled; look at the "Explorer" tree-dots up-right). There will be scripts inside the `package.json` files. You will basically need to run the `dev:collector`, `dev:server` and the `dev:frontend` in this order. When the frontend finishes starting, a window browser will open **inside** the VSCode. Still, you can open it outside.
4141

4242
:warning: **Important for all developers** :warning:
4343

4444
- [ ] When you are using the `NODE_ENV=development` the server will not store the configurations you set for security reasons. Please set the proper config on file `.env.development`. The side-effect if you don't, everytime you restart the server, you will be sent to the "Onboarding" page again.
4545

46-
**Note when using Github Codespaces**
46+
**Note when using GitHub Codespaces**
4747

48-
- [ ] When running the "Server" for the first time, it will automatically configure its port to be publicly accessible by default, as this is required for the front end to reach the server backend. To know more, read the content of the `.env` file on the frontend folder about this, and if any issues occur, make sure to manually set the port "Visibility" of the "Server" is set to "Public" if needed. Again, this is only needed for developing on Github Codespaces.
48+
- [ ] When running the "Server" for the first time, it will automatically configure its port to be publicly accessible by default, as this is required for the front end to reach the server backend. To know more, read the content of the `.env` file on the frontend folder about this, and if any issues occur, make sure to manually set the port "Visibility" of the "Server" is set to "Public" if needed. Again, this is only needed for developing on GitHub Codespaces.
4949

5050

5151
**For the Collector:**

.github/ISSUE_TEMPLATE/01_bug.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ body:
66
- type: markdown
77
attributes:
88
value: |
9-
Use this template to file a bug report for AnythingLLM. Please be as descriptive as possible to allow everyone to replicate and solve your issue. Want help contributing a PR? Use our repo chatbot by OnboardAI! https://learnthisrepo.com/anythingllm"
9+
Use this template to file a bug report for AnythingLLM. Please be as descriptive as possible to allow everyone to replicate and solve your issue.
1010
- type: dropdown
1111
id: runtime
1212
attributes:

.github/ISSUE_TEMPLATE/02_feature.yml

-3
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ body:
99
Share a new idea for a feature or improvement. Be sure to search existing
1010
issues first to avoid duplicates.
1111
12-
Want help contributing a PR? Use our repo chatbot by OnboardAI! https://learnthisrepo.com/anythingllm
13-
14-
1512
- type: textarea
1613
id: description
1714
attributes:

.github/workflows/build-and-push-image-semver.yaml

+7
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,15 @@ jobs:
3535
- name: Set up QEMU
3636
uses: docker/setup-qemu-action@v3
3737

38+
# Since Docker Buildx v20.1 - segfaults occur on arm64 with ubuntu-latest.
39+
# So we pin to v0.19.0 for now until the issue is resolved for runners via QEMU.
40+
# Alternatively, we can move to ARM runners and remove the QEMU setup, but this previously
41+
# has issues (see comment at the top)
42+
# https://github.com/NVIDIA/cuda-quantum/pull/2651#issue-2870353124
3843
- name: Set up Docker Buildx
3944
uses: docker/setup-buildx-action@v3
45+
with:
46+
version: v0.19.0
4047

4148
- name: Log in to Docker Hub
4249
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a

.github/workflows/build-and-push-image.yaml

+14-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# This Github action is for publishing of the primary image for AnythingLLM
1+
# This GitHub action is for publishing of the primary image for AnythingLLM
22
# It will publish a linux/amd64 and linux/arm64 image at the same time
33
# This file should ONLY BY USED FOR `master` BRANCH.
4-
# TODO: Update `runs-on` for arm64 when GitHub finally supports
5-
# native arm environments as QEMU takes around 1 hour to build
6-
# ref: https://github.com/actions/runner-images/issues/5631 :(
4+
# TODO: GitHub now has an ubuntu-24.04-arm64 runner, but we still need
5+
# to use QEMU to build the arm64 image because Chromium is not available for Linux arm64
6+
# so builds will still fail, or fail much more often. Its inconsistent and frustrating.
77
name: Publish AnythingLLM Primary Docker image (amd64/arm64)
88

99
concurrency:
@@ -15,6 +15,7 @@ on:
1515
branches: ['master'] # master branch only. Do not modify.
1616
paths-ignore:
1717
- '**.md'
18+
- '.gitmodules'
1819
- 'cloud-deployments/**/*'
1920
- 'images/**/*'
2021
- '.vscode/**/*'
@@ -24,6 +25,7 @@ on:
2425
- 'embed/**/*' # Embed is submodule
2526
- 'browser-extension/**/*' # Chrome extension is submodule
2627
- 'server/utils/agents/aibitat/example/**/*' # Do not push new image for local dev testing of new aibitat images.
28+
- 'extras/**/*' # Extra is just for news and other local content.
2729

2830
jobs:
2931
push_multi_platform_to_registries:
@@ -52,8 +54,15 @@ jobs:
5254
- name: Set up QEMU
5355
uses: docker/setup-qemu-action@v3
5456

57+
# Since Docker Buildx v20.1 - segfaults occur on arm64 with ubuntu-latest.
58+
# So we pin to v0.19.0 for now until the issue is resolved for runners via QEMU.
59+
# Alternatively, we can move to ARM runners and remove the QEMU setup, but this previously
60+
# has issues (see comment at the top)
61+
# https://github.com/NVIDIA/cuda-quantum/pull/2651#issue-2870353124
5562
- name: Set up Docker Buildx
5663
uses: docker/setup-buildx-action@v3
64+
with:
65+
version: v0.19.0
5766

5867
- name: Log in to Docker Hub
5968
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
@@ -131,4 +140,4 @@ jobs:
131140
$tag
132141
done
133142
done
134-
shell: bash
143+
shell: bash

.github/workflows/check-translations.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This Github action is for validation of all languages which translations are offered for
1+
# This GitHub action is for validation of all languages which translations are offered for
22
# in the locales folder in `frontend/src`. All languages are compared to the EN translation
33
# schema since that is the fallback language setting. This workflow will run on all PRs that
44
# modify any files in the translation directory

.github/workflows/dev-build.yaml

+11-1
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,19 @@ concurrency:
66

77
on:
88
push:
9-
branches: ['docker-scout-patch'] # put your current branch to create a build. Core team only.
9+
branches: ['3536-feat-new-chat-home-page'] # put your current branch to create a build. Core team only.
1010
paths-ignore:
1111
- '**.md'
1212
- 'cloud-deployments/*'
1313
- 'images/**/*'
1414
- '.vscode/**/*'
1515
- '**/.env.example'
1616
- '.github/ISSUE_TEMPLATE/**/*'
17+
- '.devcontainer/**/*'
1718
- 'embed/**/*' # Embed should be published to frontend (yarn build:publish) if any changes are introduced
19+
- 'browser-extension/**/*' # Chrome extension is submodule
1820
- 'server/utils/agents/aibitat/example/**/*' # Do not push new image for local dev testing of new aibitat images.
21+
- 'extras/**/*' # Extra is just for news and other local content.
1922

2023
jobs:
2124
push_multi_platform_to_registries:
@@ -41,8 +44,14 @@ jobs:
4144
fi
4245
id: dockerhub
4346

47+
# Uncomment this + add linux/arm64 to platforms if you want to build for arm64 as well
48+
# - name: Set up QEMU
49+
# uses: docker/setup-qemu-action@v3
50+
4451
- name: Set up Docker Buildx
4552
uses: docker/setup-buildx-action@v3
53+
with:
54+
version: v0.19.0
4655

4756
- name: Log in to Docker Hub
4857
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
@@ -70,6 +79,7 @@ jobs:
7079
sbom: true
7180
provenance: mode=max
7281
platforms: linux/amd64
82+
# platforms: linux/amd64,linux/arm64
7383
tags: ${{ steps.meta.outputs.tags }}
7484
labels: ${{ steps.meta.outputs.labels }}
7585
cache-from: type=gha

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ v-env
99
aws_cf_deploy_anything_llm.json
1010
yarn.lock
1111
*.bak
12+
.idea

.gitmodules

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[submodule "browser-extension"]
22
path = browser-extension
3-
url = git@github.com:Mintplex-Labs/anythingllm-extension.git
3+
url = https://github.com/Mintplex-Labs/anythingllm-extension.git
44
[submodule "embed"]
55
path = embed
6-
url = git@github.com:Mintplex-Labs/anythingllm-embed.git
6+
url = https://github.com/Mintplex-Labs/anythingllm-embed.git
77
branch = main

.prettierignore

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ frontend/bundleinspector.html
1010

1111
#server
1212
server/swagger/openapi.json
13+
server/**/*.mjs
1314

1415
#embed
1516
**/static/**

.vscode/settings.json

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"opendocument",
4242
"openrouter",
4343
"pagerender",
44+
"ppio",
4445
"Qdrant",
4546
"royalblue",
4647
"SearchApi",

BARE_METAL.md

+4-7
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
> You are fully responsible for securing your deployment and data in this mode.
66
> **Any issues** experienced from bare-metal or non-containerized deployments will be **not** answered or supported.
77
8-
Here you can find the scripts and known working process to run AnythingLLM outside of a Docker container. This method of deployment is preferable for those using local LLMs and want native performance on their devices.
8+
Here you can find the scripts and known working process to run AnythingLLM outside of a Docker container.
99

1010
### Minimum Requirements
1111
> [!TIP]
@@ -33,7 +33,7 @@ STORAGE_DIR="/your/absolute/path/to/server/storage"
3333
5. Edit the `frontend/.env` file for the `VITE_BASE_API` to now be set to `/api`. This is documented in the .env for which one you should use.
3434
```
3535
# VITE_API_BASE='http://localhost:3001/api' # Use this URL when developing locally
36-
# VITE_API_BASE="https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api" # for Github Codespaces
36+
# VITE_API_BASE="https://$CODESPACE_NAME-3001.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN/api" # for GitHub Codespaces
3737
VITE_API_BASE='/api' # Use this URL deploying on non-localhost address OR in docker.
3838
```
3939

@@ -47,20 +47,17 @@ AnythingLLM is comprised of three main sections. The `frontend`, `server`, and `
4747
2. Copy `frontend/dist` to `server/public` - `cp -R frontend/dist server/public`.
4848
This should create a folder in `server` named `public` which contains a top level `index.html` file and various other files/folders.
4949

50-
_(optional)_ Build native LLM support if using `native` as your LLM.
51-
`cd server && npx --no node-llama-cpp download`
52-
5350
3. Migrate and prepare your database file.
5451
```
5552
cd server && npx prisma generate --schema=./prisma/schema.prisma
5653
cd server && npx prisma migrate deploy --schema=./prisma/schema.prisma
5754
```
5855

5956
4. Boot the server in production
60-
`cd server && NODE_ENV=production node index.js &`
57+
`cd server && NODE_ENV=production node index.js &`
6158

6259
5. Boot the collection in another process
63-
`cd collector && NODE_ENV=production node index.js &`
60+
`cd collector && NODE_ENV=production node index.js &`
6461

6562
AnythingLLM should now be running on `http://localhost:3001`!
6663

README.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,13 @@ AnythingLLM divides your documents into objects called `workspaces`. A Workspace
5555

5656
## Cool features of AnythingLLM
5757

58-
- 🆕 [**Custom AI Agents**](https://docs.anythingllm.com/agent/custom/introduction)
58+
- 🆕 [**Full MCP-compatibility**](https://docs.anythingllm.com/mcp-compatibility/overview)
59+
- 🆕 [**No-code AI Agent builder**](https://docs.anythingllm.com/agent-flows/overview)
5960
- 🖼️ **Multi-modal support (both closed and open-source LLMs!)**
61+
- [**Custom AI Agents**](https://docs.anythingllm.com/agent/custom/introduction)
6062
- 👤 Multi-user instance support and permissioning _Docker version only_
61-
- 🦾 Agents inside your workspace (browse the web, run code, etc)
62-
- 💬 [Custom Embeddable Chat widget for your website](./embed/README.md) _Docker version only_
63+
- 🦾 Agents inside your workspace (browse the web, etc)
64+
- 💬 [Custom Embeddable Chat widget for your website](https://github.com/Mintplex-Labs/anythingllm-embed/blob/main/README.md) _Docker version only_
6365
- 📖 Multiple document type support (PDF, TXT, DOCX, etc)
6466
- Simple chat UI with Drag-n-Drop funcitonality and clear citations.
6567
- 100% Cloud deployment ready.
@@ -98,6 +100,7 @@ AnythingLLM divides your documents into objects called `workspaces`. A Workspace
98100
- [Apipie](https://apipie.ai/)
99101
- [xAI](https://x.ai/)
100102
- [Novita AI (chat models)](https://novita.ai/model-api/product/llm-api?utm_source=github_anything-llm&utm_medium=github_readme&utm_campaign=link)
103+
- [PPIO](https://ppinfra.com?utm_source=github_anything-llm)
101104

102105
**Embedder models:**
103106

collector/extensions/resync/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ async function resyncGithub({ chunkSource }, response) {
9595
sourceFilePath: source.searchParams.get('path'),
9696
});
9797

98-
if (!success) throw new Error(`Failed to sync Github file content. ${reason}`);
98+
if (!success) throw new Error(`Failed to sync GitHub file content. ${reason}`);
9999
response.status(200).json({ success, content });
100100
} catch (e) {
101101
console.error(e);

collector/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ app.post(
8383
"/util/get-link",
8484
[verifyPayloadIntegrity],
8585
async function (request, response) {
86-
const { link } = reqBody(request);
86+
const { link, captureAs = "text" } = reqBody(request);
8787
try {
88-
const { success, content = null } = await getLinkText(link);
88+
const { success, content = null } = await getLinkText(link, captureAs);
8989
response.status(200).json({ url: link, success, content });
9090
} catch (e) {
9191
console.error(e);

collector/package.json

+5-3
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
"node": ">=18.12.1"
1111
},
1212
"scripts": {
13-
"dev": "NODE_ENV=development nodemon --ignore hotdir --ignore storage --trace-warnings index.js",
14-
"start": "NODE_ENV=production node index.js",
13+
"dev": "cross-env NODE_ENV=development nodemon --ignore hotdir --ignore storage --trace-warnings index.js",
14+
"start": "cross-env NODE_ENV=production node index.js",
1515
"lint": "yarn prettier --ignore-path ../.prettierignore --write ./processSingleFile ./processLink ./utils index.js"
1616
},
1717
"dependencies": {
@@ -40,6 +40,7 @@
4040
"puppeteer": "~21.5.2",
4141
"sharp": "^0.33.5",
4242
"slugify": "^1.6.6",
43+
"tesseract.js": "^6.0.0",
4344
"url-pattern": "^1.0.3",
4445
"uuid": "^9.0.0",
4546
"wavefile": "^11.0.0",
@@ -48,6 +49,7 @@
4849
},
4950
"devDependencies": {
5051
"nodemon": "^2.0.22",
51-
"prettier": "^2.4.1"
52+
"prettier": "^2.4.1",
53+
"cross-env": "^7.0.3"
5254
}
5355
}

collector/processLink/convert/generic.js

+28-7
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,20 @@ const { writeToServerDocuments } = require("../../utils/files");
66
const { tokenizeString } = require("../../utils/tokenizer");
77
const { default: slugify } = require("slugify");
88

9-
async function scrapeGenericUrl(link, textOnly = false) {
10-
console.log(`-- Working URL ${link} --`);
11-
const content = await getPageContent(link);
9+
/**
10+
* Scrape a generic URL and return the content in the specified format
11+
* @param {string} link - The URL to scrape
12+
* @param {('html' | 'text')} captureAs - The format to capture the page content as
13+
* @param {boolean} processAsDocument - Whether to process the content as a document or return the content directly
14+
* @returns {Promise<Object>} - The content of the page
15+
*/
16+
async function scrapeGenericUrl(
17+
link,
18+
captureAs = "text",
19+
processAsDocument = true
20+
) {
21+
console.log(`-- Working URL ${link} => (${captureAs}) --`);
22+
const content = await getPageContent(link, captureAs);
1223

1324
if (!content.length) {
1425
console.error(`Resulting URL content was empty at ${link}.`);
@@ -19,7 +30,7 @@ async function scrapeGenericUrl(link, textOnly = false) {
1930
};
2031
}
2132

22-
if (textOnly) {
33+
if (!processAsDocument) {
2334
return {
2435
success: true,
2536
content,
@@ -41,7 +52,7 @@ async function scrapeGenericUrl(link, textOnly = false) {
4152
published: new Date().toLocaleString(),
4253
wordCount: content.split(" ").length,
4354
pageContent: content,
44-
token_count_estimate: tokenizeString(content).length,
55+
token_count_estimate: tokenizeString(content),
4556
};
4657

4758
const document = writeToServerDocuments(
@@ -52,7 +63,13 @@ async function scrapeGenericUrl(link, textOnly = false) {
5263
return { success: true, reason: null, documents: [document] };
5364
}
5465

55-
async function getPageContent(link) {
66+
/**
67+
* Get the content of a page
68+
* @param {string} link - The URL to get the content of
69+
* @param {('html' | 'text')} captureAs - The format to capture the page content as
70+
* @returns {Promise<string>} - The content of the page
71+
*/
72+
async function getPageContent(link, captureAs = "text") {
5673
try {
5774
let pageContents = [];
5875
const loader = new PuppeteerWebBaseLoader(link, {
@@ -64,7 +81,11 @@ async function getPageContent(link) {
6481
waitUntil: "networkidle2",
6582
},
6683
async evaluate(page, browser) {
67-
const result = await page.evaluate(() => document.body.innerText);
84+
const result = await page.evaluate((captureAs) => {
85+
if (captureAs === "text") return document.body.innerText;
86+
if (captureAs === "html") return document.documentElement.innerHTML;
87+
return document.body.innerText;
88+
}, captureAs);
6889
await browser.close();
6990
return result;
7091
},

0 commit comments

Comments
 (0)