Commit Graph

226 Commits

Author SHA1 Message Date
Timothy Carambat
b54ab7be05
CHORE: debounce telems to prevent spamming (#3505)
debounce telems to prevent spamming
2025-03-20 08:40:28 -07:00
Sean Hatfield
e01c0dff04
Fix embedding endpoint for OpenAI compatible API (#3467)
* fix embedding endpoint for openai compatible api

* remove unused imports

* add backwards compat for embedding

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-03-17 18:10:24 -07:00
Sean Hatfield
5658aac25c
Add remove folder developer API endpoint (#3489)
* add remove folder api endpoint

* update purgeFolder function comment

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-03-17 17:05:21 -07:00
Sean Hatfield
6dd1fdc546
Add bio field to user (#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 <rambat1010@gmail.com>
2025-02-26 15:23:24 -08:00
timothycarambat
fa454aa6ca patch openapi swagger docs 2025-02-26 12:30:26 -08:00
Shanmukeshwar
d005107e24
feat: Add endpoint to upload documents to a specified folder (#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 <rambat1010@gmail.com>
Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2025-02-26 12:26:24 -08:00
Timothy Carambat
2f5ed6c705
fix: bug where in single user mode deletion of an api key deletes all (#3358)
* fix: bug where in single user mode deletion of an api key deletes all
resolves #3352

* linting
2025-02-26 12:17:00 -08:00
Sean Hatfield
c36df2c364
Fix garbled non English chars on document upload (#3301)
update handleAPIFileUpload middleware to handle non english chars + update jsdoc
2025-02-20 23:09:34 -08:00
Sean Hatfield
e53ec1474e
Normalize chat sorting defaults in developer API (#3270)
* normalize sorting for workspace and workspace thread chats in dev api

* lint

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2025-02-18 20:50:22 -08:00
timothycarambat
defeb96c38 patch swagger 2025-02-18 16:02:55 -08:00
Shanmukeshwar
eeaa6b0151
feat: Add endpoint to retrieve documents by folder name (#3258)
* feat: Add endpoint to retrieve documents by folder name

* isWithin Check on path to prevent path traversal

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-02-18 14:01:19 -08:00
Sean Hatfield
354b66e09e
Add additional embed API endpoints (#3264)
* wip embed dev api endpoints

* fix /v1/embed/new endpoint

* add delete endpoint to embeds

* linting

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-02-18 13:56:56 -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
6aa1854155
Add ability to disable default agent skills (#3041)
* Add ability to disable default agent skills

* debug build
2025-01-27 16:52:43 -08:00
Timothy Carambat
ad01df8790
Reranker option for RAG (#2929)
* Reranker WIP

* add cacheing and singleton loading

* Add field to workspaces for vectorSearchMode
Add UI for lancedb to change mode
update all search endpoints to pass in reranker prop if provider can use it

* update hint text

* When reranking, swap score to rerank score

* update optchain
2025-01-02 14:27:52 -08:00
timothycarambat
d52249aff8 support attachments via thread API chat/stream-chat endpoints 2024-12-31 09:52:21 -08:00
Sean Hatfield
8d302c3f67
Patch custom models endpoint (#2903)
* prevent non admin users from changing llm settings via custom-models endpoint

* permission middleware to JSDOC

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2024-12-30 14:58:26 -08:00
Sean Hatfield
696af19c45
Patch unauthorized access to other user's pfps (#2904)
* patch unauthorized viewing of other user's pfps

* inline return responses

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2024-12-30 14:36:51 -08:00
Timothy Carambat
d54b5dfc62
Remove fine-tuning flow (#2872)
remove fine-tuning flow
2024-12-18 10:24:02 -08:00
Sean Hatfield
f8885a43e4
Append writable fields to dev API new workspace endpoint (#2843)
* add writible fields to dev api new workspace endpoint

* lint

* implement validations for workspace model

* update swagger comments

* simplify validations for workspace on frontend and API

* cleanup validations

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2024-12-16 15:12:20 -08:00
Timothy Carambat
dd7c4675d3
LLM performance metric tracking (#2825)
* WIP performance metric tracking

* fix: patch UI trying to .toFixed() null metric
Anthropic tracking migraiton
cleanup logs

* Apipie implmentation, not tested

* Cleanup Anthropic notes, Add support for AzureOpenAI tracking

* bedrock token metric tracking

* Cohere support

* feat: improve default stream handler to track for provider who are actually OpenAI compliant in usage reporting
add deepseek support

* feat: Add FireworksAI tracking reporting
fix: improve handler when usage:null is reported (why?)

* Add token reporting for GenericOpenAI

* token reporting for koboldcpp + lmstudio

* lint

* support Groq token tracking

* HF token tracking

* token tracking for togetherai

* LiteLLM token tracking

* linting + Mitral token tracking support

* XAI token metric reporting

* native provider runner

* LocalAI token tracking

* Novita token tracking

* OpenRouter token tracking

* Apipie stream metrics

* textwebgenui token tracking

* perplexity token reporting

* ollama token reporting

* lint

* put back comment

* Rip out LC ollama wrapper and use official library

* patch images with new ollama lib

* improve ollama offline message

* fix image handling in ollama llm provider

* lint

* NVIDIA NIM token tracking

* update openai compatbility responses

* UI/UX show/hide metrics on click for user preference

* update bedrock client

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2024-12-16 14:31:17 -08:00
Timothy Carambat
ff024286d0
Add new workspace user management endpoint (#2842)
deprecate old endpoint which users workspace ID vs slug
resolves #2838
2024-12-16 11:50:34 -08:00
Sean Hatfield
79cdcd4e64
Add thread name to workspaces get endpoint (#2822)
add thread name to workspaces get endpoint

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2024-12-13 17:53:54 -08:00
Timothy Carambat
a46eb2418a
add Gitlab to watchable documents (#2817) 2024-12-12 10:44:11 -08:00
Timothy Carambat
538078747d
Add vector search API endpoint (#2815)
* Add vector search API endpoint

* Add missing import

* Modify the data that is returned

* Change similarityThreshold to scoreThreshold

As this is what is actually returned by the search

* Removing logging (oops!)

* chore: regen swagger docs for new endpoint
fix: update function to sanity check values to prevent crashes during search

---------

Co-authored-by: Scott Bowler <scott@dcsdigital.co.uk>
2024-12-12 10:12:32 -08:00
timothycarambat
a0c5d898f0 patch docs with proper input for OpenAI compatible embeddings
resolves #2801
2024-12-11 08:15:52 -08:00
Sean Hatfield
05c530221b
Community hub integration (#2555)
* wip hub connection page fe + backend

* lint

* implement backend for local hub items + placeholder endpoints to fetch hub app data

* fix hebrew translations

* revamp community integration flow

* change sidebar

* Auto import if id in URL param
remove preview in card screen and instead go to import flow

* get user's items + team items from hub + ui improvements to hub settings

* lint

* fix merge conflict

* refresh hook for community items

* add fallback for user items

* Disable bundle items by default on all instances

* remove translations (will complete later)

* loading skeleton

* Make community hub endpoints admin only
show visibility on items
combine import/apply for items to they are event logged for review

* improve middleware and import flow

* community hub ui updates

* Adjust importing process

* community hub to dev

* Add webscraper preload into imported plugins

* add runtime property to plugins

* Fix button status on imported skill change
show alert on skill change
Update markdown type and theme on import of agent skill

* update documentaion paths

* remove unused import

* linting

* review loading state

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2024-11-26 09:59:43 -08:00
Sean Hatfield
727d802779
Light/dark mode UI overhaul (#2629)
* Refactor workspace sidebar component styles (#2380)

rely on css for conditional styles

* New sidebar colors (#2381)

new sidebar colors

* Main container color update (#2382)

* Dark mode setup themes (#2411)

* setup generic tailwind theme + ability to add new themes

* add theme context

* use correct colors from design for sidebar + fix padding

* Settings sidebar UI updates (#2416)

settings sidebar ui updates

* fix sidebar resizing/truncate issue on hover

* Dark mode chat window (#2443)

* Support XLSX files (#2403)

* support xlsx files

* lint

* create seperate docs for each xlsx sheet

* lint

* use node-xlsx pkg for parsing xslx files

* lint

* update error handling

---------

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

* wip chat window

* ux+ux improvements and update new colors

* chat window dark mode

* remove comment

---------

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

* Dark mode welcome page (#2444)

* dark mode welcome page styles + refactor

* remove AI_BACKGROUND_COLOR and USER_BACKGROUND_COLOR constants

* Dark mode UI for admin and tools pages + mobile view improvements (#2454)

* dark mode ui for admin and tools pages + mobile view improvements

* lint

* ai provider pages + options darkmode ui

* placeholder generic class

* appearance settings styles

* ai providers mobile margin

* dark mode styles for agent skills + experimental features

* mobile styles on security settings

* fine tune flow ui dark mode

* workspace settings page

* lint

* Dark mode onboarding (#2461)

dark mode onboarding

* update all modals + normalize styles (#2471)

* lint

* Dark mode privacy & experimental pages (#2479)

* document watch + privacy pages ui + mobile modal darkmode

* lint

* Dark mode login screens (#2483)

* multi-user auth screen ui update

* dark mode login screen + recovery key modals

* remove unneeded import

* Workspace preset commands modals dark mode (#2484)

update workspace preset dark mode modal

* Document pinning modal ui update (#2490)

document pinning modal ui update

* Experimental agreement modal dark mode (#2491)

experimental agreement modal dark mode

* Serp options dark mode (#2492)

serp options dark mode

* field fixes

* attempt light mode wip

* setting sidebar

* Toasts and threads

* main page content and privacy page

* force rewrite for light

* add border for light mode rightside content

* more fixes

* wip

* wip

* wip light mode implementation

* wip dark light mode file picker

* document picker light mode ui

* slight ui tweaks

* light mode fine tuning flow

* light mode tweaks + qa fixes

* fix md rendering of light mode + tooltip fixes

* lint

* qa bug fixes

* Add developer hook for theme
move provider to outmost layer

* qa light mode bug fixes

* Linting and hotfixes for UI

* Light mode to dev

* accept invite light mode ui fix

* Fix onboarding inputs in dark mode

* fix close icons
last minute items

* patch z-index on tooltips

* patch light mode citations

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2024-11-18 15:40:18 -08:00
Sean Hatfield
e719d05027
Add optional limit and orderBy to dev api chat endpoint (#2559)
add optional limit and orderBy to dev api chat endpoint
2024-10-30 14:47:24 -07:00
Mr Simon C
ccde891aa2
Feature/update api example outputs (#2547)
* /v1/workspace/{slug} actually returns an array - update example output

* update swagger example to show array output
2024-10-29 16:50:19 -07:00
Timothy Carambat
2c9cb28d5f
Simple SSO feature for login flows from external services (#2553)
* Simple SSO feature for login flows from external services

* linting
2024-10-29 15:30:53 -07:00
Timothy Carambat
40800631e3
Patch v1/document/upload filename charset encoding (#2535) 2024-10-25 12:03:19 -07:00
Timothy Carambat
72ba9f7f28
Add filtering to sessionID for workspace chats (#2531) 2024-10-24 15:10:50 -07:00
Timothy Carambat
0524aadf58
Enable the ability to disable the chat history UI (#2501)
* Enable the ability to disable the chat history UI

* forgot files
2024-10-21 13:19:19 -07:00
Timothy Carambat
e71392d83f
Feature/thread creation slug name (#2512)
* thread creation additional params name and slug, with api

* typo fix

* Rebuild openai Swagger docs
Handle validations for fields to prevent invalid field inputs for .new
Enforce sluggification of `slug` to prevent breaking of URL structs

---------

Co-authored-by: abrakadobr <abrakadobr@gmail.com>
2024-10-21 13:09:55 -07:00
Timothy Carambat
c3723ce2ff
Add backfilling on query for chat widget to improve UX (#2482) 2024-10-15 14:37:44 -07:00
Sean Hatfield
be6289d141
Daily message limit per user (#2417)
* set message limit per user

* remove old limit user messages + unused admin page

* fix daily message validation

* refactor message limit input
refactor canSendChat on user to a method on user model

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2024-10-15 14:01:29 -07:00
Sean Hatfield
e6c4eb3f1c
Support attachments in developer API (#2373)
* support attachments in developer api

* lint

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2024-09-25 13:44:26 -07:00
Sean Hatfield
4ebc37b4e3
Export embedded chat history (#2329)
export embedded chat history

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2024-09-24 16:05:34 -07:00
Timothy Carambat
0cbe4d0b04
Make userId actually optional for workspaceThread endpoint (#2276) 2024-09-12 13:33:41 -07:00
Timothy Carambat
d1103e2b71
Add support for custom agent skills via plugins (#2202)
* Add support for custom agent skills via plugins
Update Admin.systemPreferences to updated endpoint (legacy has deprecation notice

* lint

* dev build

* patch safeJson
patch label loading

* allow plugins with no config options

* lint

* catch invalid setupArgs in frontend

* update link to docs page for agent skills

* remove unneeded files

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2024-09-10 17:06:02 -07:00
Mr Simon C
7594841dac
Bug/make swagger json output openapi 3 compliant (#2219)
update source to ensure swagger.json is openapi 3.0.0 compliant
2024-09-04 15:40:24 -07:00
timothycarambat
47a5c7126c Patch path traversal in move-files that can be used by administrator level attacker only 2024-08-27 16:19:12 -07:00
Timothy Carambat
29df483a27
AnythingLLM Chrome Extension (#2066)
* initial commit for chrome extension

* wip browser extension backend

* wip frontend browser extension settings

* fix typo for browserExtension route

* implement verification codes + frontend panel for browser extension keys

* reorganize + state management for all connection states

* implement embed to workspace

* add send page to anythingllm extension option + refactor

* refactor connection string auth + update context menus + organize background.js into models

* popup extension from main app and save if successful

* fix hebrew translation misspelling

* fetch custom logo inside chrome extension

* delete api keys on disconnect of extension

* use correct apiUrl constant in frontend + remove unneeded comments

* remove upload-link endpoint and send inner text html to raw text collector endpoint

* update readme

* fix readme link

* fix readme typo

* update readme

* handle deletion of browser keys with key id and DELETE endpoint

* move event string to constant

* remove tablename and writable fields from BrowserExtensionApiKey backend model

* add border-none to all buttons and inputs for desktop compatibility

* patch prisma injections

* update delete endpoints to delete keys by id

* remove unused prop

* add button to attempt browser extension connection + remove max active keys

* wip multi user mode support

* multi user mode support

* clean up backend + show created by in frotend browser extension page

* show multi user warning message on key creation + hide context menus when no workspaces

* show browser extension options to managers

* small backend changes and refactors

* extension cleanup

* rename submodule

* extension updates & docs

* dev docker build

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2024-08-27 14:58:47 -07:00
Timothy Carambat
fdc3add53c
Api session id support (#2158)
* Refactor api endpoint chat handler to its own function
remove legacy `chatWithWorkspace` and cleanup `index.js`

* Add `sessionId` in dev API to partition chats logically statelessly
2024-08-21 15:25:47 -07:00
Timothy Carambat
1f96b837b3
Refactor api endpoint chat handler to its own function (#2157)
remove legacy `chatWithWorkspace` and cleanup `index.js`
2024-08-21 14:47:06 -07:00
timothycarambat
17abbe97e5 remove #swagger.path from API docs 2024-08-20 12:48:08 -07:00
Timothy Carambat
a8d25c7dd3
Allow readable username passed in script widget (#2131) 2024-08-16 16:55:42 -07:00
Sean Hatfield
1dad4d9409
Fix multi-user setup bug for invalid username/password (#2130)
* fix multiuser setup bug for invalid username/password

* handle user creation failed gracefully and delete user on fail
2024-08-16 12:55:14 -07:00
Timothy Carambat
4430ddb059
Encryption in JWT for single-user password mode (#2111)
* wip encrypting jwt value

* Encrypt/Decrypt pass in JWT value for verification in single-user password mode
2024-08-13 17:54:12 -07:00