* Updated apt-packages source for devcontainer
Switched the devcontainer's package source to a different repository to
align with updated dependencies and package availability. The previous
source from 'rocker-org' is replaced with 'devcontainers-contrib', which
may offer more recent or relevant development tools.
* Subject: Centralize prettier ignores and refine
config
Body:
Centralized all prettier ignore rules by removing individual
`.prettierignore` files in subprojects and updating the root
`.prettierignore` to include previously ignored patterns, ensuring
consistency across the workspace. Additionally, the prettier
configuration was refined by making the file pattern for `.config.js`
files consistent and adjusting quote styles for better readability. All
lint scripts across the project were updated to respect the centralized
ignore path, enhancing maintainability.
The consolidation simplifies the process of managing ignore rules as the
project scales, ensuring developers can focus on writing code without
worrying about divergent formatting standards. These changes also align
with introducing comprehensive linting across multiple environments to
keep the codebase clean and consistent.
This adjustment is a foundational step towards a more streamlined and
unified code base, making it easier for new contributors to adhere to
established coding standards and reducing the cognitive load associated
with managing multiple configuration files across the project.
* unset package json changes
---------
Co-authored-by: Francisco Bischoff <franzbischoff@gmail.com>
Co-authored-by: Francisco Bischoff <984592+franzbischoff@users.noreply.github.com>
* implement custom icon on login screen for single & multi user + custom app name feature
* hide field when not relevant
* set customApp name
* show original anythingllm login logo unless custom logo is set
* nit-picks
* remove console log
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add support for voyageai embedder
* remove unneeded import
* linting
* Add ENV examples
Update how chunks are processed for Voyage
use correct langchain import
Add data handling
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* increase max height of chat input for larger messages
* allow resize of input on mobile up to 50vh
* remove duplicate css rule
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* make height and width data options apply to mobile styles
* update build and respect viewport on dev index
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* Support SQL Agent skill
* add MSSQL agent connector
* Add frontend to agent skills
remove FAKE_DB mock
reset skills to pickup child-skill dynamically
* add prompt examples for tools on untooled
* add better logging on SQL agents
* Wipe toolruns on each chat relay so tools can be used within the same session
* update comments
* implement regenerate response button
* wip on rerenders
* remove function that was duplicate
* update delete-chats function
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* WIP slash presets
* WIP slash command customization CRUD + validations complete
* backend slash command support
* fix permission setting on new slash commands
rework form submit and pattern on frontend
* Add field updates for hooks,
required=true to field
add user<>command constraint to keep them unique
enforce uniquness via teritary uid field on table for multi and non-multi user
* reset migration
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add LMStudio agent support (generic) support
"work" with non-tool callable LLMs, highly dependent on system specs
* add comments
* enable few-shot prompting per function for OSS models
* Add Agent support for Ollama models
* azure, groq, koboldcpp agent support complete + WIP togetherai
* WIP gemini agent support
* WIP gemini blocked and will not fix for now
* azure fix
* merge fix
* add localai agent support
* azure untooled agent support
* merge fix
* refactor implementation of several agent provideers
* update bad merge comment
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add text gen web ui LLM provider support
* update README
* README typo
* update TextWebUI display name
patch workspace<>model support for provider
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add LMStudio agent support (generic) support
"work" with non-tool callable LLMs, highly dependent on system specs
* add comments
* enable few-shot prompting per function for OSS models
* Add Agent support for Ollama models
* improve json parsing for ollama text responses
* add LMStudio agent support (generic) support
"work" with non-tool callable LLMs, highly dependent on system specs
* add comments
* enable few-shot prompting per function for OSS models
* getChatCompletion working WIP streaming
* WIP
* working streaming WIP abort stream
* implement cohere embedder support
* remove inputType option from cohere embedder
* fix cohere LLM from not aborting stream when canceled by user
* Patch Cohere implemention
* add cohere to onboarding
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* WIP agent support
* move agent folder
* wip frontend socket
* checkpoint
* fix schema
* Checkpoint for plugins and AgentHandler
* refactor plugins and agent arch
* agent error reporting and handling
* add frontend elements for agents in prompt input
* WIP integrations for agents
* enable web-search agent config from frontend
* persist chat history
* update alert
* update migration
remove console logs
update close state for agent invocations
* add examples to dockerignore
Extract statusResponse to its own component
* update close method
* wrap scraping rejections
* add RAG search as funciton
* Add telem and link highlight
* chat support
* patch memory
* Add rechart as a plugin option
* Toggles for abilites of default agent (system wide)
Validate values for agent skills
Enable dynamic loading of skills
UI for toggle of skills
* add UI for toggle of configs for agent
* toggle WS or WSS protocol
* update NGNIX proxy pass
* move components around and capture failed websocket creation
* fix name
* tmp docker image
* reset workflow
* safety mark functions
* telem on tool calls
* remove hardcode short circuit
* separate web-browser from scrape
* extract summarizer to util
add abort handlers and controller for langchain stuff so socket close kills process
* langchain summarize verbose when in dev
* chart styling improvements + add title to chart
* fix legend from being cutoff in chart downloads
* remove cursor blink
---------
Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
* WIP new login screen UI
* update prisma schema/create new models for pw recovery
* WIP password recovery backend
* WIP reset password flow
* WIP pw reset flow
* password reset logic complete & functional UI
* WIP login screen redesign for single and multi user
* create placeholder modal to display recovery codes
* implement UI for recovery code modals/download recovery codes
* multiuser desktop password reset UI/functionality complete
* support single user mode for pw reset
* mobile styles for all password reset/login flows complete
* lint
* remove single user password recovery
* create PasswordRecovery util file to make more readable
* do not drop-replace users table in migration
* review pr
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* default to AnythingLLM embedder and LanceDB on onboarding for simpler setup
* remove unused onboarding flow components
* add text telling user settings can be reconfigured later
* remove space
* update copy
patch back-path navigation on onboarding
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* Add support for Gemini-1.5 Pro
bump @google/generative-ai pkg
Toggle apiVersion if beta model selected
resolves#1109
* update API messages due to package change
* WIP data connector redesign
* new UI for data connectors complete
* remove old data connector page/cleanup imports
* cleanup of UI and imports
* Remove Youtube Transcript dep and move in-house
* lang pref default to en
---------
Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
* WIP data connector redesign
* new UI for data connectors complete
* remove old data connector page/cleanup imports
* cleanup of UI and imports
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* members workspace settings menu and admin users UI updates
* implement CTAButton in all general/admin settings + ui tweaks
* move CTAButton to components/lib
* fix UI for security page to match rest of all settings pages
* UX improvements
* add CTAButton component
* prevent components folder from being ignored
* patch some UI fixes
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* Enable per-workspace provider/model combination
* cleanup
* remove resetWorkspaceChatModels and wipeWorkspaceModelPreference to prevent workspace from resetting model
* add space
---------
Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
* add ids to main html elements and aria-labels in embedded chat widget
* revert index.html embedded chat widget testing page
* remove id from chat messages and replace with placeholder classname
* Add accessible labels for back and continue buttons in onboarding flow
* Add accessible label to stop generating button
* Accessible labels for chat history actions (thumb up/down and copy)
* Accessible labels for social links in footer
* Accessible labels for home and settings links
* * Accessible labels for home, show sidebar (mobile), and workspace and thread lists.
* Implemented ARIA markup to programmatically indicate current selection and group/list association.
* members workspace settings menu and admin users UI updates
* change copy/fix admin and managers in workspace when not showing in UI
* remove existing workspace user mgmt modal
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* implement new LLM preference UI
* implement new vector db preferences UI to match LLM preferences
* implement new embedding preferences UI to match LLM preferences
* normalize placeholder text for search input
* implement new transcription preferences UI to match LLM preferences
* remove uneeded css
* implement new UI for llm preference onboarding
* implement new UI for embedder preference onboarding
* implement new UI for vector db preference onboarding
* fix placeholder text
* unset onboarding
* move autocomplete field
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* WIP main sidebar designs
* hover states and active states for main sidebar
* main and settings sidebar UI updates & improve performance using Link instead of <a>
* update borders to match rest of UI in all pages
* update borders of all containers to match rest of UI
* remove unneeded conditional
* custom messages component redesign and appearance settings layout changes
* improve UX of custom logo file uploader component to match designs
* fix sizing on custom logo upload field
* WIP footer customization new UI
* implement new UI for custom footer
icon selection
* update workspace chats to match new settings UI
* update system preferences to match new settings UI
* update export workspace chats button border
* update invitations settings page to match new settings UI
* update instance workspaces settings page to match new settings UI
* update instance workspaces to match new settings UI
* update api keys settings to match new settings UI
* update LLM preferences settings to match new settings UI
* update embedding preferences settings to match new settings UI
* update vector db preferences settings to match new settings UI
* align all buttons in settings pages
* update ui for data connectors to match rest of settings ui
* update UI for embed chat
* updated ui for logging page
* fix duplicate attributes left from merge conflicts
* fix dynamic class to use ternary
* remove transition classes where it is not needed
* WIP main sidebar designs
* hover states and active states for main sidebar
* main and settings sidebar UI updates & improve performance using Link instead of <a>
* update borders to match rest of UI in all pages
* update borders of all containers to match rest of UI
* remove unneeded conditional
* small changes to UI to conform to designs
Fix conditional hook render
* add check for roles to SettingsButton component and hide button from footer when in mobile
* typo
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* implement new version of anthropic sdk and support new models
* remove handleAnthropicStream and move to handleStream inside anthropic provider
* update useGetProvidersModels for new anthropic models
* WIP openrouter integration
* add OpenRouter options to onboarding flow and data handling
* add todo to fix headers for rankings
* OpenRouter LLM support complete
* Fix hanging response stream with OpenRouter
update tagline
update comment
* update timeout comment
* wait for first chunk to start timer
* sort OpenRouter models by organization
* uppercase first letter of organization
* sort grouped models by org
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* show similarity score in citation chunks
* refactor combine like sources to handle separate similarity scores and improve UI for displaying chunks
* fix parseChunkSource function to work with links
* destructure properties in chunks mapping
* check chunk length in parseChunkSource
* change UI on how score is shown
* remove duplicate import
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add LLM support for perplexity
* update README & example env
* fix ENV keys in example env files
* slight changes for QA of perplexity support
* Update Perplexity AI name
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* Enable ability to do full-text query on documents
Show alert modal on first pin for client
Add ability to use pins in stream/chat/embed
* typo and copy update
* simplify spread of context and sources
* split CustomMessages and CustomLogo into separate components from appearance settings
* lint
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
Remove useless icons in prompt bar
Add chatMode column to workspaces that defaults to chat
Add UI for toggle of chat mode with hint
Update UI for workspace settings to match designs
* WIP new settings layout
* add suggested messages to general & appearance and clean up/make more user friendly
* lazy load workspace settings pages
* css fix on X button for document picker where button is barely clickable
* remove additional workspace settings page
* fix thread selection action when on thread
* refactor inputs into sub-components
remove unused paths
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* Include links in citations
force ChunkSource key to retain this information
old links will be unsupported
* show special icons depending on source
* remove console log
* reset server documents writeTo
* WIP RLHF works on historical messages
* refactor Actions component
* completed RLHF up and down votes for chats
* add defaults for HistoricalMessage params
* refactor RLHF implmenation
remove forwardRef on history items to prevent rerenders
* remove dup id
* Add rating to CSV output
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add more fields to csv export to make more useful
* refactor from review comments
* fix escapeCsv function
* catch export errors properly
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* WIP custom footer icons
* UI for updating footer icons complete and backend to save/modify
* add backend for unprotected footer fetch
* break out footer into separate component and render footer items using a cache for 1 hour
* wip review
* refactor & cleanup
* Optimize footer form component
Optimize caching for footer icons
Add validation on SystemSetting upserts
Normalize fallback items for footer_data
* Adjust max icons to 3
* fix success message on remove
* fix success message on remove
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* hide security setting in settings sidebar when in multiusermode
* refactor sidebar to handle mobile view inside SettingsSidebar component
* forgot eventlogs on sidebar
move footer on settingSidebar to component
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* WIP event logging - new table for events and new settings view for viewing
* WIP add logging
* UI for log rows
* rename files to Logging to prevent getting gitignore
* add metadata for all logging events and colored badges in logs page
* remove unneeded comment
* cleanup namespace for logging
* clean up backend calls
* update logging to show to => from settings changes
* add logging for invitations, created, deleted, and accepted
* add logging for user created, updated, suspended, or removed
* add logging for workspace deleted
* add logging for chat logs exported
* add logging for API keys, LLM, embedder, vector db, embed chat, and reset button
* modify event logs
* update to event log types
* simplify rendering of event badges
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* use filter instead of ref to delete row from workspace chat component on delete/fix backend invalid json error
* remove ref from pagination on embed chats and fix white screen bug
* remove unneeded import
* normalize response object
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* fix truncate function to handle Chinese characters
* revert changes to truncate function and cut off title using css
* add CSS ellipse on long file name
* fix uploaded middleTruncation as well as directory
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* WIP embedded app
* WIP got response from backend in embedded app
* WIP streaming prints to embedded app
* implemented streaming and tailwind min for styling into embedded app
* WIP embedded app history functional
* load params from script tag into embedded app
* rough in modularization of embed chat
cleanup dev process for easier dev support
move all chat to components
todo: build process
todo: backend support
* remove eslint config
* Implement models and cleanup embed chat endpoints
Improve build process for embed
prod minification and bundle size awareness
WIP
* forgot files
* rename to embed folder
* introduce chat modal styles
* add middleware validations on embed chat
* auto open param and default greeting
* reset chat history
* Admin embed config page
* Admin Embed Chats mgmt page
* update embed
* nonpriv
* more style support
reopen if chat was last opened
* update comments
* remove unused imports
* allow change of workspace for embedconfig
* update failure to lookup message
* update reset script
* update instructions
* Add more styling options
Add sponsor text at bottom
Support dynamic container height
Loading animations
* publish new embed script
* Add back syntax highlighting and keep bundle small via dynamic script build
* add hint
* update readme
* update copy model for snippet with link to styles
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add support for new openai models
* QOL changes/improve logic for adding new openai embedding models
* add example file inputs for Openai embedding ENV selection;
* Fix if stmt conditional
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* feature: Integrate Astra as vectorDBProvider
feature: Integrate Astra as vectorDBProvider
* Update .env.example
* Add env.example to docker example file
Update spellcheck fo Astra
Update Astra key for vector selection
Update order of AstraDB options
Resize Astra logo image to 330x330
Update methods of Astra to take in latest vectorDB params like TopN and more
Update Astra interface to support default methods and avoid crash errors from 404 collections
Update Astra interface to comply to max chunk insertion limitations
Update Astra interface to dynamically set dimensionality from chunk 0 size on creation
* reset workspaces
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add useModal hook and ModalWrapper component that will be used to replace all <dialog> modals for better browser support
* implement useModal hook and ModalWrapper component to replace all exisiting <dialog>
* migrate pinecone package to latest version and migrate pinecone vectordb provider class
* remove pinecone environment name env variable and update docs to reflect removal & serverless support complete
* migrate query for pinecone db
* typo in log
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* Implement total permission overhaul
Add explicit permissions on each flex and strict route
Patch issues with role escalation and CRUD of users
Patch permissions on all routes for coverage
Improve middleware to accept role array for clarity
* update comments
* remove permissions to API-keys for manager. Manager could generate API-key and using high-privelege api-key give themselves admin
* update sidebar permissions for multi-user and single user
* update options for mobile sidebar
* add support for exporting to json and csv in workspace chats
* safety encode URL options
* remove message about openai fine tuning on export success
* all defaults to jsonl
* create configurable topN per workspace
* Update TopN UI text
Fix fallbacks for all providers
Add SQLite CHECK to TOPN value
* merge with master
Update zilliz provider for variable TopN
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add copy feature to assistant chat message
* fix tooltip not hiding on mobile
* fix: add tooltips
chore: breakout actions to extendable component + memoize
add CopyText to hook we can reuse
fix: Copy on code snippets broken, moved to event listener
fix: highlightjs patch for new API support
feat: add copy response support
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* add support for mistral api
* update docs to show support for Mistral
* add default temp to all providers, suggest different results per provider
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* WIP model selection per workspace (migrations and openai saves properly
* revert OpenAiOption
* add support for models per workspace for anthropic, localAi, ollama, openAi, and togetherAi
* remove unneeded comments
* update logic for when LLMProvider is reset, reset Ai provider files with master
* remove frontend/api reset of workspace chat and move logic to updateENV
add postUpdate callbacks to envs
* set preferred model for chat on class instantiation
* remove extra param
* linting
* remove unused var
* refactor chat model selection on workspace
* linting
* add fallback for base path to localai models
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* truncate title to shorter length so x button is not hidden for longer title names in the citation modal
* absolutely position x button on citation modal