Commit Graph

108 Commits

Author SHA1 Message Date
Marcello Fitton
5716ac5ed5
Custom Default System Prompt (#4487)
* Add Default System Prompt Management

- Introduced a new route for fetching and updating the default system prompt in the backend.
- Added a new Admin page for managing the default system prompt, including a form for editing and saving changes.
- Updated the SettingsSidebar to include a link to the new Default System Prompt page.
- Implemented fetching of available system prompt variables for use in the prompt editor.
- Enhanced the ChatSettings and ChatPromptSettings components to support the new default system prompt functionality.

This commit lays the groundwork for improved management of system prompts across workspaces.

* Remove validation for system prompt in ChatSettings component

* Add comment for system prompt in workspaces model

* linting, simplify logic for default assumption

* dev build

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-11-24 13:24:10 -08:00
Timothy Carambat
6b1b8bbc94
4595 refactor PWA (#4664)
* feat: add web app manifest and mobile PWA meta tags

* feat: serve dynamic manifest.json with custom branding for pwa

* feat: add ios status bar theming for pwa

* fix: prevent overscroll behavior for mobile

* fix: prevent ios safari auto-zoom on chat input

* fix: remove theme-color meta tags conflicting with ios status bar

* fix: add missing apple-mobile-web-app-capable meta tag for ios pwa

* fix: move catch-all route after manifest endpoint to prevent interception

* feat: add pwa detection helper and conditional styling for standalone mode

* PWA refactor

* undo changes to native CSS

* class fix

* proper response obj

* fix patch for import

* fix manifest errors

---------

Co-authored-by: Christian De Santis <christian.constantino98@gmail.com>
2025-11-19 16:08:09 -08:00
Marcello Fitton
fd9256b361
Disable Prisma CLI Telemetry in Entrypoint Shell Script (#4609)
* propogate anythingllm telemetry settings to prisma

* Disable Prisma CLI telemetry in Docker entrypoint script

* Delete incorrect disable block

* test build

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-11-19 15:11:53 -08:00
Timothy Carambat
0ee0a96506
Migrate gemini agents away from Untooled (#4505)
* Migrate gemini agents away from `Untooled`

* disable agents for gemma models as they are not supported for tool calling

* Dev build
resolve #4452 via function name prefix and then stripping within provider
2025-10-07 11:40:00 -07:00
Timothy Carambat
cf3fbcbf0f
Improve URL handler for collector processes (#4504)
* Improve URL handler for collector processes

* dev build
2025-10-07 11:03:27 -07:00
Timothy Carambat
3613888483
Tooltips for workspace and threads (#4500)
* Tooltips for workspace and threads

* refactor tooltips

* add comp on desktop only

* dev
2025-10-06 16:19:14 -07:00
Timothy Carambat
d6f0d305ab
Enable real-time agent tool call streaming for all providers (#4279)
* WIP agentic tool call streaming
- OpenAI
- Anthropic
- Azure OpenAI

* WIP rest of providers EXCLUDES Bedrock and GenericOpenAI

* patch untooled complete/streaming to use chatCallback provider from provider class and not assume OpenAI client struct
example: Ollama

* modify ollama to function with its own overrides
normalize completion/stream outputs across providers/untooled

* dev build

* fix message sanization for anthropic agent streaming

* wip fix anthropic agentic streaming sanitization

* patch gemini, webgenui, generic aibitat providers + disable providers unable to test

* refactor anthropic aibitat provider for empty message and tool call formatting

* Add frontend missing prop check
update Azure for streaming support
update Gemini to streamting support on gemini-* models
generic OpenAI disable streaming
verify localAI support
verify NVIDIA Nim support

* DPAIS, remove temp from call, support streaming'

* remove 0 temp to remove possibility of bad temp error/500s/400s

* Patch condition where model is non-streamable and no tools are present or called resulting in the provider `handleFunctionCallChat` being called - which returns a string.

This would then fail in Untooled.complete since response would be a string and not the expected `response.choices?.[0]?.message`

Modified this line to handle both conditions for stream/non-streaming and tool presence or lack thereof

* Allow generic Openai to be streamable since using untooled it should work fine
honor disabled streaming for provider where that concern may apply for regular chats

* rename function and more gemini-specific function to gemini provider

* add comments for readability
.complete on azure should be non-streaming as this is the sync response

* migrate CometAPI, but disable as we cannot test

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2025-10-01 10:17:18 -07:00
Timothy Carambat
95557ee16f
Allow user to specify args for chromium process so they dont need SYS_ADMIN on container. (#4397)
* allow user to specify args for chromium process so they dont need SYS_ADMIN perms

* use arg flag content

* update console outputs
2025-09-17 16:31:08 -07:00
Timothy Carambat
0fb33736da
Workspace Chat with documents overhaul (#4261)
* Create parse endpoint in collector (#4212)

* create parse endpoint in collector

* revert cleanup temp util call

* lint

* remove unused cleanupTempDocuments function

* revert slug change
minor change for destinations

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>

* Add parsed files table and parse server endpoints (#4222)

* add workspace_parsed_files table + parse endpoints/models

* remove dev api parse endpoint

* remove unneeded imports

* iterate over all files + remove unneeded update function + update telemetry debounce

* Upload UI/UX context window check + frontend alert (#4230)

* prompt user to embed if exceeds prompt window + handle embed + handle cancel

* add tokenCountEstimate to workspace_parsed_files + optimizations

* use util for path locations + use safeJsonParse

* add modal for user decision on overflow of context window

* lint

* dynamic fetching of provider/model combo + inject parsed documents

* remove unneeded comments

* popup ui for attaching/removing files + warning to embed + wip fetching states on update

* remove prop drilling, fetch files/limits directly in attach files popup

* rework ux of FE + BE optimizations

* fix ux of FE + BE optimizations

* Implement bidirectional sync for parsed file states
linting
small changes and comments

* move parse support to another endpoint file
simplify calls and loading of records

* button borders

* enable default users to upload parsed files but NOT embed

* delete cascade on user/workspace/thread deletion to remove parsedFileRecord

* enable bgworker with "always" jobs and optional document sync jobs
orphan document job: Will find any broken reference files to prevent overpollution of the storage folder. This will run 10s after boot and every 12hr after

* change run timeout for orphan job to 1m to allow settling before spawning a worker

* linting and cleanup pr

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>

* dev build

* fix tooltip hiding during embedding overflow files

* prevent crash log from ERRNO on parse files

* unused import

* update docs link

* Migrate parsed-files to GET endpoint
patch logic for grabbing models names from utils
better handling for undetermined context windows (null instead of Pos_INIFI)
UI placeholder for null context windows

* patch URL

---------

Co-authored-by: Sean Hatfield <seanhatfield5@gmail.com>
2025-08-11 09:26:19 -07:00
Timothy Carambat
c218a0dfe3
Mobile sync support (#4173)
* WIP on mobile connections
todo: register devices
todo: data sync or connection

* improve connection flow and registration
add streaming from service
TODO: user scoping

* dev build mobile support

* fix path

* handle relative URLs

* handle localhost access in product

* add device de-register

* sync styles

* move UI to be out of the normal path since beta only

* Add user scoping to mobile connection requests
Remigrate DB for user associations
Implement temp token registration to prevent unauthorized device registration requests
cleanup middlewares
2025-07-31 12:28:03 -07:00
Timothy Carambat
2c19dd09ed
Native Embedder model selection (incl: Multilingual support) (#3835)
* WIP on embedder selection
TODO: apply splitting and query prefixes (if applicable)

* wip on upsert

* Support base model
support nomic-text-embed-v1
support multilingual-e5-small
Add prefixing for both embedding and query for RAG tasks
Add chunking prefix to all vector dbs to apply prefix when possible
Show dropdown and auto-pull on new selection

* norm translations

* move supported models to constants
handle null seelction or invalid selection on dropdown
update comments

* dev

* patch text splitter maximums for now

* normalize translations

* add tests for splitter functionality

* normalize

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2025-07-22 10:07:20 -07:00
Timothy Carambat
1112ba75c9
run jest (#4177)
* run jest

* wip

* wip

* wip

* wip

* skip frontend

* rename

* force failure

* fix forced error
try layer caching for speed

* test cache

* revert forced failure

* remove branch test
2025-07-18 14:20:07 -07:00
Timothy Carambat
64d9fbc8f0
Show app version in system settings sidebar (#4044)
* Add version tagging
resolves #4038
closes #4034
closes #4028

* add hook

* add build

* patch
2025-06-24 13:56:12 -07:00
timothycarambat
9cbe9e0abe patch semver tags 2025-06-11 12:55:38 -07:00
Timothy Carambat
2055c8accd
Flag to disable login UI and endpoints for credentialed auth (#3984)
* Flag to disable login UI and endpoints for credentialed auth

* dev build

* fix translation key
2025-06-11 12:46:40 -07:00
timothycarambat
feadf1f0ff unset changes to release build 2025-06-10 17:32:57 -07:00
timothycarambat
33600141f1 temp rebuild release 2025-06-10 17:23:14 -07:00
Timothy Carambat
c0d66e6c19
Enable UI/UX for model swapping in chat window (#3969)
* Enable UI/UX for model swapping in chat window

* forgot component

* patch useGetProviders hook to set loading on change of provider

* dev build

* normalize translations

* patch how model default is provided

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2025-06-09 09:59:17 -07:00
Timothy Carambat
4eb951d40e
Fix model map staleness behavior or fallback (#3971)
* Fix model map staleness behavior or fallback

* patch url

* fix log

* dev build
2025-06-06 17:39:48 -07:00
Sean Hatfield
ef0928993e
Implement importing of agent flows from community hub (#3867)
* implement importing of agent flows from community hub

* auto enable flow on import

* remove unused blocks for docker
prevent importing or saving of agent flows that have unsupported blocks for version or platform

* dev build

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2025-06-05 15:08:58 -07:00
Sean Hatfield
77f6262290
Direct output for agent flows (#3873)
* wip: create direct output switch on last block and send response to ui

* lint

* Return flow on direct output enabled
prevent new blocks below direct output block
Update executor/aibitat to handle skipping of handler outputs

* dev build

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2025-06-05 14:46:44 -07:00
Timothy Carambat
4445f39bf8
Warn bad docker command (#3827)
* Add context window finder from litellm maintained list
apply to all cloud providers, have client cache for 3 days

* docker container bootup warning

* update invalid ENV warning

* rebased with current HEAD

* update newline printing
2025-05-14 11:01:10 -07:00
Timothy Carambat
adf7e8a9a7
Sponsors Showcase (#3816) 2025-05-13 10:04:55 -07:00
Timothy Carambat
e1b7f5820c
PGvector vector database support (#3788)
* PGVector support for vector db storage

* forgot files

* comments

* dev build

* Add ENV connection and table schema validations for vector table
add .reset call to drop embedding table when changing the AnythingLLM embedder
update instrutions
Add preCheck error reporting in UpdateENV
add timeout to pg connection

* update setup

* update README

* update doc
2025-05-09 12:27:11 -07:00
Timothy Carambat
6fc0a6a644
Enable workflow rule for package verification (#3778)
enable workflow rule
2025-05-07 12:51:14 -07:00
Timothy Carambat
dd9c2b4af9
TTS auto-speak and STT auto-submit (#3696)
* auto STT submit control

* simplified STT auto and TTS autoplay

* add chatId to piper elements

* change defaults

* add chat customization page for enabling/disabling new features + options on account modal

* add translation placeholders

* show keybind command

* dev build

* Account modal ui prevent page reload + show Tooltip

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2025-04-28 13:57:03 -07:00
Timothy Carambat
21ffabfb15
Translate main page landing (#3699)
* Translate main page landing

* normalize all languages

* Add a few translations, zh,tw,ja,es,de

* fix issues where translation lang change would not effect constants until full reload instead of on update

* dev

* fix noWorkspaceError key in translation usage
2025-04-22 12:32:51 -07:00
Timothy Carambat
1601eb986c
Enable bypass of ip limitations via ENV in collector processing (#3652)
* Enable bypass of ip limitations via ENV in collector startup
resolves #3625
connect #3626

* dev build

* bump dockerx build action

* enable runtime setting config of collector requests

* comments and linting for option passing

* unset

* unset

* update docs link

* linting and docs
2025-04-21 11:10:41 -07:00
Timothy Carambat
713f939ab3
Buildx bump to latest to solve GHA cache deprecation (#3653)
* bump buildx due to GHA cache deprecation

* try arm64 build with new buildx version

* verify new version working for buildx
2025-04-15 14:12:27 -07:00
Sean Hatfield
e76dc0f1ca
New chat home page (#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 <rambat1010@gmail.com>
2025-04-09 13:33:25 -07:00
Timothy Carambat
7a01298a8e
ModelContextProtocol (MCP) Full Compatibility (#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
2025-03-31 16:15:19 -05:00
Sean Hatfield
f3ea21bcd1
Prompt variables (#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 <rambat1010@gmail.com>
2025-03-25 12:44:19 -07:00
timothycarambat
fa1f24f6bf change submodules to https for non-ssh pulls 2025-03-24 09:23:39 -07:00
Sean Hatfield
688ade6d96
Bump LanceDB (#3015)
* bump lancedb

* dev build

* normalize build

* wtf is going on with build now

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-03-20 10:00:38 -07:00
Timothy Carambat
66b4bf2679
Add support for Anthropics /model endpoint (finally) (#3376)
* Add support for Anthropics /model endpoint (finally)

* dev
2025-02-28 13:29:43 -08:00
timothycarambat
1aa2eed6c7 Patch multi-arch builds
ref: https://github.com/NVIDIA/cuda-quantum/pull/2651#issue-2870353124
2025-02-26 14:59:57 -08:00
timothycarambat
e6aeeba994 chore: attempt to unblock CI 2025-02-26 14:49:52 -08:00
timothycarambat
a834fe2946 chore: attempt to unblock CI 2025-02-26 14:49:32 -08:00
timothycarambat
c2722e6512 chore: attempt to unblock CI 2025-02-26 14:47:57 -08:00
timothycarambat
0e09e9393d chore: patch again for buildx segfault 2025-02-26 14:38:46 -08:00
timothycarambat
173a2be75c chore: patch QUMU CI segfault due to recent QEMU issue on image 2025-02-26 14:22:33 -08:00
timothycarambat
ad73fbafeb chore: patch QUMU CI segfault due to recent QEMU issue on image 2025-02-26 14:15:15 -08:00
Timothy Carambat
4545ce24cd
Drop Node canvas for manual sharp conversion (#3221)
* Drop Node `canvas` for manual `sharp` conversion

* bump dev
2025-02-14 17:38:13 -08:00
Timothy Carambat
89bba68219
Add OCR of image support (#3219)
* OCR PDFs as fallback in spawn thread

* wip

* build our own worker fanout and wrapper

* norm pkgs

* Add image OCR support
2025-02-14 12:07:33 -08:00
Timothy Carambat
2a9066e83a
OCR PDFs as fallback during upload (#3204)
* OCR PDFs as fallback in spawn thread

* wip

* build our own worker fanout and wrapper

* norm pkgs

* bump dev
2025-02-14 11:57:31 -08:00
Adam Setch
d63438fa61
chore: rename Github to GitHub (#3199)
* chore: rename Github to GitHub

Signed-off-by: Adam Setch <adam.setch@outlook.com>

* chore: rename Github to GitHub

Signed-off-by: Adam Setch <adam.setch@outlook.com>

* Undo some code changes for references

---------

Signed-off-by: Adam Setch <adam.setch@outlook.com>
Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-02-13 10:45:43 -08:00
Sean Hatfield
e5f3fb0892
Agent flow builder (#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 (#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 <rambat1010@gmail.com>

* 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 #3117

* bump dev image

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2025-02-12 16:50:43 -08:00
Timothy Carambat
d1ca16f7f8
Add tokenizer improvments via Singleton class and estimation (#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
2025-01-30 17:55:03 -08:00
Timothy Carambat
741ba8f2d0
Agent UI animations (#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 <seanhatfield5@gmail.com>
2025-01-28 13:46:59 -08:00
timothycarambat
4bdd921c75 rever ubuntu arm runner - fickle and fails often 2025-01-27 17:35:30 -08:00