totem-llm 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +81 -0
- package/bin/totem-llm.js +80 -0
- package/collector/.env +9 -0
- package/collector/.env.example +9 -0
- package/collector/.nvmrc +1 -0
- package/collector/extensions/index.js +239 -0
- package/collector/extensions/resync/index.js +197 -0
- package/collector/hotdir/__HOTDIR__.md +3 -0
- package/collector/index.js +202 -0
- package/collector/middleware/httpLogger.js +29 -0
- package/collector/middleware/setDataSigner.js +44 -0
- package/collector/middleware/verifyIntegrity.js +32 -0
- package/collector/package.json +67 -0
- package/collector/processLink/convert/generic.js +240 -0
- package/collector/processLink/helpers/index.js +190 -0
- package/collector/processLink/index.js +47 -0
- package/collector/processRawText/index.js +83 -0
- package/collector/processSingleFile/convert/asAudio.js +79 -0
- package/collector/processSingleFile/convert/asDocx.js +63 -0
- package/collector/processSingleFile/convert/asEPub.js +61 -0
- package/collector/processSingleFile/convert/asImage.js +56 -0
- package/collector/processSingleFile/convert/asMbox.js +83 -0
- package/collector/processSingleFile/convert/asOfficeMime.js +59 -0
- package/collector/processSingleFile/convert/asPDF/PDFLoader/index.js +97 -0
- package/collector/processSingleFile/convert/asPDF/index.js +86 -0
- package/collector/processSingleFile/convert/asTxt.js +59 -0
- package/collector/processSingleFile/convert/asXlsx.js +193 -0
- package/collector/processSingleFile/index.js +95 -0
- package/collector/utils/EncryptionWorker/index.js +77 -0
- package/collector/utils/OCRLoader/index.js +355 -0
- package/collector/utils/OCRLoader/validLangs.js +155 -0
- package/collector/utils/WhisperProviders/OpenAiWhisper.js +49 -0
- package/collector/utils/WhisperProviders/ffmpeg/index.js +114 -0
- package/collector/utils/WhisperProviders/localWhisper.js +197 -0
- package/collector/utils/comKey/index.js +54 -0
- package/collector/utils/constants.js +92 -0
- package/collector/utils/downloadURIToFile/index.js +90 -0
- package/collector/utils/extensions/Confluence/ConfluenceLoader/index.js +154 -0
- package/collector/utils/extensions/Confluence/index.js +292 -0
- package/collector/utils/extensions/DrupalWiki/DrupalWiki/index.js +338 -0
- package/collector/utils/extensions/DrupalWiki/index.js +102 -0
- package/collector/utils/extensions/ObsidianVault/index.js +95 -0
- package/collector/utils/extensions/PaperlessNgx/PaperlessNgxLoader/index.js +157 -0
- package/collector/utils/extensions/PaperlessNgx/index.js +128 -0
- package/collector/utils/extensions/RepoLoader/GithubRepo/RepoLoader/index.js +265 -0
- package/collector/utils/extensions/RepoLoader/GithubRepo/index.js +159 -0
- package/collector/utils/extensions/RepoLoader/GitlabRepo/RepoLoader/index.js +447 -0
- package/collector/utils/extensions/RepoLoader/GitlabRepo/index.js +261 -0
- package/collector/utils/extensions/RepoLoader/index.js +41 -0
- package/collector/utils/extensions/WebsiteDepth/index.js +211 -0
- package/collector/utils/extensions/YoutubeTranscript/YoutubeLoader/index.js +99 -0
- package/collector/utils/extensions/YoutubeTranscript/YoutubeLoader/youtube-transcript.js +246 -0
- package/collector/utils/extensions/YoutubeTranscript/index.js +219 -0
- package/collector/utils/files/index.js +240 -0
- package/collector/utils/files/mime.js +64 -0
- package/collector/utils/http/index.js +54 -0
- package/collector/utils/logger/index.js +68 -0
- package/collector/utils/runtimeSettings/index.js +97 -0
- package/collector/utils/shell.js +25 -0
- package/collector/utils/tokenizer/index.js +66 -0
- package/collector/utils/url/index.js +137 -0
- package/collector/yarn.lock +4413 -0
- package/lib/config.js +79 -0
- package/lib/launcher.js +116 -0
- package/lib/setup.js +143 -0
- package/package.json +64 -0
- package/scripts/postinstall.mjs +117 -0
- package/server/.env +489 -0
- package/server/.env.example +496 -0
- package/server/.flowconfig +30 -0
- package/server/.nvmrc +1 -0
- package/server/endpoints/admin.js +566 -0
- package/server/endpoints/agentFileServer.js +174 -0
- package/server/endpoints/agentFlows.js +192 -0
- package/server/endpoints/agentSkillWhitelist.js +82 -0
- package/server/endpoints/agentWebsocket.js +62 -0
- package/server/endpoints/api/admin/index.js +775 -0
- package/server/endpoints/api/auth/index.js +33 -0
- package/server/endpoints/api/document/index.js +1210 -0
- package/server/endpoints/api/embed/index.js +409 -0
- package/server/endpoints/api/index.js +29 -0
- package/server/endpoints/api/openai/compatibility-test-script.cjs +79 -0
- package/server/endpoints/api/openai/helpers.js +50 -0
- package/server/endpoints/api/openai/index.js +321 -0
- package/server/endpoints/api/system/index.js +275 -0
- package/server/endpoints/api/userManagement/index.js +124 -0
- package/server/endpoints/api/workspace/index.js +1008 -0
- package/server/endpoints/api/workspaceThread/index.js +627 -0
- package/server/endpoints/browserExtension.js +221 -0
- package/server/endpoints/chat.js +193 -0
- package/server/endpoints/communityHub.js +214 -0
- package/server/endpoints/document.js +111 -0
- package/server/endpoints/embed/index.js +103 -0
- package/server/endpoints/embedManagement.js +131 -0
- package/server/endpoints/experimental/imported-agent-plugins.js +65 -0
- package/server/endpoints/experimental/index.js +12 -0
- package/server/endpoints/experimental/liveSync.js +110 -0
- package/server/endpoints/extensions/index.js +175 -0
- package/server/endpoints/invite.js +81 -0
- package/server/endpoints/mcpServers.js +127 -0
- package/server/endpoints/memory.js +196 -0
- package/server/endpoints/mobile/index.js +160 -0
- package/server/endpoints/mobile/middleware/index.js +97 -0
- package/server/endpoints/mobile/utils/index.js +195 -0
- package/server/endpoints/modelRouter.js +205 -0
- package/server/endpoints/scheduledJobs.js +374 -0
- package/server/endpoints/system.js +1490 -0
- package/server/endpoints/telegram.js +333 -0
- package/server/endpoints/utils/dockerModelRunnerUtils.js +94 -0
- package/server/endpoints/utils/googleAgentSkillEndpoints.js +70 -0
- package/server/endpoints/utils/lemonadeUtilsEndpoints.js +170 -0
- package/server/endpoints/utils/outlookAgentUtils.js +190 -0
- package/server/endpoints/utils.js +220 -0
- package/server/endpoints/webPush.js +27 -0
- package/server/endpoints/workspaceThreads.js +245 -0
- package/server/endpoints/workspaces.js +1159 -0
- package/server/endpoints/workspacesParsedFiles.js +208 -0
- package/server/index.js +178 -0
- package/server/jobs/cleanup-generated-files.js +160 -0
- package/server/jobs/cleanup-orphan-documents.js +79 -0
- package/server/jobs/embedding-worker.js +197 -0
- package/server/jobs/extract-memories.js +192 -0
- package/server/jobs/handle-telegram-chat.js +67 -0
- package/server/jobs/helpers/index.js +54 -0
- package/server/jobs/helpers/memory-extraction-utils.js +366 -0
- package/server/jobs/helpers/scheduled-job-helper.js +111 -0
- package/server/jobs/run-scheduled-job.js +157 -0
- package/server/jobs/sync-watched-documents.js +209 -0
- package/server/jsconfig.json +14 -0
- package/server/middleware/httpLogger.js +23 -0
- package/server/models/agentSkillWhitelist.js +100 -0
- package/server/models/apiKeys.js +99 -0
- package/server/models/browserExtensionApiKey.js +190 -0
- package/server/models/cacheData.js +69 -0
- package/server/models/communityHub.js +213 -0
- package/server/models/documentSyncQueue.js +252 -0
- package/server/models/documentSyncRun.js +88 -0
- package/server/models/documents.js +356 -0
- package/server/models/embedChats.js +199 -0
- package/server/models/embedConfig.js +251 -0
- package/server/models/eventLogs.js +129 -0
- package/server/models/externalCommunicationConnector.js +110 -0
- package/server/models/invite.js +144 -0
- package/server/models/memory.js +451 -0
- package/server/models/mobileDevice.js +251 -0
- package/server/models/modelRouter.js +259 -0
- package/server/models/modelRouterRule.js +336 -0
- package/server/models/passwordRecovery.js +115 -0
- package/server/models/promptHistory.js +107 -0
- package/server/models/scheduledJob.js +499 -0
- package/server/models/scheduledJobRun.js +362 -0
- package/server/models/slashCommandsPresets.js +143 -0
- package/server/models/systemPromptVariables.js +361 -0
- package/server/models/systemSettings.js +1183 -0
- package/server/models/temporaryAuthToken.js +104 -0
- package/server/models/user.js +381 -0
- package/server/models/vectors.js +79 -0
- package/server/models/workspace.js +720 -0
- package/server/models/workspaceAgentInvocation.js +97 -0
- package/server/models/workspaceChats.js +386 -0
- package/server/models/workspaceParsedFiles.js +246 -0
- package/server/models/workspaceThread.js +151 -0
- package/server/models/workspaceUsers.js +103 -0
- package/server/models/workspacesSuggestedMessages.js +83 -0
- package/server/package.json +130 -0
- package/server/prisma/migrations/20230921191814_init/migration.sql +125 -0
- package/server/prisma/migrations/20231101001441_init/migration.sql +2 -0
- package/server/prisma/migrations/20231101195421_init/migration.sql +11 -0
- package/server/prisma/migrations/20231129012019_add/migration.sql +2 -0
- package/server/prisma/migrations/20240113013409_init/migration.sql +2 -0
- package/server/prisma/migrations/20240118201333_init/migration.sql +2 -0
- package/server/prisma/migrations/20240202002020_init/migration.sql +37 -0
- package/server/prisma/migrations/20240206181106_init/migration.sql +13 -0
- package/server/prisma/migrations/20240206211916_init/migration.sql +11 -0
- package/server/prisma/migrations/20240208224848_init/migration.sql +24 -0
- package/server/prisma/migrations/20240210004405_init/migration.sql +2 -0
- package/server/prisma/migrations/20240216214639_init/migration.sql +2 -0
- package/server/prisma/migrations/20240219211018_init/migration.sql +2 -0
- package/server/prisma/migrations/20240301002308_init/migration.sql +2 -0
- package/server/prisma/migrations/20240326231053_init/migration.sql +2 -0
- package/server/prisma/migrations/20240405015034_init/migration.sql +2 -0
- package/server/prisma/migrations/20240412183346_init/migration.sql +24 -0
- package/server/prisma/migrations/20240425004220_init/migration.sql +30 -0
- package/server/prisma/migrations/20240430230707_init/migration.sql +2 -0
- package/server/prisma/migrations/20240510032311_init/migration.sql +15 -0
- package/server/prisma/migrations/20240618224346_init/migration.sql +26 -0
- package/server/prisma/migrations/20240821215625_init/migration.sql +2 -0
- package/server/prisma/migrations/20240824005054_init/migration.sql +15 -0
- package/server/prisma/migrations/20241003192954_init/migration.sql +2 -0
- package/server/prisma/migrations/20241029203722_init/migration.sql +12 -0
- package/server/prisma/migrations/20241029233509_init/migration.sql +5 -0
- package/server/prisma/migrations/20250102204948_init/migration.sql +2 -0
- package/server/prisma/migrations/20250226005538_init/migration.sql +2 -0
- package/server/prisma/migrations/20250318154720_init/migration.sql +18 -0
- package/server/prisma/migrations/20250506214129_init/migration.sql +13 -0
- package/server/prisma/migrations/20250709230835_init/migration.sql +2 -0
- package/server/prisma/migrations/20250725194841_init/migration.sql +17 -0
- package/server/prisma/migrations/20250808171557_init/migration.sql +23 -0
- package/server/prisma/migrations/20260130040204_init/migration.sql +2 -0
- package/server/prisma/migrations/20260313192859_init/migration.sql +10 -0
- package/server/prisma/migrations/20260319202916_init/migration.sql +12 -0
- package/server/prisma/migrations/20260406120000_init/migration.sql +2 -0
- package/server/prisma/migrations/20260423191158_init/migration.sql +29 -0
- package/server/prisma/migrations/20260424013043_init/migration.sql +22 -0
- package/server/prisma/migrations/20260520160208_init/migration.sql +46 -0
- package/server/prisma/migrations/migration_lock.toml +3 -0
- package/server/prisma/schema.prisma +484 -0
- package/server/prisma/seed.js +31 -0
- package/server/public/KaTeX_AMS-Regular.eot +0 -0
- package/server/public/KaTeX_AMS-Regular.ttf +0 -0
- package/server/public/KaTeX_AMS-Regular.woff +0 -0
- package/server/public/KaTeX_AMS-Regular.woff2 +0 -0
- package/server/public/KaTeX_Caligraphic-Bold.eot +0 -0
- package/server/public/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/server/public/KaTeX_Caligraphic-Bold.woff +0 -0
- package/server/public/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/server/public/KaTeX_Caligraphic-Regular.eot +0 -0
- package/server/public/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/server/public/KaTeX_Caligraphic-Regular.woff +0 -0
- package/server/public/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/server/public/KaTeX_Fraktur-Bold.eot +0 -0
- package/server/public/KaTeX_Fraktur-Bold.ttf +0 -0
- package/server/public/KaTeX_Fraktur-Bold.woff +0 -0
- package/server/public/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/server/public/KaTeX_Fraktur-Regular.eot +0 -0
- package/server/public/KaTeX_Fraktur-Regular.ttf +0 -0
- package/server/public/KaTeX_Fraktur-Regular.woff +0 -0
- package/server/public/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/server/public/KaTeX_Main-Bold.eot +0 -0
- package/server/public/KaTeX_Main-Bold.ttf +0 -0
- package/server/public/KaTeX_Main-Bold.woff +0 -0
- package/server/public/KaTeX_Main-Bold.woff2 +0 -0
- package/server/public/KaTeX_Main-Italic.eot +0 -0
- package/server/public/KaTeX_Main-Italic.ttf +0 -0
- package/server/public/KaTeX_Main-Italic.woff +0 -0
- package/server/public/KaTeX_Main-Italic.woff2 +0 -0
- package/server/public/KaTeX_Main-Regular.eot +0 -0
- package/server/public/KaTeX_Main-Regular.ttf +0 -0
- package/server/public/KaTeX_Main-Regular.woff +0 -0
- package/server/public/KaTeX_Main-Regular.woff2 +0 -0
- package/server/public/KaTeX_Math-Italic.eot +0 -0
- package/server/public/KaTeX_Math-Italic.ttf +0 -0
- package/server/public/KaTeX_Math-Italic.woff +0 -0
- package/server/public/KaTeX_Math-Italic.woff2 +0 -0
- package/server/public/KaTeX_SansSerif-Regular.eot +0 -0
- package/server/public/KaTeX_SansSerif-Regular.ttf +0 -0
- package/server/public/KaTeX_SansSerif-Regular.woff +0 -0
- package/server/public/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/server/public/KaTeX_Script-Regular.eot +0 -0
- package/server/public/KaTeX_Script-Regular.ttf +0 -0
- package/server/public/KaTeX_Script-Regular.woff +0 -0
- package/server/public/KaTeX_Script-Regular.woff2 +0 -0
- package/server/public/KaTeX_Size1-Regular.eot +0 -0
- package/server/public/KaTeX_Size1-Regular.ttf +0 -0
- package/server/public/KaTeX_Size1-Regular.woff +0 -0
- package/server/public/KaTeX_Size1-Regular.woff2 +0 -0
- package/server/public/KaTeX_Size2-Regular.eot +0 -0
- package/server/public/KaTeX_Size2-Regular.ttf +0 -0
- package/server/public/KaTeX_Size2-Regular.woff +0 -0
- package/server/public/KaTeX_Size2-Regular.woff2 +0 -0
- package/server/public/KaTeX_Size3-Regular.eot +0 -0
- package/server/public/KaTeX_Size3-Regular.ttf +0 -0
- package/server/public/KaTeX_Size3-Regular.woff +0 -0
- package/server/public/KaTeX_Size4-Regular.eot +0 -0
- package/server/public/KaTeX_Size4-Regular.ttf +0 -0
- package/server/public/KaTeX_Size4-Regular.woff +0 -0
- package/server/public/KaTeX_Size4-Regular.woff2 +0 -0
- package/server/public/KaTeX_Typewriter-Regular.eot +0 -0
- package/server/public/KaTeX_Typewriter-Regular.ttf +0 -0
- package/server/public/KaTeX_Typewriter-Regular.woff +0 -0
- package/server/public/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/server/public/PlusJakartaSans.ttf +0 -0
- package/server/public/_index.html +45 -0
- package/server/public/agent-animation.webm +0 -0
- package/server/public/agent-static.png +0 -0
- package/server/public/anthropic.png +0 -0
- package/server/public/anything-llm-dark.png +0 -0
- package/server/public/anything-llm-light.png +0 -0
- package/server/public/anything-llm.png +0 -0
- package/server/public/apipie.png +0 -0
- package/server/public/assets/404-aca8e9d6.js +1 -0
- package/server/public/assets/Brain-24e386d5.js +1 -0
- package/server/public/assets/Browser-1820fad0.js +1 -0
- package/server/public/assets/ChatText-35275002.js +1 -0
- package/server/public/assets/Check-7e83fb0d.js +1 -0
- package/server/public/assets/Copy-d323e545.js +1 -0
- package/server/public/assets/Database-f1a76329.js +1 -0
- package/server/public/assets/Eye-9f033dc0.js +1 -0
- package/server/public/assets/File-b92df2f3.js +1 -0
- package/server/public/assets/Gauge-e6762f4d.js +1 -0
- package/server/public/assets/Hammer-05b5ccc7.js +1 -0
- package/server/public/assets/Plug-7d951c7d.js +1 -0
- package/server/public/assets/PlusCircle-31c6a8d8.js +1 -0
- package/server/public/assets/RunDetailPage-edfdbd4d.js +1 -0
- package/server/public/assets/RunHistoryPage-732dae26.js +1 -0
- package/server/public/assets/Stop-4b47ae05.js +1 -0
- package/server/public/assets/Trans-36b04c7b.js +1 -0
- package/server/public/assets/WarningCircle-27467274.js +1 -0
- package/server/public/assets/XCircle-edfe554c.js +1 -0
- package/server/public/assets/admin-04b020fe.js +1 -0
- package/server/public/assets/agentFlows-e4124dd3.js +1 -0
- package/server/public/assets/anything-llm-infinity-0d7244a1.js +1 -0
- package/server/public/assets/communityHub-aba61686.js +1 -0
- package/server/public/assets/cron-2ad9194f.js +1 -0
- package/server/public/assets/files-493643b0.js +23 -0
- package/server/public/assets/github-dark-57c241de.js +1 -0
- package/server/public/assets/index-08cd0bc2.js +9 -0
- package/server/public/assets/index-0bf8ea25.js +1 -0
- package/server/public/assets/index-25b2660c.js +1 -0
- package/server/public/assets/index-2a7c0b04.js +1 -0
- package/server/public/assets/index-3643e990.js +1 -0
- package/server/public/assets/index-3761d55d.js +1 -0
- package/server/public/assets/index-4b5e1c76.js +5 -0
- package/server/public/assets/index-4fb4d421.js +2 -0
- package/server/public/assets/index-56bb11a0.js +1 -0
- package/server/public/assets/index-5c320a5d.js +1 -0
- package/server/public/assets/index-62160652.js +3 -0
- package/server/public/assets/index-62fee0f9.js +4 -0
- package/server/public/assets/index-65801ac6.js +1 -0
- package/server/public/assets/index-71027183.js +1 -0
- package/server/public/assets/index-72832304.js +18 -0
- package/server/public/assets/index-7b0ea06b.js +14 -0
- package/server/public/assets/index-8132c765.js +1 -0
- package/server/public/assets/index-837868b3.js +1 -0
- package/server/public/assets/index-86e8a6b4.js +1 -0
- package/server/public/assets/index-8ba96f42.js +1 -0
- package/server/public/assets/index-8e43159f.js +1 -0
- package/server/public/assets/index-92574f3a.js +1 -0
- package/server/public/assets/index-925792fe.js +2 -0
- package/server/public/assets/index-92d3b7bc.js +1 -0
- package/server/public/assets/index-994c849a.js +1 -0
- package/server/public/assets/index-9f71774b.js +1 -0
- package/server/public/assets/index-9f7dabd6.js +1 -0
- package/server/public/assets/index-a0e2be61.js +1 -0
- package/server/public/assets/index-a6ac5511.js +1 -0
- package/server/public/assets/index-a6c0d98a.js +1 -0
- package/server/public/assets/index-aa687cfe.js +3 -0
- package/server/public/assets/index-ab35fb74.js +1 -0
- package/server/public/assets/index-ab72b353.js +4 -0
- package/server/public/assets/index-ad8e77d2.js +5 -0
- package/server/public/assets/index-c07cc087.js +110 -0
- package/server/public/assets/index-c22f7da1.js +1 -0
- package/server/public/assets/index-c9b59c35.js +1 -0
- package/server/public/assets/index-d59c6d7f.js +1 -0
- package/server/public/assets/index-d69f2e09.js +1 -0
- package/server/public/assets/index-e5b911ea.js +1 -0
- package/server/public/assets/index-e6c540e1.js +1 -0
- package/server/public/assets/index-f86e167c.js +4 -0
- package/server/public/assets/index-f984ef26.js +1 -0
- package/server/public/assets/index-fb26b60a.js +1 -0
- package/server/public/assets/index-fd922432.js +1 -0
- package/server/public/assets/main-8ad4162f.js +1 -0
- package/server/public/assets/mcpServers-957b1f1c.js +1 -0
- package/server/public/assets/moment-3ad2e1a6.js +10 -0
- package/server/public/assets/ort.min-faca3c2b.js +1827 -0
- package/server/public/assets/piper-o91UDS6e-0c78e94e.js +4 -0
- package/server/public/assets/purify-6b86d6dc.js +26 -0
- package/server/public/assets/react-beautiful-dnd.esm-86e87aba.js +68 -0
- package/server/public/assets/truncate-352eb33b.js +1 -0
- package/server/public/assets/types-e90e1137.js +1 -0
- package/server/public/assets/usePolling-417bb099.js +1 -0
- package/server/public/assets/voices_static-D_OtJDHM-5cdb0950.js +1 -0
- package/server/public/assets/worker-8f433525.js +1 -0
- package/server/public/azure.png +0 -0
- package/server/public/baidu.png +0 -0
- package/server/public/bedrock.png +0 -0
- package/server/public/bg.png +0 -0
- package/server/public/bing.png +0 -0
- package/server/public/cerebras.png +0 -0
- package/server/public/cohere.png +0 -0
- package/server/public/cometapi.png +0 -0
- package/server/public/community-hub.png +0 -0
- package/server/public/confluence.jpeg +0 -0
- package/server/public/deepseek.png +0 -0
- package/server/public/docker-model-runner.png +0 -0
- package/server/public/dpais.png +0 -0
- package/server/public/drupalwiki.jpg +0 -0
- package/server/public/duckduckgo.png +0 -0
- package/server/public/elevenlabs.png +0 -0
- package/server/public/embed/anythingllm-chat-widget.min.css +1 -0
- package/server/public/embed/anythingllm-chat-widget.min.js +37 -0
- package/server/public/exa.png +0 -0
- package/server/public/favicon.ico +0 -0
- package/server/public/favicon.png +0 -0
- package/server/public/file-system.png +0 -0
- package/server/public/files.css +1 -0
- package/server/public/fonts/PlusJakartaSans.ttf +0 -0
- package/server/public/foundry-local.png +0 -0
- package/server/public/gemini.png +0 -0
- package/server/public/generate-charts.png +0 -0
- package/server/public/generate-save-files.png +0 -0
- package/server/public/generic-openai.png +0 -0
- package/server/public/giteeai.png +0 -0
- package/server/public/github-dark.css +10 -0
- package/server/public/github.css +19 -0
- package/server/public/github.svg +4 -0
- package/server/public/gitlab.svg +7 -0
- package/server/public/gmail.png +0 -0
- package/server/public/google-calendar.png +0 -0
- package/server/public/gplay-badge.svg +55 -0
- package/server/public/huggingface.png +0 -0
- package/server/public/index.css +1 -0
- package/server/public/index.js +1739 -0
- package/server/public/koboldcpp.png +0 -0
- package/server/public/lancedb.png +0 -0
- package/server/public/lemonade.png +0 -0
- package/server/public/link.svg +1 -0
- package/server/public/litellm.png +0 -0
- package/server/public/lmstudio.png +0 -0
- package/server/public/localai.png +0 -0
- package/server/public/login-logo-light.svg +45 -0
- package/server/public/login-logo.svg +45 -0
- package/server/public/manifest.json +13 -0
- package/server/public/mcp-logo.svg +1 -0
- package/server/public/milvus.png +0 -0
- package/server/public/minimax.png +0 -0
- package/server/public/mistral.jpeg +0 -0
- package/server/public/moonshotai.png +0 -0
- package/server/public/mssql.png +0 -0
- package/server/public/mysql.png +0 -0
- package/server/public/nvidia-nim.png +0 -0
- package/server/public/obsidian.png +0 -0
- package/server/public/ollama.png +0 -0
- package/server/public/openai.png +0 -0
- package/server/public/openrouter.jpeg +0 -0
- package/server/public/outlook.png +0 -0
- package/server/public/paperless-ngx.jpeg +0 -0
- package/server/public/perplexity.png +0 -0
- package/server/public/pgvector.png +0 -0
- package/server/public/piper.png +0 -0
- package/server/public/privatemode.png +0 -0
- package/server/public/qdrant.png +0 -0
- package/server/public/rag-memory.png +0 -0
- package/server/public/robots.txt +2 -0
- package/server/public/router-animation.webm +0 -0
- package/server/public/sambanova.png +0 -0
- package/server/public/scrape-websites.png +0 -0
- package/server/public/searchapi.png +0 -0
- package/server/public/searxng.png +0 -0
- package/server/public/serpapi.png +0 -0
- package/server/public/serper.png +0 -0
- package/server/public/serply.png +0 -0
- package/server/public/service-workers/push-notifications.js +26 -0
- package/server/public/sql-agent.png +0 -0
- package/server/public/tavily.svg +1 -0
- package/server/public/text-generation-webui.png +0 -0
- package/server/public/thinking-animation.webm +0 -0
- package/server/public/thinking-static.png +0 -0
- package/server/public/togetherai.png +0 -0
- package/server/public/view-summarize.png +0 -0
- package/server/public/voyageai.png +0 -0
- package/server/public/weaviate.png +0 -0
- package/server/public/xai.png +0 -0
- package/server/public/youtube.svg +10 -0
- package/server/public/zai.png +0 -0
- package/server/public/zilliz.png +0 -0
- package/server/utils/AiProviders/anthropic/index.js +372 -0
- package/server/utils/AiProviders/apipie/index.js +386 -0
- package/server/utils/AiProviders/azureOpenAi/index.js +232 -0
- package/server/utils/AiProviders/bedrock/index.js +787 -0
- package/server/utils/AiProviders/bedrock/utils.js +166 -0
- package/server/utils/AiProviders/cerebras/index.js +314 -0
- package/server/utils/AiProviders/cohere/index.js +251 -0
- package/server/utils/AiProviders/cometapi/constants.js +39 -0
- package/server/utils/AiProviders/cometapi/index.js +445 -0
- package/server/utils/AiProviders/deepseek/index.js +180 -0
- package/server/utils/AiProviders/dellProAiStudio/index.js +217 -0
- package/server/utils/AiProviders/dockerModelRunner/index.js +520 -0
- package/server/utils/AiProviders/fireworksAi/index.js +273 -0
- package/server/utils/AiProviders/foundry/index.js +475 -0
- package/server/utils/AiProviders/gemini/defaultModels.js +74 -0
- package/server/utils/AiProviders/gemini/index.js +457 -0
- package/server/utils/AiProviders/gemini/syncStaticLists.mjs +48 -0
- package/server/utils/AiProviders/genericOpenAi/index.js +485 -0
- package/server/utils/AiProviders/giteeai/index.js +245 -0
- package/server/utils/AiProviders/groq/index.js +257 -0
- package/server/utils/AiProviders/huggingface/index.js +165 -0
- package/server/utils/AiProviders/koboldCPP/index.js +264 -0
- package/server/utils/AiProviders/lemonade/index.js +463 -0
- package/server/utils/AiProviders/liteLLM/index.js +201 -0
- package/server/utils/AiProviders/lmStudio/index.js +383 -0
- package/server/utils/AiProviders/localAi/index.js +198 -0
- package/server/utils/AiProviders/minimax/index.js +165 -0
- package/server/utils/AiProviders/mistral/index.js +191 -0
- package/server/utils/AiProviders/modelMap/index.js +212 -0
- package/server/utils/AiProviders/modelMap/legacy.js +162 -0
- package/server/utils/AiProviders/modelRouter/index.js +170 -0
- package/server/utils/AiProviders/moonshotAi/index.js +176 -0
- package/server/utils/AiProviders/novita/index.js +460 -0
- package/server/utils/AiProviders/nvidiaNim/index.js +253 -0
- package/server/utils/AiProviders/ollama/index.js +516 -0
- package/server/utils/AiProviders/openAi/index.js +301 -0
- package/server/utils/AiProviders/openRouter/index.js +567 -0
- package/server/utils/AiProviders/perplexity/index.js +304 -0
- package/server/utils/AiProviders/perplexity/models.js +24 -0
- package/server/utils/AiProviders/perplexity/scripts/chat_models.txt +6 -0
- package/server/utils/AiProviders/perplexity/scripts/parse.mjs +49 -0
- package/server/utils/AiProviders/ppio/index.js +274 -0
- package/server/utils/AiProviders/privatemode/index.js +220 -0
- package/server/utils/AiProviders/sambanova/index.js +273 -0
- package/server/utils/AiProviders/textGenWebUI/index.js +197 -0
- package/server/utils/AiProviders/togetherAi/index.js +263 -0
- package/server/utils/AiProviders/xai/index.js +200 -0
- package/server/utils/AiProviders/zai/index.js +184 -0
- package/server/utils/BackgroundWorkers/index.js +432 -0
- package/server/utils/DocumentManager/index.js +72 -0
- package/server/utils/EmbeddingEngines/azureOpenAi/index.js +115 -0
- package/server/utils/EmbeddingEngines/cohere/index.js +91 -0
- package/server/utils/EmbeddingEngines/gemini/index.js +136 -0
- package/server/utils/EmbeddingEngines/genericOpenAi/index.js +128 -0
- package/server/utils/EmbeddingEngines/lemonade/index.js +99 -0
- package/server/utils/EmbeddingEngines/liteLLM/index.js +102 -0
- package/server/utils/EmbeddingEngines/lmstudio/index.js +122 -0
- package/server/utils/EmbeddingEngines/localAi/index.js +122 -0
- package/server/utils/EmbeddingEngines/mistral/index.js +40 -0
- package/server/utils/EmbeddingEngines/native/constants.js +63 -0
- package/server/utils/EmbeddingEngines/native/index.js +290 -0
- package/server/utils/EmbeddingEngines/ollama/index.js +136 -0
- package/server/utils/EmbeddingEngines/openAi/index.js +102 -0
- package/server/utils/EmbeddingEngines/openRouter/index.js +131 -0
- package/server/utils/EmbeddingEngines/voyageAi/index.js +71 -0
- package/server/utils/EmbeddingRerankers/native/index.js +257 -0
- package/server/utils/EmbeddingWorkerManager.js +202 -0
- package/server/utils/EncryptionManager/index.js +85 -0
- package/server/utils/MCP/hypervisor/index.js +554 -0
- package/server/utils/MCP/index.js +269 -0
- package/server/utils/PasswordRecovery/index.js +103 -0
- package/server/utils/PushNotifications/index.js +228 -0
- package/server/utils/TextSplitter/index.js +206 -0
- package/server/utils/TextToSpeech/elevenLabs/index.js +54 -0
- package/server/utils/TextToSpeech/index.js +18 -0
- package/server/utils/TextToSpeech/openAi/index.js +29 -0
- package/server/utils/TextToSpeech/openAiGeneric/index.js +58 -0
- package/server/utils/agentFlows/executor.js +233 -0
- package/server/utils/agentFlows/executors/api-call.js +60 -0
- package/server/utils/agentFlows/executors/llm-instruction.js +47 -0
- package/server/utils/agentFlows/executors/web-scraping.js +110 -0
- package/server/utils/agentFlows/flowTypes.js +85 -0
- package/server/utils/agentFlows/index.js +288 -0
- package/server/utils/agents/aibitat/error.js +18 -0
- package/server/utils/agents/aibitat/example/beginner-chat.js +56 -0
- package/server/utils/agents/aibitat/example/blog-post-coding.js +55 -0
- package/server/utils/agents/aibitat/example/websocket/index.html +67 -0
- package/server/utils/agents/aibitat/example/websocket/websock-branding-collab.js +100 -0
- package/server/utils/agents/aibitat/example/websocket/websock-multi-turn-chat.js +91 -0
- package/server/utils/agents/aibitat/index.js +1437 -0
- package/server/utils/agents/aibitat/plugins/chat-history.js +210 -0
- package/server/utils/agents/aibitat/plugins/cli.js +134 -0
- package/server/utils/agents/aibitat/plugins/create-files/assets/anything-llm-invert.png +0 -0
- package/server/utils/agents/aibitat/plugins/create-files/assets/anything-llm.png +0 -0
- package/server/utils/agents/aibitat/plugins/create-files/docx/create-docx-file.js +301 -0
- package/server/utils/agents/aibitat/plugins/create-files/docx/test-themes.js +298 -0
- package/server/utils/agents/aibitat/plugins/create-files/docx/utils.js +1095 -0
- package/server/utils/agents/aibitat/plugins/create-files/index.js +23 -0
- package/server/utils/agents/aibitat/plugins/create-files/lib.js +300 -0
- package/server/utils/agents/aibitat/plugins/create-files/pdf/create-pdf-file.js +138 -0
- package/server/utils/agents/aibitat/plugins/create-files/pdf/utils.js +70 -0
- package/server/utils/agents/aibitat/plugins/create-files/pptx/create-presentation.js +342 -0
- package/server/utils/agents/aibitat/plugins/create-files/pptx/section-agent.js +257 -0
- package/server/utils/agents/aibitat/plugins/create-files/pptx/test-themes.js +143 -0
- package/server/utils/agents/aibitat/plugins/create-files/pptx/themes.js +181 -0
- package/server/utils/agents/aibitat/plugins/create-files/pptx/utils.js +378 -0
- package/server/utils/agents/aibitat/plugins/create-files/text/create-text-file.js +158 -0
- package/server/utils/agents/aibitat/plugins/create-files/xlsx/create-excel-file.js +362 -0
- package/server/utils/agents/aibitat/plugins/create-files/xlsx/utils.js +333 -0
- package/server/utils/agents/aibitat/plugins/file-history.js +37 -0
- package/server/utils/agents/aibitat/plugins/filesystem/copy-file.js +127 -0
- package/server/utils/agents/aibitat/plugins/filesystem/create-directory.js +84 -0
- package/server/utils/agents/aibitat/plugins/filesystem/edit-file.js +133 -0
- package/server/utils/agents/aibitat/plugins/filesystem/get-file-info.js +75 -0
- package/server/utils/agents/aibitat/plugins/filesystem/index.js +33 -0
- package/server/utils/agents/aibitat/plugins/filesystem/lib.js +787 -0
- package/server/utils/agents/aibitat/plugins/filesystem/list-directory.js +175 -0
- package/server/utils/agents/aibitat/plugins/filesystem/move-file.js +95 -0
- package/server/utils/agents/aibitat/plugins/filesystem/read-multiple-files.js +157 -0
- package/server/utils/agents/aibitat/plugins/filesystem/read-text-file.js +142 -0
- package/server/utils/agents/aibitat/plugins/filesystem/search-files.js +469 -0
- package/server/utils/agents/aibitat/plugins/filesystem/write-text-file.js +90 -0
- package/server/utils/agents/aibitat/plugins/gmail/account/gmail-get-mailbox-stats.js +75 -0
- package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-create-draft-reply.js +220 -0
- package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-create-draft.js +217 -0
- package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-delete-draft.js +87 -0
- package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-get-draft.js +84 -0
- package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-list-drafts.js +96 -0
- package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-send-draft.js +94 -0
- package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-update-draft.js +217 -0
- package/server/utils/agents/aibitat/plugins/gmail/index.js +73 -0
- package/server/utils/agents/aibitat/plugins/gmail/lib.js +573 -0
- package/server/utils/agents/aibitat/plugins/gmail/search/gmail-get-inbox.js +104 -0
- package/server/utils/agents/aibitat/plugins/gmail/search/gmail-read-thread.js +122 -0
- package/server/utils/agents/aibitat/plugins/gmail/search/gmail-search.js +121 -0
- package/server/utils/agents/aibitat/plugins/gmail/send/gmail-reply-to-thread.js +238 -0
- package/server/utils/agents/aibitat/plugins/gmail/send/gmail-send-email.js +242 -0
- package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-mark-read.js +87 -0
- package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-mark-unread.js +87 -0
- package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-move-to-archive.js +89 -0
- package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-move-to-inbox.js +89 -0
- package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-move-to-trash.js +89 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/calendars/gcal-get-calendar.js +79 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/calendars/gcal-list-calendars.js +82 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-create-event.js +233 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-get-event.js +116 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-get-events-for-day.js +117 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-get-events.js +159 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-get-upcoming-events.js +249 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-quick-add.js +114 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-set-my-status.js +125 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-update-event.js +173 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/index.js +40 -0
- package/server/utils/agents/aibitat/plugins/google-calendar/lib.js +288 -0
- package/server/utils/agents/aibitat/plugins/http-socket.js +249 -0
- package/server/utils/agents/aibitat/plugins/index.js +47 -0
- package/server/utils/agents/aibitat/plugins/memory.js +167 -0
- package/server/utils/agents/aibitat/plugins/outlook/account/outlook-get-mailbox-stats.js +78 -0
- package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-create-draft.js +232 -0
- package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-delete-draft.js +86 -0
- package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-list-drafts.js +80 -0
- package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-send-draft.js +82 -0
- package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-update-draft.js +132 -0
- package/server/utils/agents/aibitat/plugins/outlook/index.js +45 -0
- package/server/utils/agents/aibitat/plugins/outlook/lib.js +1413 -0
- package/server/utils/agents/aibitat/plugins/outlook/search/outlook-get-inbox.js +75 -0
- package/server/utils/agents/aibitat/plugins/outlook/search/outlook-read-thread.js +131 -0
- package/server/utils/agents/aibitat/plugins/outlook/search/outlook-search.js +101 -0
- package/server/utils/agents/aibitat/plugins/outlook/send/outlook-send-email.js +222 -0
- package/server/utils/agents/aibitat/plugins/rechart.js +114 -0
- package/server/utils/agents/aibitat/plugins/request-user-input.js +265 -0
- package/server/utils/agents/aibitat/plugins/router-classifier.js +122 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/MSSQL.js +114 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/MySQL.js +83 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/Postgresql.js +75 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/index.js +80 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/utils.js +182 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/get-table-schema.js +115 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/index.js +21 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/list-database.js +49 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/list-table.js +105 -0
- package/server/utils/agents/aibitat/plugins/sql-agent/query.js +101 -0
- package/server/utils/agents/aibitat/plugins/summarize.js +189 -0
- package/server/utils/agents/aibitat/plugins/web-browsing.js +1182 -0
- package/server/utils/agents/aibitat/plugins/web-scraping.js +158 -0
- package/server/utils/agents/aibitat/plugins/websocket.js +361 -0
- package/server/utils/agents/aibitat/providers/ai-provider.js +706 -0
- package/server/utils/agents/aibitat/providers/anthropic.js +490 -0
- package/server/utils/agents/aibitat/providers/apipie.js +99 -0
- package/server/utils/agents/aibitat/providers/azure.js +122 -0
- package/server/utils/agents/aibitat/providers/bedrock.js +456 -0
- package/server/utils/agents/aibitat/providers/cerebras.js +208 -0
- package/server/utils/agents/aibitat/providers/cohere.js +269 -0
- package/server/utils/agents/aibitat/providers/cometapi.js +104 -0
- package/server/utils/agents/aibitat/providers/deepseek.js +223 -0
- package/server/utils/agents/aibitat/providers/dellProAiStudio.js +106 -0
- package/server/utils/agents/aibitat/providers/dockerModelRunner.js +189 -0
- package/server/utils/agents/aibitat/providers/fireworksai.js +101 -0
- package/server/utils/agents/aibitat/providers/foundry.js +112 -0
- package/server/utils/agents/aibitat/providers/gemini.js +450 -0
- package/server/utils/agents/aibitat/providers/genericOpenAi.js +206 -0
- package/server/utils/agents/aibitat/providers/giteeai.js +94 -0
- package/server/utils/agents/aibitat/providers/groq.js +184 -0
- package/server/utils/agents/aibitat/providers/helpers/classes.js +16 -0
- package/server/utils/agents/aibitat/providers/helpers/tooled.js +384 -0
- package/server/utils/agents/aibitat/providers/helpers/untooled.js +437 -0
- package/server/utils/agents/aibitat/providers/index.js +77 -0
- package/server/utils/agents/aibitat/providers/koboldcpp.js +103 -0
- package/server/utils/agents/aibitat/providers/lemonade.js +213 -0
- package/server/utils/agents/aibitat/providers/litellm.js +186 -0
- package/server/utils/agents/aibitat/providers/lmstudio.js +195 -0
- package/server/utils/agents/aibitat/providers/localai.js +190 -0
- package/server/utils/agents/aibitat/providers/minimax.js +194 -0
- package/server/utils/agents/aibitat/providers/mistral.js +103 -0
- package/server/utils/agents/aibitat/providers/moonshotAi.js +97 -0
- package/server/utils/agents/aibitat/providers/novita.js +188 -0
- package/server/utils/agents/aibitat/providers/nvidiaNim.js +101 -0
- package/server/utils/agents/aibitat/providers/ollama.js +606 -0
- package/server/utils/agents/aibitat/providers/openai.js +345 -0
- package/server/utils/agents/aibitat/providers/openrouter.js +195 -0
- package/server/utils/agents/aibitat/providers/perplexity.js +99 -0
- package/server/utils/agents/aibitat/providers/ppio.js +104 -0
- package/server/utils/agents/aibitat/providers/privatemode.js +107 -0
- package/server/utils/agents/aibitat/providers/sambanova.js +94 -0
- package/server/utils/agents/aibitat/providers/textgenwebui.js +99 -0
- package/server/utils/agents/aibitat/providers/togetherai.js +100 -0
- package/server/utils/agents/aibitat/providers/xai.js +99 -0
- package/server/utils/agents/aibitat/providers/zai.js +97 -0
- package/server/utils/agents/aibitat/utils/dedupe.js +152 -0
- package/server/utils/agents/aibitat/utils/summarize.js +63 -0
- package/server/utils/agents/aibitat/utils/toolReranker.js +225 -0
- package/server/utils/agents/defaults.js +196 -0
- package/server/utils/agents/ephemeral.js +790 -0
- package/server/utils/agents/imported-manifest.schema.json +158 -0
- package/server/utils/agents/imported.js +317 -0
- package/server/utils/agents/index.js +883 -0
- package/server/utils/boot/MetaGenerator.js +376 -0
- package/server/utils/boot/eagerLoadContextWindows.js +40 -0
- package/server/utils/boot/index.js +90 -0
- package/server/utils/boot/markOnboarded.js +52 -0
- package/server/utils/chats/agents.js +111 -0
- package/server/utils/chats/apiChatHandler.js +864 -0
- package/server/utils/chats/commands/reset.js +37 -0
- package/server/utils/chats/embed.js +301 -0
- package/server/utils/chats/index.js +128 -0
- package/server/utils/chats/openaiCompatible.js +537 -0
- package/server/utils/chats/stream.js +376 -0
- package/server/utils/collectorApi/index.js +319 -0
- package/server/utils/comKey/index.js +86 -0
- package/server/utils/database/index.js +83 -0
- package/server/utils/files/index.js +519 -0
- package/server/utils/files/logo.js +117 -0
- package/server/utils/files/multer.js +178 -0
- package/server/utils/files/pfp.js +63 -0
- package/server/utils/files/purgeDocument.js +91 -0
- package/server/utils/helpers/admin/index.js +56 -0
- package/server/utils/helpers/agents.js +35 -0
- package/server/utils/helpers/camelcase.js +143 -0
- package/server/utils/helpers/chat/LLMPerformanceMonitor.js +113 -0
- package/server/utils/helpers/chat/convertTo.js +256 -0
- package/server/utils/helpers/chat/index.js +448 -0
- package/server/utils/helpers/chat/responses.js +383 -0
- package/server/utils/helpers/customModels.js +1142 -0
- package/server/utils/helpers/index.js +716 -0
- package/server/utils/helpers/portAvailabilityChecker.js +46 -0
- package/server/utils/helpers/search.js +94 -0
- package/server/utils/helpers/shell.js +25 -0
- package/server/utils/helpers/tiktoken.js +107 -0
- package/server/utils/helpers/updateENV.js +1399 -0
- package/server/utils/http/index.js +141 -0
- package/server/utils/logger/index.js +66 -0
- package/server/utils/memories/index.js +139 -0
- package/server/utils/middleware/chatHistoryViewable.js +18 -0
- package/server/utils/middleware/communityHubDownloadsEnabled.js +77 -0
- package/server/utils/middleware/embedMiddleware.js +178 -0
- package/server/utils/middleware/featureFlagEnabled.js +24 -0
- package/server/utils/middleware/isSupportedRepoProviders.js +12 -0
- package/server/utils/middleware/multiUserProtected.js +107 -0
- package/server/utils/middleware/requireFeature.js +46 -0
- package/server/utils/middleware/simpleSSOEnabled.js +84 -0
- package/server/utils/middleware/validApiKey.js +29 -0
- package/server/utils/middleware/validBrowserExtensionApiKey.js +51 -0
- package/server/utils/middleware/validWorkspace.js +52 -0
- package/server/utils/middleware/validatedRequest.js +111 -0
- package/server/utils/middleware/workspaceDeletionProtection.js +18 -0
- package/server/utils/prisma/PRISMA.md +47 -0
- package/server/utils/prisma/index.js +13 -0
- package/server/utils/router/index.js +653 -0
- package/server/utils/telegramBot/chat/agent.js +425 -0
- package/server/utils/telegramBot/chat/stream.js +471 -0
- package/server/utils/telegramBot/constants.js +23 -0
- package/server/utils/telegramBot/index.js +844 -0
- package/server/utils/telegramBot/utils/commands/handlers/handleAbort.js +15 -0
- package/server/utils/telegramBot/utils/commands/handlers/handleHelp.js +15 -0
- package/server/utils/telegramBot/utils/commands/handlers/handleHistory.js +80 -0
- package/server/utils/telegramBot/utils/commands/handlers/handleNewThread.js +35 -0
- package/server/utils/telegramBot/utils/commands/handlers/handleProof.js +202 -0
- package/server/utils/telegramBot/utils/commands/handlers/handleReset.js +32 -0
- package/server/utils/telegramBot/utils/commands/handlers/handleStart.js +19 -0
- package/server/utils/telegramBot/utils/commands/handlers/handleStatus.js +80 -0
- package/server/utils/telegramBot/utils/commands/handlers/showModelMenu.js +98 -0
- package/server/utils/telegramBot/utils/commands/handlers/showThreadMenu.js +120 -0
- package/server/utils/telegramBot/utils/commands/handlers/showWorkspaceMenu.js +84 -0
- package/server/utils/telegramBot/utils/commands/index.js +125 -0
- package/server/utils/telegramBot/utils/format.js +225 -0
- package/server/utils/telegramBot/utils/index.js +203 -0
- package/server/utils/telegramBot/utils/media.js +163 -0
- package/server/utils/telegramBot/utils/messageQueue.js +53 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleBackSources.js +16 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleBackWorkspaces.js +18 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleModelCancel.js +14 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleModelPagination.js +24 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleModelSelect.js +52 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleSourcePagination.js +24 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleSourceSelect.js +106 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleThreadPagination.js +26 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleThreadSelect.js +43 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleToolApproval.js +104 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleWorkspaceCreate.js +33 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleWorkspacePagination.js +26 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/handleWorkspaceSelect.js +24 -0
- package/server/utils/telegramBot/utils/navigation/callbacks/index.js +59 -0
- package/server/utils/telegramBot/utils/navigation/index.js +36 -0
- package/server/utils/telegramBot/utils/verification.js +171 -0
- package/server/utils/vectorDbProviders/astra/ASTRA_SETUP.md +22 -0
- package/server/utils/vectorDbProviders/astra/index.js +474 -0
- package/server/utils/vectorDbProviders/base.js +202 -0
- package/server/utils/vectorDbProviders/chroma/index.js +484 -0
- package/server/utils/vectorDbProviders/chromacloud/index.js +158 -0
- package/server/utils/vectorDbProviders/lance/index.js +506 -0
- package/server/utils/vectorDbProviders/milvus/MILVUS_SETUP.md +40 -0
- package/server/utils/vectorDbProviders/milvus/index.js +434 -0
- package/server/utils/vectorDbProviders/pgvector/SETUP.md +125 -0
- package/server/utils/vectorDbProviders/pgvector/index.js +850 -0
- package/server/utils/vectorDbProviders/pinecone/PINECONE_SETUP.md +24 -0
- package/server/utils/vectorDbProviders/pinecone/index.js +317 -0
- package/server/utils/vectorDbProviders/qdrant/QDRANT_SETUP.md +17 -0
- package/server/utils/vectorDbProviders/qdrant/index.js +442 -0
- package/server/utils/vectorDbProviders/weaviate/WEAVIATE_SETUP.md +17 -0
- package/server/utils/vectorDbProviders/weaviate/index.js +510 -0
- package/server/utils/vectorDbProviders/zilliz/index.js +36 -0
- package/server/utils/vectorStore/resetAllVectorStores.js +59 -0
- package/server/yarn.lock +10702 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R as N,r as l,g as ge,u as w,j as e,h as te,k as $,I as ye,W as L,c as C,l as G,p as M,C as U,A as _,m as q,D as je,S as T,n as ve,o as we,q as V,t as F,v as R,w as Ne,x as se,y as re,M as Q,z as ne,B as ae,E as Se,G as le,H as ie,J as K,K as oe,N as Ce,O as Me,a as ce,d as ke,e as de,f as Ee,i as X,Q as Le,T as Fe,U as Ae}from"../index.js";import{a as De}from"./index-7b0ea06b.js";import{w as Pe}from"./ChatText-35275002.js";import{D as Re}from"./Database-f1a76329.js";import{c as I,w as $e}from"./types-e90e1137.js";import{H as ze}from"./main-8ad4162f.js";import{h as We}from"./moment-3ad2e1a6.js";import{t as Oe}from"./truncate-352eb33b.js";import{P as Te}from"./index-5c320a5d.js";import{T as Ue}from"./Trans-36b04c7b.js";import{A as W}from"./admin-04b020fe.js";import{w as Ve}from"./Gauge-e6762f4d.js";import"./XCircle-edfe554c.js";import"./File-b92df2f3.js";import"./Eye-9f033dc0.js";import"./index-4fb4d421.js";import"./react-beautiful-dnd.esm-86e87aba.js";import"./communityHub-aba61686.js";import"./Brain-24e386d5.js";import"./Browser-1820fad0.js";const Ie=new Map([["bold",N.createElement(N.Fragment,null,N.createElement("path",{d:"M234.38,210a123.36,123.36,0,0,0-60.78-53.23,76,76,0,1,0-91.2,0A123.36,123.36,0,0,0,21.62,210a12,12,0,1,0,20.77,12c18.12-31.32,50.12-50,85.61-50s67.49,18.69,85.61,50a12,12,0,0,0,20.77-12ZM76,96a52,52,0,1,1,52,52A52.06,52.06,0,0,1,76,96Z"}))],["duotone",N.createElement(N.Fragment,null,N.createElement("path",{d:"M192,96a64,64,0,1,1-64-64A64,64,0,0,1,192,96Z",opacity:"0.2"}),N.createElement("path",{d:"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z"}))],["fill",N.createElement(N.Fragment,null,N.createElement("path",{d:"M230.93,220a8,8,0,0,1-6.93,4H32a8,8,0,0,1-6.92-12c15.23-26.33,38.7-45.21,66.09-54.16a72,72,0,1,1,73.66,0c27.39,8.95,50.86,27.83,66.09,54.16A8,8,0,0,1,230.93,220Z"}))],["light",N.createElement(N.Fragment,null,N.createElement("path",{d:"M229.19,213c-15.81-27.32-40.63-46.49-69.47-54.62a70,70,0,1,0-63.44,0C67.44,166.5,42.62,185.67,26.81,213a6,6,0,1,0,10.38,6C56.4,185.81,90.34,166,128,166s71.6,19.81,90.81,53a6,6,0,1,0,10.38-6ZM70,96a58,58,0,1,1,58,58A58.07,58.07,0,0,1,70,96Z"}))],["regular",N.createElement(N.Fragment,null,N.createElement("path",{d:"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z"}))],["thin",N.createElement(N.Fragment,null,N.createElement("path",{d:"M227.46,214c-16.52-28.56-43-48.06-73.68-55.09a68,68,0,1,0-51.56,0c-30.64,7-57.16,26.53-73.68,55.09a4,4,0,0,0,6.92,4C55,184.19,89.62,164,128,164s73,20.19,92.54,54a4,4,0,0,0,3.46,2,3.93,3.93,0,0,0,2-.54A4,4,0,0,0,227.46,214ZM68,96a60,60,0,1,1,60,60A60.07,60.07,0,0,1,68,96Z"}))]]);var _e=Object.defineProperty,qe=Object.defineProperties,He=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,Be=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,J=(s,t,r)=>t in s?_e(s,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[t]=r,Ge=(s,t)=>{for(var r in t||(t={}))Be.call(t,r)&&J(s,r,t[r]);if(Y)for(var r of Y(t))Ze.call(t,r)&&J(s,r,t[r]);return s},Qe=(s,t)=>qe(s,He(t));const ue=l.forwardRef((s,t)=>N.createElement(ge,Qe(Ge({ref:t},s),{weights:Ie})));ue.displayName="User";function Ke({workspace:s,setHasChanges:t}){const{t:r}=w();return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:r("common.workspaces-name")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:r("general.names.description")})]}),e.jsx("input",{name:"name",type:"text",minLength:2,maxLength:80,defaultValue:s==null?void 0:s.name,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"My Workspace",required:!0,autoComplete:"off",onChange:()=>t(!0)})]})}function Xe({slug:s}){const[t,r]=l.useState([]),[n,i]=l.useState(-1),[a,d]=l.useState({heading:"",message:""}),[o,c]=l.useState(!1),[m,p]=l.useState(!0),{t:g}=w();l.useEffect(()=>{async function y(){if(!s)return;const v=await L.getSuggestedMessages(s);r(v),p(!1)}y()},[s]);const b=async()=>{const y=t.filter(E=>{var D,P;return((P=(D=E==null?void 0:E.message)==null?void 0:D.trim())==null?void 0:P.length)>0}),{success:v,error:S}=await L.setSuggestedMessages(s,y);if(!v){C(`Failed to update suggested chat messages: ${S}`,"error");return}r(y),i(-1),c(!1)},x=()=>{if(i(-1),t.length>=4){C("Maximum of 4 messages allowed.","warning");return}const y={heading:"",message:`${g("general.message.heading")} ${g("general.message.body")}`};d(y),r([...t,{...y}]),c(!0)},h=y=>{const v=[...t];v.splice(y,1),r(v),c(!0)},f=(y,v)=>{y.preventDefault(),i(v);const S=t[v];if(S.heading){const E={heading:"",message:`${S.heading} ${S.message}`};d(E),r(t.map((D,P)=>P===v?E:D))}else d({...S})},u=y=>{h(y),i(-1)},k=y=>{const v={...a,[y.target.name]:y.target.value};d(v);const S=t.map((E,D)=>D===n?{...E,[y.target.name]:y.target.value}:E);r(S),c(!0)};return m?e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{className:"block input-label",children:g("general.message.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:g("general.message.description")}),e.jsx("div",{className:"text-white text-opacity-60 text-sm font-medium mt-6",children:e.jsx(te,{size:"4"})})]}):e.jsxs("div",{className:"w-full mt-6",children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{className:"block input-label",children:g("general.message.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:g("general.message.description")})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 text-white/60 text-xs mt-2 w-full justify-center max-w-[600px]",children:t.map((y,v)=>e.jsxs("div",{className:"relative w-full",children:[e.jsx("button",{className:"transition-all duration-300 absolute z-10 text-neutral-700 bg-white rounded-full hover:bg-zinc-600 hover:border-zinc-600 hover:text-white border-transparent border shadow-lg ml-2",style:{top:-8,left:265},onClick:()=>u(v),children:e.jsx($,{className:"m-[1px]",size:20})}),e.jsx("button",{onClick:S=>f(S,v),className:`text-left p-2.5 border rounded-xl w-full border-white/20 bg-theme-settings-input-bg hover:bg-theme-sidebar-item-selected-gradient ${n===v?"border-sky-400":""}`,children:e.jsxs("p",{className:"line-clamp-2 text-theme-text-primary",children:[y!=null&&y.heading?`${y.heading} `:"",(y==null?void 0:y.message)??""]})},v)]},v))}),n>=0&&e.jsx("div",{className:"flex flex-col gap-y-4 mr-2 mt-8",children:e.jsxs("div",{className:"w-1/2",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-2",children:"Message"}),e.jsx("input",{placeholder:"Message",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-white/20 text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block p-2.5 w-full",value:a.message,name:"message",onChange:k})]})}),t.length<4&&e.jsxs("button",{type:"button",onClick:x,className:"flex gap-x-2 items-center justify-center mt-6 text-white text-sm hover:text-sky-400 transition-all duration-300",children:[g("general.message.add")," ",e.jsx(ye,{className:"",size:24,weight:"fill"})]}),o&&e.jsx("div",{className:"flex justify-start py-6",children:e.jsx("button",{type:"button",className:"transition-all duration-300 border border-slate-200 px-4 py-2 rounded-lg text-white text-sm items-center flex gap-x-2 hover:bg-slate-200 hover:text-slate-800 focus:ring-gray-800",onClick:b,children:g("general.message.save")})})]})}function Ye({workspace:s,visible:t=!0}){const{slug:r}=G(),[n,i]=l.useState(!1),{t:a}=w(),d=async()=>{if(!window.confirm(`${a("general.delete.confirm-start")} ${s.name} ${a("general.delete.confirm-end")}`))return!1;if(i(!0),!await L.delete(s.slug)){C("Workspace could not be deleted!","error",{clear:!0}),i(!1);return}s.slug===r?window.location=M.home():window.location.reload()};return t?e.jsxs("div",{className:"flex flex-col mt-10",children:[e.jsx("label",{className:"block input-label",children:a("general.delete.title")}),e.jsx("p",{className:"text-theme-text-secondary text-xs font-medium py-1.5",children:a("general.delete.description")}),e.jsx("button",{disabled:n,onClick:d,type:"button",className:"w-60 mt-4 transition-all duration-300 border border-transparent rounded-lg whitespace-nowrap text-sm px-5 py-2.5 focus:z-10 bg-red-500/25 text-red-200 light:text-red-500 hover:light:text-[#FFFFFF] hover:text-[#FFFFFF] hover:bg-red-600 disabled:bg-red-600 disabled:text-red-200 disabled:animate-pulse",children:a(n?"general.delete.deleting":"general.delete.delete")})]}):null}function Je({slug:s,deletionProtected:t=!1}){const[r,n]=l.useState(null),[i,a]=l.useState(!1),[d,o]=l.useState(!1),[c,m]=l.useState(!0),p=l.useRef(null);l.useEffect(()=>{async function b(){const x=await L.bySlug(s);n(x),m(!1)}b()},[s]);const g=async b=>{o(!0),b.preventDefault();const x={},h=new FormData(p.current);for(var[f,u]of h.entries())x[f]=I(f,u);const{workspace:k,message:y}=await L.update(r.slug,x);k?C("Workspace updated!","success",{clear:!0}):C(`Error: ${y}`,"error",{clear:!0}),o(!1),a(!1)};return!r||c?null:e.jsxs("div",{className:"w-full relative",children:[e.jsxs("form",{ref:p,onSubmit:g,className:"w-1/2 flex flex-col gap-y-6",children:[i&&e.jsx("div",{className:"absolute top-0 right-0",children:e.jsx(U,{type:"submit",children:d?"Updating...":"Update Workspace"})}),e.jsx(Ke,{workspace:r,setHasChanges:a},r.slug)]}),e.jsx(Xe,{slug:r.slug}),e.jsx(Ye,{workspace:r,visible:!t})]})}function et({workspace:s,setHasChanges:t}){const{t:r}=w();return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col gap-y-1 mb-4",children:[e.jsx("label",{htmlFor:"name",className:"block mb-2 input-label",children:r("chat.history.title")}),e.jsxs("p",{className:"text-white text-opacity-60 text-xs font-medium",children:[r("chat.history.desc-start"),e.jsxs("i",{children:[" ",r("chat.history.recommend")," "]}),r("chat.history.desc-end")]})]}),e.jsx("input",{name:"openAiHistory",type:"number",min:1,max:45,step:1,onWheel:n=>n.target.blur(),defaultValue:(s==null?void 0:s.openAiHistory)??20,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"20",required:!0,autoComplete:"off",onChange:()=>t(!0)})]})}const Z={forWorkspace:async function(s){try{return await fetch(`${_}/workspace/${s}/prompt-history`,{method:"GET",headers:q()}).then(t=>t.json()).then(t=>t.history||[]).catch(t=>(console.error("Error fetching prompt history:",t),[]))}catch(t){return console.error("Error fetching prompt history:",t),[]}},clearAll:async function(s){try{return await fetch(`${_}/workspace/${s}/prompt-history`,{method:"DELETE",headers:q()}).then(t=>t.json()).catch(t=>(console.error("Error clearing prompt history:",t),{success:!1,error:t}))}catch(t){return console.error("Error clearing prompt history:",t),{success:!1,error:t}}},delete:async function(s){try{return await fetch(`${_}/workspace/prompt-history/${s}`,{method:"DELETE",headers:q()}).then(t=>t.json()).catch(t=>(console.error("Error deleting prompt history:",t),{success:!1,error:t}))}catch(t){return console.error("Error deleting prompt history:",t),{success:!1,error:t}}}},ee=200;function tt({id:s,prompt:t,modifiedAt:r,user:n,onRestore:i,setHistory:a,onPublishClick:d}){const{t:o}=w(),[c,m]=l.useState(!1),p=l.useRef(null),g=l.useRef(null),[b,x]=l.useState(!1),h=async f=>{if(window.confirm(o("chat.prompt.history.deleteConfirm"))){const{success:u}=await Z.delete(f);u&&a(k=>k.filter(y=>y.id!==f))}};return l.useEffect(()=>{const f=u=>{c&&!p.current.contains(u.target)&&!g.current.contains(u.target)&&m(!1)};return document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f)}},[c]),e.jsxs("div",{className:"text-white",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"text-xs",children:[n&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-primary-button",children:n.username})," ",e.jsx("span",{className:"mx-1 text-white",children:"•"})]}),e.jsx("span",{className:"text-white opacity-50 light:opacity-100",children:We(r).fromNow()})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",className:"border-none text-sm cursor-pointer text-theme-text-primary hover:text-primary-button",onClick:i,children:o("chat.prompt.history.restore")}),e.jsxs("div",{className:"relative",children:[e.jsx("button",{type:"button",ref:g,className:"border-none text-theme-text-secondary cursor-pointer hover:text-primary-button flex items-center justify-center",onClick:()=>m(!c),children:e.jsx(je,{size:16,weight:"bold"})}),c&&e.jsxs("div",{ref:p,className:"absolute right-0 top-6 bg-theme-bg-popup-menu rounded-lg z-50 min-w-[200px]",children:[e.jsx("button",{type:"button",className:"px-[10px] py-[6px] text-sm text-white hover:bg-theme-sidebar-item-hover rounded-t-lg cursor-pointer border-none w-full text-left whitespace-nowrap",onClick:()=>{m(!1),d(t)},children:o("chat.prompt.history.publish")}),e.jsx("button",{type:"button",className:"px-[10px] py-[6px] text-sm text-white hover:bg-red-500/60 light:hover:bg-red-300/80 rounded-b-lg cursor-pointer border-none w-full text-left whitespace-nowrap",onClick:()=>{m(!1),h(s)},children:o("chat.prompt.history.delete")})]})]})]})]}),e.jsx("div",{className:"flex items-center mt-1",children:e.jsx("div",{className:"text-theme-text-primary text-sm font-medium break-all whitespace-pre-wrap",children:t.length>ee&&!b?e.jsxs(e.Fragment,{children:[Oe(t,ee)," ",e.jsx("button",{type:"button",className:"text-theme-text-secondary hover:text-primary-button border-none",onClick:()=>x(!b),children:o("chat.prompt.history.expand")})]}):t})})]})}const st=l.forwardRef(function({show:t,workspaceSlug:r,onRestore:n,onClose:i,onPublishClick:a},d){const{t:o}=w(),[c,m]=l.useState([]),[p,g]=l.useState(!0);function b(){r&&(g(!0),Z.forWorkspace(r).then(h=>{m(h)}).catch(h=>{console.error(h)}).finally(()=>{g(!1)}))}function x(){r&&window.confirm(o("chat.prompt.history.clearAllConfirm"))&&Z.clearAll(r).then(({success:h})=>{h&&m([])}).catch(h=>{console.error(h)})}return l.useEffect(()=>{t&&r&&b()},[t,r]),e.jsxs("div",{ref:d,className:`fixed right-3 top-3 bottom-3 w-[375px] bg-theme-action-menu-bg light:bg-theme-home-update-card-bg rounded-xl py-4 px-4 z-[9999] overflow-y-hidden ${t?"translate-x-0 opacity-100 visible":"translate-x-full opacity-0 invisible"} transition-all duration-300`,children:[e.jsxs("div",{className:"sticky flex items-center justify-between",children:[e.jsx("div",{className:"text-theme-text-primary text-sm font-semibold",children:o("chat.prompt.history.title")}),e.jsxs("div",{className:"flex items-center gap-2",children:[c.length>0&&e.jsx("button",{type:"button",className:"text-sm font-medium text-theme-text-secondary cursor-pointer hover:text-primary-button border-none",onClick:x,children:o("chat.prompt.history.clearAll")}),e.jsx("button",{type:"button",className:"text-theme-text-secondary cursor-pointer hover:text-primary-button border-none",onClick:i,children:e.jsx($,{size:16,weight:"bold"})})]})]}),e.jsx("div",{className:"mt-4 flex flex-col gap-y-[14px] h-full overflow-y-scroll pb-[50px]",children:p?e.jsx(rt,{}):c.length===0?e.jsx("div",{className:"flex text-theme-text-secondary text-sm text-center w-full h-full flex items-center justify-center",children:o("chat.prompt.history.noHistory")}):c.map(h=>e.jsx(tt,{id:h.id,...h,onRestore:()=>n(h.prompt),onPublishClick:a,setHistory:m},h.id))})]})});function rt(){const s="var(--theme-bg-primary)",t="var(--theme-bg-secondary)";return e.jsx(T,{height:"85px",width:"100%",highlightColor:s,baseColor:t,count:8})}function nt({workspace:s,setHasChanges:t,hasChanges:r}){const{t:n}=w(),[i]=ve(),a=we(s),[d,o]=l.useState(a),[c,m]=l.useState(a),[p,g]=l.useState(""),[b,x]=l.useState(!1),[h,f]=l.useState(!1),[u,k]=l.useState([]),y=l.useRef(null),v=l.useRef(null),S=l.useRef(null),{isOpen:E,closeModal:D,openModal:P}=V(),me=d!==c,he=(c==null?void 0:c.trim())!==(a==null?void 0:a.trim()),xe=!b&&(d==null?void 0:d.trim().length)>=10&&(me||he);l.useEffect(()=>{async function j(){const{variables:A}=await Ne.getAll();k(A)}j(),i.get("action")==="focus-system-prompt"&&x(!0)},[i]),l.useEffect(()=>{r||m(d)},[r,d]),l.useEffect(()=>{b&&y.current&&y.current.focus()},[b]),l.useEffect(()=>{F.fetchDefaultSystemPrompt().then(({defaultSystemPrompt:j})=>g(j))},[]),l.useEffect(()=>{const j=A=>{v.current&&!v.current.contains(A.target)&&S.current&&!S.current.contains(A.target)&&f(!1)};return document.addEventListener("mousedown",j),()=>document.removeEventListener("mousedown",j)},[]);const pe=j=>{o(j),f(!1),t(!0)},fe=j=>{P(),f(!1),setTimeout(()=>o(j),0)},be=()=>{F.fetchDefaultSystemPrompt().then(({defaultSystemPrompt:j})=>{o(j),t(!0)})};return e.jsxs(e.Fragment,{children:[e.jsx(st,{ref:v,workspaceSlug:s.slug,show:h,onRestore:pe,onPublishClick:fe,onClose:()=>f(!1)}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsx("label",{htmlFor:"name",className:"block input-label",children:n("chat.prompt.title")})}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:n("chat.prompt.description")}),e.jsxs("p",{className:"text-white text-opacity-60 text-xs font-medium mb-2",children:["You can insert"," ",e.jsx(R,{to:M.settings.systemPromptVariables(),className:"text-primary-button",children:"prompt variables"})," ","like:"," ",u.slice(0,3).map((j,A)=>e.jsxs(l.Fragment,{children:[e.jsx("span",{className:"bg-theme-settings-input-bg px-1 py-0.5 rounded",children:`{${j.key}}`}),A<u.length-1&&", "]},j.key)),u.length>3&&e.jsxs(R,{to:M.settings.systemPromptVariables(),className:"text-primary-button",children:["+",u.length-3," more..."]})]})]}),e.jsx("input",{type:"hidden",name:"openAiPrompt",value:d}),e.jsxs("div",{className:"relative w-full flex flex-col items-end",children:[e.jsx("button",{ref:S,type:"button",className:"text-theme-text-secondary hover:text-white light:hover:text-black text-xs font-medium",onClick:j=>{j.preventDefault(),f(!h)},children:h?"Hide History":"View History"}),e.jsx("div",{className:"relative w-full",children:b?e.jsx("textarea",{ref:y,autoFocus:!0,rows:5,onFocus:j=>{const A=j.target.value.length;j.target.setSelectionRange(A,A)},onBlur:j=>{x(!1),o(j.target.value)},onChange:j=>{o(j.target.value),t(!0)},onPaste:j=>{o(j.target.value),t(!0)},style:{resize:"vertical",overflowY:"scroll",minHeight:"150px"},defaultValue:d,className:"border-none bg-theme-settings-input-bg text-white text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5 mt-2"}):e.jsx("div",{onClick:()=>x(!0),style:{resize:"vertical",overflowY:"scroll",minHeight:"150px"},className:"border-none bg-theme-settings-input-bg text-white text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5 mt-2",children:e.jsx(ze,{className:"whitespace-pre-wrap",highlightClassName:"bg-cta-button p-0.5 rounded-md",searchWords:u.map(j=>`{${j.key}}`),autoEscape:!0,caseSensitive:!0,textToHighlight:d})})}),e.jsxs("div",{className:"w-full flex flex-row items-center justify-between pt-2",children:[d!==p&&e.jsx("button",{type:"button",onClick:be,className:"text-theme-text-primary hover:text-white light:hover:text-black text-xs font-medium",children:"Restore to Default"}),e.jsx(at,{hidden:!xe,onClick:P})]})]})]}),e.jsx(Te,{show:E,onClose:D,entityType:"system-prompt",entity:d})]})}function at({hidden:s=!1,onClick:t}){return s?null:e.jsx("button",{type:"button",onClick:t,className:"border-none text-primary-button hover:text-white light:hover:text-black text-xs font-medium",children:"Publish to Community Hub"})}function lt(s=null){switch(s){case"mistral":return{temp:0};default:return{temp:.7}}}function it({settings:s,workspace:t,setHasChanges:r}){const n=lt(s==null?void 0:s.LLMProvider),{t:i}=w();return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:i("chat.temperature.title")}),e.jsxs("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:[i("chat.temperature.desc-start"),e.jsx("br",{}),i("chat.temperature.desc-end"),e.jsx("br",{}),e.jsx("br",{}),e.jsx("i",{children:i("chat.temperature.hint")})]})]}),e.jsx("input",{name:"openAiTemp",type:"number",min:0,step:.1,onWheel:a=>a.target.blur(),defaultValue:(t==null?void 0:t.openAiTemp)??n.temp,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"0.7",required:!0,autoComplete:"off",onChange:()=>r(!0)})]})}function ot({workspace:s,setHasChanges:t}){const{t:r}=w(),[n,i]=l.useState((s==null?void 0:s.chatMode)||"chat");return e.jsxs("div",{children:[e.jsx("div",{className:"flex flex-col",children:e.jsx("label",{htmlFor:"chatMode",className:"block input-label",children:r("chat.mode.title")})}),e.jsxs("div",{className:"flex flex-col gap-y-1 mt-2",children:[e.jsxs("div",{className:"w-fit flex gap-x-1 items-center p-1 rounded-lg bg-theme-settings-input-bg ",children:[e.jsx("input",{type:"hidden",name:"chatMode",value:n}),e.jsx("button",{type:"button",disabled:n==="automatic",onClick:()=>{i("automatic"),t(!0)},className:"border-none transition-bg duration-200 px-6 py-1 text-md text-white/60 disabled:text-white bg-transparent disabled:bg-[#687280] rounded-md hover:bg-white/10",children:r("chat.mode.automatic.title")}),e.jsx("button",{type:"button",disabled:n==="chat",onClick:()=>{i("chat"),t(!0)},className:"border-none transition-bg duration-200 px-6 py-1 text-md text-white/60 disabled:text-white bg-transparent disabled:bg-[#687280] rounded-md hover:bg-white/10 light:hover:bg-black/10",children:r("chat.mode.chat.title")}),e.jsx("button",{type:"button",disabled:n==="query",onClick:()=>{i("query"),t(!0)},className:"border-none transition-bg duration-200 px-6 py-1 text-md text-white/60 disabled:text-white bg-transparent disabled:bg-[#687280] rounded-md hover:bg-white/10 light:hover:bg-black/10",children:r("chat.mode.query.title")})]}),e.jsx(ct,{chatMode:n})]})]})}function ct({chatMode:s="chat"}){const{t}=w();return e.jsxs("p",{className:"text-sm text-white/60",children:[e.jsx("b",{children:t(`chat.mode.${s}.title`)})," ",e.jsx(Ue,{i18nKey:`chat.mode.${s}.description`,components:{b:e.jsx("b",{}),br:e.jsx("br",{})}})]})}const dt=["default"];function ut({llm:s,availableLLMs:t,settings:r,checked:n,onClick:i}){const{isOpen:a,openModal:d,closeModal:o}=V(),{name:c,value:m,logo:p,description:g}=s,[b,x]=l.useState(r);l.useEffect(()=>{async function f(){if(a){const u=await F.keys();x(u??{})}}f()},[a]);function h(){if(!n){if((s.requiredConfig||[]).some(u=>!b[u])){d();return}i(m)}}return e.jsxs(e.Fragment,{children:[e.jsxs("div",{onClick:h,className:`w-full p-2 rounded-md hover:cursor-pointer hover:bg-theme-bg-secondary ${n?"bg-theme-bg-secondary":""}`,children:[e.jsx("input",{type:"checkbox",value:m,className:"peer hidden",checked:n,readOnly:!0,formNoValidate:!0}),e.jsxs("div",{className:"flex gap-x-4 items-center justify-between",children:[e.jsxs("div",{className:"flex gap-x-4 items-center",children:[e.jsx("img",{src:p,alt:`${c} logo`,className:"w-10 h-10 rounded-md"}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:c}),e.jsx("div",{className:"mt-1 text-xs text-white/60",children:g})]})]}),n&&!dt.includes(m)&&e.jsx("button",{onClick:f=>{f.preventDefault(),d()},className:"p-2 text-white/60 hover:text-white hover:bg-theme-bg-hover rounded-md transition-all duration-300",title:"Edit Settings",children:e.jsx(se,{size:20,weight:"bold"})})]})]}),e.jsx(mt,{availableLLMs:t,isOpen:a,provider:m,closeModal:o,postSubmit:i,settings:b})]})}function mt({availableLLMs:s,isOpen:t,provider:r,closeModal:n,postSubmit:i,settings:a}){if(!t)return null;const d=s.find(c=>c.value===r);if(!d)return null;async function o(c){c.preventDefault(),c.stopPropagation();const m={},p=new FormData(c.target);for(var[g,b]of p.entries())m[g]=b;const{error:x}=await F.updateSystem(m);if(x){C(`Failed to save ${d.name} settings: ${x}`,"error");return}return n(),i(),!1}return re.createPortal(e.jsx(Q,{isOpen:t,children:e.jsx("div",{className:"fixed inset-0 z-50 overflow-auto bg-black bg-opacity-50 flex items-center justify-center",children:e.jsxs("div",{className:"relative w-full max-w-2xl bg-theme-bg-secondary rounded-lg shadow border-2 border-theme-modal-border",children:[e.jsxs("div",{className:"relative p-6 border-b rounded-t border-theme-modal-border",children:[e.jsx("div",{className:"w-full flex gap-x-2 items-center",children:e.jsxs("h3",{className:"text-xl font-semibold text-white overflow-hidden overflow-ellipsis whitespace-nowrap",children:[d.name," Settings"]})}),e.jsx("button",{onClick:n,type:"button",className:"absolute top-4 right-4 transition-all duration-300 bg-transparent rounded-lg text-sm p-1 inline-flex items-center hover:bg-theme-modal-border hover:border-theme-modal-border hover:border-opacity-50 border-transparent border",children:e.jsx($,{size:24,weight:"bold",className:"text-white"})})]}),e.jsxs("form",{id:"provider-form",onSubmit:o,children:[e.jsx("div",{className:"px-7 py-6",children:e.jsxs("div",{className:"space-y-6 max-h-[60vh] overflow-y-auto p-1",children:[e.jsxs("p",{className:"text-sm text-white/60",children:["To use ",d.name," as this workspace's LLM you need to set it up first."]}),e.jsx("div",{children:d.options(a,{credentialsOnly:!0})})]})}),e.jsxs("div",{className:"flex justify-between items-center mt-6 pt-6 border-t border-theme-modal-border px-7 pb-6",children:[e.jsx("button",{type:"button",onClick:n,className:"transition-all duration-300 text-white hover:bg-zinc-700 px-4 py-2 rounded-lg text-sm",children:"Cancel"}),e.jsx("button",{type:"submit",form:"provider-form",className:"transition-all duration-300 bg-white text-black hover:opacity-60 px-4 py-2 rounded-lg text-sm",children:"Save settings"})]})]})]})})}),document.getElementById("workspace-chat-settings-container"))}function ht({provider:s,workspace:t,setHasChanges:r}){const{defaultModels:n,customModels:i,loading:a}=ne(s),{t:d}=w();return ae.includes(s)?null:a?e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col mt-6",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:d("chat.model.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:d("chat.model.description")})]}),e.jsx("select",{name:"chatModel",required:!0,disabled:!0,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",children:e.jsx("option",{disabled:!0,selected:!0,children:"-- waiting for models --"})})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col mt-6",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:d("chat.model.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:d("chat.model.description")})]}),e.jsxs("select",{name:"chatModel",required:!0,onChange:()=>{r(!0)},className:"border-none bg-theme-settings-input-bg text-white text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",children:[n.length>0&&e.jsx("optgroup",{label:"General models",children:n.map(o=>e.jsx("option",{value:o,selected:(t==null?void 0:t.chatModel)===o,children:o},o))}),Array.isArray(i)&&i.length>0&&e.jsx("optgroup",{label:"Discovered models",children:i.map(o=>e.jsx("option",{value:o.id,selected:(t==null?void 0:t.chatModel)===o.id,children:o.name||o.id},o.id))}),!Array.isArray(i)&&Object.keys(i).length>0&&e.jsx(e.Fragment,{children:Object.entries(i).map(([o,c])=>e.jsx("optgroup",{label:o,children:c.map(m=>e.jsx("option",{value:m.id,selected:(t==null?void 0:t.chatModel)===m.id,children:m.name||m.id},m.id))},o))})]})]})}function xt({workspace:s,setHasChanges:t}){const{t:r}=w(),[n,i]=l.useState([]),[a,d]=l.useState(!0);return l.useEffect(()=>{async function o(){const c=await Se.getAll();i(c),d(!1)}o()},[]),a?e.jsx("div",{className:"mt-4",children:e.jsx("p",{className:"text-sm text-white text-opacity-60",children:r("model-router.router-selection.loading-routers")})}):n.length===0?e.jsx("div",{className:"mt-4",children:e.jsxs("p",{className:"text-sm text-white text-opacity-60",children:[r("model-router.router-selection.no-routers-prefix-workspace")," ",e.jsx(R,{to:M.settings.modelRouters(),className:"underline text-white",children:r("model-router.router-selection.no-routers-link")}),"."]})}):e.jsxs("div",{className:"mt-4 flex flex-col gap-y-1",children:[e.jsx("label",{className:"block input-label",children:r("model-router.router-selection.model-router-label")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:r("model-router.router-selection.select-description")}),e.jsxs("select",{name:"router_id",defaultValue:(s==null?void 0:s.router_id)||"",onChange:()=>t(!0),className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full max-w-[640px] p-2.5",required:!0,children:[e.jsx("option",{value:"",children:r("model-router.router-selection.select-router")}),n.map(o=>e.jsxs("option",{value:o.id,children:[o.name,o.description?` — ${o.description}`:""]},o.id))]})]})}const pt=["bedrock","azure","generic-openai"],ft=["default","huggingface","anythingllm-router"],bt=[],gt={name:"System default",value:"default",logo:ie,options:()=>e.jsx(N.Fragment,{}),description:"Use the system LLM preference for this workspace.",requiredConfig:[]},O=[gt,...le].filter(s=>!bt.includes(s.value));function yt({settings:s,workspace:t,setHasChanges:r}){const[n,i]=l.useState([]),[a,d]=l.useState((t==null?void 0:t.chatProvider)??"default"),[o,c]=l.useState(""),[m,p]=l.useState(!1),g=l.useRef(null),{t:b}=w();function x(u){c(""),d(u),p(!1),r(!0)}function h(){o.length>0?(c(""),g.current&&(g.current.value="")):p(!m)}l.useEffect(()=>{const u=O.filter(k=>k.name.toLowerCase().includes(o.toLowerCase()));i(u)},[O,o,a]);const f=O.find(u=>u.value===a);return e.jsxs("div",{className:"border-b border-white/40 pb-8",children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:b("chat.llm.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:b("chat.llm.description")})]}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"hidden",name:"chatProvider",value:a}),m&&e.jsx("div",{className:"fixed top-0 left-0 w-full h-full bg-black bg-opacity-70 backdrop-blur-sm z-10",onClick:()=>p(!1)}),m?e.jsx("div",{className:"absolute top-0 left-0 w-full max-w-[640px] max-h-[310px] min-h-[64px] bg-theme-settings-input-bg rounded-lg flex flex-col justify-between cursor-pointer border-2 border-primary-button z-20",children:e.jsxs("div",{className:"w-full flex flex-col gap-y-1",children:[e.jsxs("div",{className:"flex items-center sticky top-0 z-10 border-b border-[#9CA3AF] mx-4 bg-theme-settings-input-bg",children:[e.jsx(K,{size:20,weight:"bold",className:"absolute left-4 z-30 text-theme-text-primary -ml-4 my-2"}),e.jsx("input",{type:"text",name:"llm-search",autoComplete:"off",placeholder:b("chat.llm.search"),className:"border-none -ml-4 my-2 bg-transparent z-20 pl-12 h-[38px] w-full px-4 py-1 text-sm outline-none focus:outline-primary-button active:outline-primary-button outline-none text-theme-text-primary placeholder:text-theme-text-primary placeholder:font-medium",onChange:u=>c(u.target.value),ref:g,onKeyDown:u=>{u.key==="Enter"&&u.preventDefault()}}),e.jsx($,{size:20,weight:"bold",className:"cursor-pointer text-theme-text-primary hover:text-x-button",onClick:h})]}),e.jsx("div",{className:"flex-1 pl-4 pr-2 flex flex-col gap-y-1 overflow-y-auto white-scrollbar pb-4 max-h-[245px]",children:n.map(u=>e.jsx(ut,{llm:u,availableLLMs:O,settings:s,checked:a===u.value,onClick:()=>x(u.value)},u.name))})]})}):e.jsxs("button",{className:"w-full max-w-[640px] h-[64px] bg-theme-settings-input-bg rounded-lg flex items-center p-[14px] justify-between cursor-pointer border-2 border-transparent hover:border-primary-button transition-all duration-300",type:"button",onClick:()=>p(!0),children:[e.jsxs("div",{className:"flex gap-x-4 items-center",children:[e.jsx("img",{src:f.logo,alt:`${f.name} logo`,className:"w-10 h-10 rounded-md"}),e.jsxs("div",{className:"flex flex-col text-left",children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:f.name}),e.jsx("div",{className:"mt-1 text-xs text-description",children:f.description})]})]}),e.jsx(oe,{size:24,weight:"bold",className:"text-white"})]})]}),e.jsx(jt,{selectedLLM:a,workspace:t,setHasChanges:r})]})}function jt({selectedLLM:s,workspace:t,setHasChanges:r}){return s==="anythingllm-router"?e.jsx(xt,{workspace:t,setHasChanges:r}):ft.includes(s)?s!=="default"?e.jsx("div",{className:"w-full h-10 justify-center items-center flex mt-4",children:e.jsxs("p",{className:"text-sm font-base text-white text-opacity-60 text-center",children:["Multi-model support is not supported for this provider yet.",e.jsx("br",{}),"This workspace will use"," ",e.jsx(R,{to:M.settings.llmPreference(),className:"underline",children:"the model set for the system."})]})}):null:pt.includes(s)?e.jsx(vt,{workspace:t,setHasChanges:r}):e.jsx(ht,{provider:s,workspace:t,setHasChanges:r})}function vt({workspace:s,setHasChanges:t}){const{t:r}=w();return e.jsxs("div",{className:"mt-4 flex flex-col gap-y-1",children:[e.jsx("label",{className:"block input-label",children:r("chat.model.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:r("chat.model.description")}),e.jsx("input",{type:"text",name:"chatModel",defaultValue:(s==null?void 0:s.chatModel)||"",onChange:()=>t(!0),className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"Enter model name exactly as referenced in the API (e.g., gpt-3.5-turbo)"})]})}function wt({workspace:s,setHasChanges:t}){const{t:r}=w();return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:r("chat.refusal.title")}),e.jsxs("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:[r("chat.refusal.desc-start")," ",e.jsx("code",{className:"border-none bg-theme-settings-input-bg p-0.5 rounded-sm",children:r("chat.refusal.query")})," ",r("chat.refusal.desc-end")]})]}),e.jsx("textarea",{name:"queryRefusalResponse",rows:2,defaultValue:Ce(s),className:"border-none bg-theme-settings-input-bg placeholder:text-theme-settings-input-placeholder text-white text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5 mt-2",placeholder:"The text returned in query mode when there is no relevant context found for a response.",required:!0,wrap:"soft",autoComplete:"off",onChange:()=>t(!0)})]})}function Nt({workspace:s}){const[t,r]=l.useState({}),[n,i]=l.useState(!1),[a,d]=l.useState(!1),o=l.useRef(null);l.useEffect(()=>{async function m(){const p=await F.keys();r(p??{})}m()},[]);const c=async m=>{m.preventDefault(),d(!0);const p={},g=new FormData(o.current);for(var[b,x]of g.entries())p[b]=I(b,x);const{workspace:h,message:f}=await L.update(s.slug,p);h?(C("Workspace updated!","success",{clear:!0}),i(!1)):C(`Error: ${f}`,"error",{clear:!0}),d(!1)};return s?e.jsx("div",{id:"workspace-chat-settings-container",className:"relative",children:e.jsxs("form",{ref:o,onSubmit:c,id:"chat-settings-form",className:"w-1/2 flex flex-col gap-y-6",children:[n&&e.jsx("div",{className:"absolute top-0 right-0",children:e.jsx(U,{type:"submit",children:a?"Updating...":"Update Workspace"})}),e.jsx(yt,{settings:t,workspace:s,setHasChanges:i}),e.jsx(ot,{workspace:s,setHasChanges:i}),e.jsx(et,{workspace:s,setHasChanges:i}),e.jsx(nt,{workspace:s,setHasChanges:i,hasChanges:n}),e.jsx(wt,{workspace:s,setHasChanges:i}),e.jsx(it,{settings:t,workspace:s,setHasChanges:i})]})}):null}function St({workspace:s}){const{t}=w();return e.jsxs("div",{children:[e.jsx("h3",{className:"input-label",children:t("vector-workspace.identifier")}),e.jsx("p",{className:"text-white/60 text-xs font-medium py-1",children:" "}),e.jsx("p",{className:"text-white/60 text-sm",children:s==null?void 0:s.slug})]})}function Ct({workspace:s,setHasChanges:t}){const{t:r}=w();return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:r("vector-workspace.snippets.title")}),e.jsxs("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:[r("vector-workspace.snippets.description"),e.jsx("br",{}),e.jsx("i",{children:r("vector-workspace.snippets.recommend")})]})]}),e.jsx("input",{name:"topN",type:"number",min:1,max:200,step:1,onWheel:n=>n.target.blur(),defaultValue:(s==null?void 0:s.topN)??4,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5 mt-2",placeholder:"4",required:!0,autoComplete:"off",onChange:()=>t(!0)})]})}function Mt({workspace:s,setHasChanges:t}){const{t:r}=w();return e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:r("vector-workspace.doc.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:r("vector-workspace.doc.description")})]}),e.jsxs("select",{name:"similarityThreshold",defaultValue:(s==null?void 0:s.similarityThreshold)??.25,className:"border-none bg-theme-settings-input-bg text-white text-sm mt-2 rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",onChange:()=>t(!0),required:!0,children:[e.jsx("option",{value:0,children:r("vector-workspace.doc.zero")}),e.jsx("option",{value:.25,children:r("vector-workspace.doc.low")}),e.jsx("option",{value:.5,children:r("vector-workspace.doc.medium")}),e.jsx("option",{value:.75,children:r("vector-workspace.doc.high")})]})]})}function kt({workspace:s}){const[t,r]=l.useState(!1),{t:n}=w(),i=async()=>{if(!window.confirm(`${n("vector-workspace.reset.confirm")}`))return!1;if(r(!0),!await L.wipeVectorDb(s.slug)){C(n("vector-workspace.reset.error"),n("vector-workspace.common.error"),{clear:!0}),r(!1);return}C(n("vector-workspace.reset.success"),n("vector-workspace.common.success"),{clear:!0}),r(!1)};return e.jsx("button",{disabled:t,onClick:i,type:"button",className:"w-60 transition-all duration-300 border border-transparent rounded-lg whitespace-nowrap text-sm px-5 py-2.5 focus:z-10 bg-red-500/25 text-red-200 light:text-red-500 hover:light:text-[#FFFFFF] hover:text-[#FFFFFF] hover:bg-red-600 disabled:bg-red-600 disabled:text-red-200 disabled:animate-pulse",children:n(t?"vector-workspace.reset.resetting":"vector-workspace.reset.reset")})}function Et({reload:s,workspace:t}){const[r,n]=l.useState(null),{t:i}=w();return l.useEffect(()=>{async function a(){const d=await F.totalIndexes(t.slug);n(d)}a()},[t==null?void 0:t.slug,s]),r===null?e.jsxs("div",{children:[e.jsx("h3",{className:"input-label",children:i("general.vector.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1",children:i("general.vector.description")}),e.jsx("div",{className:"text-white text-opacity-60 text-sm font-medium",children:e.jsx(te,{size:"4"})})]}):e.jsxs("div",{children:[e.jsx("h3",{className:"input-label",children:i("general.vector.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-sm font-medium",children:r})]})}const Lt=["lancedb"],Ft={default:{title:"Default",description:"This is the fastest performance, but may not return the most relevant results leading to model hallucinations."},rerank:{title:"Accuracy Optimized",description:"LLM responses may take longer to generate, but your responses will be more accurate and relevant."}};function At({workspace:s,setHasChanges:t}){var i;const[r,n]=l.useState((s==null?void 0:s.vectorSearchMode)??"default");return!(s!=null&&s.vectorDB)||!Lt.includes(s==null?void 0:s.vectorDB)?null:e.jsxs("div",{children:[e.jsx("div",{className:"flex flex-col",children:e.jsx("label",{htmlFor:"name",className:"block input-label",children:"Search Preference"})}),e.jsxs("select",{name:"vectorSearchMode",value:r,className:"border-none bg-theme-settings-input-bg text-white text-sm mt-2 rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",onChange:a=>{n(a.target.value),t(!0)},required:!0,children:[e.jsx("option",{value:"default",children:"Default"}),e.jsx("option",{value:"rerank",children:"Accuracy Optimized"})]}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:(i=Ft[r])==null?void 0:i.description})]})}function Dt({workspace:s}){const[t,r]=l.useState(!1),[n,i]=l.useState(!1),a=l.useRef(null),d=async o=>{i(!0),o.preventDefault();const c={},m=new FormData(a.current);for(var[p,g]of m.entries())c[p]=I(p,g);const{workspace:b,message:x}=await L.update(s.slug,c);b?C("Workspace updated!","success",{clear:!0}):C(`Error: ${x}`,"error",{clear:!0}),i(!1),r(!1)};return s?e.jsx("div",{className:"w-full relative",children:e.jsxs("form",{ref:a,onSubmit:d,className:"w-1/2 flex flex-col gap-y-6",children:[t&&e.jsx("div",{className:"absolute top-0 right-0",children:e.jsx(U,{type:"submit",children:n?"Updating...":"Update Workspace"})}),e.jsxs("div",{className:"flex items-start gap-x-5",children:[e.jsx(St,{workspace:s}),e.jsx(Et,{reload:!0,workspace:s})]}),e.jsx(At,{workspace:s,setHasChanges:r}),e.jsx(Ct,{workspace:s,setHasChanges:r}),e.jsx(Mt,{workspace:s,setHasChanges:r}),e.jsx(kt,{workspace:s})]})}):null}function Pt({closeModal:s,workspace:t,users:r}){const[n,i]=l.useState(""),[a,d]=l.useState((t==null?void 0:t.userIds)||[]),o=async h=>{h.preventDefault();const{success:f,error:u}=await W.updateUsersInWorkspace(t.id,a);f&&(C("Users updated successfully.","success"),setTimeout(()=>{window.location.reload()},1e3)),C(u,"error")},c=h=>{d(f=>f.includes(h)?f.filter(u=>u!==h):[...f,h])},m=()=>{a.length===x.length?d([]):d(x.map(h=>h.id))},p=()=>{d([])},g=h=>a.includes(h),b=h=>{i(h.target.value)},x=r.filter(h=>h.username.toLowerCase().includes(n.toLowerCase())).filter(h=>h.role!=="admin").filter(h=>h.role!=="manager");return e.jsx("div",{className:"relative w-full max-w-[550px] max-h-full",children:e.jsxs("div",{className:"w-full max-w-2xl bg-theme-bg-secondary rounded-lg shadow border-2 border-theme-modal-border overflow-hidden",children:[e.jsxs("div",{className:"flex items-center justify-between p-6 border-b rounded-t border-theme-modal-border",children:[e.jsxs("div",{className:"flex items-center gap-x-4",children:[e.jsx("h3",{className:"text-base font-semibold text-white",children:"Users"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{onChange:b,className:"w-[400px] h-[34px] bg-theme-bg-primary rounded-[100px] text-white placeholder:text-theme-text-secondary text-sm px-10 pl-10",placeholder:"Search for a user"}),e.jsx(K,{size:16,weight:"bold",className:"text-white text-lg absolute left-3 top-1/2 transform -translate-y-1/2"})]})]}),e.jsx("button",{onClick:s,type:"button",className:"border-none bg-transparent rounded-lg text-sm p-1.5 ml-auto inline-flex items-center bg-sidebar-button hover:bg-theme-modal-border hover:border-theme-modal-border hover:border-opacity-50 border-transparent border",children:e.jsx($,{className:"text-white text-lg"})})]}),e.jsxs("form",{onSubmit:o,children:[e.jsx("div",{className:"py-[17px] px-[20px]",children:e.jsx("table",{className:"gap-y-[8px] flex flex-col max-h-[385px] overflow-y-auto no-scroll",children:x.length>0?x.map(h=>e.jsxs("tr",{className:"flex items-center gap-x-2 cursor-pointer",onClick:()=>c(h.id),children:[e.jsx("div",{className:"shrink-0 w-3 h-3 rounded border-[1px] border-solid border-white light:border-black flex justify-center items-center",role:"checkbox","aria-checked":g(h.id),tabIndex:0,children:g(h.id)&&e.jsx("div",{className:"w-2 h-2 bg-white light:bg-black rounded-[2px]"})}),e.jsx("p",{className:"text-theme-text-primary text-sm font-medium",children:h.username})]},h.id)):e.jsx("p",{className:"text-theme-text-secondary text-sm font-medium ",children:"No users found"})})}),e.jsxs("div",{className:"flex w-full justify-between items-center p-3 space-x-2 border-t rounded-b border-gray-500/50",children:[e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsxs("button",{type:"button",onClick:m,className:"flex items-center gap-x-2 ml-2",children:[e.jsx("div",{className:"shrink-0 w-3 h-3 rounded border-[1px] border-white flex justify-center items-center cursor-pointer",role:"checkbox","aria-checked":a.length===x.length,tabIndex:0,children:a.length===x.length&&e.jsx("div",{className:"w-2 h-2 bg-white rounded-[2px]"})}),e.jsx("p",{className:"text-white text-sm font-medium",children:"Select All"})]}),a.length>0&&e.jsx("button",{type:"button",onClick:p,className:"flex items-center gap-x-2 ml-2",children:e.jsx("p",{className:"text-theme-text-secondary text-sm font-medium hover:text-theme-text-primary",children:"Unselect"})})]}),e.jsx("button",{type:"submit",className:"transition-all duration-300 text-xs px-2 py-1 font-semibold rounded-lg bg-primary-button hover:bg-secondary border-2 border-transparent hover:border-primary-button hover:text-white h-[32px] w-[68px] -mr-8 whitespace-nowrap shadow-[0_4px_14px_rgba(0,0,0,0.25)]",children:"Save"})]})]})]})})}function Rt({user:s}){return e.jsx(e.Fragment,{children:e.jsxs("tr",{className:"bg-transparent text-theme-text-primary text-sm font-medium",children:[e.jsx("th",{scope:"row",className:"px-6 py-4 whitespace-nowrap",children:s.username}),e.jsx("td",{className:"px-6 py-4",children:Me(s.role)}),e.jsx("td",{className:"px-6 py-4",children:s.lastUpdatedAt})]})})}function $t({workspace:s}){const[t,r]=l.useState(!0),[n,i]=l.useState([]),[a,d]=l.useState([]),[o,c]=l.useState(null),{isOpen:m,openModal:p,closeModal:g}=V();return l.useEffect(()=>{async function b(){const x=await W.users(),h=await W.workspaceUsers(s.id),f=await W.workspaces();c(f.find(u=>u.id===s.id)),d(h),i(x),r(!1)}b()},[s]),t?e.jsx(T,{height:"80vh",width:"100%",highlightColor:"var(--theme-bg-primary)",baseColor:"var(--theme-bg-secondary)",count:1,className:"w-full p-4 rounded-b-2xl rounded-tr-2xl rounded-tl-sm mt-6",containerClassName:"flex w-full"}):e.jsxs("div",{className:"flex justify-between -mt-3",children:[e.jsxs("table",{className:"w-full max-w-[700px] text-sm text-left rounded-lg",children:[e.jsx("thead",{className:"text-white text-opacity-80 text-xs leading-[18px] font-bold uppercase border-white/10 border-b border-opacity-60",children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",className:"px-6 py-3 rounded-tl-lg",children:"Username"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Role"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Date Added"}),e.jsx("th",{scope:"col",className:"px-6 py-3 rounded-tr-lg",children:" "})]})}),e.jsx("tbody",{children:a.length>0?a.map((b,x)=>e.jsx(Rt,{user:b},x)):e.jsx("tr",{children:e.jsx("td",{className:"text-center py-4 text-white/80",colSpan:"4",children:"No workspace members"})})})]}),e.jsx(U,{onClick:p,children:"Manage Users"}),e.jsx(Q,{isOpen:m,children:e.jsx(Pt,{closeModal:g,users:n,workspace:o})})]})}const zt=["default","none"];function Wt({llm:s,availableLLMs:t,settings:r,checked:n,onClick:i}){const{isOpen:a,openModal:d,closeModal:o}=V(),{name:c,value:m,logo:p,description:g}=s,[b,x]=l.useState(r);l.useEffect(()=>{async function f(){if(a){const u=await F.keys();x(u??{})}}f()},[a]);function h(){if(!n){if((s.requiredConfig||[]).some(u=>!b[u])){d();return}i(m)}}return e.jsxs(e.Fragment,{children:[e.jsxs("div",{onClick:h,className:`w-full p-2 rounded-md hover:cursor-pointer hover:bg-theme-bg-secondary ${n?"bg-theme-bg-secondary":""}`,children:[e.jsx("input",{type:"checkbox",value:m,className:"peer hidden",checked:n,readOnly:!0,formNoValidate:!0}),e.jsxs("div",{className:"flex gap-x-4 items-center justify-between",children:[e.jsxs("div",{className:"flex gap-x-4 items-center",children:[e.jsx("img",{src:p,alt:`${c} logo`,className:"w-10 h-10 rounded-md"}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:c}),e.jsx("div",{className:"mt-1 text-xs text-white/60",children:g})]})]}),n&&m!=="none"&&!zt.includes(m)&&e.jsx("button",{onClick:f=>{f.preventDefault(),d()},className:"border-none p-2 text-white/60 hover:text-white hover:bg-theme-bg-hover rounded-md transition-all duration-300",title:"Edit Settings",children:e.jsx(se,{size:20,weight:"bold"})})]})]}),e.jsx(Ot,{availableLLMs:t,isOpen:a,provider:m,closeModal:o,postSubmit:i,settings:b})]})}function Ot({availableLLMs:s,isOpen:t,provider:r,closeModal:n,postSubmit:i,settings:a}){if(!t)return null;const d=s.find(c=>c.value===r);if(!d)return null;async function o(c){c.preventDefault(),c.stopPropagation();const m={},p=new FormData(c.target);for(var[g,b]of p.entries())m[g]=b;const{error:x}=await F.updateSystem(m);if(x){C(`Failed to save ${d.name} settings: ${x}`,"error");return}return n(),i(),!1}return re.createPortal(e.jsx(Q,{isOpen:t,children:e.jsx("div",{className:"fixed inset-0 z-50 overflow-auto bg-black bg-opacity-50 flex items-center justify-center",children:e.jsxs("div",{className:"relative w-full max-w-2xl bg-theme-bg-secondary rounded-lg shadow border-2 border-theme-modal-border",children:[e.jsxs("div",{className:"relative p-6 border-b rounded-t border-theme-modal-border",children:[e.jsx("div",{className:"w-full flex gap-x-2 items-center",children:e.jsxs("h3",{className:"text-xl font-semibold text-white overflow-hidden overflow-ellipsis whitespace-nowrap",children:[d.name," Settings"]})}),e.jsx("button",{onClick:n,type:"button",className:"absolute top-4 right-4 transition-all duration-300 bg-transparent rounded-lg text-sm p-1 inline-flex items-center hover:bg-theme-modal-border hover:border-theme-modal-border hover:border-opacity-50 border-transparent border",children:e.jsx($,{size:24,weight:"bold",className:"text-white"})})]}),e.jsxs("form",{id:"provider-form",onSubmit:o,children:[e.jsx("div",{className:"px-7 py-6",children:e.jsxs("div",{className:"space-y-6 max-h-[60vh] overflow-y-auto p-1",children:[e.jsxs("p",{className:"text-sm text-white/60",children:["To use ",d.name," as this workspace's agent LLM you need to set it up first."]}),e.jsx("div",{children:d.options(a,{credentialsOnly:!0})})]})}),e.jsxs("div",{className:"flex justify-between items-center mt-6 pt-6 border-t border-theme-modal-border px-7 pb-6",children:[e.jsx("button",{type:"button",onClick:n,className:"transition-all duration-300 text-white hover:bg-zinc-700 px-4 py-2 rounded-lg text-sm",children:"Cancel"}),e.jsxs("button",{type:"submit",form:"provider-form",className:"transition-all duration-300 bg-white text-black hover:opacity-60 px-4 py-2 rounded-lg text-sm",children:["Save ",d.name," settings"]})]})]})]})})}),document.getElementById("workspace-agent-settings-container"))}function H(s,t=""){return s==="openai"?["gpt-3.5-turbo-0301","gpt-4-turbo-2024-04-09","gpt-4-turbo","o1-preview","o1-preview-2024-09-12","o1-mini","o1-mini-2024-09-12","o3-mini","o3-mini-2025-01-31"].includes(t)===!1:!0}function Tt({provider:s,workspace:t,setHasChanges:r}){const{slug:n}=G(),{defaultModels:i,customModels:a,loading:d}=ne(s),{t:o}=w();return ae.includes(s)?e.jsx("div",{className:"w-full h-10 justify-center items-center flex",children:e.jsxs("p",{className:"text-sm font-base text-white text-opacity-60 text-center",children:["Multi-model support is not supported for this provider yet.",e.jsx("br",{}),"Agent's will use"," ",e.jsx(R,{to:M.workspace.settings.chatSettings(n),className:"underline",children:"the model set for the workspace"})," ","or"," ",e.jsx(R,{to:M.settings.llmPreference(),className:"underline",children:"the model set for the system."})]})}):d?e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:o("agent.mode.chat.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:o("agent.mode.chat.description")})]}),e.jsx("select",{name:"agentModel",required:!0,disabled:!0,className:"border-none bg-theme-settings-input-bg text-white text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",children:e.jsx("option",{disabled:!0,selected:!0,children:o("agent.mode.wait")})})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:o("agent.mode.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:o("agent.mode.description")})]}),e.jsxs("select",{name:"agentModel",required:!0,onChange:()=>{r(!0)},className:"border-none bg-theme-settings-input-bg text-white text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",children:[i.length>0&&e.jsx("optgroup",{label:"General models",children:i.map(c=>H(s,c)?e.jsx("option",{value:c,selected:(t==null?void 0:t.agentModel)===c,children:c},c):null)}),Array.isArray(a)&&a.length>0&&e.jsx("optgroup",{label:"Custom models",children:a.map(c=>H(s,c.id)?e.jsx("option",{value:c.id,selected:(t==null?void 0:t.agentModel)===c.id,children:c.id},c.id):null)}),!Array.isArray(a)&&Object.keys(a).length>0&&e.jsx(e.Fragment,{children:Object.entries(a).map(([c,m])=>e.jsx("optgroup",{label:c,children:m.map(p=>H(s,p.id)?e.jsx("option",{value:p.id,selected:(t==null?void 0:t.agentModel)===p.id,children:p.name||p.id},p.id):null)},c))})]})]})}const Ut=["openai","anthropic","lmstudio","ollama","localai","groq","azure","koboldcpp","togetherai","openrouter","novita","mistral","perplexity","textgenwebui","generic-openai","bedrock","fireworksai","deepseek","ppio","litellm","apipie","xai","nvidia-nim","gemini","moonshotai","cometapi","foundry","zai","giteeai","cohere","docker-model-runner","privatemode","sambanova","lemonade","minimax","cerebras"],Vt=["lmstudio","koboldcpp","ollama","localai","textgenwebui","docker-model-runner"],It={name:"System Default",value:"none",logo:ie,options:()=>e.jsx(N.Fragment,{}),description:"Agents will use the workspace or system LLM unless otherwise specified.",requiredConfig:[]},B=[It,...le.filter(s=>Ut.includes(s.value))];function _t({settings:s,workspace:t,setHasChanges:r}){const[n,i]=l.useState([]),[a,d]=l.useState((t==null?void 0:t.agentProvider)??"none"),[o,c]=l.useState(""),[m,p]=l.useState(!1),g=l.useRef(null),{t:b}=w();function x(u){c(""),d(u),p(!1),r(!0)}function h(){o.length>0?(c(""),g.current&&(g.current.value="")):p(!m)}l.useEffect(()=>{const u=B.filter(k=>k.name.toLowerCase().includes(o.toLowerCase()));i(u)},[o,a]);const f=B.find(u=>u.value===a);return e.jsxs("div",{className:"border-b border-white/40 pb-8",children:[Vt.includes(a)&&e.jsx("div",{className:"flex flex-col md:flex-row md:items-center gap-x-2 text-white mb-4 bg-blue-800/30 w-fit rounded-lg px-4 py-2",children:e.jsxs("div",{className:"gap-x-2 flex items-center",children:[e.jsx(Ve,{className:"shrink-0",size:25}),e.jsx("p",{className:"text-sm",children:b("agent.performance-warning")})]})}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{htmlFor:"name",className:"block input-label",children:b("agent.provider.title")}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:b("agent.provider.description")})]}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"hidden",name:"agentProvider",value:a}),m&&e.jsx("div",{className:"fixed top-0 left-0 w-full h-full bg-black bg-opacity-70 backdrop-blur-sm z-10",onClick:()=>p(!1)}),m?e.jsx("div",{className:"absolute top-0 left-0 w-full max-w-[640px] max-h-[310px] min-h-[64px] bg-theme-settings-input-bg rounded-lg flex flex-col justify-between cursor-pointer border-2 border-primary-button z-20",children:e.jsxs("div",{className:"w-full flex flex-col gap-y-1",children:[e.jsxs("div",{className:"flex items-center sticky top-0 z-10 border-b border-[#9CA3AF] mx-4 bg-theme-settings-input-bg",children:[e.jsx(K,{size:20,weight:"bold",className:"absolute left-4 z-30 text-theme-text-primary -ml-4 my-2"}),e.jsx("input",{type:"text",name:"llm-search",autoComplete:"off",placeholder:"Search available LLM providers",className:"border-none -ml-4 my-2 bg-transparent z-20 pl-12 h-[38px] w-full px-4 py-1 text-sm outline-none text-theme-text-primary placeholder:text-theme-text-primary placeholder:font-medium",onChange:u=>c(u.target.value),ref:g,onKeyDown:u=>{u.key==="Enter"&&u.preventDefault()}}),e.jsx($,{size:20,weight:"bold",className:"cursor-pointer text-theme-text-primary hover:text-x-button",onClick:h})]}),e.jsx("div",{className:"flex-1 pl-4 pr-2 flex flex-col gap-y-1 overflow-y-auto white-scrollbar pb-4 max-h-[245px]",children:n.map(u=>e.jsx(Wt,{llm:u,availableLLMs:B,settings:s,checked:a===u.value,onClick:()=>x(u.value)},u.name))})]})}):e.jsxs("button",{className:"w-full max-w-[640px] h-[64px] bg-theme-settings-input-bg rounded-lg flex items-center p-[14px] justify-between cursor-pointer border-2 border-transparent hover:border-primary-button transition-all duration-300",type:"button",onClick:()=>p(!0),children:[e.jsxs("div",{className:"flex gap-x-4 items-center",children:[e.jsx("img",{src:f.logo,alt:`${f.name} logo`,className:"w-10 h-10 rounded-md"}),e.jsxs("div",{className:"flex flex-col text-left",children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:f.name}),e.jsx("div",{className:"mt-1 text-xs text-description",children:f.description})]})]}),e.jsx(oe,{size:24,weight:"bold",className:"text-white"})]})]}),a!=="none"&&e.jsx("div",{className:"mt-4 flex flex-col gap-y-1",children:e.jsx(Tt,{provider:a,workspace:t,setHasChanges:r})})]})}function qt({workspace:s}){const{user:t}=ce(),[r,n]=l.useState({}),[i,a]=l.useState(!1),[d,o]=l.useState(!1),[c,m]=l.useState(!0),p=l.useRef(null);l.useEffect(()=>{async function b(){const x=await F.keys();n(x??{}),m(!1)}b()},[]);const g=async b=>{o(!0),b.preventDefault();const x={workspace:{},system:{},env:{}},h=new FormData(p.current);for(var[f,u]of h.entries()){if(f.startsWith("system::")){const[v,S]=f.split("system::");x.system[S]=String(u);continue}if(f.startsWith("env::")){const[v,S]=f.split("env::");x.env[S]=String(u);continue}x.workspace[f]=I(f,u)}const{workspace:k,message:y}=await L.update(s.slug,x.workspace);await W.updateSystemPreferences(x.system),await F.updateSystem(x.env),k?C("Workspace updated!","success",{clear:!0}):C(`Error: ${y}`,"error",{clear:!0}),o(!1),a(!1)};return!s||c?e.jsx(Ht,{}):e.jsx("div",{id:"workspace-agent-settings-container",children:e.jsxs("form",{ref:p,onSubmit:g,onChange:()=>a(!0),id:"agent-settings-form",className:"w-1/2 flex flex-col gap-y-6",children:[e.jsx(_t,{settings:r,workspace:s,setHasChanges:a}),(!t||(t==null?void 0:t.role)==="admin")&&e.jsx(e.Fragment,{children:!i&&e.jsxs("div",{className:"flex flex-col gap-y-4",children:[e.jsx("a",{className:"w-fit transition-all duration-300 border border-slate-200 px-5 py-2.5 rounded-lg text-white text-sm items-center flex gap-x-2 hover:bg-slate-200 hover:text-slate-800 focus:ring-gray-800",href:M.settings.agentSkills(),children:"Configure Agent Skills"}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium",children:"Customize and enhance the default agent's capabilities by enabling or disabling specific skills. These settings will be applied across all workspaces."})]})}),i&&e.jsx("button",{type:"submit",form:"agent-settings-form",className:"w-fit transition-all duration-300 border border-slate-200 px-5 py-2.5 rounded-lg text-white text-sm items-center flex gap-x-2 hover:bg-slate-200 hover:text-slate-800 focus:ring-gray-800",children:d?"Updating agent...":"Update workspace agent"})]})})}function Ht(){return e.jsx("div",{id:"workspace-agent-settings-container",children:e.jsxs("div",{className:"w-1/2 flex flex-col gap-y-6",children:[e.jsx(T,{height:100,width:"100%",count:2,highlightColor:"var(--theme-bg-primary)",baseColor:"var(--theme-bg-secondary)",enableAnimation:!0,containerClassName:"flex flex-col gap-y-1"}),e.jsx("div",{className:"bg-white/10 h-[1px] w-full"}),e.jsx(T,{height:100,width:"100%",count:2,highlightColor:"var(--theme-bg-primary)",baseColor:"var(--theme-bg-secondary)",enableAnimation:!0,containerClassName:"flex flex-col gap-y-1 mt-4"})]})})}const Bt={"general-appearance":Je,"chat-settings":Nt,"vector-database":Dt,members:$t,"agent-config":qt};function xs(){const{loading:s,requiresAuth:t,mode:r}=ke();return s?e.jsx(de,{}):t!==!1?e.jsx(e.Fragment,{children:t!==null&&e.jsx(Ee,{mode:r})}):e.jsx(Zt,{})}function Zt(){const{t:s}=w(),{slug:t,tab:r}=G(),{user:n}=ce(),[i,a]=l.useState(null),[d,o]=l.useState(!1),[c,m]=l.useState(!0);if(l.useEffect(()=>{async function g(){if(!t)return;const b=await L.bySlug(t);if(!b){m(!1);return}const x=await F.keys(),h=await L.getSuggestedMessages(t);a({...b,vectorDB:x==null?void 0:x.VectorDB,suggestedMessages:h}),o((x==null?void 0:x.WorkspaceDeletionProtection)===!0),m(!1)}g()},[t,r]),c)return e.jsx(de,{});const p=Bt[r];return e.jsxs("div",{className:"w-screen h-screen overflow-hidden bg-zinc-950 light:bg-slate-50 flex",children:[!X&&e.jsx(De,{}),e.jsxs("div",{style:{height:X?"100%":"calc(100% - 32px)"},className:"transition-all duration-500 relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] bg-theme-bg-secondary w-full h-full overflow-y-scroll",children:[e.jsxs("div",{className:"flex gap-x-10 pt-6 pb-4 ml-16 mr-8 border-b-2 border-white light:border-theme-chat-input-border border-opacity-10",children:[e.jsx(R,{to:M.workspace.chat(t),className:"absolute top-2 left-2 md:top-4 md:left-4 transition-all duration-300 p-2 rounded-full text-white bg-theme-sidebar-footer-icon hover:bg-theme-sidebar-footer-icon-hover z-10",children:e.jsx(Le,{className:"h-5 w-5",weight:"fill"})}),e.jsx(z,{title:s("workspaces—settings.general"),icon:e.jsx(Fe,{className:"h-6 w-6"}),to:M.workspace.settings.generalAppearance(t)}),e.jsx(z,{title:s("workspaces—settings.chat"),icon:e.jsx(Pe,{className:"h-6 w-6"}),to:M.workspace.settings.chatSettings(t)}),e.jsx(z,{title:s("workspaces—settings.vector"),icon:e.jsx(Re,{className:"h-6 w-6"}),to:M.workspace.settings.vectorDatabase(t)}),e.jsx(z,{title:s("workspaces—settings.members"),icon:e.jsx(ue,{className:"h-6 w-6"}),to:M.workspace.settings.members(t),visible:["admin","manager"].includes(n==null?void 0:n.role)}),e.jsx(z,{title:s("workspaces—settings.agent"),icon:e.jsx($e,{className:"h-6 w-6"}),to:M.workspace.settings.agentConfig(t)})]}),e.jsx("div",{className:"px-16 py-6",children:e.jsx(p,{slug:t,workspace:i,deletionProtected:d})})]})]})}function z({title:s,icon:t,to:r,visible:n=!0}){return n?e.jsxs(Ae,{to:r,className:({isActive:i})=>`${i?"text-sky-400 pb-4 border-b-[4px] -mb-[19px] border-sky-400":"text-white/60 hover:text-sky-400"} flex gap-x-2 items-center font-medium`,children:[t,e.jsx("div",{children:s})]}):null}export{xs as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e,u as z,a4 as A,a5 as D,r as o,q as H,$ as Z,i as V,h as $,C as F,J as U,k as Y,K as X,M as _,as as J,at as ee,au as P,av as te,aw as le,ax as ae,ay as oe,az as se,aA as ne,t as B,c as S}from"../index.js";import{C as re}from"./index-92d3b7bc.js";function ie({name:t,value:r,image:c,description:n,checked:d,onClick:h}){return e.jsxs("div",{onClick:()=>h(r),className:`w-full p-2 rounded-md hover:cursor-pointer hover:bg-theme-bg-secondary ${d?"bg-theme-bg-secondary":""}`,children:[e.jsx("input",{type:"checkbox",value:r,className:"peer hidden",checked:d,readOnly:!0,formNoValidate:!0}),e.jsxs("div",{className:"flex gap-x-4 items-center",children:[e.jsx("img",{src:c,alt:`${t} logo`,className:"w-10 h-10 rounded-md"}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:t}),e.jsx("div",{className:"mt-1 text-xs text-description",children:n})]})]})]})}function ce(){const{t}=z();return e.jsx("div",{className:"w-full h-10 items-center flex",children:e.jsx("p",{className:"text-sm font-base text-white text-opacity-60",children:t("vector.provider.description")})})}function de({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-7",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Chroma Endpoint"}),e.jsx("input",{type:"url",name:"ChromaEndpoint",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"http://localhost:8000",defaultValue:t==null?void 0:t.ChromaEndpoint,required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"API Header"}),e.jsx("input",{name:"ChromaApiHeader",autoComplete:"off",type:"text",defaultValue:t==null?void 0:t.ChromaApiHeader,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"X-Api-Key"})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"API Key"}),e.jsx("input",{name:"ChromaApiKey",autoComplete:"off",type:"password",defaultValue:t!=null&&t.ChromaApiKey?"*".repeat(20):"",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"sk-myApiKeyToAccessMyChromaInstance"})]})]})})}function ue({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-7",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"API Key"}),e.jsx("input",{type:"password",name:"ChromaCloudApiKey",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"ck-your-api-key-here",defaultValue:t!=null&&t.ChromaCloudApiKey?"*".repeat(20):"",required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Tenant ID"}),e.jsx("input",{name:"ChromaCloudTenant",autoComplete:"off",type:"text",defaultValue:t==null?void 0:t.ChromaCloudTenant,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"your-tenant-id-here",required:!0})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Database Name"}),e.jsx("input",{name:"ChromaCloudDatabase",autoComplete:"off",type:"text",defaultValue:t==null?void 0:t.ChromaCloudDatabase,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"your-database-name",required:!0})]})]})})}function me({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-7",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Pinecone DB API Key"}),e.jsx("input",{type:"password",name:"PineConeKey",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"Pinecone API Key",defaultValue:t!=null&&t.PineConeKey?"*".repeat(20):"",required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Pinecone Index Name"}),e.jsx("input",{type:"text",name:"PineConeIndex",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"my-index",defaultValue:t==null?void 0:t.PineConeIndex,required:!0,autoComplete:"off",spellCheck:!1})]})]})})}function pe({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-7",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Weaviate Endpoint"}),e.jsx("input",{type:"url",name:"WeaviateEndpoint",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"http://localhost:8080",defaultValue:t==null?void 0:t.WeaviateEndpoint,required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"API Key"}),e.jsx("input",{type:"password",name:"WeaviateApiKey",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"sk-123Abcweaviate",defaultValue:t!=null&&t.WeaviateApiKey?"*".repeat(20):"",autoComplete:"off",spellCheck:!1})]})]})})}function xe({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-7",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"QDrant API Endpoint"}),e.jsx("input",{type:"url",name:"QdrantEndpoint",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"http://localhost:6633",defaultValue:t==null?void 0:t.QdrantEndpoint,required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"API Key"}),e.jsx("input",{type:"password",name:"QdrantApiKey",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"wOeqxsYP4....1244sba",defaultValue:t!=null&&t.QdrantApiKey?"*".repeat(20):"",autoComplete:"off",spellCheck:!1})]})]})})}function he({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-7",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Milvus DB Address"}),e.jsx("input",{type:"text",name:"MilvusAddress",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"http://localhost:19530",defaultValue:t==null?void 0:t.MilvusAddress,required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Milvus Username"}),e.jsx("input",{type:"text",name:"MilvusUsername",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"username",defaultValue:t==null?void 0:t.MilvusUsername,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Milvus Password"}),e.jsx("input",{type:"password",name:"MilvusPassword",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"password",defaultValue:t!=null&&t.MilvusPassword?"*".repeat(20):"",autoComplete:"off",spellCheck:!1})]})]})})}function fe({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-4",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Cluster Endpoint"}),e.jsx("input",{type:"text",name:"ZillizEndpoint",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"https://sample.api.gcp-us-west1.zillizcloud.com",defaultValue:t==null?void 0:t.ZillizEndpoint,required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"API Token"}),e.jsx("input",{type:"password",name:"ZillizApiToken",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"Zilliz cluster API Token",defaultValue:t!=null&&t.ZillizApiToken?"*".repeat(20):"",autoComplete:"off",spellCheck:!1})]})]})})}function be({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-7",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Astra DB Endpoint"}),e.jsx("input",{type:"url",name:"AstraDBEndpoint",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"Astra DB API endpoint",defaultValue:t==null?void 0:t.AstraDBEndpoint,required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Astra DB Application Token"}),e.jsx("input",{type:"password",name:"AstraDBApplicationToken",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"AstraCS:...",defaultValue:t!=null&&t.AstraDBApplicationToken?"*".repeat(20):"",required:!0,autoComplete:"off",spellCheck:!1})]})]})})}function we({settings:t}){return e.jsx("div",{className:"w-full flex flex-col gap-y-7",children:e.jsxs("div",{className:"w-full flex items-center gap-[36px] mt-1.5",children:[e.jsxs("div",{className:"flex flex-col w-96",children:[e.jsxs("div",{className:"flex items-center gap-x-1 mb-3",children:[e.jsx("label",{className:"text-white text-sm font-semibold block",children:"Postgres Connection String"}),e.jsx(A,{size:16,className:"text-theme-text-secondary cursor-pointer","data-tooltip-id":"pgvector-connection-string-tooltip","data-tooltip-place":"right"}),e.jsx(D,{delayHide:300,id:"pgvector-connection-string-tooltip",className:"max-w-md z-99",clickable:!0,children:e.jsxs("p",{className:"text-md whitespace-pre-line break-words",children:["This is the connection string for the Postgres database in the format of ",e.jsx("br",{}),e.jsx("code",{children:"postgresql://username:password@host:port/database"}),e.jsx("br",{}),e.jsx("br",{}),"The user for the database must have the following permissions:",e.jsxs("ul",{className:"list-disc list-inside",children:[e.jsx("li",{children:"Read access to the database"}),e.jsx("li",{children:"Read access to the database schema"}),e.jsx("li",{children:"Create access to the database"})]}),e.jsx("br",{}),e.jsx("b",{children:"You must have the pgvector extension installed on the database."})]})})]}),e.jsx("input",{type:"text",name:"PGVectorConnectionString",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"postgresql://username:password@host:port/database",defaultValue:t!=null&&t.PGVectorConnectionString?"*".repeat(20):"",required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsxs("div",{className:"flex items-center gap-x-1 mb-3",children:[e.jsx("label",{className:"text-white text-sm font-semibold block",children:"Vector Table Name"}),e.jsx(A,{size:16,className:"text-theme-text-secondary cursor-pointer","data-tooltip-id":"pgvector-table-name-tooltip","data-tooltip-place":"right"}),e.jsx(D,{delayHide:300,id:"pgvector-table-name-tooltip",className:"max-w-md z-99",clickable:!0,children:e.jsxs("p",{className:"text-md whitespace-pre-line break-words",children:["This is the name of the table in the Postgres database that will store the vectors.",e.jsx("br",{}),e.jsx("br",{}),"By default, the table name is ",e.jsx("code",{children:"anythingllm_vectors"}),".",e.jsx("br",{}),e.jsx("br",{}),e.jsx("b",{children:"This table must not already exist on the database - it will be created automatically."})]})})]}),e.jsx("input",{type:"text",name:"PGVectorTableName",autoComplete:"off",defaultValue:t==null?void 0:t.PGVectorTableName,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"vector_table"})]})]})})}const x=[{name:"LanceDB",value:"lancedb",logo:J,options:t=>e.jsx(ce,{}),description:"100% local vector DB that runs on the same instance as AnythingLLM."},{name:"PGVector",value:"pgvector",logo:ee,options:t=>e.jsx(we,{settings:t}),description:"Vector search powered by PostgreSQL."},{name:"Chroma",value:"chroma",logo:P,options:t=>e.jsx(de,{settings:t}),description:"Open source vector database you can host yourself or on the cloud."},{name:"Chroma Cloud",value:"chromacloud",logo:P,options:t=>e.jsx(ue,{settings:t}),description:"Fully managed Chroma cloud service with enterprise features and support."},{name:"Pinecone",value:"pinecone",logo:te,options:t=>e.jsx(me,{settings:t}),description:"100% cloud-based vector database for enterprise use cases."},{name:"Zilliz Cloud",value:"zilliz",logo:le,options:t=>e.jsx(fe,{settings:t}),description:"Cloud hosted vector database built for enterprise with SOC 2 compliance."},{name:"QDrant",value:"qdrant",logo:ae,options:t=>e.jsx(xe,{settings:t}),description:"Open source local and distributed cloud vector database."},{name:"Weaviate",value:"weaviate",logo:oe,options:t=>e.jsx(pe,{settings:t}),description:"Open source local and cloud hosted multi-modal vector database."},{name:"Milvus",value:"milvus",logo:se,options:t=>e.jsx(he,{settings:t}),description:"Open-source, highly scalable, and blazing fast."},{name:"AstraDB",value:"astra",logo:ne,options:t=>e.jsx(be,{settings:t}),description:"Vector Search for Real-world GenAI."}];function je(){var C;const[t,r]=o.useState(!1),[c,n]=o.useState(!1),[d,h]=o.useState(!1),[u,E]=o.useState({}),[M,T]=o.useState(!0),[f,b]=o.useState(""),[O,K]=o.useState([]),[s,y]=o.useState(null),[w,m]=o.useState(!1),v=o.useRef(null),{isOpen:I,openModal:L,closeModal:j}=H(),{t:i}=z(),g=async l=>{l.preventDefault(),s!==(u==null?void 0:u.VectorDB)&&c&&d?L():await N()},N=async()=>{r(!0);const l=document.getElementById("vectordb-form"),a={},W=new FormData(l);a.VectorDB=s;for(var[G,R]of W.entries())a[G]=R;const{error:k}=await B.updateSystem(a);k?(S(`Failed to save vector database settings: ${k}`,"error"),n(!0)):(S("Vector database preferences saved successfully.","success"),n(!1)),r(!1),j()},q=l=>{b(""),y(l),m(!1),n(!0)},Q=()=>{f.length>0?(b(""),v.current&&(v.current.value="")):m(!w)};o.useEffect(()=>{async function l(){const a=await B.keys();E(a),y((a==null?void 0:a.VectorDB)||"lancedb"),h((a==null?void 0:a.HasExistingEmbeddings)||!1),T(!1)}l()},[]),o.useEffect(()=>{const l=x.filter(a=>a.name.toLowerCase().includes(f.toLowerCase()));K(l)},[f,s]);const p=x.find(l=>l.value===s)??x[0];return e.jsxs("div",{className:"w-screen h-screen overflow-hidden bg-theme-bg-container flex",children:[e.jsx(Z,{}),M?e.jsx("div",{style:{height:V?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] bg-theme-bg-secondary w-full h-full overflow-y-scroll p-4 md:p-0",children:e.jsx("div",{className:"w-full h-full flex justify-center items-center",children:e.jsx($,{})})}):e.jsx("div",{style:{height:V?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] bg-theme-bg-secondary w-full h-full overflow-y-scroll p-4 md:p-0",children:e.jsx("form",{id:"vectordb-form",onSubmit:g,className:"flex w-full",children:e.jsxs("div",{className:"flex flex-col w-full px-1 md:pl-6 md:pr-[50px] py-16 md:py-6",children:[e.jsxs("div",{className:"w-full flex flex-col gap-y-1 pb-6 border-white light:border-theme-sidebar-border border-b-2 border-opacity-10",children:[e.jsx("div",{className:"flex gap-x-4 items-center",children:e.jsx("p",{className:"text-lg leading-6 font-bold text-white",children:i("vector.title")})}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-white text-opacity-60",children:i("vector.description")})]}),e.jsx("div",{className:"w-full justify-end flex",children:c&&e.jsx(F,{onClick:()=>g(),className:"mt-3 mr-0 -mb-14 z-10",children:i(t?"common.saving":"common.save")})}),e.jsx("div",{className:"text-base font-bold text-white mt-6 mb-4",children:i("vector.provider.title")}),e.jsxs("div",{className:"relative",children:[w&&e.jsx("div",{className:"fixed top-0 left-0 w-full h-full bg-black bg-opacity-70 backdrop-blur-sm z-10",onClick:()=>m(!1)}),w?e.jsx("div",{className:"absolute top-0 left-0 w-full max-w-[640px] max-h-[310px] min-h-[64px] bg-theme-settings-input-bg rounded-lg flex flex-col justify-between cursor-pointer border-2 border-primary-button z-20",children:e.jsxs("div",{className:"w-full flex flex-col gap-y-1",children:[e.jsxs("div",{className:"flex items-center sticky top-0 z-10 border-b border-[#9CA3AF] mx-4 bg-theme-settings-input-bg",children:[e.jsx(U,{size:20,weight:"bold",className:"absolute left-4 z-30 text-theme-text-primary -ml-4 my-2"}),e.jsx("input",{type:"text",name:"vdb-search",autoComplete:"off",placeholder:"Search all vector database providers",className:"border-none -ml-4 my-2 bg-transparent z-20 pl-12 h-[38px] w-full px-4 py-1 text-sm outline-none text-theme-text-primary placeholder:text-theme-text-primary placeholder:font-medium",onChange:l=>b(l.target.value),ref:v,onKeyDown:l=>{l.key==="Enter"&&l.preventDefault()}}),e.jsx(Y,{size:20,weight:"bold",className:"cursor-pointer text-white hover:text-x-button",onClick:Q})]}),e.jsx("div",{className:"flex-1 pl-4 pr-2 flex flex-col gap-y-1 overflow-y-auto white-scrollbar pb-4 max-h-[245px]",children:O.map(l=>e.jsx(ie,{name:l.name,value:l.value,image:l.logo,description:l.description,checked:s===l.value,onClick:()=>q(l.value)},l.name))})]})}):e.jsxs("button",{className:"w-full max-w-[640px] h-[64px] bg-theme-settings-input-bg rounded-lg flex items-center p-[14px] justify-between cursor-pointer border-2 border-transparent hover:border-primary-button transition-all duration-300",type:"button",onClick:()=>m(!0),children:[e.jsxs("div",{className:"flex gap-x-4 items-center",children:[e.jsx("img",{src:p.logo,alt:`${p.name} logo`,className:"w-10 h-10 rounded-md"}),e.jsxs("div",{className:"flex flex-col text-left",children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:p.name}),e.jsx("div",{className:"mt-1 text-xs text-description",children:p.description})]})]}),e.jsx(X,{size:24,weight:"bold",className:"text-white"})]})]}),e.jsx("div",{onChange:()=>n(!0),className:"mt-4 flex flex-col gap-y-1",children:s&&((C=x.find(l=>l.value===s))==null?void 0:C.options(u))})]})})}),e.jsx(_,{isOpen:I,children:e.jsx(re,{warningText:"Switching the vector database will reset all previously embedded documents in all workspaces.\\n\\nConfirming will clear all embeddings from your vector database and remove all documents from your workspaces. Your uploaded documents will not be deleted, they will be available for re-embedding.",onClose:j,onConfirm:N})})]})}export{je as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as c,j as e,aU as i,t as o,i as x,S as m}from"../index.js";import{s as p,a as h}from"./index-7b0ea06b.js";import{h as r}from"./moment-3ad2e1a6.js";import"./truncate-352eb33b.js";import"./XCircle-edfe554c.js";import"./File-b92df2f3.js";import"./Eye-9f033dc0.js";import"./index-4fb4d421.js";import"./react-beautiful-dnd.esm-86e87aba.js";function u({queue:t}){const s=c.useRef(null),n=async()=>{var a;(a=s==null?void 0:s.current)==null||a.remove(),await o.experimentalFeatures.liveSync.setWatchStatusForDocument(t.workspaceDoc.workspace.slug,t.workspaceDoc.docpath,!1)};return e.jsx(e.Fragment,{children:e.jsxs("tr",{ref:s,className:"bg-transparent text-white text-opacity-80 text-sm font-medium",children:[e.jsx("td",{scope:"row",className:"px-6 py-4 whitespace-nowrap",children:p(t.workspaceDoc.filename)}),e.jsx("td",{className:"px-6 py-4",children:r(t.lastSyncedAt).fromNow()}),e.jsxs("td",{className:"px-6 py-4",children:[r(t.nextSyncAt).format("lll"),e.jsxs("i",{className:"text-xs px-2",children:["(",r(t.nextSyncAt).fromNow(),")"]})]}),e.jsx("td",{className:"px-6 py-4",children:r(t.createdAt).format("lll")}),e.jsx("td",{className:"px-6 py-4 flex items-center gap-x-6",children:e.jsx("button",{onClick:n,className:"border-none font-medium px-2 py-1 rounded-lg text-theme-text-primary hover:text-red-500",children:e.jsx(i,{className:"h-5 w-5"})})})]})})}function k(){return e.jsxs("div",{className:"w-screen h-screen overflow-hidden bg-theme-bg-container flex",children:[e.jsx(h,{}),e.jsx("div",{style:{height:x?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] bg-theme-bg-secondary w-full h-full overflow-y-scroll p-4 md:p-0",children:e.jsxs("div",{className:"flex flex-col w-full px-1 md:pl-6 md:pr-[50px] md:py-6 py-16",children:[e.jsxs("div",{className:"w-full flex flex-col gap-y-1 pb-6 border-white/10 border-b-2",children:[e.jsx("div",{className:"items-center flex gap-x-4",children:e.jsx("p",{className:"text-lg leading-6 font-bold text-theme-text-primary",children:"Watched documents"})}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-theme-text-secondary",children:"These are all the documents that are currently being watched in your instance. The content of these documents will be periodically synced."})]}),e.jsx("div",{className:"overflow-x-auto",children:e.jsx(f,{})})]})})]})}function f(){const[t,s]=c.useState(!0),[n,a]=c.useState([]);return c.useEffect(()=>{async function l(){const d=await o.experimentalFeatures.liveSync.queues();a(d),s(!1)}l()},[]),t?e.jsx(m,{height:"80vh",width:"100%",highlightColor:"var(--theme-bg-primary)",baseColor:"var(--theme-bg-secondary)",count:1,className:"w-full p-4 rounded-b-2xl rounded-tr-2xl rounded-tl-sm mt-6",containerClassName:"flex w-full"}):e.jsxs("table",{className:"w-full text-sm text-left rounded-lg mt-6 min-w-[640px]",children:[e.jsx("thead",{className:"text-theme-text-secondary text-xs leading-[18px] font-bold uppercase border-white/10 border-b",children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",className:"px-6 py-3 rounded-tl-lg",children:"Document Name"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Last Synced"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Time until next refresh"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Created On"}),e.jsx("th",{scope:"col",className:"px-6 py-3 rounded-tr-lg",children:" "})]})}),e.jsx("tbody",{children:n.map(l=>e.jsx(u,{queue:l},l.id))})]})}export{k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R as i,r as o,g as oe,j as e,aB as st,aC as de,aD as te,t as C,c as w,x as me,b as gt,p as re,u as _,aE as ft,a5 as lt,ac as nt,O as at,aF as pt,a9 as bt,aG as xe,a2 as rt,q as jt,M as yt,k as vt,i as L,e as wt,aH as Nt,v as Re,$ as St}from"../index.js";import{A as G}from"./admin-04b020fe.js";import{M as J,H as kt,g as At,a as Mt,b as Ct,D as Et}from"./mcpServers-957b1f1c.js";import{I as De}from"./Hammer-05b5ccc7.js";import{w as ie}from"./Plug-7d951c7d.js";import{w as Y,c as _t}from"./types-e90e1137.js";import{C as Ft}from"./index-92574f3a.js";import{A as ue}from"./agentFlows-e4124dd3.js";import{T as Zt}from"./Trans-36b04c7b.js";import"./Database-f1a76329.js";import"./Copy-d323e545.js";import"./File-b92df2f3.js";import"./XCircle-edfe554c.js";import"./Brain-24e386d5.js";import"./Browser-1820fad0.js";const Ht=new Map([["bold",i.createElement(i.Fragment,null,i.createElement("path",{d:"M232,44H160a43.86,43.86,0,0,0-32,13.85A43.86,43.86,0,0,0,96,44H24A12,12,0,0,0,12,56V200a12,12,0,0,0,12,12H96a20,20,0,0,1,20,20,12,12,0,0,0,24,0,20,20,0,0,1,20-20h72a12,12,0,0,0,12-12V56A12,12,0,0,0,232,44ZM96,188H36V68H96a20,20,0,0,1,20,20V192.81A43.79,43.79,0,0,0,96,188Zm124,0H160a43.71,43.71,0,0,0-20,4.83V88a20,20,0,0,1,20-20h60ZM164,96h32a12,12,0,0,1,0,24H164a12,12,0,0,1,0-24Zm44,52a12,12,0,0,1-12,12H164a12,12,0,0,1,0-24h32A12,12,0,0,1,208,148Z"}))],["duotone",i.createElement(i.Fragment,null,i.createElement("path",{d:"M232,56V200H160a32,32,0,0,0-32,32V88a32,32,0,0,1,32-32Z",opacity:"0.2"}),i.createElement("path",{d:"M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64ZM160,88h40a8,8,0,0,1,0,16H160a8,8,0,0,1,0-16Zm48,40a8,8,0,0,1-8,8H160a8,8,0,0,1,0-16h40A8,8,0,0,1,208,128Zm0,32a8,8,0,0,1-8,8H160a8,8,0,0,1,0-16h40A8,8,0,0,1,208,160Z"}))],["fill",i.createElement(i.Fragment,null,i.createElement("path",{d:"M232,48H168a32,32,0,0,0-32,32v87.73a8.17,8.17,0,0,1-7.47,8.25,8,8,0,0,1-8.53-8V80A32,32,0,0,0,88,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,23.94,7.9,7.9,0,0,0,5.12,7.55A8,8,0,0,0,136,232a24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM208,168H168.27a8.17,8.17,0,0,1-8.25-7.47,8,8,0,0,1,8-8.53h39.73a8.17,8.17,0,0,1,8.25,7.47A8,8,0,0,1,208,168Zm0-32H168.27a8.17,8.17,0,0,1-8.25-7.47,8,8,0,0,1,8-8.53h39.73a8.17,8.17,0,0,1,8.25,7.47A8,8,0,0,1,208,136Zm0-32H168.27A8.17,8.17,0,0,1,160,96.53,8,8,0,0,1,168,88h39.73A8.17,8.17,0,0,1,216,95.47,8,8,0,0,1,208,104Z"}))],["light",i.createElement(i.Fragment,null,i.createElement("path",{d:"M232,50H160a38,38,0,0,0-32,17.55A38,38,0,0,0,96,50H24a6,6,0,0,0-6,6V200a6,6,0,0,0,6,6H96a26,26,0,0,1,26,26,6,6,0,0,0,12,0,26,26,0,0,1,26-26h72a6,6,0,0,0,6-6V56A6,6,0,0,0,232,50ZM96,194H30V62H96a26,26,0,0,1,26,26V204.31A37.86,37.86,0,0,0,96,194Zm130,0H160a37.87,37.87,0,0,0-26,10.32V88a26,26,0,0,1,26-26h66ZM160,90h40a6,6,0,0,1,0,12H160a6,6,0,0,1,0-12Zm46,38a6,6,0,0,1-6,6H160a6,6,0,0,1,0-12h40A6,6,0,0,1,206,128Zm0,32a6,6,0,0,1-6,6H160a6,6,0,0,1,0-12h40A6,6,0,0,1,206,160Z"}))],["regular",i.createElement(i.Fragment,null,i.createElement("path",{d:"M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64ZM160,88h40a8,8,0,0,1,0,16H160a8,8,0,0,1,0-16Zm48,40a8,8,0,0,1-8,8H160a8,8,0,0,1,0-16h40A8,8,0,0,1,208,128Zm0,32a8,8,0,0,1-8,8H160a8,8,0,0,1,0-16h40A8,8,0,0,1,208,160Z"}))],["thin",i.createElement(i.Fragment,null,i.createElement("path",{d:"M232,52H160a36,36,0,0,0-32,19.54A36,36,0,0,0,96,52H24a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H96a28,28,0,0,1,28,28,4,4,0,0,0,8,0,28,28,0,0,1,28-28h72a4,4,0,0,0,4-4V56A4,4,0,0,0,232,52ZM96,196H28V60H96a28,28,0,0,1,28,28V209.4A35.94,35.94,0,0,0,96,196Zm132,0H160a35.94,35.94,0,0,0-28,13.41V88a28,28,0,0,1,28-28h68ZM160,92h40a4,4,0,0,1,0,8H160a4,4,0,0,1,0-8Zm44,36a4,4,0,0,1-4,4H160a4,4,0,0,1,0-8h40A4,4,0,0,1,204,128Zm0,32a4,4,0,0,1-4,4H160a4,4,0,0,1,0-8h40A4,4,0,0,1,204,160Z"}))]]);var Ot=Object.defineProperty,Pt=Object.defineProperties,Vt=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,Lt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Be=(t,s,l)=>s in t?Ot(t,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[s]=l,$t=(t,s)=>{for(var l in s||(s={}))Lt.call(s,l)&&Be(t,l,s[l]);if(qe)for(var l of qe(s))Tt.call(s,l)&&Be(t,l,s[l]);return t},It=(t,s)=>Pt(t,Vt(s));const it=o.forwardRef((t,s)=>i.createElement(oe,It($t({ref:s},t),{weights:Ht})));it.displayName="BookOpenText";const zt=new Map([["bold",i.createElement(i.Fragment,null,i.createElement("path",{d:"M248.49,71.51l-32-32a12,12,0,0,0-17,17L211,68h-3c-52,0-64.8,30.71-75.08,55.38-8.82,21.17-15.45,37.05-42.75,40.09a44,44,0,1,0,.28,24.08c43.34-3.87,55.07-32,64.63-54.93C164.9,109,172,92,208,92h3l-11.52,11.51a12,12,0,0,0,17,17l32-32A12,12,0,0,0,248.49,71.51ZM48,196a20,20,0,1,1,20-20A20,20,0,0,1,48,196Z"}))],["duotone",i.createElement(i.Fragment,null,i.createElement("path",{d:"M80,176a32,32,0,1,1-32-32A32,32,0,0,1,80,176Z",opacity:"0.2"}),i.createElement("path",{d:"M245.66,74.34l-32-32a8,8,0,0,0-11.32,11.32L220.69,72H208c-49.33,0-61.05,28.12-71.38,52.92-9.38,22.51-16.92,40.59-49.48,42.84a40,40,0,1,0,.1,16c43.26-2.65,54.34-29.15,64.14-52.69C161.41,107,169.33,88,208,88h12.69l-18.35,18.34a8,8,0,0,0,11.32,11.32l32-32A8,8,0,0,0,245.66,74.34ZM48,200a24,24,0,1,1,24-24A24,24,0,0,1,48,200Z"}))],["fill",i.createElement(i.Fragment,null,i.createElement("path",{d:"M245.66,85.66l-32,32a8,8,0,0,1-11.32-11.32L220.69,88H208c-38.67,0-46.59,19-56.62,43.08C141.05,155.88,129.33,184,80,184H79a32,32,0,1,1,0-16h1c38.67,0,46.59-19,56.62-43.08C147,100.12,158.67,72,208,72h12.69L202.34,53.66a8,8,0,0,1,11.32-11.32l32,32A8,8,0,0,1,245.66,85.66Z"}))],["light",i.createElement(i.Fragment,null,i.createElement("path",{d:"M244.24,75.76l-32-32a6,6,0,0,0-8.48,8.48L225.51,74H208c-48,0-59.44,27.46-69.54,51.69-9.43,22.64-17.66,42.33-53,44.16a38,38,0,1,0,.06,12c43.34-2.06,54.29-28.29,64-51.55C159.44,106.53,168,86,208,86h17.51l-21.75,21.76a6,6,0,1,0,8.48,8.48l32-32A6,6,0,0,0,244.24,75.76ZM48,202a26,26,0,1,1,26-26A26,26,0,0,1,48,202Z"}))],["regular",i.createElement(i.Fragment,null,i.createElement("path",{d:"M245.66,74.34l-32-32a8,8,0,0,0-11.32,11.32L220.69,72H208c-49.33,0-61.05,28.12-71.38,52.92-9.38,22.51-16.92,40.59-49.48,42.84a40,40,0,1,0,.1,16c43.26-2.65,54.34-29.15,64.14-52.69C161.41,107,169.33,88,208,88h12.69l-18.35,18.34a8,8,0,0,0,11.32,11.32l32-32A8,8,0,0,0,245.66,74.34ZM48,200a24,24,0,1,1,24-24A24,24,0,0,1,48,200Z"}))],["thin",i.createElement(i.Fragment,null,i.createElement("path",{d:"M242.83,77.17l-32-32a4,4,0,0,0-5.66,5.66L230.34,76H208c-46.67,0-57.84,26.81-67.69,50.46-9.46,22.69-18.4,44.16-56.55,45.48a36,36,0,1,0,0,8c43.49-1.42,54.33-27.39,63.91-50.39C157.45,106.12,166.67,84,208,84h22.34l-25.17,25.17a4,4,0,0,0,5.66,5.66l32-32A4,4,0,0,0,242.83,77.17ZM48,204a28,28,0,1,1,28-28A28,28,0,0,1,48,204Z"}))]]);var Rt=Object.defineProperty,Dt=Object.defineProperties,qt=Object.getOwnPropertyDescriptors,Ue=Object.getOwnPropertySymbols,Bt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable,We=(t,s,l)=>s in t?Rt(t,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[s]=l,Wt=(t,s)=>{for(var l in s||(s={}))Bt.call(s,l)&&We(t,l,s[l]);if(Ue)for(var l of Ue(s))Ut.call(s,l)&&We(t,l,s[l]);return t},Qt=(t,s)=>Dt(t,qt(s));const ee=o.forwardRef((t,s)=>i.createElement(oe,Qt(Wt({ref:s},t),{weights:zt})));ee.displayName="FlowArrow";const Gt=new Map([["bold",i.createElement(i.Fragment,null,i.createElement("path",{d:"M225.6,62.64l-88-48.17a19.91,19.91,0,0,0-19.2,0l-88,48.17A20,20,0,0,0,20,80.19v95.62a20,20,0,0,0,10.4,17.55l88,48.17a19.89,19.89,0,0,0,19.2,0l88-48.17A20,20,0,0,0,236,175.81V80.19A20,20,0,0,0,225.6,62.64ZM128,36.57,200,76,178.57,87.73l-72-39.42Zm0,78.83L56,76,81.56,62l72,39.41ZM44,96.79l72,39.4v76.67L44,173.44Zm96,116.07V136.19l24-13.13V152a12,12,0,0,0,24,0V109.92l24-13.13v76.65Z"}))],["duotone",i.createElement(i.Fragment,null,i.createElement("path",{d:"M128,129.09V232a8,8,0,0,1-3.84-1l-88-48.18a8,8,0,0,1-4.16-7V80.18a8,8,0,0,1,.7-3.25Z",opacity:"0.2"}),i.createElement("path",{d:"M223.68,66.15,135.68,18a15.88,15.88,0,0,0-15.36,0l-88,48.17a16,16,0,0,0-8.32,14v95.64a16,16,0,0,0,8.32,14l88,48.17a15.88,15.88,0,0,0,15.36,0l88-48.17a16,16,0,0,0,8.32-14V80.18A16,16,0,0,0,223.68,66.15ZM128,32l80.34,44-29.77,16.3-80.35-44ZM128,120,47.66,76l33.9-18.56,80.34,44ZM40,90l80,43.78v85.79L40,175.82Zm176,85.78h0l-80,43.79V133.82l32-17.51V152a8,8,0,0,0,16,0V107.55L216,90v85.77Z"}))],["fill",i.createElement(i.Fragment,null,i.createElement("path",{d:"M223.68,66.15,135.68,18a15.88,15.88,0,0,0-15.36,0l-88,48.17a16,16,0,0,0-8.32,14v95.64a16,16,0,0,0,8.32,14l88,48.17a15.88,15.88,0,0,0,15.36,0l88-48.17a16,16,0,0,0,8.32-14V80.18A16,16,0,0,0,223.68,66.15ZM128,32l80.35,44L178.57,92.29l-80.35-44Zm0,88L47.65,76,81.56,57.43l80.35,44Zm88,55.85h0l-80,43.79V133.83l32-17.51V152a8,8,0,0,0,16,0V107.56l32-17.51v85.76Z"}))],["light",i.createElement(i.Fragment,null,i.createElement("path",{d:"M222.72,67.91l-88-48.18a13.9,13.9,0,0,0-13.44,0l-88,48.18A14,14,0,0,0,26,80.18v95.64a14,14,0,0,0,7.28,12.27l88,48.18a13.92,13.92,0,0,0,13.44,0l88-48.18A14,14,0,0,0,230,175.82V80.18A14,14,0,0,0,222.72,67.91ZM127,30.25a2,2,0,0,1,1.92,0L212.51,76,178.57,94.57,94.05,48.31ZM122,223,39,177.57a2,2,0,0,1-1-1.75V86.66l84,46ZM43.49,76,81.56,55.15l84.51,46.26L128,122.24ZM218,175.82a2,2,0,0,1-1,1.75h0L134,223V132.64l36-19.71V152a6,6,0,0,0,12,0V106.37l36-19.71Z"}))],["regular",i.createElement(i.Fragment,null,i.createElement("path",{d:"M223.68,66.15,135.68,18a15.88,15.88,0,0,0-15.36,0l-88,48.17a16,16,0,0,0-8.32,14v95.64a16,16,0,0,0,8.32,14l88,48.17a15.88,15.88,0,0,0,15.36,0l88-48.17a16,16,0,0,0,8.32-14V80.18A16,16,0,0,0,223.68,66.15ZM128,32l80.34,44-29.77,16.3-80.35-44ZM128,120,47.66,76l33.9-18.56,80.34,44ZM40,90l80,43.78v85.79L40,175.82Zm176,85.78h0l-80,43.79V133.82l32-17.51V152a8,8,0,0,0,16,0V107.55L216,90v85.77Z"}))],["thin",i.createElement(i.Fragment,null,i.createElement("path",{d:"M221.76,69.66l-88-48.18a12,12,0,0,0-11.52,0l-88,48.18A12,12,0,0,0,28,80.18v95.64a12,12,0,0,0,6.24,10.52l88,48.18a11.95,11.95,0,0,0,11.52,0l88-48.18A12,12,0,0,0,228,175.82V80.18A12,12,0,0,0,221.76,69.66ZM126.08,28.5a3.94,3.94,0,0,1,3.84,0L216.67,76,178.5,96.89a4,4,0,0,0-.58-.4l-88-48.18Zm1.92,96L39.33,76,81.56,52.87l88.67,48.54Zm-89.92,54.8a4,4,0,0,1-2.08-3.5V83.29l88,48.16v94.91Zm179.84,0h0l-85.92,47V131.45l40-21.89V152a4,4,0,0,0,8,0V105.18l40-21.89v92.53A4,4,0,0,1,217.92,179.32Z"}))]]);var Jt=Object.defineProperty,Kt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,es=Object.prototype.propertyIsEnumerable,Ge=(t,s,l)=>s in t?Jt(t,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[s]=l,ts=(t,s)=>{for(var l in s||(s={}))Yt.call(s,l)&&Ge(t,l,s[l]);if(Qe)for(var l of Qe(s))es.call(s,l)&&Ge(t,l,s[l]);return t},ss=(t,s)=>Kt(t,Xt(s));const ce=o.forwardRef((t,s)=>i.createElement(oe,ss(ts({ref:s},t),{weights:Gt})));ce.displayName="Package";function Je({skills:t=[],selectedSkill:s=null,handleClick:l=null}){return t.length===0?e.jsxs("div",{className:"text-theme-text-secondary text-center text-xs flex flex-col gap-y-2",children:[e.jsx("p",{children:"No imported skills found"}),e.jsxs("p",{children:["Learn about agent skills in the"," ",e.jsx("a",{href:"https://docs.anythingllm.com/agent/custom/developer-guide",target:"_blank",className:"text-theme-text-secondary underline hover:text-cta-button",rel:"noreferrer",children:"AnythingLLM Agent Docs"}),"."]})]}):e.jsx("div",{className:"bg-theme-bg-secondary text-white rounded-xl w-full md:min-w-[360px]",children:t.map((a,r)=>e.jsxs("div",{className:`py-3 px-4 flex items-center justify-between ${r===0?"rounded-t-xl":""} ${r===Object.keys(t).length-1?"rounded-b-xl":"border-b border-white/10"} cursor-pointer transition-all duration-300 hover:bg-theme-bg-primary ${s===a.hubId?"bg-theme-bg-primary":""}`,onClick:()=>l==null?void 0:l({...a,imported:!0}),children:[e.jsx("div",{className:"text-sm font-light",children:st(a.name)}),e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx("div",{className:"text-sm text-theme-text-secondary font-medium",children:a.active?"On":"Off"}),e.jsx(de,{size:14,weight:"bold",className:"text-theme-text-secondary"})]})]},a.hubId))})}function Ke(t){var s,l;return!t||((l=(s=t.constructor)==null?void 0:s.call)==null?void 0:l.call(s).toString())!=="[object Object]"?{}:Object.entries(t).reduce((a,[r,c])=>{var n;return{...a,[r]:c.hasOwnProperty("value")?c.value:((n=c==null?void 0:c.input)==null?void 0:n.default)||""}},{})}function le({selectedSkill:t,setImportedSkills:s}){const[l,a]=o.useState(t),[r,c]=o.useState(!1),[n,m]=o.useState(Ke(t==null?void 0:t.setup_args)),g=(t==null?void 0:t.setup_args)&&Object.keys(t.setup_args).length>0;async function u(){const f={...t,active:!l.active};await C.experimentalFeatures.agentPlugins.updatePluginConfig(l.hubId,{active:!l.active}),s(x=>x.map(b=>b.hubId===l.hubId?f:b)),a(f),w(`Skill ${f.active?"activated":"deactivated"}.`,"success",{clear:!0})}async function F(f){f.preventDefault();const x=[],b={...l};for(const[N,S]of Object.entries(n)){const E=l.setup_args[N];if(E.required&&!S){x.push(`${N} is required to have a value.`);continue}if(typeof S!==E.type){x.push(`${N} must be of type ${E.type}.`);continue}b.setup_args[N].value=S}if(x.length>0){x.forEach(N=>w(N,"error"));return}await C.experimentalFeatures.agentPlugins.updatePluginConfig(l.hubId,b),a(b),s(N=>N.map(S=>S.hubId===l.hubId?b:S)),w("Skill config updated successfully.","success"),c(!1)}return o.useEffect(()=>{c(JSON.stringify(n)!==JSON.stringify(Ke(t.setup_args)))},[n]),e.jsx(e.Fragment,{children:e.jsx("div",{className:"p-2",children:e.jsxs("div",{className:"flex flex-col gap-y-[18px] max-w-[500px]",children:[e.jsxs("div",{className:"flex w-full justify-between items-center",children:[e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx(ie,{size:24,weight:"bold",className:"text-white"}),e.jsx("label",{htmlFor:"name",className:"text-white text-md font-bold",children:st(l.name)})]}),e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx(te,{size:"lg",enabled:l.active,onChange:u}),e.jsx(ls,{config:l,setImportedSkills:s})]})]}),e.jsxs("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:[l.description," by"," ",e.jsx("a",{href:l.author_url,target:"_blank",rel:"noopener noreferrer",className:"text-white hover:underline",children:l.author})]}),g?e.jsxs("div",{className:"flex flex-col gap-y-2",children:[Object.entries(l.setup_args).map(([f,x])=>{var b,N,S,E,I;return e.jsxs("div",{className:"flex flex-col gap-y-1",children:[e.jsx("label",{htmlFor:f,className:"text-white text-sm font-bold",children:f}),e.jsx("input",{type:((b=x==null?void 0:x.input)==null?void 0:b.type)||"text",required:(N=x==null?void 0:x.input)==null?void 0:N.required,defaultValue:x.hasOwnProperty("value")?x.value:((S=x==null?void 0:x.input)==null?void 0:S.default)||"",onChange:U=>m({...n,[f]:U.target.value}),placeholder:((E=x==null?void 0:x.input)==null?void 0:E.placeholder)||"",className:"border-solid bg-transparent border border-white light:border-black rounded-md p-2 text-white text-sm"}),e.jsx("p",{className:"text-white text-opacity-60 text-xs font-medium py-1.5",children:(I=x==null?void 0:x.input)==null?void 0:I.hint})]},f)}),r&&e.jsx("button",{onClick:F,type:"button",className:"bg-blue-500 text-white light:text-white rounded-md p-2",children:"Save"})]}):e.jsx("p",{className:"text-white text-opacity-60 text-sm font-medium py-1.5",children:"There are no options to modify for this skill."})]})})})}function ls({config:t,setImportedSkills:s}){const[l,a]=o.useState(!1),r=o.useRef(null);async function c(){if(!window.confirm("Are you sure you want to delete this skill? This action cannot be undone."))return;await C.experimentalFeatures.agentPlugins.deletePlugin(t.hubId)?(s(m=>m.filter(g=>g.hubId!==t.hubId)),w("Skill deleted successfully.","success"),a(!1)):w("Failed to delete skill.","error")}return o.useEffect(()=>{const n=m=>{r.current&&!r.current.contains(m.target)&&a(!1)};return document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}},[]),t.hubId?e.jsxs("div",{className:"relative",ref:r,children:[e.jsx("button",{type:"button",onClick:()=>a(!l),className:"p-1.5 rounded-lg text-white hover:bg-theme-action-menu-item-hover transition-colors duration-300",children:e.jsx(me,{className:"h-5 w-5",weight:"bold"})}),l&&e.jsx("div",{className:"absolute w-[100px] -top-1 left-7 mt-1 border-[1.5px] border-white/40 rounded-lg bg-theme-action-menu-bg flex flex-col shadow-[0_4px_14px_rgba(0,0,0,0.25)] text-white z-99 md:z-10",children:e.jsx("button",{type:"button",onClick:c,className:"border-none flex items-center rounded-lg gap-x-2 hover:bg-theme-action-menu-item-hover py-1.5 px-2 transition-colors duration-200 w-full text-left",children:e.jsx("span",{className:"text-sm",children:"Delete Skill"})})})]}):null}function Xe({flows:t=[],selectedFlow:s,handleClick:l,activeFlowIds:a=[]}){return t.length===0?e.jsxs("div",{className:"text-theme-text-secondary text-center text-xs flex flex-col gap-y-2",children:[e.jsx("p",{children:"No agent flows found"}),e.jsx("a",{href:"https://docs.anythingllm.com/agent-flows/getting-started",target:"_blank",className:"text-theme-text-secondary underline hover:text-cta-button",rel:"noreferrer",children:"Learn more about Agent Flows."})]}):e.jsx("div",{className:"bg-theme-bg-secondary text-white rounded-xl w-full md:min-w-[360px]",children:t.map((r,c)=>e.jsxs("div",{className:`py-3 px-4 flex items-center justify-between ${c===0?"rounded-t-xl":""} ${c===t.length-1?"rounded-b-xl":"border-b border-white/10"} cursor-pointer transition-all duration-300 hover:bg-theme-bg-primary ${(s==null?void 0:s.uuid)===r.uuid?"bg-white/10 light:bg-theme-bg-sidebar":""}`,onClick:()=>l==null?void 0:l(r),children:[e.jsx("div",{className:"text-sm font-light",children:r.name}),e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx("div",{className:"text-sm text-theme-text-secondary font-medium",children:a.includes(r.uuid)?"On":"Off"}),e.jsx(de,{size:14,weight:"bold",className:"text-theme-text-secondary"})]})]},r.uuid))})}function ns({flow:t,onDelete:s}){const[l,a]=o.useState(!1),r=o.useRef(null),c=gt();async function n(){if(a(!1),!window.confirm("Are you sure you want to delete this flow? This action cannot be undone."))return;const{success:m,error:g}=await ue.deleteFlow(t.uuid);m?(w("Flow deleted successfully.","success"),s(t.uuid)):w(g||"Failed to delete flow.","error")}return o.useEffect(()=>{if(!l)return;const m=g=>{r.current&&!r.current.contains(g.target)&&a(!1)};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[l]),e.jsxs("div",{className:"relative",ref:r,children:[e.jsx("button",{type:"button",onClick:()=>a(!l),className:"p-1.5 rounded-lg text-white hover:bg-theme-action-menu-item-hover transition-colors duration-300",children:e.jsx(me,{className:"h-5 w-5",weight:"bold"})}),l&&e.jsxs("div",{className:"absolute min-w-[140px] top-full right-0 mt-1 border-[1.5px] border-white/40 rounded-lg bg-theme-action-menu-bg flex flex-col shadow-[0_4px_14px_rgba(0,0,0,0.25)] text-white z-99 md:z-10",children:[e.jsx("button",{type:"button",onClick:()=>c(re.agents.editAgent(t.uuid)),className:"border-none flex items-center rounded-lg gap-x-2 hover:bg-theme-action-menu-item-hover py-1.5 px-2 transition-colors duration-200 w-full text-left",children:e.jsx("span",{className:"text-sm whitespace-nowrap",children:"Edit Flow"})}),e.jsx("button",{type:"button",onClick:n,className:"border-none flex items-center rounded-lg gap-x-2 hover:bg-theme-action-menu-item-hover py-1.5 px-2 transition-colors duration-200 w-full text-left",children:e.jsx("span",{className:"text-sm whitespace-nowrap",children:"Delete Flow"})})]})]})}function ne({flow:t,toggleFlow:s,enabled:l,onDelete:a}){const r=async()=>{try{const{success:c,error:n}=await ue.toggleFlow(t.uuid,!l);if(!c)throw new Error(n);s(t.uuid)}catch(c){console.error("Failed to toggle flow:",c),w("Failed to toggle flow","error",{clear:!0})}};return e.jsx(e.Fragment,{children:e.jsx("div",{className:"p-2",children:e.jsxs("div",{className:"flex flex-col gap-y-[18px] max-w-[500px]",children:[e.jsxs("div",{className:"flex w-full justify-between items-center",children:[e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx(ee,{size:24,weight:"bold",className:"text-white"}),e.jsx("label",{htmlFor:"name",className:"text-white text-md font-bold",children:t.name})]}),e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx(te,{size:"lg",enabled:l,onChange:r}),e.jsx(ns,{flow:t,onDelete:a})]})]}),e.jsx("p",{className:"whitespace-pre-wrap text-white text-opacity-60 text-xs font-medium py-1.5",children:t.description||"No description provided"})]})})})}const ct="/mcp-logo.svg";function Ye({setMcpServers:t,setSelectedMcpServer:s,children:l}){const{t:a}=_(),[r,c]=o.useState(!1);o.useEffect(()=>{async function m(){c(!0);const{servers:g=[]}=await J.listServers();t(g),c(!1)}m()},[]);const n=()=>{window.confirm("Are you sure you want to refresh the list of MCP servers? This will restart all MCP servers and reload their tools.")&&(c(!0),J.forceReload().then(({servers:m=[]})=>{s(null),t(m)}).catch(m=>{console.error(m),w("Failed to refresh MCP servers.","error",{clear:!0})}).finally(()=>{c(!1)}))};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"text-theme-text-primary flex items-center justify-between gap-x-2 mt-4",children:[e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx("img",{src:ct,className:"w-6 h-6 light:invert",alt:"MCP Logo"}),e.jsx("p",{className:"text-lg font-medium",children:a("agent.mcp.title")})]}),e.jsxs("div",{className:"flex items-center gap-x-3",children:[e.jsx("a",{href:"https://docs.anythingllm.com/mcp-compatibility/overview",target:"_blank",rel:"noopener noreferrer",className:"border-none text-theme-text-secondary hover:text-cta-button",children:e.jsx(it,{size:16})}),e.jsxs("button",{type:"button",onClick:n,disabled:r,className:"border-none text-theme-text-secondary hover:text-cta-button flex items-center gap-x-1",children:[e.jsx(ft,{size:16,className:r?"animate-spin":""}),e.jsx("p",{className:"text-sm",children:r?`${a("common.loading")}...`:a("common.refresh")})]})]})]}),l({loadingMcpServers:r})]})}function et({isLoading:t=!1,servers:s=[],selectedServer:l,handleClick:a}){const{t:r}=_();return t?e.jsxs("div",{className:"text-theme-text-secondary text-center text-xs flex flex-col gap-y-2",children:[e.jsxs("p",{children:[r("agent.mcp.loading-from-config"),"..."]}),e.jsx("a",{href:"https://docs.anythingllm.com/mcp-compatibility/overview",target:"_blank",rel:"noopener noreferrer",className:"text-theme-text-secondary underline hover:text-cta-button",children:r("agent.mcp.learn-more")})]}):s.length===0?e.jsxs("div",{className:"text-theme-text-secondary text-center text-xs flex flex-col gap-y-2",children:[e.jsx("p",{children:r("agent.mcp.no-servers-found")}),e.jsx("a",{href:"https://docs.anythingllm.com/mcp-compatibility/overview",target:"_blank",rel:"noopener noreferrer",className:"text-theme-text-secondary underline hover:text-cta-button",children:r("agent.mcp.learn-more")})]}):e.jsxs("div",{className:"bg-theme-bg-secondary text-white rounded-xl w-full md:min-w-[360px]",children:[s.map((c,n)=>e.jsx(as,{server:c,isFirst:n===0,isLast:n===s.length-1,isSelected:(l==null?void 0:l.name)===c.name,handleClick:()=>a==null?void 0:a(c)},c.name)),e.jsx(lt,{id:"mcp-server-warning",place:"bottom",delayShow:300,className:"tooltip !text-xs",content:r("agent.mcp.tool-warning")})]})}function as({server:t,isFirst:s,isLast:l,isSelected:a,handleClick:r}){var F,f;const{t:c}=_(),n=((f=(F=t.config)==null?void 0:F.anythingllm)==null?void 0:f.suppressedTools)||[],g=t.tools.length-n.length>10,u=t.running;return e.jsxs("div",{className:`py-3 px-4 flex items-center justify-between ${s?"rounded-t-xl":""} ${l?"rounded-b-xl":"border-b border-white/10"} cursor-pointer transition-all duration-300 hover:bg-theme-bg-primary ${a?"bg-white/10 light:bg-theme-bg-sidebar":""}`,onClick:r,children:[e.jsxs("div",{className:"flex items-center gap-x-2 text-sm font-light",children:[g&&e.jsx(nt,{"data-tooltip-id":"mcp-server-warning",className:"h-4 w-4 text-yellow-500"}),at(t.name.replace(/[_-]/g," "))]}),e.jsx("div",{className:"flex items-center gap-x-2",children:e.jsx("div",{className:`text-sm text-theme-text-secondary font-medium ${u?"text-green-500":"text-red-500"}`,children:c(u?"common.on":"common.stopped")})})]})}function rs({server:t,toggleServer:s,onDelete:l}){const{t:a}=_(),[r,c]=o.useState(!1),[n,m]=o.useState(t.running),g=o.useRef(null);async function u(){if(!window.confirm("Are you sure you want to delete this MCP server? It will be removed from your config file and you will need to add it back manually."))return;const{success:f,error:x}=await J.deleteServer(t.name);f?(w("MCP server deleted successfully.","success"),l(t.name)):w(x||"Failed to delete MCP server.","error")}async function F(){if(!window.confirm(n?"Are you sure you want to stop this MCP server? It will be started automatically when you next start the server.":"Are you sure you want to start this MCP server? It will be started automatically when you next start the server."))return;const{success:f,error:x}=await J.toggleServer(t.name);if(f){const b=!n;m(b),s(t.name),w(`MCP server ${t.name} ${b?"started":"stopped"} successfully.`,"success",{clear:!0})}else w(x||"Failed to toggle MCP server.","error",{clear:!0})}return o.useEffect(()=>{const f=x=>{g.current&&!g.current.contains(x.target)&&c(!1)};return document.addEventListener("mousedown",f),()=>{document.removeEventListener("mousedown",f)}},[]),e.jsxs("div",{className:"relative",ref:g,children:[e.jsx("button",{type:"button",onClick:()=>c(!r),className:"p-1.5 rounded-lg text-white hover:bg-theme-action-menu-item-hover transition-colors duration-300",children:e.jsx(me,{className:"h-5 w-5",weight:"bold"})}),r&&e.jsxs("div",{className:"absolute w-[150px] top-1 left-7 mt-1 border-[1.5px] border-white/40 rounded-lg bg-theme-action-menu-bg flex flex-col shadow-[0_4px_14px_rgba(0,0,0,0.25)] text-white z-99 md:z-10",children:[e.jsx("button",{type:"button",onClick:F,className:"border-none flex items-center rounded-lg gap-x-2 hover:bg-theme-action-menu-item-hover py-1.5 px-2 transition-colors duration-200 w-full text-left",children:e.jsx("span",{className:"text-sm",children:a(n?"agent.mcp.stop-server":"agent.mcp.start-server")})}),e.jsx("button",{type:"button",onClick:u,className:"border-none flex items-center rounded-lg gap-x-2 hover:bg-theme-action-menu-item-hover py-1.5 px-2 transition-colors duration-200 w-full text-left",children:e.jsx("span",{className:"text-sm",children:a("agent.mcp.delete-server")})})]})]})}function ae({server:t,toggleServer:s,onDelete:l,onToggleTool:a}){var m,g;const{t:r}=_(),c=((g=(m=t.config)==null?void 0:m.anythingllm)==null?void 0:g.suppressedTools)||[],n=t.tools.filter(u=>!c.includes(u.name)).length;return e.jsx(e.Fragment,{children:e.jsx("div",{className:"p-2",children:e.jsxs("div",{className:"flex flex-col gap-y-[18px] max-w-[800px]",children:[e.jsx(is,{server:t,enabledToolCount:n}),e.jsxs("div",{className:"flex w-full justify-between",children:[e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx("img",{src:ct,className:"w-6 h-6 light:invert"}),e.jsx("label",{htmlFor:"name",className:"text-white text-md font-bold",children:at(t.name.replace(/[_-]/g," "))}),t.tools.length>0&&e.jsxs("p",{className:"text-theme-text-secondary text-sm",children:[n,"/",t.tools.length," ",r("agent.mcp.tools-enabled")]})]}),e.jsx(rs,{server:t,toggleServer:s,onDelete:l},t.name)]}),e.jsx(cs,{config:t.config}),e.jsx(os,{server:t}),e.jsx(ds,{serverName:t.name,tools:t.tools,suppressedTools:c,onToggleTool:a})]})})})}function is({server:t,enabledToolCount:s}){return t.tools.length<=10||s<=10?null:e.jsxs("div",{className:"flex items-center gap-x-2 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[e.jsx(nt,{className:"h-5 w-5 text-yellow-500 shrink-0",weight:"fill"}),e.jsx("p",{className:"text-yellow-500 text-sm",children:e.jsx(Zt,{i18nKey:"agent.mcp.tool-count-warning",values:{count:s},components:{b:e.jsx("b",{}),br:e.jsx("br",{})}})})]})}function cs({config:t=null}){const{t:s}=_();return t?e.jsxs("div",{className:"flex flex-col gap-y-2",children:[e.jsx("p",{className:"text-theme-text-primary text-sm",children:s("agent.mcp.startup-command")}),e.jsxs("div",{className:"bg-theme-bg-primary rounded-lg p-4",children:[e.jsxs("p",{className:"text-theme-text-secondary text-sm text-left",children:[e.jsxs("span",{className:"font-bold",children:[s("agent.mcp.command"),":"]})," ",t.command]}),e.jsxs("p",{className:"text-theme-text-secondary text-sm text-left",children:[e.jsxs("span",{className:"font-bold",children:[s("agent.mcp.arguments"),":"]})," ",t.args?t.args.join(" "):s("common.none")]})]})]}):null}function os({server:t}){const{t:s}=_();return t.running||!t.error?null:e.jsxs("div",{className:"flex flex-col gap-y-2",children:[e.jsx("p",{className:"text-theme-text-primary text-sm",children:s("agent.mcp.not-running-warning")}),e.jsx("div",{className:"bg-theme-bg-primary rounded-lg p-4",children:e.jsx("p",{className:"text-red-500 text-sm font-mono",children:t.error})})]})}function ds({serverName:t,tools:s=[],suppressedTools:l=[],onToggleTool:a}){return s.length===0?null:e.jsx("div",{className:"flex flex-col gap-y-2",children:e.jsx("div",{className:"flex flex-col gap-y-2",children:s.map(r=>e.jsx(ms,{serverName:t,tool:r,enabled:!l.includes(r.name),onToggle:a},r.name))})})}function ms({serverName:t,tool:s,enabled:l,onToggle:a}){var m;const{t:r}=_(),[c,n]=o.useState(!1);return e.jsxs("button",{type:"button",onClick:()=>n(!c),className:`flex flex-col gap-y-2 px-4 py-2 rounded-lg border ${l?"border-theme-text-secondary":"border-theme-text-secondary/50 opacity-60"}`,children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-x-2 min-w-0 flex-1",children:[e.jsx(pt,{size:"md",enabled:l,onChange:g=>a==null?void 0:a(t,s.name,g)}),e.jsx("p",{className:"text-theme-text-primary font-mono font-bold text-sm shrink-0",children:s.name}),!c&&e.jsx("p",{className:"text-theme-text-secondary text-sm truncate",children:s.description})]}),e.jsx("div",{className:"flex items-center gap-x-3",children:e.jsx("div",{className:`border-none text-theme-text-secondary hover:text-cta-button transition-transform duration-200 ${c?"rotate-180":""}`,children:e.jsx(bt,{size:16})})})]}),c&&e.jsxs("div",{className:"flex flex-col gap-y-2",children:[e.jsx("div",{className:"flex flex-col gap-y-2",children:e.jsx("p",{className:"text-theme-text-secondary text-sm text-left",children:s.description})}),e.jsxs("div",{className:"flex flex-col gap-y-2",children:[e.jsx("p",{className:"text-theme-text-primary text-sm text-left",children:r("agent.mcp.tool-call-arguments")}),e.jsx("div",{className:"flex flex-col gap-y-2",children:Object.entries(((m=s.inputSchema)==null?void 0:m.properties)||{}).map(([g,u])=>{var F,f;return e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsxs("p",{className:"text-theme-text-secondary text-sm text-left font-bold",children:[g,((f=(F=s.inputSchema)==null?void 0:F.required)==null?void 0:f.includes(g))&&e.jsx("sup",{className:"text-red-500",children:"*"})]}),e.jsx("p",{className:"text-theme-text-secondary text-sm text-left",children:u.type})]},g)})})]})]})]})}function xs(){const{t}=_(),[s,l]=o.useState(10),[a,r]=o.useState(!0),c=o.useMemo(()=>xe(async n=>{await C.updateSystem({AgentSkillMaxToolCalls:n.toString()})},800),[]);return o.useEffect(()=>{C.keys().then(n=>{l(parseInt(n.AgentSkillMaxToolCalls))}).finally(()=>{r(!1)})},[]),o.useEffect(()=>()=>c.cancel(),[c]),e.jsx("div",{className:"flex flex-col gap-y-2 mt-4",children:e.jsxs("div",{className:"flex items-center gap-x-4 mt-2",children:[e.jsxs("div",{className:"flex flex-col gap-y-1 flex-1",children:[e.jsx("label",{className:"block text-md font-medium text-white",children:t("agent.settings.max-tool-calls.title")}),e.jsx("p",{className:"text-xs text-white/60",children:t("agent.settings.max-tool-calls.description")})]}),e.jsx("input",{type:"number",name:"agentSkillMaxToolCalls",min:1,value:s,disabled:a,onChange:n=>{n.target.value<1||(c(n.target.value),l(parseInt(n.target.value)))},onWheel:n=>n.target.blur(),className:"border border-white/10 bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-[80px] p-2.5 text-center",placeholder:"10",autoComplete:"off"})]})})}function us(){const{t}=_(),[s,l]=o.useState(!1),[a,r]=o.useState(3),[c,n]=o.useState(!0),m=o.useMemo(()=>xe(async u=>{await G.updateSystemPreferences({agent_clarifying_questions_max_per_turn:String(u)})},800),[]);o.useEffect(()=>{C.keys().then(u=>{l(!!u.AgentClarifyingQuestionsEnabled),r(parseInt(u.AgentClarifyingQuestionsMaxPerTurn)||3)}).finally(()=>n(!1))},[]),o.useEffect(()=>()=>{m.cancel()},[m]);async function g(u){l(u),await G.updateSystemPreferences({agent_clarifying_questions_enabled:String(u)})}return e.jsxs("div",{className:"flex flex-col gap-y-4",children:[e.jsx("div",{className:"flex items-center gap-x-1",children:e.jsxs("label",{className:"block text-md font-medium text-white flex items-center gap-x-1",children:[t("agent.settings.clarifying-questions.title")," ",e.jsx("i",{className:"ml-1 text-xs text-white pl-2 bg-blue-500/40 rounded-md px-2 py-0.5",children:t("agent.settings.clarifying-questions.beta-badge")})]})}),e.jsxs("div",{className:"flex items-center gap-x-4",children:[e.jsx("p",{className:"text-xs text-white/60",children:t("agent.settings.clarifying-questions.description")}),c?e.jsx(rt,{size:16,className:"shrink-0 animate-spin text-theme-text-primary"}):e.jsx(te,{size:"lg",name:"agentClarifyingQuestionsEnabled",enabled:s,onChange:g})]}),s&&e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex items-center gap-x-4",children:[e.jsxs("div",{className:"flex flex-col gap-y-1 flex-1",children:[e.jsx("label",{className:"block text-md font-medium text-white",children:t("agent.settings.clarifying-questions.max-per-turn.title")}),e.jsx("p",{className:"text-xs text-white/60",children:t("agent.settings.clarifying-questions.max-per-turn.description")})]}),e.jsx("input",{type:"number",name:"agentClarifyingQuestionsMaxPerTurn",min:1,value:a,onChange:u=>{u.target.value<1||(m(u.target.value),r(parseInt(u.target.value)))},onWheel:u=>u.target.blur(),className:"border border-white/10 bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-[80px] p-2.5 text-center",placeholder:"3",autoComplete:"off"})]})})]})}function hs(){const{t}=_(),[s,l]=o.useState(!1),[a,r]=o.useState(15),[c,n]=o.useState(!0),m=o.useMemo(()=>xe(async u=>{await C.updateSystem({AgentSkillRerankerTopN:u.toString()})},800),[]);o.useEffect(()=>{C.keys().then(u=>{l(u.AgentSkillRerankerEnabled),r(parseInt(u.AgentSkillRerankerTopN))}).finally(()=>{n(!1)})},[]),o.useEffect(()=>()=>m.cancel(),[m]);async function g(u){l(u),await C.updateSystem({AgentSkillRerankerEnabled:String(u)})}return e.jsxs("div",{className:"flex flex-col gap-y-4",children:[e.jsx("div",{className:"flex items-center gap-x-1",children:e.jsxs("label",{className:"block text-md font-medium text-white flex items-center gap-x-1",children:[t("agent.settings.intelligent-skill-selection.title")," ",e.jsx("i",{className:"ml-1 text-xs text-white pl-2 bg-blue-500/40 rounded-md px-2 py-0.5",children:t("agent.settings.intelligent-skill-selection.beta-badge")})]})}),e.jsxs("div",{className:"flex items-center gap-x-4",children:[e.jsx("p",{className:"text-xs text-white/60",children:t("agent.settings.intelligent-skill-selection.description")}),c?e.jsx(rt,{size:16,className:"shrink-0 animate-spin text-theme-text-primary"}):e.jsx(te,{size:"lg",name:"agentSkillRerankerEnabled",enabled:s,onChange:g})]}),s&&e.jsxs("div",{className:"flex items-center gap-x-4",children:[e.jsxs("div",{className:"flex flex-col gap-y-1 flex-1",children:[e.jsx("label",{className:"block text-md font-medium text-white",children:t("agent.settings.intelligent-skill-selection.max-tools.title")}),e.jsx("p",{className:"text-xs text-white/60",children:t("agent.settings.intelligent-skill-selection.max-tools.description")})]}),e.jsx("input",{type:"number",name:"agentSkillRerankerTopN",min:10,value:a,onChange:u=>{u.target.value<10||(m(u.target.value),r(parseInt(u.target.value)))},onWheel:u=>u.target.blur(),className:"border border-white/10 bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-[80px] p-2.5 text-center",placeholder:"15",autoComplete:"off"})]})]})}function gs(){const{isOpen:t,openModal:s,closeModal:l}=jt();return e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:s,className:"w-10 h-10 flex items-center justify-center light:border-black/10 light:border-solid border-none light:!border rounded-lg transition-colors outline-none bg-transparent hover:bg-theme-bg-secondary",children:e.jsx(kt,{size:24,className:"text-theme-text-secondary"})}),e.jsx(fs,{isOpen:t,closeModal:l})]})}function fs({isOpen:t,closeModal:s}){const{t:l}=_();return t?e.jsx(yt,{isOpen:t,children:e.jsxs("div",{className:"w-[500px] bg-theme-bg-sidebar px-6 py-4 rounded-lg flex flex-col items-center justify-between relative shadow-lg border border-white/10",children:[e.jsxs("div",{className:"w-full flex items-center justify-between",children:[e.jsx("div",{className:"text-white text-left font-medium text-lg",children:l("agent.settings.title")}),e.jsx("button",{onClick:s,className:"text-white opacity-60 hover:text-white hover:opacity-100 border-none outline-none",children:e.jsx(vt,{size:20})})]}),e.jsx("div",{className:"flex flex-col w-full",children:e.jsxs("div",{className:"flex flex-col gap-y-5 w-full",children:[e.jsx(xs,{}),e.jsx("div",{className:"border-b border-white/10 h-[1px] w-full"}),e.jsx(hs,{}),e.jsx("div",{className:"border-b border-white/10 h-[1px] w-full"}),e.jsx(us,{})]})})]})}):null}const ps=["agentSkillRerankerEnabled","agentSkillRerankerTopN","agentSkillMaxToolCalls","agentClarifyingQuestionsEnabled","agentClarifyingQuestionsMaxPerTurn"];function Hs(){var Me,Ce,Ee,_e,Fe,Ze,He,Oe,Pe,Ve,Le,Te,$e,Ie,ze;const{t}=_(),s=o.useRef(null),[l,a]=o.useState(!1),[r,c]=o.useState({}),[n,m]=o.useState(""),[g,u]=o.useState(!0),[F,f]=o.useState(!1),[x,b]=o.useState([]),[N,S]=o.useState([]),[E,I]=o.useState([]),[U,he]=o.useState([]),[H,W]=o.useState(null),[z,se]=o.useState([]),[ge,Q]=o.useState([]),[T,P]=o.useState(null),[ot,dt]=o.useState(!1),[mt,xt]=o.useState(!1),j=At(t),ut=Mt(t,{fileSystemAgentAvailable:ot,createFilesAgentAvailable:mt}),ht=Ct(t),fe=(r==null?void 0:r.MultiUserMode)??!1,pe=([d,h])=>h.mode?!(h.mode.includes("singleUserOnly")&&fe||h.mode.includes("multiUserOnly")&&!fe):!0,y=Object.fromEntries(Object.entries(ut).filter(pe)),O=Object.fromEntries(Object.entries(ht).filter(pe));o.useEffect(()=>{const d=h=>{l&&(h.preventDefault(),h.returnValue="")};return window.addEventListener("beforeunload",d),()=>{window.removeEventListener("beforeunload",d)}},[l]),o.useEffect(()=>{async function d(){var M,V,q;const[h,p,v,$,D]=await Promise.all([C.keys(),G.systemPreferencesByFields(["disabled_agent_skills","default_agent_skills","imported_agent_skills","active_agent_flows"]),ue.listFlows(),C.isFileSystemAgentAvailable(),C.isCreateFilesAgentAvailable()]),{flows:A=[]}=v;c({...h,preferences:p.settings}),b(((M=p.settings)==null?void 0:M.default_agent_skills)??[]),I(((V=p.settings)==null?void 0:V.disabled_agent_skills)??[]),S(((q=p.settings)==null?void 0:q.imported_agent_skills)??[]),se(A.filter(Z=>Z.active).map(Z=>Z.uuid)),he(A),dt($),xt(D),u(!1)}d()},[]);const be=d=>{I(h=>{const p=h.includes(d)?h.filter(v=>v!==d):[...h,d];return a(!0),p})},K=d=>{b(h=>{const p=h.includes(d)?h.filter(v=>v!==d):[...h,d];return a(!0),p})},je=d=>{se(h=>h.includes(d)?h.filter(v=>v!==d):[...h,d])},ye=d=>{Q(h=>h.map(p=>p.name!==d?p:{...p,running:!p.running}))},X=async d=>{var A,M,V;d.preventDefault();const h={workspace:{},system:{},env:{}},p=new FormData(s.current);for(var[v,$]of p.entries()){if(v.startsWith("system::")){const[q,Z]=v.split("system::");h.system[Z]=String($);continue}if(v.startsWith("env::")){const[q,Z]=v.split("env::");h.env[Z]=String($);continue}h.workspace[v]=_t(v,$)}const{success:D}=await G.updateSystemPreferences(h.system);if(await C.updateSystem(h.env),D){const q=await C.keys(),Z=await G.systemPreferencesByFields(["disabled_agent_skills","default_agent_skills","imported_agent_skills"]);c({...q,preferences:Z.settings}),b(((A=Z.settings)==null?void 0:A.default_agent_skills)??[]),I(((M=Z.settings)==null?void 0:M.disabled_agent_skills)??[]),S(((V=Z.settings)==null?void 0:V.imported_agent_skills)??[]),w("Agent preferences saved successfully.","success",{clear:!0})}else w("Agent preferences failed to save.","error",{clear:!0});a(!1)};let k=null;H?k=ne:T?k=ae:n!=null&&n.imported?k=le:y[n]?k=(Me=y[n])==null?void 0:Me.component:O[n]?k=(Ce=O[n])==null?void 0:Ce.component:k=(Ee=j[n])==null?void 0:Ee.component;const ve=d=>{W(null),P(null),m(d),L&&f(!0)},R=d=>{W(null),P(null),m(d),L&&f(!0)},we=d=>{m(null),P(null),W(d),L&&f(!0)},Ne=d=>{m(null),W(null),P(d),L&&f(!0)},Se=d=>{W(null),se(h=>h.filter(p=>p!==d)),he(h=>h.filter(p=>p.uuid!==d))},ke=d=>{P(null),Q(h=>h.filter(p=>p.name!==d))},Ae=async(d,h,p)=>{const{success:v,error:$,suppressedTools:D}=await J.toggleTool(d,h,p);if(!v){w($||"Failed to toggle tool.","error",{clear:!0});return}Q(A=>A.map(M=>{var V;return M.name!==d?M:{...M,config:{...M.config,anythingllm:{...(V=M.config)==null?void 0:V.anythingllm,suppressedTools:D}}}})),P(A=>{var M;return!A||A.name!==d?A:{...A,config:{...A.config,anythingllm:{...(M=A.config)==null?void 0:M.anythingllm,suppressedTools:D}}}})};return g?e.jsx("div",{style:{height:L?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] w-full h-full flex justify-center items-center",children:e.jsx(wt,{})}):L?e.jsx(tt,{hasChanges:l,handleCancel:()=>a(!1),handleSubmit:X,children:e.jsxs("form",{onSubmit:X,onChange:()=>!H&&a(!0),ref:s,className:"flex flex-col w-full p-4 mt-10",children:[e.jsx("input",{name:"system::default_agent_skills",type:"hidden",value:x.join(",")}),e.jsx("input",{name:"system::disabled_agent_skills",type:"hidden",value:E.join(",")}),e.jsxs("div",{hidden:F,className:"flex flex-col gap-y-[18px] overflow-y-scroll no-scroll",children:[e.jsxs("div",{className:"text-theme-text-primary flex items-center gap-x-2",children:[e.jsx(Y,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"Agent Skills"})]}),e.jsx(B,{skills:j,selectedSkill:n,handleClick:ve,activeSkills:Object.keys(j).filter(d=>!E.includes(d))}),e.jsx(B,{skills:y,selectedSkill:n,handleClick:ve,activeSkills:x}),e.jsxs("div",{className:"text-theme-text-primary flex items-center gap-x-2 mt-6",children:[e.jsx(ce,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"App Integrations"})]}),e.jsx(B,{skills:O,selectedSkill:n,handleClick:R,activeSkills:x}),e.jsxs("div",{className:"text-theme-text-primary flex items-center gap-x-2",children:[e.jsx(ie,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"Custom Skills"})]}),e.jsx(Je,{skills:N,selectedSkill:n,handleClick:R}),e.jsxs("div",{className:"text-theme-text-primary flex items-center gap-x-2 mt-6",children:[e.jsx(ee,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"Agent Flows"})]}),e.jsx(Xe,{flows:U,selectedFlow:H,handleClick:we,activeFlowIds:z}),e.jsx("input",{type:"hidden",name:"system::active_agent_flows",id:"active_agent_flows",value:z.join(",")}),e.jsx(Ye,{setMcpServers:Q,setSelectedMcpServer:P,children:({loadingMcpServers:d})=>e.jsx(et,{isLoading:d,servers:ge,selectedServer:T,handleClick:Ne})})]}),F&&e.jsx("div",{className:"fixed top-0 left-0 w-full h-full bg-sidebar z-30",children:e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsx("div",{className:"flex items-center p-4",children:e.jsx("button",{type:"button",onClick:()=>{f(!1),m("")},className:"text-white/60 hover:text-white transition-colors duration-200",children:e.jsxs("div",{className:"flex items-center text-sky-400",children:[e.jsx(Nt,{size:24}),e.jsx("div",{children:"Back"})]})})}),e.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e.jsx("div",{className:" bg-theme-bg-secondary text-white rounded-xl p-4 overflow-y-scroll overflow-x-visible no-scroll",children:k?e.jsx(e.Fragment,{children:T?e.jsx(ae,{server:T,toggleServer:ye,onDelete:ke,onToggleTool:Ae}):H?e.jsx(ne,{flow:H,toggleFlow:je,enabled:z.includes(H.uuid),onDelete:Se}):n.imported?e.jsx(le,{selectedSkill:n,setImportedSkills:S},n.hubId):e.jsx(e.Fragment,{children:j!=null&&j[n]?e.jsx(k,{skill:(_e=j[n])==null?void 0:_e.skill,settings:r,toggleSkill:be,enabled:!E.includes((Fe=j[n])==null?void 0:Fe.skill),setHasChanges:a,...j[n]}):y!=null&&y[n]?e.jsx(k,{skill:(Ze=y[n])==null?void 0:Ze.skill,settings:r,toggleSkill:K,enabled:x.includes((He=y[n])==null?void 0:He.skill),setHasChanges:a,hasChanges:l,...y[n]}):e.jsx(k,{skill:(Oe=O[n])==null?void 0:Oe.skill,settings:r,toggleSkill:K,enabled:x.includes((Pe=O[n])==null?void 0:Pe.skill),setHasChanges:a,hasChanges:l,...O[n]})})}):e.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-theme-text-secondary",children:[e.jsx(Y,{size:40}),e.jsx("p",{className:"font-medium",children:"Select an Agent Skill, Agent Flow, or MCP Server"})]})})})]})})]})}):e.jsx(tt,{hasChanges:l,handleCancel:()=>a(!1),handleSubmit:X,children:e.jsxs("form",{onSubmit:X,onChange:d=>{ps.includes(d.target.name)||!(n!=null&&n.imported)&&!H&&a(!0)},ref:s,className:"flex-1 flex gap-x-6 p-4 mt-10",children:[e.jsx("input",{name:"system::default_agent_skills",type:"hidden",value:x.join(",")}),e.jsx("input",{name:"system::disabled_agent_skills",type:"hidden",value:E.join(",")}),e.jsx("input",{type:"hidden",name:"system::active_agent_flows",id:"active_agent_flows",value:z.join(",")}),e.jsxs("div",{className:"flex flex-col min-w-[360px] h-[calc(100vh-90px)]",children:[e.jsxs("div",{className:"flex-none flex justify-between items-center mb-4",children:[e.jsxs("div",{className:"text-theme-text-primary flex items-center gap-x-2",children:[e.jsx(Y,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"Agent Skills"})]}),e.jsx(gs,{})]}),e.jsx("div",{className:"flex-1 overflow-y-auto pr-2 pb-4",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(B,{skills:j,selectedSkill:n,handleClick:R,activeSkills:Object.keys(j).filter(d=>!E.includes(d))}),e.jsx(B,{skills:y,selectedSkill:n,handleClick:R,activeSkills:x}),e.jsxs("div",{className:"text-theme-text-primary flex items-center gap-x-2 mt-6",children:[e.jsx(ce,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"App Integrations"})]}),e.jsx(B,{skills:O,selectedSkill:n,handleClick:R,activeSkills:x}),e.jsxs("div",{className:"text-theme-text-primary flex items-center gap-x-2 mt-4",children:[e.jsx(ie,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"Custom Skills"})]}),e.jsx(Je,{skills:N,selectedSkill:n,handleClick:R}),e.jsxs("div",{className:"text-theme-text-primary flex items-center justify-between gap-x-2 mt-4",children:[e.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsx(ee,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"Agent Flows"})]}),U.length===0?e.jsxs(Re,{to:re.agents.builder(),className:"text-cta-button flex items-center gap-x-1 hover:underline",children:[e.jsx(De,{size:16}),e.jsx("p",{className:"text-sm",children:"Create Flow"})]}):e.jsxs(Re,{to:re.agents.builder(),className:"text-theme-text-secondary hover:text-cta-button flex items-center gap-x-1",children:[e.jsx(De,{size:16}),e.jsx("p",{className:"text-sm",children:"Open Builder"})]})]}),e.jsx(Xe,{flows:U,selectedFlow:H,handleClick:we,activeFlowIds:z}),e.jsx(Ye,{setMcpServers:Q,setSelectedMcpServer:P,children:({loadingMcpServers:d})=>e.jsx(et,{isLoading:d,servers:ge,selectedServer:T,handleClick:Ne})})]})})]}),e.jsx("div",{className:"flex-[2] flex flex-col gap-y-[18px] mt-10",children:e.jsx("div",{className:"bg-theme-bg-secondary text-white rounded-xl flex-1 p-4 overflow-y-scroll overflow-x-visible no-scroll",children:k?e.jsx(e.Fragment,{children:T?e.jsx(ae,{server:T,toggleServer:ye,onDelete:ke,onToggleTool:Ae}):H?e.jsx(ne,{flow:H,toggleFlow:je,enabled:z.includes(H.uuid),onDelete:Se}):n.imported?e.jsx(le,{selectedSkill:n,setImportedSkills:S},n.hubId):e.jsx(e.Fragment,{children:j!=null&&j[n]?e.jsx(k,{skill:(Ve=j[n])==null?void 0:Ve.skill,settings:r,toggleSkill:be,enabled:!E.includes((Le=j[n])==null?void 0:Le.skill),setHasChanges:a,...j[n]}):y!=null&&y[n]?e.jsx(k,{skill:(Te=y[n])==null?void 0:Te.skill,settings:r,toggleSkill:K,enabled:x.includes(($e=y[n])==null?void 0:$e.skill),setHasChanges:a,hasChanges:l,...y[n]}):e.jsx(k,{skill:(Ie=O[n])==null?void 0:Ie.skill,settings:r,toggleSkill:K,enabled:x.includes((ze=O[n])==null?void 0:ze.skill),setHasChanges:a,hasChanges:l,...O[n]})})}):e.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-theme-text-secondary",children:[e.jsx(Y,{size:40}),e.jsx("p",{className:"font-medium",children:"Select an Agent Skill, Agent Flow, or MCP Server"})]})})})]})})}function tt({children:t,hasChanges:s,handleSubmit:l,handleCancel:a}){return e.jsxs("div",{id:"workspace-agent-settings-container",className:"w-screen h-screen overflow-hidden bg-theme-bg-container flex md:mt-0 mt-6",children:[e.jsx(St,{}),e.jsxs("div",{style:{height:L?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] w-full h-full flex",children:[t,e.jsx(Ft,{showing:s,onSave:l,onCancel:a})]})]})}function B({isDefault:t=!1,skills:s=[],selectedSkill:l=null,handleClick:a=null,activeSkills:r=[],Icon:c=null}){return s.length===0?null:e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`bg-theme-bg-secondary text-white rounded-xl ${L?"w-full":"min-w-[360px] w-fit"}`,children:Object.entries(s).map(([n,m],g)=>e.jsxs("div",{className:`py-3 px-4 flex items-center justify-between ${g===0?"rounded-t-xl":""} ${g===Object.keys(s).length-1?"rounded-b-xl":"border-b border-white/10"} cursor-pointer transition-all duration-300 hover:bg-theme-bg-primary ${l===n?"bg-white/10 light:bg-theme-bg-sidebar":""}`,onClick:()=>a==null?void 0:a(n),children:[e.jsxs("div",{className:"flex items-center gap-x-2",children:[m.Icon?e.jsx(m.Icon,{size:16}):c&&e.jsx(c,{size:16}),e.jsx("div",{className:"text-sm font-light",children:m.title})]}),e.jsxs("div",{className:"flex items-center gap-x-2",children:[t?e.jsx(Et,{title:n}):e.jsx("div",{className:"text-sm text-theme-text-secondary font-medium",children:r.includes(n)?"On":"Off"}),e.jsx(de,{size:14,weight:"bold",className:"text-theme-text-secondary"})]})]},n))}),t&&e.jsx(lt,{id:"default-skill",place:"bottom",delayShow:300,className:"tooltip light:invert-0 !text-xs"})]})}export{Hs as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as g,j as e,I as U,k as B,r as N,M as W,a2 as I,c as C,E as k,aF as X,aW as Y,aU as G,q as J,l as Q,b as H,p as V,$ as Z,i as R,aX as ee}from"../index.js";import{D as te,a as le,C as re,P as oe}from"./react-beautiful-dnd.esm-86e87aba.js";import{L as ae}from"./index-ab35fb74.js";import{t as K}from"./truncate-352eb33b.js";import{T as D}from"./Trans-36b04c7b.js";const $=["conversationTokenCount","conversationMessageCount","currentHour"],L=["hasImageAttachment"];function se(t){return[{value:"promptContent",label:t("model-router.rule-form.prop-prompt-content")},{value:"conversationTokenCount",label:t("model-router.rule-form.prop-token-count")},{value:"conversationMessageCount",label:t("model-router.rule-form.prop-message-count")},{value:"currentHour",label:t("model-router.rule-form.prop-current-hour")},{value:"hasImageAttachment",label:t("model-router.rule-form.prop-has-image")}]}function ne(t){return[{value:"contains",label:t("model-router.rule-form.cmp-contains")},{value:"matches",label:t("model-router.rule-form.cmp-matches-regex")},{value:"eq",label:t("model-router.rule-form.cmp-equals")},{value:"neq",label:t("model-router.rule-form.cmp-not-equals")}]}function ie(t){return[{value:"gt",label:t("model-router.rule-form.cmp-greater-than")},{value:"gte",label:t("model-router.rule-form.cmp-greater-than-or-equal")},{value:"lt",label:t("model-router.rule-form.cmp-less-than")},{value:"lte",label:t("model-router.rule-form.cmp-less-than-or-equal")},{value:"eq",label:t("model-router.rule-form.cmp-equals")},{value:"neq",label:t("model-router.rule-form.cmp-not-equals")},{value:"between",label:t("model-router.rule-form.cmp-between")}]}function T(t,l){return $.includes(l)?ie(t):ne(t)}function ce(t,l,a){return a==="between"?t(l==="currentHour"?"model-router.rule-form.placeholder-between-hour":"model-router.rule-form.placeholder-between-numeric"):l==="currentHour"?t("model-router.rule-form.placeholder-hour"):l==="conversationMessageCount"?t("model-router.rule-form.placeholder-message-count"):$.includes(l)?t("model-router.rule-form.placeholder-numeric"):t(a==="contains"?"model-router.rule-form.placeholder-contains":a==="matches"?"model-router.rule-form.placeholder-matches":"model-router.rule-form.placeholder-default")}function P(t,l,a){return $.includes(l)?null:a==="contains"?t("model-router.rule-form.help-contains"):a==="matches"?t("model-router.rule-form.help-matches"):null}function de({conditionLogic:t,setConditionLogic:l,conditions:a,setConditions:r}){const{t:c}=g(),n=(o,i)=>{r(u=>u.map((x,h)=>h===o?{...x,...i}:x))},s=()=>{r(o=>[...o,{property:"",comparator:"",value:""}])},m=o=>{r(i=>i.filter((u,x)=>x!==o))},d=()=>{l(o=>o==="AND"?"OR":"AND")};return e.jsxs("div",{className:"flex flex-col gap-y-1.5 items-start",children:[e.jsx("div",{className:"flex flex-col gap-y-5 w-full",children:a.map((o,i)=>e.jsx(me,{condition:o,showLabels:i===0,logicBadge:i===0?null:e.jsx(ue,{value:t,onClick:d}),onChange:u=>n(i,u),onRemove:a.length>1?()=>m(i):null},i))}),e.jsx("button",{type:"button",onClick:s,"aria-label":c("model-router.rule-form.add-condition"),className:"border-none mt-3 bg-zinc-800 light:bg-slate-900 text-white light:text-white rounded-md p-1 hover:opacity-90 transition-opacity",children:e.jsx(U,{size:16,weight:"bold"})})]})}function ue({value:t,onClick:l}){return e.jsx("button",{type:"button",onClick:l,className:"border-none shrink-0 self-start bg-zinc-700 light:bg-slate-200 text-white light:text-slate-950 text-xs font-medium leading-4 tracking-[1.2px] uppercase px-2.5 py-1.5 rounded-md hover:opacity-80 transition-opacity",children:t})}function me({condition:t,showLabels:l,logicBadge:a,onChange:r,onRemove:c}){const{t:n}=g(),s=L.includes(t.property),m=o=>{if(L.includes(o)){r({property:o,comparator:"eq",value:"true"});return}const i=T(n,t.property),u=T(n,o),x=!!t.comparator&&u.some(h=>h.value===t.comparator)&&i.some(h=>h.value===t.comparator);r({property:o,comparator:x?t.comparator:"",value:L.includes(t.property)?"":t.value})},d=se(n);return e.jsxs("div",{className:"flex items-end gap-x-5",children:[a,e.jsxs("div",{className:`grid flex-1 ${s?"grid-cols-2":"grid-cols-3"} gap-x-5`,children:[e.jsx(E,{label:l?n("model-router.rule-form.property-label"):null,children:e.jsxs("select",{value:t.property,onChange:o=>m(o.target.value),className:"bg-zinc-800 light:bg-white light:border light:border-slate-300 text-white light:text-slate-700 text-sm rounded-[8px] outline-none block w-full h-8 px-3.5",required:!0,children:[e.jsx("option",{value:"",children:n("model-router.rule-form.property-select")}),d.map(o=>e.jsx("option",{value:o.value,children:o.label},o.value))]})}),s?e.jsx(E,{label:l?n("model-router.rule-form.value-label"):null,children:e.jsx(xe,{value:t.value,onChange:o=>r({value:o})})}):e.jsx(pe,{condition:t,onChange:r,showLabels:l})]}),c&&e.jsx("button",{type:"button",onClick:c,"aria-label":n("model-router.rule-form.remove-condition"),className:`border-none shrink-0 self-start ${l?"mt-[34px]":"mt-2"} text-zinc-400 light:text-slate-500 hover:text-red-400 light:hover:text-red-500 transition-colors`,children:e.jsx(B,{size:16,weight:"bold"})})]})}function E({label:t,children:l}){return e.jsxs("div",{className:"flex flex-col gap-y-1.5",children:[t&&e.jsx("label",{className:"text-sm font-medium leading-5 text-white light:text-slate-950",children:t}),l]})}function xe({value:t,onChange:l}){const{t:a}=g();return e.jsxs("select",{value:t||"true",onChange:r=>l(r.target.value),className:"bg-zinc-800 light:bg-white light:border light:border-slate-300 text-white light:text-slate-700 text-sm rounded-[8px] outline-none block w-full h-8 px-3.5",required:!0,children:[e.jsx("option",{value:"true",children:a("model-router.rule-form.bool-true")}),e.jsx("option",{value:"false",children:a("model-router.rule-form.bool-false")})]})}function pe({condition:t,onChange:l,showLabels:a}){const{t:r}=g(),c=T(r,t.property);return e.jsxs(e.Fragment,{children:[e.jsx(E,{label:a?r("model-router.rule-form.comparator-label"):null,children:e.jsxs("select",{value:t.comparator,onChange:n=>l({comparator:n.target.value}),className:"bg-zinc-800 light:bg-white light:border light:border-slate-300 text-white light:text-slate-700 text-sm rounded-[8px] outline-none block w-full h-8 px-3.5",required:!0,children:[e.jsx("option",{value:"",children:r("model-router.rule-form.comparator-select")}),c.map(n=>e.jsx("option",{value:n.value,children:n.label},n.value))]})}),e.jsxs(E,{label:a?r("model-router.rule-form.value-label"):null,children:[e.jsx("input",{type:"text",value:t.value,onChange:n=>l({value:n.target.value}),placeholder:ce(r,t.property,t.comparator),className:`bg-zinc-800 light:bg-white light:border light:border-slate-300 text-white light:text-slate-700 placeholder:text-zinc-400 light:placeholder:text-slate-400 text-sm rounded-[8px] outline-none block w-full h-8 px-3.5 ${t.comparator==="matches"?"font-mono":""}`,required:!0}),P(r,t.property,t.comparator)&&e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-600",children:P(r,t.property,t.comparator)})]})]})}function he({existingRule:t}){const{t:l}=g();return e.jsxs("div",{className:"flex flex-col gap-y-1.5",children:[e.jsx("label",{className:"text-sm font-medium leading-5 text-white light:text-slate-950",children:l("model-router.rule-form.match-description-label")}),e.jsx("textarea",{name:"description",defaultValue:(t==null?void 0:t.description)||"",placeholder:l("model-router.rule-form.match-description-placeholder"),rows:2,className:"bg-zinc-800 light:bg-white light:border light:border-slate-300 text-white light:text-slate-700 placeholder:text-zinc-400 light:placeholder:text-slate-400 text-sm rounded-[8px] outline-none block w-full px-3.5 py-2.5 resize-none",required:!0}),e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-600",children:l("model-router.rule-form.match-description-help")})]})}function fe(t){return[{value:"calculated",label:t("model-router.rule-form.type-calculated-label"),description:t("model-router.rule-form.type-calculated-description")},{value:"llm",label:t("model-router.rule-form.type-llm-label"),description:t("model-router.rule-form.type-llm-description")}]}function ge(){return{property:"",comparator:"",value:""}}function be(t){return t.toLowerCase().replace(/[^a-z0-9_]/g,"_").replace(/_+/g,"_").replace(/^_|_$/g,"")}function ve({isOpen:t,closeModal:l,routerId:a,existingRule:r=null,nextPriority:c,onSaved:n}){var y;const{t:s}=g(),m=fe(s),d=!!r,[o,i]=N.useState(!1),[u,x]=N.useState((r==null?void 0:r.type)||"calculated"),[h,M]=N.useState((r==null?void 0:r.condition_logic)||"AND"),[_,q]=N.useState(Array.isArray(r==null?void 0:r.conditions)&&r.conditions.length?r.conditions:[ge()]),p=async f=>{f.preventDefault(),i(!0);const j=new FormData(f.target),S=be(j.get("title")||"");if(!S){C(s("model-router.rule-form.title-required"),"error"),i(!1);return}const b={title:S,type:u,route_provider:j.get("route_provider"),route_model:j.get("route_model"),priority:d?r.priority:Number(c)};if(u==="calculated"){const v=_.findIndex(w=>!w.property||!w.comparator||!String(w.value??"").trim());if(v!==-1){C(s("model-router.rule-form.conditions-incomplete",{index:v+1}),"error"),i(!1);return}b.condition_logic=h,b.conditions=_,b.description=null}else u==="llm"&&(b.description=j.get("description"),b.condition_logic=null,b.conditions=null);let z;d?z=await k.updateRule(a,r.id,b):z=await k.createRule(a,b),i(!1),z.rule?(n(),l()):C(z.error||s("model-router.rule-form.toast-save-failed"),"error")};return e.jsx(W,{isOpen:t,children:e.jsx("div",{className:"relative w-full max-w-3xl bg-zinc-900 light:bg-white rounded-[8px] shadow border border-zinc-700 light:border-slate-300",children:e.jsxs("form",{onSubmit:p,className:"flex flex-col gap-y-5 p-6",children:[e.jsxs("div",{className:"flex flex-col gap-y-1",children:[e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsx("h3",{className:"text-base font-semibold leading-6 text-white light:text-slate-950",children:s("model-router.rules.title")}),e.jsx("button",{onClick:l,type:"button",className:"border-none text-zinc-400 light:text-slate-500 hover:text-white light:hover:text-slate-900 transition-colors",children:e.jsx(B,{size:16,weight:"bold"})})]}),e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-600",children:s("model-router.rules.description")})]}),e.jsxs("div",{className:"flex flex-col gap-y-5 max-h-[60vh] overflow-y-auto",children:[e.jsxs("div",{className:"flex gap-x-5 items-start",children:[e.jsxs("div",{className:"flex flex-col gap-y-1.5 w-[500px]",children:[e.jsx("label",{className:"text-sm font-medium leading-5 text-white light:text-slate-950",children:s("model-router.rule-form.title-label")}),e.jsx("input",{type:"text",name:"title",defaultValue:(r==null?void 0:r.title)||"",placeholder:"e.g. route_code_to_claude",className:"bg-zinc-800 light:bg-white light:border light:border-slate-300 text-white light:text-slate-700 placeholder:text-zinc-400 light:placeholder:text-slate-400 text-sm rounded-[8px] outline-none block w-full h-8 px-3.5 font-mono",required:!0})]}),e.jsxs("div",{className:"flex flex-col gap-y-1.5 w-[300px]",children:[e.jsx("label",{className:"text-sm font-medium leading-5 text-white light:text-slate-950",children:s("model-router.rule-form.rule-type")}),e.jsx("select",{value:u,onChange:f=>x(f.target.value),className:"bg-zinc-800 light:bg-white light:border light:border-slate-300 text-white light:text-slate-700 text-sm rounded-[8px] outline-none block w-full h-8 px-3.5",children:m.map(f=>e.jsx("option",{value:f.value,children:f.label},f.value))}),e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-600",children:(y=m.find(f=>f.value===u))==null?void 0:y.description})]})]}),u==="calculated"?e.jsx(de,{conditionLogic:h,setConditionLogic:M,conditions:_,setConditions:q}):e.jsx(he,{existingRule:r}),e.jsx(ae,{providerFieldName:"route_provider",modelFieldName:"route_model",label:s("model-router.rule-form.route-to-label"),description:s("model-router.rule-form.route-to-description"),defaultProvider:(r==null?void 0:r.route_provider)||"",defaultModel:(r==null?void 0:r.route_model)||""})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("button",{type:"button",onClick:l,className:"border border-zinc-600 light:border-slate-600 text-white light:text-slate-900 text-sm font-medium leading-5 rounded-[8px] h-[34px] px-3.5 hover:opacity-90 transition-opacity",children:s("model-router.rule-form.cancel")}),e.jsx("button",{type:"submit",disabled:o,className:"border-none flex items-center gap-x-1.5 text-sm font-medium leading-5 bg-zinc-50 light:bg-slate-900 text-zinc-900 light:text-white rounded-[8px] h-[34px] px-3.5 hover:opacity-90 transition-opacity disabled:opacity-50 disabled:cursor-not-allowed",children:o?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"h-4 w-4 animate-spin"}),s("model-router.rule-form.saving")]}):s(d?"model-router.rule-form.update-rule":"model-router.rule-form.create-rule")})]})]})})})}const je={gt:">",gte:">=",lt:"<",lte:"<=",eq:"=",neq:"!="};function ye(t){return{contains:t("model-router.rules.comparator-contains"),matches:t("model-router.rules.comparator-matches"),between:t("model-router.rules.comparator-between"),...je}}function A(t,l){return ye(t)[l]||l}function F({rule:t,isEditing:l,onEdit:a,onDelete:r,onToggle:c,dragHandleProps:n}){const{t:s}=g(),m=!t.enabled;return e.jsxs("div",{className:`group flex items-center gap-3 px-3 py-2 rounded-lg bg-zinc-800 light:bg-slate-100 transition-colors ${l?"ring-1 ring-blue-500/60":""} ${m?"opacity-50":""}`,children:[n?e.jsx("div",{...n,className:"cursor-grab shrink-0 text-zinc-400 light:text-slate-500 hover:text-white light:hover:text-slate-700 transition-colors","aria-label":s("model-router.rules.aria-drag-to-reorder"),children:e.jsx(te,{size:24,weight:"bold"})}):e.jsx("div",{className:"shrink-0 w-6"}),n&&e.jsxs("p",{className:"shrink-0 text-sm font-semibold text-zinc-400 light:text-slate-500 tabular-nums",children:["#",t.priority]}),e.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm font-medium leading-5 text-white light:text-slate-900 truncate",children:t.title}),t.type==="llm"?e.jsx("span",{className:"shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded bg-fuchsia-500/20 text-fuchsia-400 light:bg-fuchsia-100 light:text-fuchsia-700",children:s("model-router.rules.badge-llm")}):e.jsx("span",{className:"shrink-0 text-[10px] font-medium px-1.5 py-0.5 rounded bg-blue-500/20 text-blue-400 light:bg-blue-100 light:text-blue-700",children:s("model-router.rules.badge-calculated")})]}),t.type==="llm"?e.jsx(Ne,{rule:t}):e.jsx(we,{rule:t})]}),e.jsxs("div",{className:"flex items-center gap-x-3 shrink-0",children:[e.jsx(X,{enabled:t.enabled,onChange:c,size:"md"}),e.jsx("button",{onClick:a,className:"border-none text-zinc-400 light:text-slate-500 hover:text-white light:hover:text-slate-900 transition-colors","aria-label":s("model-router.rules.aria-edit-rule"),children:e.jsx(Y,{size:16,weight:"bold"})}),e.jsx("button",{onClick:r,className:"border-none text-zinc-400 light:text-slate-500 hover:text-red-400 light:hover:text-red-500 transition-colors","aria-label":s("model-router.rules.aria-delete-rule"),children:e.jsx(G,{size:16,weight:"bold"})})]})]})}function Ne({rule:t}){return e.jsx("p",{className:"text-sm font-medium leading-5 text-zinc-400 light:text-slate-500 truncate",children:e.jsx(D,{i18nKey:"model-router.rules.llm-rule-body",values:{description:K(t.description,100),route:`${t.route_provider}/${t.route_model}`},components:{desc:e.jsx("span",{className:"font-mono text-fuchsia-400 light:text-fuchsia-500"}),route:e.jsx("span",{className:"text-zinc-200 light:text-slate-700"})}})})}function we({rule:t}){const{t:l}=g(),a=Array.isArray(t.conditions)?t.conditions:[],r=`${t.route_provider}/${t.route_model}`;if(a.length===0)return e.jsx("p",{className:"text-sm font-medium leading-5 text-zinc-400 light:text-slate-500 truncate",children:e.jsx(D,{i18nKey:"model-router.rules.calculated-no-conditions",values:{route:r},components:{route:e.jsx("span",{className:"text-zinc-200 light:text-slate-700"})}})});if(a.length===1){const s=a[0];return e.jsx("p",{className:"text-sm font-medium leading-5 text-zinc-400 light:text-slate-500 truncate",children:e.jsx(D,{i18nKey:"model-router.rules.calculated-single-condition",values:{property:s.property,comparator:A(l,s.comparator),value:s.value,route:r},components:{prop:e.jsx("span",{className:"font-mono text-blue-400 light:text-blue-500"}),val:e.jsx("span",{className:"font-mono text-blue-400 light:text-blue-500"}),route:e.jsx("span",{className:"text-zinc-200 light:text-slate-700"})}})})}const c=t.condition_logic==="OR"?"any":"all",n=a.map(s=>`${s.property} ${A(l,s.comparator)} "${s.value}"`).join(" AND ");return e.jsx("p",{className:"text-sm font-medium leading-5 text-zinc-400 light:text-slate-500 truncate",children:e.jsx(D,{i18nKey:"model-router.rules.calculated-multi-condition",values:{quantifier:l(`model-router.rules.quantifier-${c}`),conditions:K(n,100),route:r},components:{cond:e.jsx("span",{className:"font-mono text-blue-400 light:text-blue-500"}),route:e.jsx("span",{className:"text-zinc-200 light:text-slate-700"})}})})}function ze({rules:t,editingRule:l,onEdit:a,onDelete:r,onToggle:c,onDragEnd:n}){const{t:s}=g(),m=t.filter(o=>o.type==="calculated"),d=t.filter(o=>o.type==="llm");return e.jsxs("div",{className:"mt-6 flex flex-col gap-y-6",children:[m.length>0&&e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-wider text-zinc-500 light:text-slate-400 mb-2",children:s("model-router.rules.calculated-section-label")}),e.jsx(le,{onDragEnd:n,children:e.jsx(re,{droppableId:"calculated-rules",children:o=>e.jsxs("div",{ref:o.innerRef,...o.droppableProps,className:"flex flex-col gap-y-2",children:[m.map((i,u)=>e.jsx(oe,{draggableId:i.id.toString(),index:u,children:(x,h)=>e.jsx("div",{ref:x.innerRef,...x.draggableProps,className:h.isDragging?"opacity-60":"",children:e.jsx(F,{rule:i,isEditing:(l==null?void 0:l.id)===i.id,onEdit:()=>a(i),onDelete:()=>r(i),onToggle:()=>c(i),dragHandleProps:x.dragHandleProps})})},i.id)),o.placeholder]})})})]}),d.length>0&&e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-wider text-zinc-500 light:text-slate-400 mb-2",children:s("model-router.rules.llm-section-label")}),e.jsx("div",{className:"flex flex-col gap-y-2",children:d.map(o=>e.jsx(F,{rule:o,isEditing:(l==null?void 0:l.id)===o.id,onEdit:()=>a(o),onDelete:()=>r(o),onToggle:()=>c(o)},o.id))})]})]})}function Ce({onCreateRule:t}){const{t:l}=g();return e.jsxs("div",{className:"flex flex-col items-center justify-center gap-8 py-28",children:[e.jsxs("div",{className:"flex flex-col items-center gap-1.5 text-center",children:[e.jsx("p",{className:"text-base font-semibold leading-6 text-zinc-50 light:text-slate-900",children:l("model-router.rules.no-rules")}),e.jsx("p",{className:"text-sm font-medium leading-5 text-zinc-400 light:text-slate-500 max-w-[370px]",children:l("model-router.rules.empty-description")})]}),e.jsx("button",{onClick:t,className:"border-none flex items-center justify-center h-9 px-5 py-2.5 rounded-lg bg-slate-50 text-zinc-950 text-sm font-medium leading-5 hover:opacity-90 transition-opacity duration-200",children:l("model-router.rules.new-rule-button")})]})}function ke({routerId:t,routerName:l,rules:a,onRulesChanged:r}){const{t:c}=g(),{isOpen:n,openModal:s,closeModal:m}=J(),[d,o]=N.useState(null),i=()=>{o(null),s()},u=p=>{o(p),s()},x=()=>{m(),o(null)},h=async p=>{if(!window.confirm(c("model-router.rules.delete-confirm",{title:p.title})))return;const{success:y}=await k.deleteRule(t,p.id);y?r():C(c("model-router.rules.toast-delete-failed"),"error")},M=async p=>{const{rule:y}=await k.updateRule(t,p.id,{enabled:!p.enabled});y&&r()},_=async p=>{if(!p.destination)return;const y=a.filter(v=>v.type==="calculated"),f=a.filter(v=>v.type==="llm"),j=Array.from(y),[S]=j.splice(p.source.index,1);j.splice(p.destination.index,0,S);const b=[...j.map((v,w)=>({id:v.id,priority:w+1})),...f.map((v,w)=>({id:v.id,priority:j.length+w+1}))],{success:z}=await k.reorderRules(t,b);z?r():C(c("model-router.rules.toast-reorder-failed"),"error")},q=a&&a.length>0;return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-end justify-between pb-6 border-b border-white/20 light:border-slate-300",children:[e.jsxs("div",{className:"flex flex-col gap-y-2",children:[e.jsx("p",{className:"text-lg font-semibold leading-7 text-white light:text-slate-900",children:l?c("model-router.rules.title-with-name",{name:l}):c("model-router.rules.title")}),e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-600 max-w-[700px]",children:c("model-router.rules.description")})]}),q&&e.jsx("button",{onClick:i,className:"border-none shrink-0 flex items-center justify-center h-9 px-5 py-2.5 rounded-lg bg-slate-50 text-zinc-950 text-sm font-medium leading-5 hover:opacity-90 transition-opacity duration-200",children:c("model-router.rules.add-rule")})]}),q?e.jsx(ze,{rules:a,editingRule:d,onEdit:u,onDelete:h,onToggle:M,onDragEnd:_}):e.jsx(Ce,{onCreateRule:i}),n&&e.jsx(ve,{isOpen:n,closeModal:x,routerId:t,existingRule:d,nextPriority:((a==null?void 0:a.length)||0)+1,onSaved:r},(d==null?void 0:d.id)??"new")]})}function Me(){const{t}=g(),{id:l}=Q(),a=H(),[r,c]=N.useState(!0),[n,s]=N.useState(null),m=async()=>{const{router:d,error:o}=await k.get(l);if(!d){C(o||"Router not found","error"),a(V.settings.modelRouters());return}s(d),c(!1)};return N.useEffect(()=>{m()},[l]),r?e.jsx(O,{t,children:e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx(I,{className:"h-8 w-8 text-zinc-400 light:text-slate-400 animate-spin"})})}):e.jsx(O,{t,children:e.jsx(ke,{routerId:n.id,routerName:n.name,rules:n.rules||[],onRulesChanged:m})})}function O({t,children:l}){const a=H();return e.jsxs("div",{className:"w-screen h-screen overflow-hidden bg-zinc-950 light:bg-slate-50 flex md:mt-0 mt-6",children:[e.jsx(Z,{}),e.jsx("div",{style:{height:R?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-2xl bg-zinc-900 light:bg-white light:border light:border-slate-300 w-full h-full overflow-y-scroll p-4 md:p-0",children:e.jsxs("div",{className:"flex flex-col w-full px-1 md:pl-6 md:pr-[50px] md:py-6 py-16",children:[e.jsxs("button",{onClick:()=>a(V.settings.modelRouters()),className:"border-none flex items-center gap-x-2 text-zinc-400 light:text-slate-500 hover:text-white light:hover:text-slate-900 text-sm mb-4 transition-colors",children:[e.jsx(ee,{className:"h-4 w-4"}),t("model-router.edit-router.back-to-routers")]}),l]})})]})}export{Me as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as c,j as e,aD as j,aS as y,v,p as h,t as w,c as d,i as f,e as N,aT as x,$ as F,aC as S,M as _}from"../index.js";import{A as u}from"./admin-04b020fe.js";function L({enabled:t=!1,onToggle:l}){const[s,a]=c.useState(t);async function i(){if(!await w.experimentalFeatures.liveSync.toggleFeature(!s))return d("Failed to update status of feature.","error",{clear:!0}),!1;a(!s),d(`Live document content sync has been ${s?"disabled":"enabled"}.`,"success",{clear:!0}),l()}return e.jsxs("div",{className:"p-4",children:[e.jsxs("div",{className:"flex flex-col gap-y-6 max-w-[500px]",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h2",{className:"text-theme-text-primary text-md font-bold",children:"Automatic Document Content Sync"}),e.jsx(j,{size:"lg",enabled:s,onChange:i})]}),e.jsxs("div",{className:"flex flex-col space-y-4",children:[e.jsx("p",{className:"text-theme-text-secondary text-sm",children:`Enable the ability to specify a document to be "watched". Watched document's content will be regularly fetched and updated in AnythingLLM.`}),e.jsx("p",{className:"text-theme-text-secondary text-sm",children:"Watched documents will automatically update in all workspaces they are referenced in at the same time of update."}),e.jsx("p",{className:"text-theme-text-secondary text-xs italic",children:"This feature only applies to web-based content, such as websites, Confluence, YouTube, and GitHub files."})]})]}),e.jsx("div",{className:"mt-8",children:e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsxs("a",{href:"https://docs.anythingllm.com/beta-preview/active-features/live-document-sync",target:"_blank",className:"text-sm text-blue-400 light:text-blue-500 hover:underline flex items-center gap-x-1",rel:"noreferrer",children:[e.jsx(y,{size:14}),e.jsx("span",{children:"Feature Documentation and Warnings"})]})}),e.jsx("li",{children:e.jsx(v,{to:h.experimental.liveDocumentSync.manage(),className:"text-sm text-blue-400 light:text-blue-500 hover:underline",children:"Manage Watched Documents →"})})]})})]})}const o={experimental_live_file_sync:{title:"Live Document Sync",component:L,key:"experimental_live_file_sync"}};function D(){const[t,l]=c.useState({}),[s,a]=c.useState(!0),[i,m]=c.useState("experimental_live_file_sync");c.useEffect(()=>{async function n(){a(!0);const{settings:r}=await u.systemPreferencesByFields(["feature_flags"]);l((r==null?void 0:r.feature_flags)??{}),a(!1)}n()},[]);const p=async()=>{const{settings:n}=await u.systemPreferencesByFields(["feature_flags"]);l((n==null?void 0:n.feature_flags)??{})};return s?e.jsx("div",{style:{height:f?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] w-full h-full flex justify-center items-center",children:e.jsx(N,{})}):e.jsx(T,{children:e.jsxs("div",{className:"flex-1 flex gap-x-6 p-4 mt-10",children:[e.jsxs("div",{className:"flex flex-col gap-y-[18px]",children:[e.jsxs("div",{className:"text-white flex items-center gap-x-2",children:[e.jsx(x,{size:24}),e.jsx("p",{className:"text-lg font-medium",children:"Experimental Features"})]}),e.jsx("div",{className:"bg-theme-bg-secondary text-white rounded-xl min-w-[360px] w-fit",children:Object.values(o).map((n,r)=>{const g=r===0,b=r===Object.values(o).length-1;return e.jsx(k,{feature:n,isSelected:i===n.key,isActive:t[n.key],handleClick:m,borderClass:[...g?["rounded-t-xl"]:[],...b?["rounded-b-xl"]:["border-b border-white/10"]].join(" ")},n.key)})})]}),e.jsx(E,{children:e.jsx("div",{className:"flex-[2] flex flex-col gap-y-[18px] mt-10",children:e.jsx("div",{className:"bg-theme-bg-secondary text-white rounded-xl flex-1 p-4",children:i?e.jsx(A,{feature:o[i],settings:t,refresh:p}):e.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-white/60",children:[e.jsx(x,{size:40}),e.jsx("p",{className:"font-medium",children:"Select an experimental feature"})]})})})})]})})}function T({children:t}){return e.jsxs("div",{id:"workspace-feature-settings-container",className:"w-screen h-screen overflow-hidden bg-theme-bg-container flex md:mt-0 mt-6",children:[e.jsx(F,{}),e.jsx("div",{style:{height:f?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] w-full h-full flex",children:t})]})}function k({feature:t={},isSelected:l=!1,isActive:s=!1,handleClick:a=()=>{},borderClass:i="border-b border-white/10"}){return e.jsxs("div",{className:`py-3 px-4 flex items-center justify-between cursor-pointer transition-all duration-300 hover:bg-white/5 ${i} ${l?"bg-white/10 light:bg-theme-bg-sidebar":""}`,onClick:()=>{t!=null&&t.href?window.location=t.href:a==null||a(t.key)},children:[e.jsx("div",{className:"text-sm font-light",children:t.title}),e.jsx("div",{className:"flex items-center gap-x-2",children:t.autoEnabled?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"text-sm text-theme-text-secondary font-medium",children:"On"}),e.jsx("div",{className:"w-[14px]"})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"text-sm text-theme-text-secondary font-medium",children:s?"On":"Off"}),e.jsx(S,{size:14,weight:"bold",className:"text-theme-text-secondary"})]})})]},t.key)}function A({feature:t,settings:l,refresh:s}){const a=t==null?void 0:t.component;return a?e.jsx(a,{enabled:l[t.key],feature:t.key,onToggle:s}):null}function E({children:t}){if(!window.localStorage.getItem("anythingllm_tos_experimental_feature_set")){let l=function(s){s.preventDefault(),window.localStorage.setItem("anythingllm_tos_experimental_feature_set","accepted"),d("Experimental Feature set enabled. Reloading the page.","success"),setTimeout(()=>{window.location.reload()},2500)};return e.jsxs(e.Fragment,{children:[e.jsx(_,{isOpen:!0,children:e.jsxs("div",{className:"w-full max-w-2xl bg-theme-bg-secondary rounded-lg shadow border-2 border-theme-modal-border overflow-hidden",children:[e.jsx("div",{className:"relative p-6 border-b rounded-t border-theme-modal-border",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(x,{size:24,className:"text-theme-text-primary"}),e.jsx("h3",{className:"text-xl font-semibold text-white",children:"Terms of use for experimental features"})]})}),e.jsxs("form",{onSubmit:l,children:[e.jsx("div",{className:"py-7 px-9 space-y-4 flex-col",children:e.jsxs("div",{className:"w-full text-white text-md flex flex-col gap-y-4",children:[e.jsxs("p",{children:["Experimental features of AnythingLLM are features that we are piloting and are ",e.jsx("b",{children:"opt-in"}),". We proactively will condition or warn you on any potential concerns should any exist prior to approval of any feature."]}),e.jsxs("div",{children:[e.jsx("p",{children:"Use of any feature on this page can result in, but not limited to, the following possibilities."}),e.jsxs("ul",{className:"list-disc ml-6 text-sm font-mono mt-2",children:[e.jsx("li",{children:"Loss of data."}),e.jsx("li",{children:"Change in quality of results."}),e.jsx("li",{children:"Increased storage."}),e.jsx("li",{children:"Increased resource consumption."}),e.jsx("li",{children:"Increased cost or use of any connected LLM or embedding provider."}),e.jsx("li",{children:"Potential bugs or issues using AnythingLLM."})]})]}),e.jsxs("div",{children:[e.jsx("p",{children:"Use of an experimental feature also comes with the following list of non-exhaustive conditions."}),e.jsxs("ul",{className:"list-disc ml-6 text-sm font-mono mt-2",children:[e.jsx("li",{children:"Feature may not exist in future updates."}),e.jsx("li",{children:"The feature being used is not currently stable."}),e.jsx("li",{children:"The feature may not be available in future versions, configurations, or subscriptions of AnythingLLM."}),e.jsxs("li",{children:["Your privacy settings ",e.jsx("b",{children:"will be honored"})," with use of any beta feature."]}),e.jsx("li",{children:"These conditions may change in future updates."})]})]}),e.jsxs("p",{children:["Access to any features requires approval of this modal. If you would like to read more you can refer to"," ",e.jsx("a",{href:"https://docs.anythingllm.com/beta-preview/overview",className:"underline text-blue-500",children:"docs.anythingllm.com"})," ","or email"," ",e.jsx("a",{href:"mailto:team@mintplexlabs.com",className:"underline text-blue-500",children:"team@mintplexlabs.com"})]})]})}),e.jsxs("div",{className:"flex w-full justify-between items-center p-6 space-x-2 border-t border-theme-modal-border rounded-b",children:[e.jsx("a",{href:h.home(),className:"transition-all duration-300 bg-transparent text-white hover:bg-red-500/50 light:hover:bg-red-300/50 px-4 py-2 rounded-lg text-sm border border-theme-modal-border",children:"Reject & close"}),e.jsx("button",{type:"submit",className:"transition-all duration-300 bg-white text-black hover:opacity-60 px-4 py-2 rounded-lg text-sm border border-theme-modal-border",children:"I understand"})]})]})]})}),t]})}return e.jsx(e.Fragment,{children:t})}export{D as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{r as n,j as e,p as h,a$ as b,aU as f,u as w,k as g,q as j,$ as N,i as y,C as v,b0 as k,M as C,S,t as W}from"../index.js";import{A as d}from"./admin-04b020fe.js";function A({workspace:t,users:a,deletionProtected:s=!1}){var l;const r=n.useRef(null),c=async()=>{var o;if(!window.confirm(`Are you sure you want to delete ${t.name}?
|
|
2
|
+
After you do this it will be unavailable in this instance of AnythingLLM.
|
|
3
|
+
|
|
4
|
+
This action is irreversible.`))return!1;(o=r==null?void 0:r.current)==null||o.remove(),await d.deleteWorkspace(t.id)};return e.jsx(e.Fragment,{children:e.jsxs("tr",{ref:r,className:"bg-transparent text-white text-opacity-80 text-xs font-medium border-b border-white/10 h-10",children:[e.jsx("th",{scope:"row",className:"px-6 whitespace-nowrap",children:t.name}),e.jsx("td",{className:"px-6",children:e.jsxs("a",{href:h.workspace.chat(t.slug),target:"_blank",rel:"noreferrer",className:"text-white flex items-center hover:underline",children:[e.jsx(b,{className:"mr-2 w-4 h-4"})," ",t.slug]})}),e.jsx("td",{className:"px-6",children:e.jsx("a",{href:h.workspace.settings.members(t.slug),className:"text-white flex items-center underline",children:(l=t.userIds)==null?void 0:l.length})}),e.jsx("td",{className:"px-6",children:t.createdAt}),e.jsx("td",{className:"px-6",children:!s&&e.jsx("button",{onClick:c,className:"text-xs font-medium text-white/80 light:text-black/80 hover:light:text-red-500 hover:text-red-300 rounded-lg px-2 py-1 hover:bg-white hover:light:bg-red-50 hover:bg-opacity-10",children:e.jsx(f,{className:"h-5 w-5"})})})]})})}function M({closeModal:t}){const[a,s]=n.useState(null),{t:r}=w(),c=async l=>{s(null),l.preventDefault();const o=new FormData(l.target),{workspace:x,error:i}=await d.newWorkspace(o.get("name"));x&&window.location.reload(),s(i)};return e.jsx("div",{className:"fixed inset-0 z-50 overflow-auto bg-black bg-opacity-50 flex items-center justify-center",children:e.jsxs("div",{className:"relative w-full max-w-2xl bg-theme-bg-secondary rounded-lg shadow border-2 border-theme-modal-border",children:[e.jsxs("div",{className:"relative p-6 border-b rounded-t border-theme-modal-border",children:[e.jsx("div",{className:"w-full flex gap-x-2 items-center",children:e.jsx("h3",{className:"text-xl font-semibold text-white overflow-hidden overflow-ellipsis whitespace-nowrap",children:"Create new workspace"})}),e.jsx("button",{onClick:t,type:"button",className:"absolute top-4 right-4 transition-all duration-300 bg-transparent rounded-lg text-sm p-1 inline-flex items-center hover:bg-theme-modal-border hover:border-theme-modal-border hover:border-opacity-50 border-transparent border",children:e.jsx(g,{size:24,weight:"bold",className:"text-white"})})]}),e.jsx("div",{className:"p-6",children:e.jsxs("form",{onSubmit:c,children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"name",className:"block mb-2 text-sm font-medium text-white",children:r("common.workspaces-name")}),e.jsx("input",{name:"name",type:"text",className:"border-none bg-theme-settings-input-bg w-full text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"My workspace",minLength:4,required:!0,autoComplete:"off"})]}),a&&e.jsxs("p",{className:"text-red-400 text-sm",children:["Error: ",a]}),e.jsx("p",{className:"text-white text-opacity-60 text-xs md:text-sm",children:"After creating this workspace only admins will be able to see it. You can add users after it has been created."})]}),e.jsxs("div",{className:"flex justify-between items-center mt-6 pt-6 border-t border-theme-modal-border",children:[e.jsx("button",{onClick:t,type:"button",className:"transition-all duration-300 text-white hover:bg-zinc-700 px-4 py-2 rounded-lg text-sm",children:"Cancel"}),e.jsx("button",{type:"submit",className:"transition-all duration-300 bg-white text-black hover:opacity-60 px-4 py-2 rounded-lg text-sm",children:"Create workspace"})]})]})})]})})}function z(){const{isOpen:t,openModal:a,closeModal:s}=j();return e.jsxs("div",{className:"w-screen h-screen overflow-hidden bg-theme-bg-container flex",children:[e.jsx(N,{}),e.jsxs("div",{style:{height:y?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] bg-theme-bg-secondary w-full h-full overflow-y-scroll p-4 md:p-0",children:[e.jsxs("div",{className:"flex flex-col w-full px-1 md:pl-6 md:pr-[50px] md:py-6 py-16",children:[e.jsxs("div",{className:"w-full flex flex-col gap-y-1 pb-6 border-white/10 border-b-2",children:[e.jsx("div",{className:"items-center flex gap-x-4",children:e.jsx("p",{className:"text-lg leading-6 font-bold text-theme-text-primary",children:"Instance Workspaces"})}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-theme-text-secondary",children:"These are all the workspaces that exist on this instance. Removing a workspace will delete all of its associated chats and settings."})]}),e.jsx("div",{className:"w-full justify-end flex",children:e.jsxs(v,{onClick:a,className:"mt-3 mr-0 mb-4 md:-mb-14 z-10",children:[e.jsx(k,{className:"h-4 w-4",weight:"bold"})," New Workspace"]})}),e.jsx("div",{className:"overflow-x-auto",children:e.jsx(D,{})})]}),e.jsx(C,{isOpen:t,children:e.jsx(M,{closeModal:s})})]})]})}function D(){const[t,a]=n.useState(!0),[s,r]=n.useState([]),[c,l]=n.useState([]),[o,x]=n.useState(!1);return n.useEffect(()=>{async function i(){const[p,u,m]=await Promise.all([d.users(),d.workspaces(),W.keys()]);r(p),l(u),x((m==null?void 0:m.WorkspaceDeletionProtection)===!0),a(!1)}i()},[]),t?e.jsx(S,{height:"80vh",width:"100%",highlightColor:"var(--theme-bg-primary)",baseColor:"var(--theme-bg-secondary)",count:1,className:"w-full p-4 rounded-b-2xl rounded-tr-2xl rounded-tl-sm mt-6",containerClassName:"flex w-full"}):e.jsxs("table",{className:"w-full text-xs text-left rounded-lg mt-6 min-w-[640px] border-spacing-0",children:[e.jsx("thead",{className:"text-theme-text-secondary text-xs leading-[18px] font-bold uppercase border-white/10 border-b",children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",className:"px-6 py-3 rounded-tl-lg",children:"Name"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Link"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Users"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Created On"}),e.jsx("th",{scope:"col",className:"px-6 py-3 rounded-tr-lg",children:" "})]})}),e.jsx("tbody",{children:c.map(i=>e.jsx(A,{workspace:i,users:s,deletionProtected:o},i.id))})]})}export{z as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R as x,r as o,g as q,j as e,C as F,J as Z,k as K,a0 as D,K as R,H as $,t as k,c as N,a2 as U,O as _,a3 as H,a1 as Q,$ as G,i as V,h as X}from"../index.js";import{P as T,C as Y}from"./index-8ba96f42.js";const J=new Map([["bold",x.createElement(x.Fragment,null,x.createElement("path",{d:"M176,128a12,12,0,0,1-5.17,9.87l-52,36A12,12,0,0,1,100,164V92a12,12,0,0,1,18.83-9.87l52,36A12,12,0,0,1,176,128Zm60,0A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z"}))],["duotone",x.createElement(x.Fragment,null,x.createElement("path",{d:"M128,32a96,96,0,1,0,96,96A96,96,0,0,0,128,32ZM108,168V88l64,40Z",opacity:"0.2"}),x.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm48.24-94.78-64-40A8,8,0,0,0,100,88v80a8,8,0,0,0,12.24,6.78l64-40a8,8,0,0,0,0-13.56ZM116,153.57V102.43L156.91,128Z"}))],["fill",x.createElement(x.Fragment,null,x.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm40.55,110.58-52,36A8,8,0,0,1,104,164V92a8,8,0,0,1,12.55-6.58l52,36a8,8,0,0,1,0,13.16Z"}))],["light",x.createElement(x.Fragment,null,x.createElement("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm47.18-95.09-64-40A6,6,0,0,0,102,88v80a6,6,0,0,0,9.18,5.09l64-40a6,6,0,0,0,0-10.18ZM114,157.17V98.83L160.68,128Z"}))],["regular",x.createElement(x.Fragment,null,x.createElement("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm48.24-94.78-64-40A8,8,0,0,0,100,88v80a8,8,0,0,0,12.24,6.78l64-40a8,8,0,0,0,0-13.56ZM116,153.57V102.43L156.91,128Z"}))],["thin",x.createElement(x.Fragment,null,x.createElement("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm46.12-95.39-64-40A4,4,0,0,0,104,88v80a4,4,0,0,0,2.06,3.5,4.06,4.06,0,0,0,1.94.5,4,4,0,0,0,2.12-.61l64-40a4,4,0,0,0,0-6.78ZM112,160.78V95.22L164.45,128Z"}))]]);var W=Object.defineProperty,ee=Object.defineProperties,te=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable,z=(t,l,a)=>l in t?W(t,l,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[l]=a,ae=(t,l)=>{for(var a in l||(l={}))le.call(l,a)&&z(t,a,l[a]);if(I)for(var a of I(l))se.call(l,a)&&z(t,a,l[a]);return t},oe=(t,l)=>ee(t,te(l));const B=o.forwardRef((t,l)=>x.createElement(q,oe(ae({ref:l},t),{weights:J})));B.displayName="PlayCircle";function ne(){return e.jsx("div",{className:"w-full h-10 items-center flex",children:e.jsx("p",{className:"text-sm font-base text-white text-opacity-60",children:"There is no configuration needed for this provider."})})}const O=[{name:"System native",value:"native",logo:$,options:t=>e.jsx(ne,{settings:t}),description:"Uses your browser's built in STT service if supported."}];function re({settings:t}){var g;const[l,a]=o.useState(!1),[d,n]=o.useState(!1),[r,m]=o.useState(""),[u,i]=o.useState([]),[c,p]=o.useState((t==null?void 0:t.SpeechToTextProvider)||"native"),[f,h]=o.useState(!1),b=o.useRef(null),S=async s=>{s.preventDefault();const y=s.target,j={SpeechToTextProvider:c},P=new FormData(y);for(var[M,L]of P.entries())j[M]=L;const{error:w}=await k.updateSystem(j);a(!0),w?N(`Failed to save preferences: ${w}`,"error"):N("Speech-to-text preferences saved successfully.","success"),a(!1),n(!!w)},C=s=>{m(""),p(s),h(!1),n(!0)},A=()=>{r.length>0?(m(""),b.current&&(b.current.value="")):h(!f)};o.useEffect(()=>{const s=O.filter(y=>y.name.toLowerCase().includes(r.toLowerCase()));i(s)},[r,c]);const v=O.find(s=>s.value===c);return e.jsx("form",{onSubmit:S,className:"flex w-full",children:e.jsxs("div",{className:"flex flex-col w-full px-1 md:pl-6 md:pr-[50px] md:py-6 py-16",children:[e.jsxs("div",{className:"w-full flex flex-col gap-y-1 pb-6 border-white light:border-theme-sidebar-border border-b-2 border-opacity-10",children:[e.jsx("div",{className:"flex gap-x-4 items-center",children:e.jsx("p",{className:"text-lg leading-6 font-bold text-white",children:"Speech-to-text Preference"})}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-white text-opacity-60",children:"Here you can specify what kind of text-to-speech and speech-to-text providers you would want to use in your AnythingLLM experience. By default, we use the browser's built in support for these services, but you may want to use others."})]}),e.jsx("div",{className:"w-full justify-end flex",children:d&&e.jsx(F,{onClick:()=>S(),className:"mt-3 mr-0 -mb-14 z-10",children:l?"Saving...":"Save changes"})}),e.jsx("div",{className:"text-base font-bold text-white mt-6 mb-4",children:"Provider"}),e.jsxs("div",{className:"relative",children:[f&&e.jsx("div",{className:"fixed top-0 left-0 w-full h-full bg-black bg-opacity-70 backdrop-blur-sm z-10",onClick:()=>h(!1)}),f?e.jsx("div",{className:"absolute top-0 left-0 w-full max-w-[640px] max-h-[310px] min-h-[64px] bg-theme-settings-input-bg rounded-lg flex flex-col justify-between cursor-pointer border-2 border-primary-button z-20",children:e.jsxs("div",{className:"w-full flex flex-col gap-y-1",children:[e.jsxs("div",{className:"flex items-center sticky top-0 z-10 border-b border-[#9CA3AF] mx-4 bg-theme-settings-input-bg",children:[e.jsx(Z,{size:20,weight:"bold",className:"absolute left-4 z-30 text-theme-text-primary -ml-4 my-2"}),e.jsx("input",{type:"text",name:"stt-provider-search",autoComplete:"off",placeholder:"Search speech to text providers",className:"border-none -ml-4 my-2 bg-transparent z-20 pl-12 h-[38px] w-full px-4 py-1 text-sm outline-none text-theme-text-primary placeholder:text-theme-text-primary placeholder:font-medium",onChange:s=>m(s.target.value),ref:b,onKeyDown:s=>{s.key==="Enter"&&s.preventDefault()}}),e.jsx(K,{size:20,weight:"bold",className:"cursor-pointer text-white hover:text-x-button",onClick:A})]}),e.jsx("div",{className:"flex-1 pl-4 pr-2 flex flex-col gap-y-1 overflow-y-auto white-scrollbar pb-4 max-h-[245px]",children:u.map(s=>e.jsx(D,{name:s.name,value:s.value,image:s.logo,description:s.description,checked:c===s.value,onClick:()=>C(s.value)},s.name))})]})}):e.jsxs("button",{className:"w-full max-w-[640px] h-[64px] bg-theme-settings-input-bg rounded-lg flex items-center p-[14px] justify-between cursor-pointer border-2 border-transparent hover:border-primary-button transition-all duration-300",type:"button",onClick:()=>h(!0),children:[e.jsxs("div",{className:"flex gap-x-4 items-center",children:[e.jsx("img",{src:v.logo,alt:`${v.name} logo`,className:"w-10 h-10 rounded-md"}),e.jsxs("div",{className:"flex flex-col text-left",children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:v.name}),e.jsx("div",{className:"mt-1 text-xs text-description",children:v.description})]})]}),e.jsx(R,{size:24,weight:"bold",className:"text-white"})]})]}),e.jsx("div",{onChange:()=>n(!0),className:"mt-4 flex flex-col gap-y-1",children:c&&((g=O.find(s=>s.value===c))==null?void 0:g.options(t))})]})})}const ie="/elevenlabs.png",ce="/piper.png",de="/generic-openai.png";function ue(){return e.jsx("div",{className:"w-full h-10 items-center flex",children:e.jsx("p",{className:"text-sm font-base text-white text-opacity-60",children:"There is no configuration needed for this provider."})})}function me(t){return t.replace(/\w\S*/g,function(l){return l.charAt(0).toUpperCase()+l.substr(1).toLowerCase()})}function xe({settings:t}){const l=t==null?void 0:t.TTSOpenAIKey;return e.jsxs("div",{className:"flex gap-x-4",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"API Key"}),e.jsx("input",{type:"password",name:"TTSOpenAIKey",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"OpenAI API Key",defaultValue:l?"*".repeat(20):"",required:!0,autoComplete:"off",spellCheck:!1})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Voice Model"}),e.jsx("select",{name:"TTSOpenAIVoiceModel",defaultValue:(t==null?void 0:t.TTSOpenAIVoiceModel)??"alloy",className:"border-none bg-theme-settings-input-bg border-gray-500 text-white text-sm rounded-lg block w-full p-2.5",children:["alloy","echo","fable","onyx","nova","shimmer"].map(a=>e.jsx("option",{value:a,children:me(a)},a))})]})]})}function pe({settings:t}){const[l,a]=o.useState(t==null?void 0:t.TTSElevenLabsKey),[d,n]=o.useState(t==null?void 0:t.TTSElevenLabsKey);return e.jsxs("div",{className:"flex gap-x-4",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"API Key"}),e.jsx("input",{type:"password",name:"TTSElevenLabsKey",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"ElevenLabs API Key",defaultValue:t!=null&&t.TTSElevenLabsKey?"*".repeat(20):"",required:!0,autoComplete:"off",spellCheck:!1,onChange:r=>a(r.target.value),onBlur:()=>n(l)})]}),!(t!=null&&t.credentialsOnly)&&e.jsx(he,{settings:t,apiKey:d})]})}function he({apiKey:t,settings:l}){const[a,d]=o.useState({}),[n,r]=o.useState(!0);return o.useEffect(()=>{async function m(){r(!0);const{models:u}=await k.customModels("elevenlabs-tts",typeof t=="boolean"?null:t);if((u==null?void 0:u.length)>0){const i=u.reduce((c,p)=>(c[p.organization]=c[p.organization]||[],c[p.organization].push(p),c),{});d(i)}r(!1)}m()},[t]),n?e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Chat Model Selection"}),e.jsx("select",{name:"TTSElevenLabsVoiceModel",disabled:!0,className:"border-none bg-theme-settings-input-bg border-gray-500 text-white text-sm rounded-lg block w-full p-2.5",children:e.jsx("option",{disabled:!0,selected:!0,children:"-- loading available models --"})})]}):e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Chat Model Selection"}),e.jsx("select",{name:"TTSElevenLabsVoiceModel",required:!0,className:"border-none bg-theme-settings-input-bg border-gray-500 text-white text-sm rounded-lg block w-full p-2.5",children:Object.keys(a).sort().map(m=>e.jsx("optgroup",{label:m,children:a[m].map(u=>e.jsx("option",{value:u.id,selected:u.id===(l==null?void 0:l.TTSElevenLabsVoiceModel),children:u.name},u.id))},m))})]})}function fe({settings:t}){return e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-sm font-base text-white text-opacity-60 mb-4",children:"All PiperTTS models will run in your browser locally. This can be resource intensive on lower-end devices."}),e.jsx("div",{className:"flex gap-x-4 items-center",children:e.jsx(ye,{settings:t})})]})}function be(t=[]){const l=t.reduce((a,d)=>{var r;const n=((r=d==null?void 0:d.language)==null?void 0:r.name_english)??"Unlisted";return a[n]=a[n]||[],a[n].push(d),a},{});return Object.entries(l)}function ve(t){var u;const{is_stored:l,name:a,quality:d,files:n}=t,r=Object.keys(n).find(i=>i.endsWith(".onnx")),m=((u=n==null?void 0:n[r])==null?void 0:u.size_bytes)||0;return`${l?"✔ ":""}${_(a)}-${d==="low"?"Low":"HQ"} (${H(m)})`}function ye({settings:t}){const[l,a]=o.useState(!0),[d,n]=o.useState([]),[r,m]=o.useState(t==null?void 0:t.TTSPiperTTSVoiceModel);function u(){T.flush().then(()=>N("All voices flushed from browser storage","info",{clear:!0})).catch(i=>console.error(i))}return o.useEffect(()=>{T.voices().then(i=>{if((i==null?void 0:i.length)!==0)return n(i);throw new Error("Could not fetch voices from web worker.")}).catch(i=>{console.error(i)}).finally(()=>a(!1))},[]),l?e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Voice Model Selection"}),e.jsx("select",{name:"TTSPiperTTSVoiceModel",value:"",disabled:!0,className:"border-none bg-theme-settings-input-bg border-gray-500 text-white text-sm rounded-lg block w-full p-2.5",children:e.jsx("option",{value:"",disabled:!0,children:"-- loading available models --"})})]}):e.jsxs("div",{className:"flex flex-col w-fit",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Voice Model Selection"}),e.jsxs("div",{className:"flex items-center w-fit gap-x-4 mb-2",children:[e.jsx("select",{name:"TTSPiperTTSVoiceModel",required:!0,onChange:i=>m(i.target.value),value:r,className:"border-none flex-shrink-0 bg-theme-settings-input-bg border-gray-500 text-white text-sm rounded-lg block w-full p-2.5",children:be(d).map(([i,c])=>e.jsx("optgroup",{label:i,children:c.map(p=>e.jsx("option",{value:p.key,children:ve(p)},p.key))},i))}),e.jsx(we,{voiceId:r})]}),e.jsx("p",{className:"text-xs text-white/40",children:'The "✔" indicates this model is already stored locally and does not need to be downloaded when run.'})]}),!!d.find(i=>i.is_stored)&&e.jsx("button",{type:"button",onClick:u,className:"w-fit border-none hover:text-white hover:underline text-white/40 text-sm my-4",children:"Flush voice cache"})]})}function we({voiceId:t}){const l=o.useRef(null),[a,d]=o.useState(!1),[n,r]=o.useState(!1),[m,u]=o.useState(null);async function i(c){var p,f;if(c.preventDefault(),a){(p=l==null?void 0:l.current)==null||p.pause();return}try{if(m)l.current.play();else{r(!0);const h=new T({voiceId:t}),b=await h.getAudioBlobForText("Hello, welcome to AnythingLLM!");u(b),r(!1),(f=h.worker)==null||f.terminate(),T._instance=null}}catch(h){console.error(h),r(!1),d(!1)}}return o.useEffect(()=>{function c(){l!=null&&l.current&&(l.current.addEventListener("play",()=>{d(!0)}),l.current.addEventListener("pause",()=>{l.current.currentTime=0,d(!1),u(null)}))}c()},[]),e.jsxs("button",{type:"button",onClick:i,disabled:n,className:"border-none text-zinc-300 flex items-center gap-x-1",children:[a?e.jsxs(e.Fragment,{children:[e.jsx(Y,{size:20,className:"flex-shrink-0"}),e.jsx("p",{className:"text-sm flex-shrink-0",children:"Stop demo"})]}):e.jsx(e.Fragment,{children:n?e.jsxs(e.Fragment,{children:[e.jsx(U,{size:20,className:"animate-spin flex-shrink-0"}),e.jsx("p",{className:"text-sm flex-shrink-0",children:"Loading voice"})]}):e.jsxs(e.Fragment,{children:[e.jsx(B,{size:20,className:"flex-shrink-0 text-white"}),e.jsx("p",{className:"text-white text-sm flex-shrink-0",children:"Play sample"})]})}),e.jsx("audio",{ref:l,hidden:!0,src:m,autoPlay:!0,controls:!1})]})}function ge({settings:t}){return e.jsxs("div",{className:"w-full flex flex-col gap-y-7",children:[e.jsxs("div",{className:"flex gap-x-4",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("div",{className:"flex justify-between items-start mb-2",children:e.jsx("label",{className:"text-white text-sm font-semibold",children:"Base URL"})}),e.jsx("input",{type:"url",name:"TTSOpenAICompatibleEndpoint",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"http://localhost:7851/v1",defaultValue:t==null?void 0:t.TTSOpenAICompatibleEndpoint,required:!1,autoComplete:"off",spellCheck:!1}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-white text-opacity-60 mt-2",children:"This should be the base URL of the OpenAI compatible TTS service you will generate TTS responses from."})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-2",children:"API Key"}),e.jsx("input",{type:"password",name:"TTSOpenAICompatibleKey",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"API Key",defaultValue:t!=null&&t.TTSOpenAICompatibleKey?"*".repeat(20):"",autoComplete:"off",spellCheck:!1}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-white text-opacity-60 mt-2",children:"Some TTS services require an API key to generate TTS responses - this is optional if your service does not require one."})]})]}),e.jsxs("div",{className:"flex gap-x-4",children:[e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"TTS Model"}),e.jsx("input",{type:"text",name:"TTSOpenAICompatibleModel",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"Your TTS model identifier",defaultValue:t==null?void 0:t.TTSOpenAICompatibleModel,required:!0,autoComplete:"off",spellCheck:!1}),e.jsxs("p",{className:"text-xs leading-[18px] font-base text-white text-opacity-60 mt-2",children:["Most TTS services will have several models available. This is the"," ",e.jsx("code",{children:"model"})," parameter you will use to select the model you want to use. Note: This is not the same as the voice model."]})]}),e.jsxs("div",{className:"flex flex-col w-60",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-3",children:"Voice Model"}),e.jsx("input",{type:"text",name:"TTSOpenAICompatibleVoiceModel",className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5",placeholder:"Your voice model identifier",defaultValue:t==null?void 0:t.TTSOpenAICompatibleVoiceModel,required:!0,autoComplete:"off",spellCheck:!1}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-white text-opacity-60 mt-2",children:"Most TTS services will have several voice models available, this is the identifier for the voice model you want to use."})]})]})]})}const E=[{name:"System native",value:"native",logo:$,options:t=>e.jsx(ue,{settings:t}),description:"Uses your browser's built in TTS service if supported."},{name:"OpenAI",value:"openai",logo:Q,options:t=>e.jsx(xe,{settings:t}),description:"Use OpenAI's text to speech voices."},{name:"ElevenLabs",value:"elevenlabs",logo:ie,options:t=>e.jsx(pe,{settings:t}),description:"Use ElevenLabs's text to speech voices and technology."},{name:"PiperTTS",value:"piper_local",logo:ce,options:t=>e.jsx(fe,{settings:t}),description:"Run TTS models locally in your browser privately."},{name:"OpenAI Compatible",value:"generic-openai",logo:de,options:t=>e.jsx(ge,{settings:t}),description:"Connect to an OpenAI compatible TTS service running locally or remotely."}];function je({settings:t}){var g;const[l,a]=o.useState(!1),[d,n]=o.useState(!1),[r,m]=o.useState(""),[u,i]=o.useState([]),[c,p]=o.useState((t==null?void 0:t.TextToSpeechProvider)||"native"),[f,h]=o.useState(!1),b=o.useRef(null),S=async s=>{s==null||s.preventDefault();const y=s.target,j={TextToSpeechProvider:c},P=new FormData(y);for(var[M,L]of P.entries())j[M]=L;const{error:w}=await k.updateSystem(j);a(!0),w?N(`Failed to save preferences: ${w}`,"error"):N("Text-to-speech preferences saved successfully.","success"),a(!1),n(!!w)},C=s=>{m(""),p(s),h(!1),n(!0)},A=()=>{r.length>0?(m(""),b.current&&(b.current.value="")):h(!f)};o.useEffect(()=>{const s=E.filter(y=>y.name.toLowerCase().includes(r.toLowerCase()));i(s)},[r,c]);const v=E.find(s=>s.value===c);return e.jsx("form",{onSubmit:S,className:"flex w-full",children:e.jsxs("div",{className:"flex flex-col w-full px-1 md:pl-6 md:pr-[50px] md:py-6 py-16",children:[e.jsxs("div",{className:"w-full flex flex-col gap-y-1 pb-6 border-white light:border-theme-sidebar-border border-b-2 border-opacity-10",children:[e.jsx("div",{className:"flex gap-x-4 items-center",children:e.jsx("p",{className:"text-lg leading-6 font-bold text-white",children:"Text-to-speech Preference"})}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-white text-opacity-60",children:"Here you can specify what kind of text-to-speech providers you would want to use in your AnythingLLM experience. By default, we use the browser's built in support for these services, but you may want to use others."})]}),e.jsx("div",{className:"w-full justify-end flex",children:d&&e.jsx(F,{className:"mt-3 mr-0 -mb-14 z-10",children:l?"Saving...":"Save changes"})}),e.jsx("div",{className:"text-base font-bold text-white mt-6 mb-4",children:"Provider"}),e.jsxs("div",{className:"relative",children:[f&&e.jsx("div",{className:"fixed top-0 left-0 w-full h-full bg-black bg-opacity-70 backdrop-blur-sm z-10",onClick:()=>h(!1)}),f?e.jsx("div",{className:"absolute top-0 left-0 w-full max-w-[640px] max-h-[310px] min-h-[64px] bg-theme-settings-input-bg rounded-lg flex flex-col justify-between cursor-pointer border-2 border-primary-button z-20",children:e.jsxs("div",{className:"w-full flex flex-col gap-y-1",children:[e.jsxs("div",{className:"flex items-center sticky top-0 z-10 border-b border-[#9CA3AF] mx-4 bg-theme-settings-input-bg",children:[e.jsx(Z,{size:20,weight:"bold",className:"absolute left-4 z-30 text-theme-text-primary -ml-4 my-2"}),e.jsx("input",{type:"text",name:"tts-provider-search",autoComplete:"off",placeholder:"Search text to speech providers",className:"border-none -ml-4 my-2 bg-transparent z-20 pl-12 h-[38px] w-full px-4 py-1 text-sm outline-none text-theme-text-primary placeholder:text-theme-text-primary placeholder:font-medium",onChange:s=>m(s.target.value),ref:b,onKeyDown:s=>{s.key==="Enter"&&s.preventDefault()}}),e.jsx(K,{size:20,weight:"bold",className:"cursor-pointer text-white hover:text-x-button",onClick:A})]}),e.jsx("div",{className:"flex-1 pl-4 pr-2 flex flex-col gap-y-1 overflow-y-auto white-scrollbar pb-4 max-h-[245px]",children:u.map(s=>e.jsx(D,{name:s.name,value:s.value,image:s.logo,description:s.description,checked:c===s.value,onClick:()=>C(s.value)},s.name))})]})}):e.jsxs("button",{className:"w-full max-w-[640px] h-[64px] bg-theme-settings-input-bg rounded-lg flex items-center p-[14px] justify-between cursor-pointer border-2 border-transparent hover:border-primary-button transition-all duration-300",type:"button",onClick:()=>h(!0),children:[e.jsxs("div",{className:"flex gap-x-4 items-center",children:[e.jsx("img",{src:v.logo,alt:`${v.name} logo`,className:"w-10 h-10 rounded-md"}),e.jsxs("div",{className:"flex flex-col text-left",children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:v.name}),e.jsx("div",{className:"mt-1 text-xs text-description",children:v.description})]})]}),e.jsx(R,{size:24,weight:"bold",className:"text-white"})]})]}),e.jsx("div",{onChange:()=>n(!0),className:"mt-4 flex flex-col gap-y-1",children:c&&((g=E.find(s=>s.value===c))==null?void 0:g.options(t))})]})})}function Te(){const[t,l]=o.useState(null),[a,d]=o.useState(!0);return o.useEffect(()=>{async function n(){const r=await k.keys();l(r),d(!1)}n()},[]),e.jsxs("div",{className:"w-screen h-screen overflow-hidden bg-theme-bg-container flex",children:[e.jsx(G,{}),a?e.jsx("div",{style:{height:V?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] bg-theme-bg-secondary w-full h-full overflow-y-scroll p-4 md:p-0",children:e.jsx("div",{className:"w-full h-full flex justify-center items-center",children:e.jsx(X,{})})}):e.jsxs("div",{style:{height:V?"100%":"calc(100% - 32px)"},className:"relative md:ml-[2px] md:mr-[16px] md:my-[16px] md:rounded-[16px] bg-theme-bg-secondary w-full h-full overflow-y-scroll p-4 md:p-0",children:[e.jsx(re,{settings:t}),e.jsx(je,{settings:t})]})]})}export{Te as default};
|