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.
Files changed (800) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +81 -0
  3. package/bin/totem-llm.js +80 -0
  4. package/collector/.env +9 -0
  5. package/collector/.env.example +9 -0
  6. package/collector/.nvmrc +1 -0
  7. package/collector/extensions/index.js +239 -0
  8. package/collector/extensions/resync/index.js +197 -0
  9. package/collector/hotdir/__HOTDIR__.md +3 -0
  10. package/collector/index.js +202 -0
  11. package/collector/middleware/httpLogger.js +29 -0
  12. package/collector/middleware/setDataSigner.js +44 -0
  13. package/collector/middleware/verifyIntegrity.js +32 -0
  14. package/collector/package.json +67 -0
  15. package/collector/processLink/convert/generic.js +240 -0
  16. package/collector/processLink/helpers/index.js +190 -0
  17. package/collector/processLink/index.js +47 -0
  18. package/collector/processRawText/index.js +83 -0
  19. package/collector/processSingleFile/convert/asAudio.js +79 -0
  20. package/collector/processSingleFile/convert/asDocx.js +63 -0
  21. package/collector/processSingleFile/convert/asEPub.js +61 -0
  22. package/collector/processSingleFile/convert/asImage.js +56 -0
  23. package/collector/processSingleFile/convert/asMbox.js +83 -0
  24. package/collector/processSingleFile/convert/asOfficeMime.js +59 -0
  25. package/collector/processSingleFile/convert/asPDF/PDFLoader/index.js +97 -0
  26. package/collector/processSingleFile/convert/asPDF/index.js +86 -0
  27. package/collector/processSingleFile/convert/asTxt.js +59 -0
  28. package/collector/processSingleFile/convert/asXlsx.js +193 -0
  29. package/collector/processSingleFile/index.js +95 -0
  30. package/collector/utils/EncryptionWorker/index.js +77 -0
  31. package/collector/utils/OCRLoader/index.js +355 -0
  32. package/collector/utils/OCRLoader/validLangs.js +155 -0
  33. package/collector/utils/WhisperProviders/OpenAiWhisper.js +49 -0
  34. package/collector/utils/WhisperProviders/ffmpeg/index.js +114 -0
  35. package/collector/utils/WhisperProviders/localWhisper.js +197 -0
  36. package/collector/utils/comKey/index.js +54 -0
  37. package/collector/utils/constants.js +92 -0
  38. package/collector/utils/downloadURIToFile/index.js +90 -0
  39. package/collector/utils/extensions/Confluence/ConfluenceLoader/index.js +154 -0
  40. package/collector/utils/extensions/Confluence/index.js +292 -0
  41. package/collector/utils/extensions/DrupalWiki/DrupalWiki/index.js +338 -0
  42. package/collector/utils/extensions/DrupalWiki/index.js +102 -0
  43. package/collector/utils/extensions/ObsidianVault/index.js +95 -0
  44. package/collector/utils/extensions/PaperlessNgx/PaperlessNgxLoader/index.js +157 -0
  45. package/collector/utils/extensions/PaperlessNgx/index.js +128 -0
  46. package/collector/utils/extensions/RepoLoader/GithubRepo/RepoLoader/index.js +265 -0
  47. package/collector/utils/extensions/RepoLoader/GithubRepo/index.js +159 -0
  48. package/collector/utils/extensions/RepoLoader/GitlabRepo/RepoLoader/index.js +447 -0
  49. package/collector/utils/extensions/RepoLoader/GitlabRepo/index.js +261 -0
  50. package/collector/utils/extensions/RepoLoader/index.js +41 -0
  51. package/collector/utils/extensions/WebsiteDepth/index.js +211 -0
  52. package/collector/utils/extensions/YoutubeTranscript/YoutubeLoader/index.js +99 -0
  53. package/collector/utils/extensions/YoutubeTranscript/YoutubeLoader/youtube-transcript.js +246 -0
  54. package/collector/utils/extensions/YoutubeTranscript/index.js +219 -0
  55. package/collector/utils/files/index.js +240 -0
  56. package/collector/utils/files/mime.js +64 -0
  57. package/collector/utils/http/index.js +54 -0
  58. package/collector/utils/logger/index.js +68 -0
  59. package/collector/utils/runtimeSettings/index.js +97 -0
  60. package/collector/utils/shell.js +25 -0
  61. package/collector/utils/tokenizer/index.js +66 -0
  62. package/collector/utils/url/index.js +137 -0
  63. package/collector/yarn.lock +4413 -0
  64. package/lib/config.js +79 -0
  65. package/lib/launcher.js +116 -0
  66. package/lib/setup.js +143 -0
  67. package/package.json +64 -0
  68. package/scripts/postinstall.mjs +117 -0
  69. package/server/.env +489 -0
  70. package/server/.env.example +496 -0
  71. package/server/.flowconfig +30 -0
  72. package/server/.nvmrc +1 -0
  73. package/server/endpoints/admin.js +566 -0
  74. package/server/endpoints/agentFileServer.js +174 -0
  75. package/server/endpoints/agentFlows.js +192 -0
  76. package/server/endpoints/agentSkillWhitelist.js +82 -0
  77. package/server/endpoints/agentWebsocket.js +62 -0
  78. package/server/endpoints/api/admin/index.js +775 -0
  79. package/server/endpoints/api/auth/index.js +33 -0
  80. package/server/endpoints/api/document/index.js +1210 -0
  81. package/server/endpoints/api/embed/index.js +409 -0
  82. package/server/endpoints/api/index.js +29 -0
  83. package/server/endpoints/api/openai/compatibility-test-script.cjs +79 -0
  84. package/server/endpoints/api/openai/helpers.js +50 -0
  85. package/server/endpoints/api/openai/index.js +321 -0
  86. package/server/endpoints/api/system/index.js +275 -0
  87. package/server/endpoints/api/userManagement/index.js +124 -0
  88. package/server/endpoints/api/workspace/index.js +1008 -0
  89. package/server/endpoints/api/workspaceThread/index.js +627 -0
  90. package/server/endpoints/browserExtension.js +221 -0
  91. package/server/endpoints/chat.js +193 -0
  92. package/server/endpoints/communityHub.js +214 -0
  93. package/server/endpoints/document.js +111 -0
  94. package/server/endpoints/embed/index.js +103 -0
  95. package/server/endpoints/embedManagement.js +131 -0
  96. package/server/endpoints/experimental/imported-agent-plugins.js +65 -0
  97. package/server/endpoints/experimental/index.js +12 -0
  98. package/server/endpoints/experimental/liveSync.js +110 -0
  99. package/server/endpoints/extensions/index.js +175 -0
  100. package/server/endpoints/invite.js +81 -0
  101. package/server/endpoints/mcpServers.js +127 -0
  102. package/server/endpoints/memory.js +196 -0
  103. package/server/endpoints/mobile/index.js +160 -0
  104. package/server/endpoints/mobile/middleware/index.js +97 -0
  105. package/server/endpoints/mobile/utils/index.js +195 -0
  106. package/server/endpoints/modelRouter.js +205 -0
  107. package/server/endpoints/scheduledJobs.js +374 -0
  108. package/server/endpoints/system.js +1490 -0
  109. package/server/endpoints/telegram.js +333 -0
  110. package/server/endpoints/utils/dockerModelRunnerUtils.js +94 -0
  111. package/server/endpoints/utils/googleAgentSkillEndpoints.js +70 -0
  112. package/server/endpoints/utils/lemonadeUtilsEndpoints.js +170 -0
  113. package/server/endpoints/utils/outlookAgentUtils.js +190 -0
  114. package/server/endpoints/utils.js +220 -0
  115. package/server/endpoints/webPush.js +27 -0
  116. package/server/endpoints/workspaceThreads.js +245 -0
  117. package/server/endpoints/workspaces.js +1159 -0
  118. package/server/endpoints/workspacesParsedFiles.js +208 -0
  119. package/server/index.js +178 -0
  120. package/server/jobs/cleanup-generated-files.js +160 -0
  121. package/server/jobs/cleanup-orphan-documents.js +79 -0
  122. package/server/jobs/embedding-worker.js +197 -0
  123. package/server/jobs/extract-memories.js +192 -0
  124. package/server/jobs/handle-telegram-chat.js +67 -0
  125. package/server/jobs/helpers/index.js +54 -0
  126. package/server/jobs/helpers/memory-extraction-utils.js +366 -0
  127. package/server/jobs/helpers/scheduled-job-helper.js +111 -0
  128. package/server/jobs/run-scheduled-job.js +157 -0
  129. package/server/jobs/sync-watched-documents.js +209 -0
  130. package/server/jsconfig.json +14 -0
  131. package/server/middleware/httpLogger.js +23 -0
  132. package/server/models/agentSkillWhitelist.js +100 -0
  133. package/server/models/apiKeys.js +99 -0
  134. package/server/models/browserExtensionApiKey.js +190 -0
  135. package/server/models/cacheData.js +69 -0
  136. package/server/models/communityHub.js +213 -0
  137. package/server/models/documentSyncQueue.js +252 -0
  138. package/server/models/documentSyncRun.js +88 -0
  139. package/server/models/documents.js +356 -0
  140. package/server/models/embedChats.js +199 -0
  141. package/server/models/embedConfig.js +251 -0
  142. package/server/models/eventLogs.js +129 -0
  143. package/server/models/externalCommunicationConnector.js +110 -0
  144. package/server/models/invite.js +144 -0
  145. package/server/models/memory.js +451 -0
  146. package/server/models/mobileDevice.js +251 -0
  147. package/server/models/modelRouter.js +259 -0
  148. package/server/models/modelRouterRule.js +336 -0
  149. package/server/models/passwordRecovery.js +115 -0
  150. package/server/models/promptHistory.js +107 -0
  151. package/server/models/scheduledJob.js +499 -0
  152. package/server/models/scheduledJobRun.js +362 -0
  153. package/server/models/slashCommandsPresets.js +143 -0
  154. package/server/models/systemPromptVariables.js +361 -0
  155. package/server/models/systemSettings.js +1183 -0
  156. package/server/models/temporaryAuthToken.js +104 -0
  157. package/server/models/user.js +381 -0
  158. package/server/models/vectors.js +79 -0
  159. package/server/models/workspace.js +720 -0
  160. package/server/models/workspaceAgentInvocation.js +97 -0
  161. package/server/models/workspaceChats.js +386 -0
  162. package/server/models/workspaceParsedFiles.js +246 -0
  163. package/server/models/workspaceThread.js +151 -0
  164. package/server/models/workspaceUsers.js +103 -0
  165. package/server/models/workspacesSuggestedMessages.js +83 -0
  166. package/server/package.json +130 -0
  167. package/server/prisma/migrations/20230921191814_init/migration.sql +125 -0
  168. package/server/prisma/migrations/20231101001441_init/migration.sql +2 -0
  169. package/server/prisma/migrations/20231101195421_init/migration.sql +11 -0
  170. package/server/prisma/migrations/20231129012019_add/migration.sql +2 -0
  171. package/server/prisma/migrations/20240113013409_init/migration.sql +2 -0
  172. package/server/prisma/migrations/20240118201333_init/migration.sql +2 -0
  173. package/server/prisma/migrations/20240202002020_init/migration.sql +37 -0
  174. package/server/prisma/migrations/20240206181106_init/migration.sql +13 -0
  175. package/server/prisma/migrations/20240206211916_init/migration.sql +11 -0
  176. package/server/prisma/migrations/20240208224848_init/migration.sql +24 -0
  177. package/server/prisma/migrations/20240210004405_init/migration.sql +2 -0
  178. package/server/prisma/migrations/20240216214639_init/migration.sql +2 -0
  179. package/server/prisma/migrations/20240219211018_init/migration.sql +2 -0
  180. package/server/prisma/migrations/20240301002308_init/migration.sql +2 -0
  181. package/server/prisma/migrations/20240326231053_init/migration.sql +2 -0
  182. package/server/prisma/migrations/20240405015034_init/migration.sql +2 -0
  183. package/server/prisma/migrations/20240412183346_init/migration.sql +24 -0
  184. package/server/prisma/migrations/20240425004220_init/migration.sql +30 -0
  185. package/server/prisma/migrations/20240430230707_init/migration.sql +2 -0
  186. package/server/prisma/migrations/20240510032311_init/migration.sql +15 -0
  187. package/server/prisma/migrations/20240618224346_init/migration.sql +26 -0
  188. package/server/prisma/migrations/20240821215625_init/migration.sql +2 -0
  189. package/server/prisma/migrations/20240824005054_init/migration.sql +15 -0
  190. package/server/prisma/migrations/20241003192954_init/migration.sql +2 -0
  191. package/server/prisma/migrations/20241029203722_init/migration.sql +12 -0
  192. package/server/prisma/migrations/20241029233509_init/migration.sql +5 -0
  193. package/server/prisma/migrations/20250102204948_init/migration.sql +2 -0
  194. package/server/prisma/migrations/20250226005538_init/migration.sql +2 -0
  195. package/server/prisma/migrations/20250318154720_init/migration.sql +18 -0
  196. package/server/prisma/migrations/20250506214129_init/migration.sql +13 -0
  197. package/server/prisma/migrations/20250709230835_init/migration.sql +2 -0
  198. package/server/prisma/migrations/20250725194841_init/migration.sql +17 -0
  199. package/server/prisma/migrations/20250808171557_init/migration.sql +23 -0
  200. package/server/prisma/migrations/20260130040204_init/migration.sql +2 -0
  201. package/server/prisma/migrations/20260313192859_init/migration.sql +10 -0
  202. package/server/prisma/migrations/20260319202916_init/migration.sql +12 -0
  203. package/server/prisma/migrations/20260406120000_init/migration.sql +2 -0
  204. package/server/prisma/migrations/20260423191158_init/migration.sql +29 -0
  205. package/server/prisma/migrations/20260424013043_init/migration.sql +22 -0
  206. package/server/prisma/migrations/20260520160208_init/migration.sql +46 -0
  207. package/server/prisma/migrations/migration_lock.toml +3 -0
  208. package/server/prisma/schema.prisma +484 -0
  209. package/server/prisma/seed.js +31 -0
  210. package/server/public/KaTeX_AMS-Regular.eot +0 -0
  211. package/server/public/KaTeX_AMS-Regular.ttf +0 -0
  212. package/server/public/KaTeX_AMS-Regular.woff +0 -0
  213. package/server/public/KaTeX_AMS-Regular.woff2 +0 -0
  214. package/server/public/KaTeX_Caligraphic-Bold.eot +0 -0
  215. package/server/public/KaTeX_Caligraphic-Bold.ttf +0 -0
  216. package/server/public/KaTeX_Caligraphic-Bold.woff +0 -0
  217. package/server/public/KaTeX_Caligraphic-Bold.woff2 +0 -0
  218. package/server/public/KaTeX_Caligraphic-Regular.eot +0 -0
  219. package/server/public/KaTeX_Caligraphic-Regular.ttf +0 -0
  220. package/server/public/KaTeX_Caligraphic-Regular.woff +0 -0
  221. package/server/public/KaTeX_Caligraphic-Regular.woff2 +0 -0
  222. package/server/public/KaTeX_Fraktur-Bold.eot +0 -0
  223. package/server/public/KaTeX_Fraktur-Bold.ttf +0 -0
  224. package/server/public/KaTeX_Fraktur-Bold.woff +0 -0
  225. package/server/public/KaTeX_Fraktur-Bold.woff2 +0 -0
  226. package/server/public/KaTeX_Fraktur-Regular.eot +0 -0
  227. package/server/public/KaTeX_Fraktur-Regular.ttf +0 -0
  228. package/server/public/KaTeX_Fraktur-Regular.woff +0 -0
  229. package/server/public/KaTeX_Fraktur-Regular.woff2 +0 -0
  230. package/server/public/KaTeX_Main-Bold.eot +0 -0
  231. package/server/public/KaTeX_Main-Bold.ttf +0 -0
  232. package/server/public/KaTeX_Main-Bold.woff +0 -0
  233. package/server/public/KaTeX_Main-Bold.woff2 +0 -0
  234. package/server/public/KaTeX_Main-Italic.eot +0 -0
  235. package/server/public/KaTeX_Main-Italic.ttf +0 -0
  236. package/server/public/KaTeX_Main-Italic.woff +0 -0
  237. package/server/public/KaTeX_Main-Italic.woff2 +0 -0
  238. package/server/public/KaTeX_Main-Regular.eot +0 -0
  239. package/server/public/KaTeX_Main-Regular.ttf +0 -0
  240. package/server/public/KaTeX_Main-Regular.woff +0 -0
  241. package/server/public/KaTeX_Main-Regular.woff2 +0 -0
  242. package/server/public/KaTeX_Math-Italic.eot +0 -0
  243. package/server/public/KaTeX_Math-Italic.ttf +0 -0
  244. package/server/public/KaTeX_Math-Italic.woff +0 -0
  245. package/server/public/KaTeX_Math-Italic.woff2 +0 -0
  246. package/server/public/KaTeX_SansSerif-Regular.eot +0 -0
  247. package/server/public/KaTeX_SansSerif-Regular.ttf +0 -0
  248. package/server/public/KaTeX_SansSerif-Regular.woff +0 -0
  249. package/server/public/KaTeX_SansSerif-Regular.woff2 +0 -0
  250. package/server/public/KaTeX_Script-Regular.eot +0 -0
  251. package/server/public/KaTeX_Script-Regular.ttf +0 -0
  252. package/server/public/KaTeX_Script-Regular.woff +0 -0
  253. package/server/public/KaTeX_Script-Regular.woff2 +0 -0
  254. package/server/public/KaTeX_Size1-Regular.eot +0 -0
  255. package/server/public/KaTeX_Size1-Regular.ttf +0 -0
  256. package/server/public/KaTeX_Size1-Regular.woff +0 -0
  257. package/server/public/KaTeX_Size1-Regular.woff2 +0 -0
  258. package/server/public/KaTeX_Size2-Regular.eot +0 -0
  259. package/server/public/KaTeX_Size2-Regular.ttf +0 -0
  260. package/server/public/KaTeX_Size2-Regular.woff +0 -0
  261. package/server/public/KaTeX_Size2-Regular.woff2 +0 -0
  262. package/server/public/KaTeX_Size3-Regular.eot +0 -0
  263. package/server/public/KaTeX_Size3-Regular.ttf +0 -0
  264. package/server/public/KaTeX_Size3-Regular.woff +0 -0
  265. package/server/public/KaTeX_Size4-Regular.eot +0 -0
  266. package/server/public/KaTeX_Size4-Regular.ttf +0 -0
  267. package/server/public/KaTeX_Size4-Regular.woff +0 -0
  268. package/server/public/KaTeX_Size4-Regular.woff2 +0 -0
  269. package/server/public/KaTeX_Typewriter-Regular.eot +0 -0
  270. package/server/public/KaTeX_Typewriter-Regular.ttf +0 -0
  271. package/server/public/KaTeX_Typewriter-Regular.woff +0 -0
  272. package/server/public/KaTeX_Typewriter-Regular.woff2 +0 -0
  273. package/server/public/PlusJakartaSans.ttf +0 -0
  274. package/server/public/_index.html +45 -0
  275. package/server/public/agent-animation.webm +0 -0
  276. package/server/public/agent-static.png +0 -0
  277. package/server/public/anthropic.png +0 -0
  278. package/server/public/anything-llm-dark.png +0 -0
  279. package/server/public/anything-llm-light.png +0 -0
  280. package/server/public/anything-llm.png +0 -0
  281. package/server/public/apipie.png +0 -0
  282. package/server/public/assets/404-aca8e9d6.js +1 -0
  283. package/server/public/assets/Brain-24e386d5.js +1 -0
  284. package/server/public/assets/Browser-1820fad0.js +1 -0
  285. package/server/public/assets/ChatText-35275002.js +1 -0
  286. package/server/public/assets/Check-7e83fb0d.js +1 -0
  287. package/server/public/assets/Copy-d323e545.js +1 -0
  288. package/server/public/assets/Database-f1a76329.js +1 -0
  289. package/server/public/assets/Eye-9f033dc0.js +1 -0
  290. package/server/public/assets/File-b92df2f3.js +1 -0
  291. package/server/public/assets/Gauge-e6762f4d.js +1 -0
  292. package/server/public/assets/Hammer-05b5ccc7.js +1 -0
  293. package/server/public/assets/Plug-7d951c7d.js +1 -0
  294. package/server/public/assets/PlusCircle-31c6a8d8.js +1 -0
  295. package/server/public/assets/RunDetailPage-edfdbd4d.js +1 -0
  296. package/server/public/assets/RunHistoryPage-732dae26.js +1 -0
  297. package/server/public/assets/Stop-4b47ae05.js +1 -0
  298. package/server/public/assets/Trans-36b04c7b.js +1 -0
  299. package/server/public/assets/WarningCircle-27467274.js +1 -0
  300. package/server/public/assets/XCircle-edfe554c.js +1 -0
  301. package/server/public/assets/admin-04b020fe.js +1 -0
  302. package/server/public/assets/agentFlows-e4124dd3.js +1 -0
  303. package/server/public/assets/anything-llm-infinity-0d7244a1.js +1 -0
  304. package/server/public/assets/communityHub-aba61686.js +1 -0
  305. package/server/public/assets/cron-2ad9194f.js +1 -0
  306. package/server/public/assets/files-493643b0.js +23 -0
  307. package/server/public/assets/github-dark-57c241de.js +1 -0
  308. package/server/public/assets/index-08cd0bc2.js +9 -0
  309. package/server/public/assets/index-0bf8ea25.js +1 -0
  310. package/server/public/assets/index-25b2660c.js +1 -0
  311. package/server/public/assets/index-2a7c0b04.js +1 -0
  312. package/server/public/assets/index-3643e990.js +1 -0
  313. package/server/public/assets/index-3761d55d.js +1 -0
  314. package/server/public/assets/index-4b5e1c76.js +5 -0
  315. package/server/public/assets/index-4fb4d421.js +2 -0
  316. package/server/public/assets/index-56bb11a0.js +1 -0
  317. package/server/public/assets/index-5c320a5d.js +1 -0
  318. package/server/public/assets/index-62160652.js +3 -0
  319. package/server/public/assets/index-62fee0f9.js +4 -0
  320. package/server/public/assets/index-65801ac6.js +1 -0
  321. package/server/public/assets/index-71027183.js +1 -0
  322. package/server/public/assets/index-72832304.js +18 -0
  323. package/server/public/assets/index-7b0ea06b.js +14 -0
  324. package/server/public/assets/index-8132c765.js +1 -0
  325. package/server/public/assets/index-837868b3.js +1 -0
  326. package/server/public/assets/index-86e8a6b4.js +1 -0
  327. package/server/public/assets/index-8ba96f42.js +1 -0
  328. package/server/public/assets/index-8e43159f.js +1 -0
  329. package/server/public/assets/index-92574f3a.js +1 -0
  330. package/server/public/assets/index-925792fe.js +2 -0
  331. package/server/public/assets/index-92d3b7bc.js +1 -0
  332. package/server/public/assets/index-994c849a.js +1 -0
  333. package/server/public/assets/index-9f71774b.js +1 -0
  334. package/server/public/assets/index-9f7dabd6.js +1 -0
  335. package/server/public/assets/index-a0e2be61.js +1 -0
  336. package/server/public/assets/index-a6ac5511.js +1 -0
  337. package/server/public/assets/index-a6c0d98a.js +1 -0
  338. package/server/public/assets/index-aa687cfe.js +3 -0
  339. package/server/public/assets/index-ab35fb74.js +1 -0
  340. package/server/public/assets/index-ab72b353.js +4 -0
  341. package/server/public/assets/index-ad8e77d2.js +5 -0
  342. package/server/public/assets/index-c07cc087.js +110 -0
  343. package/server/public/assets/index-c22f7da1.js +1 -0
  344. package/server/public/assets/index-c9b59c35.js +1 -0
  345. package/server/public/assets/index-d59c6d7f.js +1 -0
  346. package/server/public/assets/index-d69f2e09.js +1 -0
  347. package/server/public/assets/index-e5b911ea.js +1 -0
  348. package/server/public/assets/index-e6c540e1.js +1 -0
  349. package/server/public/assets/index-f86e167c.js +4 -0
  350. package/server/public/assets/index-f984ef26.js +1 -0
  351. package/server/public/assets/index-fb26b60a.js +1 -0
  352. package/server/public/assets/index-fd922432.js +1 -0
  353. package/server/public/assets/main-8ad4162f.js +1 -0
  354. package/server/public/assets/mcpServers-957b1f1c.js +1 -0
  355. package/server/public/assets/moment-3ad2e1a6.js +10 -0
  356. package/server/public/assets/ort.min-faca3c2b.js +1827 -0
  357. package/server/public/assets/piper-o91UDS6e-0c78e94e.js +4 -0
  358. package/server/public/assets/purify-6b86d6dc.js +26 -0
  359. package/server/public/assets/react-beautiful-dnd.esm-86e87aba.js +68 -0
  360. package/server/public/assets/truncate-352eb33b.js +1 -0
  361. package/server/public/assets/types-e90e1137.js +1 -0
  362. package/server/public/assets/usePolling-417bb099.js +1 -0
  363. package/server/public/assets/voices_static-D_OtJDHM-5cdb0950.js +1 -0
  364. package/server/public/assets/worker-8f433525.js +1 -0
  365. package/server/public/azure.png +0 -0
  366. package/server/public/baidu.png +0 -0
  367. package/server/public/bedrock.png +0 -0
  368. package/server/public/bg.png +0 -0
  369. package/server/public/bing.png +0 -0
  370. package/server/public/cerebras.png +0 -0
  371. package/server/public/cohere.png +0 -0
  372. package/server/public/cometapi.png +0 -0
  373. package/server/public/community-hub.png +0 -0
  374. package/server/public/confluence.jpeg +0 -0
  375. package/server/public/deepseek.png +0 -0
  376. package/server/public/docker-model-runner.png +0 -0
  377. package/server/public/dpais.png +0 -0
  378. package/server/public/drupalwiki.jpg +0 -0
  379. package/server/public/duckduckgo.png +0 -0
  380. package/server/public/elevenlabs.png +0 -0
  381. package/server/public/embed/anythingllm-chat-widget.min.css +1 -0
  382. package/server/public/embed/anythingllm-chat-widget.min.js +37 -0
  383. package/server/public/exa.png +0 -0
  384. package/server/public/favicon.ico +0 -0
  385. package/server/public/favicon.png +0 -0
  386. package/server/public/file-system.png +0 -0
  387. package/server/public/files.css +1 -0
  388. package/server/public/fonts/PlusJakartaSans.ttf +0 -0
  389. package/server/public/foundry-local.png +0 -0
  390. package/server/public/gemini.png +0 -0
  391. package/server/public/generate-charts.png +0 -0
  392. package/server/public/generate-save-files.png +0 -0
  393. package/server/public/generic-openai.png +0 -0
  394. package/server/public/giteeai.png +0 -0
  395. package/server/public/github-dark.css +10 -0
  396. package/server/public/github.css +19 -0
  397. package/server/public/github.svg +4 -0
  398. package/server/public/gitlab.svg +7 -0
  399. package/server/public/gmail.png +0 -0
  400. package/server/public/google-calendar.png +0 -0
  401. package/server/public/gplay-badge.svg +55 -0
  402. package/server/public/huggingface.png +0 -0
  403. package/server/public/index.css +1 -0
  404. package/server/public/index.js +1739 -0
  405. package/server/public/koboldcpp.png +0 -0
  406. package/server/public/lancedb.png +0 -0
  407. package/server/public/lemonade.png +0 -0
  408. package/server/public/link.svg +1 -0
  409. package/server/public/litellm.png +0 -0
  410. package/server/public/lmstudio.png +0 -0
  411. package/server/public/localai.png +0 -0
  412. package/server/public/login-logo-light.svg +45 -0
  413. package/server/public/login-logo.svg +45 -0
  414. package/server/public/manifest.json +13 -0
  415. package/server/public/mcp-logo.svg +1 -0
  416. package/server/public/milvus.png +0 -0
  417. package/server/public/minimax.png +0 -0
  418. package/server/public/mistral.jpeg +0 -0
  419. package/server/public/moonshotai.png +0 -0
  420. package/server/public/mssql.png +0 -0
  421. package/server/public/mysql.png +0 -0
  422. package/server/public/nvidia-nim.png +0 -0
  423. package/server/public/obsidian.png +0 -0
  424. package/server/public/ollama.png +0 -0
  425. package/server/public/openai.png +0 -0
  426. package/server/public/openrouter.jpeg +0 -0
  427. package/server/public/outlook.png +0 -0
  428. package/server/public/paperless-ngx.jpeg +0 -0
  429. package/server/public/perplexity.png +0 -0
  430. package/server/public/pgvector.png +0 -0
  431. package/server/public/piper.png +0 -0
  432. package/server/public/privatemode.png +0 -0
  433. package/server/public/qdrant.png +0 -0
  434. package/server/public/rag-memory.png +0 -0
  435. package/server/public/robots.txt +2 -0
  436. package/server/public/router-animation.webm +0 -0
  437. package/server/public/sambanova.png +0 -0
  438. package/server/public/scrape-websites.png +0 -0
  439. package/server/public/searchapi.png +0 -0
  440. package/server/public/searxng.png +0 -0
  441. package/server/public/serpapi.png +0 -0
  442. package/server/public/serper.png +0 -0
  443. package/server/public/serply.png +0 -0
  444. package/server/public/service-workers/push-notifications.js +26 -0
  445. package/server/public/sql-agent.png +0 -0
  446. package/server/public/tavily.svg +1 -0
  447. package/server/public/text-generation-webui.png +0 -0
  448. package/server/public/thinking-animation.webm +0 -0
  449. package/server/public/thinking-static.png +0 -0
  450. package/server/public/togetherai.png +0 -0
  451. package/server/public/view-summarize.png +0 -0
  452. package/server/public/voyageai.png +0 -0
  453. package/server/public/weaviate.png +0 -0
  454. package/server/public/xai.png +0 -0
  455. package/server/public/youtube.svg +10 -0
  456. package/server/public/zai.png +0 -0
  457. package/server/public/zilliz.png +0 -0
  458. package/server/utils/AiProviders/anthropic/index.js +372 -0
  459. package/server/utils/AiProviders/apipie/index.js +386 -0
  460. package/server/utils/AiProviders/azureOpenAi/index.js +232 -0
  461. package/server/utils/AiProviders/bedrock/index.js +787 -0
  462. package/server/utils/AiProviders/bedrock/utils.js +166 -0
  463. package/server/utils/AiProviders/cerebras/index.js +314 -0
  464. package/server/utils/AiProviders/cohere/index.js +251 -0
  465. package/server/utils/AiProviders/cometapi/constants.js +39 -0
  466. package/server/utils/AiProviders/cometapi/index.js +445 -0
  467. package/server/utils/AiProviders/deepseek/index.js +180 -0
  468. package/server/utils/AiProviders/dellProAiStudio/index.js +217 -0
  469. package/server/utils/AiProviders/dockerModelRunner/index.js +520 -0
  470. package/server/utils/AiProviders/fireworksAi/index.js +273 -0
  471. package/server/utils/AiProviders/foundry/index.js +475 -0
  472. package/server/utils/AiProviders/gemini/defaultModels.js +74 -0
  473. package/server/utils/AiProviders/gemini/index.js +457 -0
  474. package/server/utils/AiProviders/gemini/syncStaticLists.mjs +48 -0
  475. package/server/utils/AiProviders/genericOpenAi/index.js +485 -0
  476. package/server/utils/AiProviders/giteeai/index.js +245 -0
  477. package/server/utils/AiProviders/groq/index.js +257 -0
  478. package/server/utils/AiProviders/huggingface/index.js +165 -0
  479. package/server/utils/AiProviders/koboldCPP/index.js +264 -0
  480. package/server/utils/AiProviders/lemonade/index.js +463 -0
  481. package/server/utils/AiProviders/liteLLM/index.js +201 -0
  482. package/server/utils/AiProviders/lmStudio/index.js +383 -0
  483. package/server/utils/AiProviders/localAi/index.js +198 -0
  484. package/server/utils/AiProviders/minimax/index.js +165 -0
  485. package/server/utils/AiProviders/mistral/index.js +191 -0
  486. package/server/utils/AiProviders/modelMap/index.js +212 -0
  487. package/server/utils/AiProviders/modelMap/legacy.js +162 -0
  488. package/server/utils/AiProviders/modelRouter/index.js +170 -0
  489. package/server/utils/AiProviders/moonshotAi/index.js +176 -0
  490. package/server/utils/AiProviders/novita/index.js +460 -0
  491. package/server/utils/AiProviders/nvidiaNim/index.js +253 -0
  492. package/server/utils/AiProviders/ollama/index.js +516 -0
  493. package/server/utils/AiProviders/openAi/index.js +301 -0
  494. package/server/utils/AiProviders/openRouter/index.js +567 -0
  495. package/server/utils/AiProviders/perplexity/index.js +304 -0
  496. package/server/utils/AiProviders/perplexity/models.js +24 -0
  497. package/server/utils/AiProviders/perplexity/scripts/chat_models.txt +6 -0
  498. package/server/utils/AiProviders/perplexity/scripts/parse.mjs +49 -0
  499. package/server/utils/AiProviders/ppio/index.js +274 -0
  500. package/server/utils/AiProviders/privatemode/index.js +220 -0
  501. package/server/utils/AiProviders/sambanova/index.js +273 -0
  502. package/server/utils/AiProviders/textGenWebUI/index.js +197 -0
  503. package/server/utils/AiProviders/togetherAi/index.js +263 -0
  504. package/server/utils/AiProviders/xai/index.js +200 -0
  505. package/server/utils/AiProviders/zai/index.js +184 -0
  506. package/server/utils/BackgroundWorkers/index.js +432 -0
  507. package/server/utils/DocumentManager/index.js +72 -0
  508. package/server/utils/EmbeddingEngines/azureOpenAi/index.js +115 -0
  509. package/server/utils/EmbeddingEngines/cohere/index.js +91 -0
  510. package/server/utils/EmbeddingEngines/gemini/index.js +136 -0
  511. package/server/utils/EmbeddingEngines/genericOpenAi/index.js +128 -0
  512. package/server/utils/EmbeddingEngines/lemonade/index.js +99 -0
  513. package/server/utils/EmbeddingEngines/liteLLM/index.js +102 -0
  514. package/server/utils/EmbeddingEngines/lmstudio/index.js +122 -0
  515. package/server/utils/EmbeddingEngines/localAi/index.js +122 -0
  516. package/server/utils/EmbeddingEngines/mistral/index.js +40 -0
  517. package/server/utils/EmbeddingEngines/native/constants.js +63 -0
  518. package/server/utils/EmbeddingEngines/native/index.js +290 -0
  519. package/server/utils/EmbeddingEngines/ollama/index.js +136 -0
  520. package/server/utils/EmbeddingEngines/openAi/index.js +102 -0
  521. package/server/utils/EmbeddingEngines/openRouter/index.js +131 -0
  522. package/server/utils/EmbeddingEngines/voyageAi/index.js +71 -0
  523. package/server/utils/EmbeddingRerankers/native/index.js +257 -0
  524. package/server/utils/EmbeddingWorkerManager.js +202 -0
  525. package/server/utils/EncryptionManager/index.js +85 -0
  526. package/server/utils/MCP/hypervisor/index.js +554 -0
  527. package/server/utils/MCP/index.js +269 -0
  528. package/server/utils/PasswordRecovery/index.js +103 -0
  529. package/server/utils/PushNotifications/index.js +228 -0
  530. package/server/utils/TextSplitter/index.js +206 -0
  531. package/server/utils/TextToSpeech/elevenLabs/index.js +54 -0
  532. package/server/utils/TextToSpeech/index.js +18 -0
  533. package/server/utils/TextToSpeech/openAi/index.js +29 -0
  534. package/server/utils/TextToSpeech/openAiGeneric/index.js +58 -0
  535. package/server/utils/agentFlows/executor.js +233 -0
  536. package/server/utils/agentFlows/executors/api-call.js +60 -0
  537. package/server/utils/agentFlows/executors/llm-instruction.js +47 -0
  538. package/server/utils/agentFlows/executors/web-scraping.js +110 -0
  539. package/server/utils/agentFlows/flowTypes.js +85 -0
  540. package/server/utils/agentFlows/index.js +288 -0
  541. package/server/utils/agents/aibitat/error.js +18 -0
  542. package/server/utils/agents/aibitat/example/beginner-chat.js +56 -0
  543. package/server/utils/agents/aibitat/example/blog-post-coding.js +55 -0
  544. package/server/utils/agents/aibitat/example/websocket/index.html +67 -0
  545. package/server/utils/agents/aibitat/example/websocket/websock-branding-collab.js +100 -0
  546. package/server/utils/agents/aibitat/example/websocket/websock-multi-turn-chat.js +91 -0
  547. package/server/utils/agents/aibitat/index.js +1437 -0
  548. package/server/utils/agents/aibitat/plugins/chat-history.js +210 -0
  549. package/server/utils/agents/aibitat/plugins/cli.js +134 -0
  550. package/server/utils/agents/aibitat/plugins/create-files/assets/anything-llm-invert.png +0 -0
  551. package/server/utils/agents/aibitat/plugins/create-files/assets/anything-llm.png +0 -0
  552. package/server/utils/agents/aibitat/plugins/create-files/docx/create-docx-file.js +301 -0
  553. package/server/utils/agents/aibitat/plugins/create-files/docx/test-themes.js +298 -0
  554. package/server/utils/agents/aibitat/plugins/create-files/docx/utils.js +1095 -0
  555. package/server/utils/agents/aibitat/plugins/create-files/index.js +23 -0
  556. package/server/utils/agents/aibitat/plugins/create-files/lib.js +300 -0
  557. package/server/utils/agents/aibitat/plugins/create-files/pdf/create-pdf-file.js +138 -0
  558. package/server/utils/agents/aibitat/plugins/create-files/pdf/utils.js +70 -0
  559. package/server/utils/agents/aibitat/plugins/create-files/pptx/create-presentation.js +342 -0
  560. package/server/utils/agents/aibitat/plugins/create-files/pptx/section-agent.js +257 -0
  561. package/server/utils/agents/aibitat/plugins/create-files/pptx/test-themes.js +143 -0
  562. package/server/utils/agents/aibitat/plugins/create-files/pptx/themes.js +181 -0
  563. package/server/utils/agents/aibitat/plugins/create-files/pptx/utils.js +378 -0
  564. package/server/utils/agents/aibitat/plugins/create-files/text/create-text-file.js +158 -0
  565. package/server/utils/agents/aibitat/plugins/create-files/xlsx/create-excel-file.js +362 -0
  566. package/server/utils/agents/aibitat/plugins/create-files/xlsx/utils.js +333 -0
  567. package/server/utils/agents/aibitat/plugins/file-history.js +37 -0
  568. package/server/utils/agents/aibitat/plugins/filesystem/copy-file.js +127 -0
  569. package/server/utils/agents/aibitat/plugins/filesystem/create-directory.js +84 -0
  570. package/server/utils/agents/aibitat/plugins/filesystem/edit-file.js +133 -0
  571. package/server/utils/agents/aibitat/plugins/filesystem/get-file-info.js +75 -0
  572. package/server/utils/agents/aibitat/plugins/filesystem/index.js +33 -0
  573. package/server/utils/agents/aibitat/plugins/filesystem/lib.js +787 -0
  574. package/server/utils/agents/aibitat/plugins/filesystem/list-directory.js +175 -0
  575. package/server/utils/agents/aibitat/plugins/filesystem/move-file.js +95 -0
  576. package/server/utils/agents/aibitat/plugins/filesystem/read-multiple-files.js +157 -0
  577. package/server/utils/agents/aibitat/plugins/filesystem/read-text-file.js +142 -0
  578. package/server/utils/agents/aibitat/plugins/filesystem/search-files.js +469 -0
  579. package/server/utils/agents/aibitat/plugins/filesystem/write-text-file.js +90 -0
  580. package/server/utils/agents/aibitat/plugins/gmail/account/gmail-get-mailbox-stats.js +75 -0
  581. package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-create-draft-reply.js +220 -0
  582. package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-create-draft.js +217 -0
  583. package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-delete-draft.js +87 -0
  584. package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-get-draft.js +84 -0
  585. package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-list-drafts.js +96 -0
  586. package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-send-draft.js +94 -0
  587. package/server/utils/agents/aibitat/plugins/gmail/drafts/gmail-update-draft.js +217 -0
  588. package/server/utils/agents/aibitat/plugins/gmail/index.js +73 -0
  589. package/server/utils/agents/aibitat/plugins/gmail/lib.js +573 -0
  590. package/server/utils/agents/aibitat/plugins/gmail/search/gmail-get-inbox.js +104 -0
  591. package/server/utils/agents/aibitat/plugins/gmail/search/gmail-read-thread.js +122 -0
  592. package/server/utils/agents/aibitat/plugins/gmail/search/gmail-search.js +121 -0
  593. package/server/utils/agents/aibitat/plugins/gmail/send/gmail-reply-to-thread.js +238 -0
  594. package/server/utils/agents/aibitat/plugins/gmail/send/gmail-send-email.js +242 -0
  595. package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-mark-read.js +87 -0
  596. package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-mark-unread.js +87 -0
  597. package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-move-to-archive.js +89 -0
  598. package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-move-to-inbox.js +89 -0
  599. package/server/utils/agents/aibitat/plugins/gmail/threads/gmail-move-to-trash.js +89 -0
  600. package/server/utils/agents/aibitat/plugins/google-calendar/calendars/gcal-get-calendar.js +79 -0
  601. package/server/utils/agents/aibitat/plugins/google-calendar/calendars/gcal-list-calendars.js +82 -0
  602. package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-create-event.js +233 -0
  603. package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-get-event.js +116 -0
  604. package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-get-events-for-day.js +117 -0
  605. package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-get-events.js +159 -0
  606. package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-get-upcoming-events.js +249 -0
  607. package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-quick-add.js +114 -0
  608. package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-set-my-status.js +125 -0
  609. package/server/utils/agents/aibitat/plugins/google-calendar/events/gcal-update-event.js +173 -0
  610. package/server/utils/agents/aibitat/plugins/google-calendar/index.js +40 -0
  611. package/server/utils/agents/aibitat/plugins/google-calendar/lib.js +288 -0
  612. package/server/utils/agents/aibitat/plugins/http-socket.js +249 -0
  613. package/server/utils/agents/aibitat/plugins/index.js +47 -0
  614. package/server/utils/agents/aibitat/plugins/memory.js +167 -0
  615. package/server/utils/agents/aibitat/plugins/outlook/account/outlook-get-mailbox-stats.js +78 -0
  616. package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-create-draft.js +232 -0
  617. package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-delete-draft.js +86 -0
  618. package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-list-drafts.js +80 -0
  619. package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-send-draft.js +82 -0
  620. package/server/utils/agents/aibitat/plugins/outlook/drafts/outlook-update-draft.js +132 -0
  621. package/server/utils/agents/aibitat/plugins/outlook/index.js +45 -0
  622. package/server/utils/agents/aibitat/plugins/outlook/lib.js +1413 -0
  623. package/server/utils/agents/aibitat/plugins/outlook/search/outlook-get-inbox.js +75 -0
  624. package/server/utils/agents/aibitat/plugins/outlook/search/outlook-read-thread.js +131 -0
  625. package/server/utils/agents/aibitat/plugins/outlook/search/outlook-search.js +101 -0
  626. package/server/utils/agents/aibitat/plugins/outlook/send/outlook-send-email.js +222 -0
  627. package/server/utils/agents/aibitat/plugins/rechart.js +114 -0
  628. package/server/utils/agents/aibitat/plugins/request-user-input.js +265 -0
  629. package/server/utils/agents/aibitat/plugins/router-classifier.js +122 -0
  630. package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/MSSQL.js +114 -0
  631. package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/MySQL.js +83 -0
  632. package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/Postgresql.js +75 -0
  633. package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/index.js +80 -0
  634. package/server/utils/agents/aibitat/plugins/sql-agent/SQLConnectors/utils.js +182 -0
  635. package/server/utils/agents/aibitat/plugins/sql-agent/get-table-schema.js +115 -0
  636. package/server/utils/agents/aibitat/plugins/sql-agent/index.js +21 -0
  637. package/server/utils/agents/aibitat/plugins/sql-agent/list-database.js +49 -0
  638. package/server/utils/agents/aibitat/plugins/sql-agent/list-table.js +105 -0
  639. package/server/utils/agents/aibitat/plugins/sql-agent/query.js +101 -0
  640. package/server/utils/agents/aibitat/plugins/summarize.js +189 -0
  641. package/server/utils/agents/aibitat/plugins/web-browsing.js +1182 -0
  642. package/server/utils/agents/aibitat/plugins/web-scraping.js +158 -0
  643. package/server/utils/agents/aibitat/plugins/websocket.js +361 -0
  644. package/server/utils/agents/aibitat/providers/ai-provider.js +706 -0
  645. package/server/utils/agents/aibitat/providers/anthropic.js +490 -0
  646. package/server/utils/agents/aibitat/providers/apipie.js +99 -0
  647. package/server/utils/agents/aibitat/providers/azure.js +122 -0
  648. package/server/utils/agents/aibitat/providers/bedrock.js +456 -0
  649. package/server/utils/agents/aibitat/providers/cerebras.js +208 -0
  650. package/server/utils/agents/aibitat/providers/cohere.js +269 -0
  651. package/server/utils/agents/aibitat/providers/cometapi.js +104 -0
  652. package/server/utils/agents/aibitat/providers/deepseek.js +223 -0
  653. package/server/utils/agents/aibitat/providers/dellProAiStudio.js +106 -0
  654. package/server/utils/agents/aibitat/providers/dockerModelRunner.js +189 -0
  655. package/server/utils/agents/aibitat/providers/fireworksai.js +101 -0
  656. package/server/utils/agents/aibitat/providers/foundry.js +112 -0
  657. package/server/utils/agents/aibitat/providers/gemini.js +450 -0
  658. package/server/utils/agents/aibitat/providers/genericOpenAi.js +206 -0
  659. package/server/utils/agents/aibitat/providers/giteeai.js +94 -0
  660. package/server/utils/agents/aibitat/providers/groq.js +184 -0
  661. package/server/utils/agents/aibitat/providers/helpers/classes.js +16 -0
  662. package/server/utils/agents/aibitat/providers/helpers/tooled.js +384 -0
  663. package/server/utils/agents/aibitat/providers/helpers/untooled.js +437 -0
  664. package/server/utils/agents/aibitat/providers/index.js +77 -0
  665. package/server/utils/agents/aibitat/providers/koboldcpp.js +103 -0
  666. package/server/utils/agents/aibitat/providers/lemonade.js +213 -0
  667. package/server/utils/agents/aibitat/providers/litellm.js +186 -0
  668. package/server/utils/agents/aibitat/providers/lmstudio.js +195 -0
  669. package/server/utils/agents/aibitat/providers/localai.js +190 -0
  670. package/server/utils/agents/aibitat/providers/minimax.js +194 -0
  671. package/server/utils/agents/aibitat/providers/mistral.js +103 -0
  672. package/server/utils/agents/aibitat/providers/moonshotAi.js +97 -0
  673. package/server/utils/agents/aibitat/providers/novita.js +188 -0
  674. package/server/utils/agents/aibitat/providers/nvidiaNim.js +101 -0
  675. package/server/utils/agents/aibitat/providers/ollama.js +606 -0
  676. package/server/utils/agents/aibitat/providers/openai.js +345 -0
  677. package/server/utils/agents/aibitat/providers/openrouter.js +195 -0
  678. package/server/utils/agents/aibitat/providers/perplexity.js +99 -0
  679. package/server/utils/agents/aibitat/providers/ppio.js +104 -0
  680. package/server/utils/agents/aibitat/providers/privatemode.js +107 -0
  681. package/server/utils/agents/aibitat/providers/sambanova.js +94 -0
  682. package/server/utils/agents/aibitat/providers/textgenwebui.js +99 -0
  683. package/server/utils/agents/aibitat/providers/togetherai.js +100 -0
  684. package/server/utils/agents/aibitat/providers/xai.js +99 -0
  685. package/server/utils/agents/aibitat/providers/zai.js +97 -0
  686. package/server/utils/agents/aibitat/utils/dedupe.js +152 -0
  687. package/server/utils/agents/aibitat/utils/summarize.js +63 -0
  688. package/server/utils/agents/aibitat/utils/toolReranker.js +225 -0
  689. package/server/utils/agents/defaults.js +196 -0
  690. package/server/utils/agents/ephemeral.js +790 -0
  691. package/server/utils/agents/imported-manifest.schema.json +158 -0
  692. package/server/utils/agents/imported.js +317 -0
  693. package/server/utils/agents/index.js +883 -0
  694. package/server/utils/boot/MetaGenerator.js +376 -0
  695. package/server/utils/boot/eagerLoadContextWindows.js +40 -0
  696. package/server/utils/boot/index.js +90 -0
  697. package/server/utils/boot/markOnboarded.js +52 -0
  698. package/server/utils/chats/agents.js +111 -0
  699. package/server/utils/chats/apiChatHandler.js +864 -0
  700. package/server/utils/chats/commands/reset.js +37 -0
  701. package/server/utils/chats/embed.js +301 -0
  702. package/server/utils/chats/index.js +128 -0
  703. package/server/utils/chats/openaiCompatible.js +537 -0
  704. package/server/utils/chats/stream.js +376 -0
  705. package/server/utils/collectorApi/index.js +319 -0
  706. package/server/utils/comKey/index.js +86 -0
  707. package/server/utils/database/index.js +83 -0
  708. package/server/utils/files/index.js +519 -0
  709. package/server/utils/files/logo.js +117 -0
  710. package/server/utils/files/multer.js +178 -0
  711. package/server/utils/files/pfp.js +63 -0
  712. package/server/utils/files/purgeDocument.js +91 -0
  713. package/server/utils/helpers/admin/index.js +56 -0
  714. package/server/utils/helpers/agents.js +35 -0
  715. package/server/utils/helpers/camelcase.js +143 -0
  716. package/server/utils/helpers/chat/LLMPerformanceMonitor.js +113 -0
  717. package/server/utils/helpers/chat/convertTo.js +256 -0
  718. package/server/utils/helpers/chat/index.js +448 -0
  719. package/server/utils/helpers/chat/responses.js +383 -0
  720. package/server/utils/helpers/customModels.js +1142 -0
  721. package/server/utils/helpers/index.js +716 -0
  722. package/server/utils/helpers/portAvailabilityChecker.js +46 -0
  723. package/server/utils/helpers/search.js +94 -0
  724. package/server/utils/helpers/shell.js +25 -0
  725. package/server/utils/helpers/tiktoken.js +107 -0
  726. package/server/utils/helpers/updateENV.js +1399 -0
  727. package/server/utils/http/index.js +141 -0
  728. package/server/utils/logger/index.js +66 -0
  729. package/server/utils/memories/index.js +139 -0
  730. package/server/utils/middleware/chatHistoryViewable.js +18 -0
  731. package/server/utils/middleware/communityHubDownloadsEnabled.js +77 -0
  732. package/server/utils/middleware/embedMiddleware.js +178 -0
  733. package/server/utils/middleware/featureFlagEnabled.js +24 -0
  734. package/server/utils/middleware/isSupportedRepoProviders.js +12 -0
  735. package/server/utils/middleware/multiUserProtected.js +107 -0
  736. package/server/utils/middleware/requireFeature.js +46 -0
  737. package/server/utils/middleware/simpleSSOEnabled.js +84 -0
  738. package/server/utils/middleware/validApiKey.js +29 -0
  739. package/server/utils/middleware/validBrowserExtensionApiKey.js +51 -0
  740. package/server/utils/middleware/validWorkspace.js +52 -0
  741. package/server/utils/middleware/validatedRequest.js +111 -0
  742. package/server/utils/middleware/workspaceDeletionProtection.js +18 -0
  743. package/server/utils/prisma/PRISMA.md +47 -0
  744. package/server/utils/prisma/index.js +13 -0
  745. package/server/utils/router/index.js +653 -0
  746. package/server/utils/telegramBot/chat/agent.js +425 -0
  747. package/server/utils/telegramBot/chat/stream.js +471 -0
  748. package/server/utils/telegramBot/constants.js +23 -0
  749. package/server/utils/telegramBot/index.js +844 -0
  750. package/server/utils/telegramBot/utils/commands/handlers/handleAbort.js +15 -0
  751. package/server/utils/telegramBot/utils/commands/handlers/handleHelp.js +15 -0
  752. package/server/utils/telegramBot/utils/commands/handlers/handleHistory.js +80 -0
  753. package/server/utils/telegramBot/utils/commands/handlers/handleNewThread.js +35 -0
  754. package/server/utils/telegramBot/utils/commands/handlers/handleProof.js +202 -0
  755. package/server/utils/telegramBot/utils/commands/handlers/handleReset.js +32 -0
  756. package/server/utils/telegramBot/utils/commands/handlers/handleStart.js +19 -0
  757. package/server/utils/telegramBot/utils/commands/handlers/handleStatus.js +80 -0
  758. package/server/utils/telegramBot/utils/commands/handlers/showModelMenu.js +98 -0
  759. package/server/utils/telegramBot/utils/commands/handlers/showThreadMenu.js +120 -0
  760. package/server/utils/telegramBot/utils/commands/handlers/showWorkspaceMenu.js +84 -0
  761. package/server/utils/telegramBot/utils/commands/index.js +125 -0
  762. package/server/utils/telegramBot/utils/format.js +225 -0
  763. package/server/utils/telegramBot/utils/index.js +203 -0
  764. package/server/utils/telegramBot/utils/media.js +163 -0
  765. package/server/utils/telegramBot/utils/messageQueue.js +53 -0
  766. package/server/utils/telegramBot/utils/navigation/callbacks/handleBackSources.js +16 -0
  767. package/server/utils/telegramBot/utils/navigation/callbacks/handleBackWorkspaces.js +18 -0
  768. package/server/utils/telegramBot/utils/navigation/callbacks/handleModelCancel.js +14 -0
  769. package/server/utils/telegramBot/utils/navigation/callbacks/handleModelPagination.js +24 -0
  770. package/server/utils/telegramBot/utils/navigation/callbacks/handleModelSelect.js +52 -0
  771. package/server/utils/telegramBot/utils/navigation/callbacks/handleSourcePagination.js +24 -0
  772. package/server/utils/telegramBot/utils/navigation/callbacks/handleSourceSelect.js +106 -0
  773. package/server/utils/telegramBot/utils/navigation/callbacks/handleThreadPagination.js +26 -0
  774. package/server/utils/telegramBot/utils/navigation/callbacks/handleThreadSelect.js +43 -0
  775. package/server/utils/telegramBot/utils/navigation/callbacks/handleToolApproval.js +104 -0
  776. package/server/utils/telegramBot/utils/navigation/callbacks/handleWorkspaceCreate.js +33 -0
  777. package/server/utils/telegramBot/utils/navigation/callbacks/handleWorkspacePagination.js +26 -0
  778. package/server/utils/telegramBot/utils/navigation/callbacks/handleWorkspaceSelect.js +24 -0
  779. package/server/utils/telegramBot/utils/navigation/callbacks/index.js +59 -0
  780. package/server/utils/telegramBot/utils/navigation/index.js +36 -0
  781. package/server/utils/telegramBot/utils/verification.js +171 -0
  782. package/server/utils/vectorDbProviders/astra/ASTRA_SETUP.md +22 -0
  783. package/server/utils/vectorDbProviders/astra/index.js +474 -0
  784. package/server/utils/vectorDbProviders/base.js +202 -0
  785. package/server/utils/vectorDbProviders/chroma/index.js +484 -0
  786. package/server/utils/vectorDbProviders/chromacloud/index.js +158 -0
  787. package/server/utils/vectorDbProviders/lance/index.js +506 -0
  788. package/server/utils/vectorDbProviders/milvus/MILVUS_SETUP.md +40 -0
  789. package/server/utils/vectorDbProviders/milvus/index.js +434 -0
  790. package/server/utils/vectorDbProviders/pgvector/SETUP.md +125 -0
  791. package/server/utils/vectorDbProviders/pgvector/index.js +850 -0
  792. package/server/utils/vectorDbProviders/pinecone/PINECONE_SETUP.md +24 -0
  793. package/server/utils/vectorDbProviders/pinecone/index.js +317 -0
  794. package/server/utils/vectorDbProviders/qdrant/QDRANT_SETUP.md +17 -0
  795. package/server/utils/vectorDbProviders/qdrant/index.js +442 -0
  796. package/server/utils/vectorDbProviders/weaviate/WEAVIATE_SETUP.md +17 -0
  797. package/server/utils/vectorDbProviders/weaviate/index.js +510 -0
  798. package/server/utils/vectorDbProviders/zilliz/index.js +36 -0
  799. package/server/utils/vectorStore/resetAllVectorStores.js +59 -0
  800. package/server/yarn.lock +10702 -0
@@ -0,0 +1,3 @@
1
+ import{R as m,r as u,g as pe,z as Dn,B as Hn,j as e,u as K,E as Xt,J as en,y as De,M as ye,k as oe,t as ne,c as he,l as He,be as ke,W as Y,bf as yt,bg as St,h as $n,bh as Ge,bi as Bn,bj as Ye,a5 as G,bk as Un,aQ as Wn,aR as tn,a as fe,b7 as Me,a2 as _e,ar as jt,v as nn,p as rn,b2 as ae,bl as Kn,ac as Et,aL as At,aI as qn,I as et,bm as Te,s as Ie,aG as an,bn as Gn,O as Yn,aF as Qe,a9 as Qn,bo as Jn,bp as Xn,T as er,bq as tr,q as Oe,n as nr,aC as rr,br as ar,i as sr,A as ge,m as xe,D as ir}from"../index.js";import{I as or,F as lr,c as cr,d as ur,e as dr,f as hr,h as mr,i as pr,j as fr,M as Nt,g as gr,b as xr,a as br,H as vr}from"./mcpServers-957b1f1c.js";import{u as wr,b as kt}from"./index-7b0ea06b.js";import{A as we}from"./admin-04b020fe.js";import{A as Ct}from"./agentFlows-e4124dd3.js";import{P as yr}from"./index-5c320a5d.js";import{C as Sr}from"./WarningCircle-27467274.js";const jr=new Map([["bold",m.createElement(m.Fragment,null,m.createElement("path",{d:"M208.49,120.49a12,12,0,0,1-17,0L140,69V216a12,12,0,0,1-24,0V69L64.49,120.49a12,12,0,0,1-17-17l72-72a12,12,0,0,1,17,0l72,72A12,12,0,0,1,208.49,120.49Z"}))],["duotone",m.createElement(m.Fragment,null,m.createElement("path",{d:"M200,112H56l72-72Z",opacity:"0.2"}),m.createElement("path",{d:"M205.66,106.34l-72-72a8,8,0,0,0-11.32,0l-72,72A8,8,0,0,0,56,120h64v96a8,8,0,0,0,16,0V120h64a8,8,0,0,0,5.66-13.66ZM75.31,104,128,51.31,180.69,104Z"}))],["fill",m.createElement(m.Fragment,null,m.createElement("path",{d:"M207.39,115.06A8,8,0,0,1,200,120H136v96a8,8,0,0,1-16,0V120H56a8,8,0,0,1-5.66-13.66l72-72a8,8,0,0,1,11.32,0l72,72A8,8,0,0,1,207.39,115.06Z"}))],["light",m.createElement(m.Fragment,null,m.createElement("path",{d:"M204.24,116.24a6,6,0,0,1-8.48,0L134,54.49V216a6,6,0,0,1-12,0V54.49L60.24,116.24a6,6,0,0,1-8.48-8.48l72-72a6,6,0,0,1,8.48,0l72,72A6,6,0,0,1,204.24,116.24Z"}))],["regular",m.createElement(m.Fragment,null,m.createElement("path",{d:"M205.66,117.66a8,8,0,0,1-11.32,0L136,59.31V216a8,8,0,0,1-16,0V59.31L61.66,117.66a8,8,0,0,1-11.32-11.32l72-72a8,8,0,0,1,11.32,0l72,72A8,8,0,0,1,205.66,117.66Z"}))],["thin",m.createElement(m.Fragment,null,m.createElement("path",{d:"M202.83,114.83a4,4,0,0,1-5.66,0L132,49.66V216a4,4,0,0,1-8,0V49.66L58.83,114.83a4,4,0,0,1-5.66-5.66l72-72a4,4,0,0,1,5.66,0l72,72A4,4,0,0,1,202.83,114.83Z"}))]]);var Er=Object.defineProperty,Ar=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,Mt=Object.getOwnPropertySymbols,kr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Tt=(n,t,r)=>t in n?Er(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,Mr=(n,t)=>{for(var r in t||(t={}))kr.call(t,r)&&Tt(n,r,t[r]);if(Mt)for(var r of Mt(t))Cr.call(t,r)&&Tt(n,r,t[r]);return n},Tr=(n,t)=>Ar(n,Nr(t));const sn=u.forwardRef((n,t)=>m.createElement(pe,Tr(Mr({ref:t},n),{weights:jr})));sn.displayName="ArrowUp";const _r=new Map([["bold",m.createElement(m.Fragment,null,m.createElement("path",{d:"M128,20a108,108,0,0,0,0,216c22.27,0,45.69-6.73,62.64-18a12,12,0,1,0-13.29-20c-13,8.63-31.89,14-49.35,14a84,84,0,1,1,84-84c0,9.29-1.67,17.08-4.69,21.95-2.64,4.24-6,6.05-11.31,6.05s-8.67-1.81-11.31-6.05c-3-4.87-4.69-12.66-4.69-21.95V88a12,12,0,0,0-23.49-3.46,52,52,0,1,0,8.86,79.57C172.3,174.3,182.81,180,196,180c24.67,0,40-19.92,40-52A108.12,108.12,0,0,0,128,20Zm0,136a28,28,0,1,1,28-28A28,28,0,0,1,128,156Z"}))],["duotone",m.createElement(m.Fragment,null,m.createElement("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"}),m.createElement("path",{d:"M128,24a104,104,0,0,0,0,208c21.51,0,44.1-6.48,60.43-17.33a8,8,0,0,0-8.86-13.33C166,210.38,146.21,216,128,216a88,88,0,1,1,88-88c0,26.45-10.88,32-20,32s-20-5.55-20-32V88a8,8,0,0,0-16,0v4.26a48,48,0,1,0,5.93,65.1c6,12,16.35,18.64,30.07,18.64,22.54,0,36-17.94,36-48A104.11,104.11,0,0,0,128,24Zm0,136a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z"}))],["fill",m.createElement(m.Fragment,null,m.createElement("path",{d:"M232,128c0,.51,0,1,0,1.52-.34,14.26-5.63,30.48-28,30.48-23.14,0-28-17.4-28-32V88a8,8,0,0,0-8.53-8A8.17,8.17,0,0,0,160,88.27v4a48,48,0,1,0,6.73,64.05,40.19,40.19,0,0,0,3.38,5C175.48,168,185.71,176,204,176a54.81,54.81,0,0,0,9.22-.75,4,4,0,0,1,4.09,6A104.05,104.05,0,0,1,125.91,232C71.13,230.9,26.2,186.86,24.08,132.11A104,104,0,1,1,232,128ZM96,128a32,32,0,1,0,32-32A32,32,0,0,0,96,128Z"}))],["light",m.createElement(m.Fragment,null,m.createElement("path",{d:"M128,26a102,102,0,0,0,0,204c21.13,0,43.31-6.35,59.32-17a6,6,0,0,0-6.65-10c-13.9,9.25-34.09,15-52.67,15a90,90,0,1,1,90-90c0,29.58-13.78,34-22,34s-22-4.42-22-34V88a6,6,0,0,0-12,0v9a46,46,0,1,0,4.34,56.32C171.76,166.6,182,174,196,174c21.29,0,34-17.2,34-46A102.12,102.12,0,0,0,128,26Zm0,136a34,34,0,1,1,34-34A34,34,0,0,1,128,162Z"}))],["regular",m.createElement(m.Fragment,null,m.createElement("path",{d:"M128,24a104,104,0,0,0,0,208c21.51,0,44.1-6.48,60.43-17.33a8,8,0,0,0-8.86-13.33C166,210.38,146.21,216,128,216a88,88,0,1,1,88-88c0,26.45-10.88,32-20,32s-20-5.55-20-32V88a8,8,0,0,0-16,0v4.26a48,48,0,1,0,5.93,65.1c6,12,16.35,18.64,30.07,18.64,22.54,0,36-17.94,36-48A104.11,104.11,0,0,0,128,24Zm0,136a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z"}))],["thin",m.createElement(m.Fragment,null,m.createElement("path",{d:"M128,28a100,100,0,0,0,0,200c20.76,0,42.52-6.23,58.21-16.66a4,4,0,1,0-4.43-6.67C167.35,214.27,147.24,220,128,220a92,92,0,1,1,92-92c0,31.32-15,36-24,36s-24-4.68-24-36V88a4,4,0,0,0-8,0v14.75a44,44,0,1,0,2.82,45.94C171.46,163.58,181.66,172,196,172c20,0,32-16.45,32-44A100.11,100.11,0,0,0,128,28Zm0,136a36,36,0,1,1,36-36A36,36,0,0,1,128,164Z"}))]]);var Lr=Object.defineProperty,Pr=Object.defineProperties,Rr=Object.getOwnPropertyDescriptors,_t=Object.getOwnPropertySymbols,zr=Object.prototype.hasOwnProperty,Vr=Object.prototype.propertyIsEnumerable,Lt=(n,t,r)=>t in n?Lr(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,Or=(n,t)=>{for(var r in t||(t={}))zr.call(t,r)&&Lt(n,r,t[r]);if(_t)for(var r of _t(t))Vr.call(t,r)&&Lt(n,r,t[r]);return n},Ir=(n,t)=>Pr(n,Rr(t));const on=u.forwardRef((n,t)=>m.createElement(pe,Ir(Or({ref:t},n),{weights:_r})));on.displayName="At";const Zr=new Map([["bold",m.createElement(m.Fragment,null,m.createElement("path",{d:"M180.49,143.51a12,12,0,0,1,0,17l-24,24a12,12,0,0,1-17-17L155,152l-15.52-15.51a12,12,0,1,1,17-17Zm-64-24a12,12,0,0,0-17,0l-24,24a12,12,0,0,0,0,17l24,24a12,12,0,0,0,17-17L101,152l15.52-15.51A12,12,0,0,0,116.49,119.51ZM220,88V216a20,20,0,0,1-20,20H56a20,20,0,0,1-20-20V40A20,20,0,0,1,56,20h96a12,12,0,0,1,8.49,3.52l56,56A12,12,0,0,1,220,88ZM160,57V80h23Zm36,155V104H148a12,12,0,0,1-12-12V44H60V212Z"}))],["duotone",m.createElement(m.Fragment,null,m.createElement("path",{d:"M208,88H152V32Z",opacity:"0.2"}),m.createElement("path",{d:"M181.66,146.34a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32-11.32L164.69,152l-18.35-18.34a8,8,0,0,1,11.32-11.32Zm-72-24a8,8,0,0,0-11.32,0l-24,24a8,8,0,0,0,0,11.32l24,24a8,8,0,0,0,11.32-11.32L91.31,152l18.35-18.34A8,8,0,0,0,109.66,122.34ZM216,88V216a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V40A16,16,0,0,1,56,24h96a8,8,0,0,1,5.66,2.34l56,56A8,8,0,0,1,216,88Zm-56-8h28.69L160,51.31Zm40,136V96H152a8,8,0,0,1-8-8V40H56V216H200Z"}))],["fill",m.createElement(m.Fragment,null,m.createElement("path",{d:"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34Zm-104,88a8,8,0,0,1-11.32,11.32l-24-24a8,8,0,0,1,0-11.32l24-24a8,8,0,0,1,11.32,11.32L91.31,152Zm72-12.68-24,24a8,8,0,0,1-11.32-11.32L164.69,152l-18.35-18.34a8,8,0,0,1,11.32-11.32l24,24A8,8,0,0,1,181.66,157.66ZM152,88V44l44,44Z"}))],["light",m.createElement(m.Fragment,null,m.createElement("path",{d:"M180.24,147.76a6,6,0,0,1,0,8.48l-24,24a6,6,0,0,1-8.48-8.48L167.51,152l-19.75-19.76a6,6,0,1,1,8.48-8.48Zm-72-24a6,6,0,0,0-8.48,0l-24,24a6,6,0,0,0,0,8.48l24,24a6,6,0,1,0,8.48-8.48L88.49,152l19.75-19.76A6,6,0,0,0,108.24,123.76ZM214,88V216a14,14,0,0,1-14,14H56a14,14,0,0,1-14-14V40A14,14,0,0,1,56,26h96a6,6,0,0,1,4.25,1.76l56,56A6,6,0,0,1,214,88Zm-56-6h35.52L158,46.48Zm44,134V94H152a6,6,0,0,1-6-6V38H56a2,2,0,0,0-2,2V216a2,2,0,0,0,2,2H200A2,2,0,0,0,202,216Z"}))],["regular",m.createElement(m.Fragment,null,m.createElement("path",{d:"M181.66,146.34a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32-11.32L164.69,152l-18.35-18.34a8,8,0,0,1,11.32-11.32Zm-72-24a8,8,0,0,0-11.32,0l-24,24a8,8,0,0,0,0,11.32l24,24a8,8,0,0,0,11.32-11.32L91.31,152l18.35-18.34A8,8,0,0,0,109.66,122.34ZM216,88V216a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V40A16,16,0,0,1,56,24h96a8,8,0,0,1,5.66,2.34l56,56A8,8,0,0,1,216,88Zm-56-8h28.69L160,51.31Zm40,136V96H152a8,8,0,0,1-8-8V40H56V216H200Z"}))],["thin",m.createElement(m.Fragment,null,m.createElement("path",{d:"M178.83,149.17a4,4,0,0,1,0,5.66l-24,24a4,4,0,0,1-5.66-5.66L170.34,152l-21.17-21.17a4,4,0,1,1,5.66-5.66Zm-72-24a4,4,0,0,0-5.66,0l-24,24a4,4,0,0,0,0,5.66l24,24a4,4,0,1,0,5.66-5.66L85.66,152l21.17-21.17A4,4,0,0,0,106.83,125.17ZM212,88V216a12,12,0,0,1-12,12H56a12,12,0,0,1-12-12V40A12,12,0,0,1,56,28h96a4,4,0,0,1,2.83,1.17l56,56A4,4,0,0,1,212,88Zm-56-4h42.34L156,41.65Zm48,132V92H152a4,4,0,0,1-4-4V36H56a4,4,0,0,0-4,4V216a4,4,0,0,0,4,4H200A4,4,0,0,0,204,216Z"}))]]);var Fr=Object.defineProperty,Dr=Object.defineProperties,Hr=Object.getOwnPropertyDescriptors,Pt=Object.getOwnPropertySymbols,$r=Object.prototype.hasOwnProperty,Br=Object.prototype.propertyIsEnumerable,Rt=(n,t,r)=>t in n?Fr(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,Ur=(n,t)=>{for(var r in t||(t={}))$r.call(t,r)&&Rt(n,r,t[r]);if(Pt)for(var r of Pt(t))Br.call(t,r)&&Rt(n,r,t[r]);return n},Wr=(n,t)=>Dr(n,Hr(t));const ln=u.forwardRef((n,t)=>m.createElement(pe,Wr(Ur({ref:t},n),{weights:Zr})));ln.displayName="FileCode";const Kr=new Map([["bold",m.createElement(m.Fragment,null,m.createElement("path",{d:"M48,180c0,8.67,5.49,16,12,16a10.27,10.27,0,0,0,7.33-3.43,12,12,0,1,1,17.34,16.6A34,34,0,0,1,60,220C40.15,220,24,202,24,180s16.15-40,36-40a34,34,0,0,1,24.67,10.83,12,12,0,1,1-17.34,16.6A10.27,10.27,0,0,0,60,164C53.49,164,48,171.31,48,180Zm97.51-5.71c-5.13-3.45-11.33-5.24-16.8-6.82a79.5,79.5,0,0,1-7.91-2.59c2.45-1.18,9.71-1.3,16.07.33A12,12,0,0,0,143,142a69.24,69.24,0,0,0-12-1.86c-9.93-.66-18,1.08-24.1,5.17a24.45,24.45,0,0,0-10.69,17.76c-1.1,8.74,2.48,16.27,10.11,21.19,4.78,3.09,10.36,4.7,15.75,6.26,3,.89,7.94,2.3,9.88,3.53a2,2,0,0,1-.22.71c-1.36,1.55-9.57,1.79-16.39-.06a12,12,0,0,0-6.45,23.11A63.73,63.73,0,0,0,125.09,220c6.47,0,13.74-1.17,19.74-5.15a24.73,24.73,0,0,0,10.95-18C157,187.53,153.32,179.53,145.51,174.27ZM216,140.68A12,12,0,0,0,200.7,148L192,172.3,183.3,148A12,12,0,1,0,160.7,156l20,56a12,12,0,0,0,22.6,0l20-56A12,12,0,0,0,216,140.68ZM36,108V40A20,20,0,0,1,56,20h96a12,12,0,0,1,8.49,3.51l56,56A12,12,0,0,1,220,88v20a12,12,0,1,1-24,0v-4H148a12,12,0,0,1-12-12V44H60v64a12,12,0,1,1-24,0ZM160,80h23L160,57Z"}))],["duotone",m.createElement(m.Fragment,null,m.createElement("path",{d:"M208,88H152V32Z",opacity:"0.2"}),m.createElement("path",{d:"M48,180c0,11,7.18,20,16,20a14.24,14.24,0,0,0,10.22-4.66A8,8,0,0,1,85.78,206.4,30.06,30.06,0,0,1,64,216c-17.65,0-32-16.15-32-36s14.35-36,32-36a30.06,30.06,0,0,1,21.78,9.6,8,8,0,0,1-11.56,11.06A14.24,14.24,0,0,0,64,160C55.18,160,48,169,48,180Zm79.6-8.69c-4-1.16-8.14-2.35-10.45-3.84-1.25-.81-1.23-1-1.12-1.9a4.57,4.57,0,0,1,2-3.67c4.6-3.12,15.34-1.73,19.83-.56A8,8,0,0,0,142,145.86c-2.12-.55-21-5.22-32.84,2.76a20.58,20.58,0,0,0-9,14.95c-2,15.88,13.65,20.41,23,23.11,12.06,3.49,13.12,4.92,12.78,7.59-.31,2.41-1.26,3.34-2.14,3.93-4.6,3.06-15.17,1.56-19.55.36A8,8,0,0,0,109.94,214a61.34,61.34,0,0,0,15.19,2c5.82,0,12.3-1,17.49-4.46a20.82,20.82,0,0,0,9.19-15.23C154,179,137.49,174.17,127.6,171.31Zm83.09-26.84a8,8,0,0,0-10.23,4.84L188,184.21l-12.47-34.9a8,8,0,0,0-15.07,5.38l20,56a8,8,0,0,0,15.07,0l20-56A8,8,0,0,0,210.69,144.47ZM216,88v24a8,8,0,0,1-16,0V96H152a8,8,0,0,1-8-8V40H56v72a8,8,0,0,1-16,0V40A16,16,0,0,1,56,24h96a8,8,0,0,1,5.66,2.34l56,56A8,8,0,0,1,216,88Zm-27.31-8L160,51.31V80Z"}))],["fill",m.createElement(m.Fragment,null,m.createElement("path",{d:"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v76a4,4,0,0,0,4,4H212a4,4,0,0,0,4-4V88A8,8,0,0,0,213.66,82.34ZM152,88V44l44,44ZM48,180c0,11,7.18,20,16,20a14.18,14.18,0,0,0,10.06-4.5,8.21,8.21,0,0,1,10.9-.91,8,8,0,0,1,.82,11.81A30.06,30.06,0,0,1,64,216c-17.64,0-32-16.15-32-36s14.36-36,32-36a30,30,0,0,1,21.39,9.19,8.26,8.26,0,0,1,.73,11.09,8,8,0,0,1-11.9.38A14.17,14.17,0,0,0,64,160C55.18,160,48,169,48,180Zm103.81,16.31a20.82,20.82,0,0,1-9.19,15.23C137.43,215,131,216,125.13,216A61.14,61.14,0,0,1,110,214a8,8,0,1,1,4.3-15.41c4.38,1.2,14.95,2.7,19.55-.36.88-.59,1.83-1.52,2.14-3.93.35-2.67-.71-4.1-12.78-7.59-9.35-2.7-25-7.23-23-23.11a20.56,20.56,0,0,1,9-14.95c11.84-8,30.71-3.31,32.83-2.76a8,8,0,0,1-4.07,15.48c-4.49-1.17-15.23-2.56-19.83.56a4.54,4.54,0,0,0-2,3.67c-.12.9-.14,1.09,1.11,1.9,2.31,1.49,6.45,2.68,10.45,3.84C137.49,174.17,154.05,179,151.81,196.31ZM215.42,155l-19.89,55.68a8,8,0,0,1-15.06,0L160.58,155a8.21,8.21,0,0,1,4.5-10.45,8,8,0,0,1,10.45,4.76L188,184.21l12.47-34.9a8,8,0,0,1,10.45-4.76A8.23,8.23,0,0,1,215.42,155Z"}))],["light",m.createElement(m.Fragment,null,m.createElement("path",{d:"M46,180c0,12.13,8.07,22,18,22a16.24,16.24,0,0,0,11.67-5.28,6,6,0,0,1,8.66,8.3A28.06,28.06,0,0,1,64,214c-16.54,0-30-15.25-30-34s13.46-34,30-34a28.06,28.06,0,0,1,20.33,9,6,6,0,0,1-8.66,8.3A16.23,16.23,0,0,0,64,158C54.07,158,46,167.86,46,180Zm81.05-6.77c-10.86-3.13-13.41-4.69-13-7.91a6.59,6.59,0,0,1,2.88-5.08c5.6-3.79,17.66-1.82,21.45-.84a6,6,0,0,0,3.06-11.6c-2-.53-20.1-5-31.21,2.48a18.61,18.61,0,0,0-8.08,13.54c-1.8,14.19,12.26,18.25,21.57,20.94,12.12,3.5,14.78,5.33,14.2,9.76a6.85,6.85,0,0,1-3,5.34c-5.61,3.73-17.48,1.64-21.19.62A6,6,0,0,0,110.48,212a59.41,59.41,0,0,0,14.68,2c5.49,0,11.54-.95,16.36-4.14a18.89,18.89,0,0,0,8.31-13.81C151.84,180.39,136.92,176.08,127.05,173.22Zm83-26.88a6,6,0,0,0-7.67,3.63L188,190.15,173.65,150a6,6,0,1,0-11.3,4l20,56a6,6,0,0,0,11.3,0l20-56A6,6,0,0,0,210,146.34ZM214,88v24a6,6,0,1,1-12,0V94H152a6,6,0,0,1-6-6V38H56a2,2,0,0,0-2,2v72a6,6,0,1,1-12,0V40A14,14,0,0,1,56,26h96a6,6,0,0,1,4.24,1.76l56,56A6,6,0,0,1,214,88Zm-20.49-6L158,46.48V82Z"}))],["regular",m.createElement(m.Fragment,null,m.createElement("path",{d:"M48,180c0,11,7.18,20,16,20a14.24,14.24,0,0,0,10.22-4.66A8,8,0,0,1,85.78,206.4,30.06,30.06,0,0,1,64,216c-17.65,0-32-16.15-32-36s14.35-36,32-36a30.06,30.06,0,0,1,21.78,9.6,8,8,0,0,1-11.56,11.06A14.24,14.24,0,0,0,64,160C55.18,160,48,169,48,180Zm79.6-8.69c-4-1.16-8.14-2.35-10.45-3.84-1.25-.81-1.23-1-1.12-1.9a4.57,4.57,0,0,1,2-3.67c4.6-3.12,15.34-1.73,19.82-.56A8,8,0,0,0,142,145.86c-2.12-.55-21-5.22-32.84,2.76a20.58,20.58,0,0,0-9,14.95c-2,15.88,13.65,20.41,23,23.11,12.06,3.49,13.12,4.92,12.78,7.59-.31,2.41-1.26,3.34-2.14,3.93-4.6,3.06-15.17,1.56-19.55.36A8,8,0,0,0,109.94,214a61.34,61.34,0,0,0,15.19,2c5.82,0,12.3-1,17.49-4.46a20.82,20.82,0,0,0,9.19-15.23C154,179,137.49,174.17,127.6,171.31Zm83.09-26.84a8,8,0,0,0-10.23,4.84L188,184.21l-12.47-34.9a8,8,0,0,0-15.07,5.38l20,56a8,8,0,0,0,15.07,0l20-56A8,8,0,0,0,210.69,144.47ZM216,88v24a8,8,0,0,1-16,0V96H152a8,8,0,0,1-8-8V40H56v72a8,8,0,0,1-16,0V40A16,16,0,0,1,56,24h96a8,8,0,0,1,5.66,2.34l56,56A8,8,0,0,1,216,88Zm-27.31-8L160,51.31V80Z"}))],["thin",m.createElement(m.Fragment,null,m.createElement("path",{d:"M44,180c0,13.23,9,24,20,24a18.15,18.15,0,0,0,13.11-5.9,4,4,0,1,1,5.78,5.54A26.11,26.11,0,0,1,64,212c-15.44,0-28-14.36-28-32s12.56-32,28-32a26.11,26.11,0,0,1,18.89,8.36,4,4,0,1,1-5.78,5.54A18.15,18.15,0,0,0,64,156C53,156,44,166.77,44,180Zm82.49-4.85c-10.53-3-15.08-4.91-14.42-10.08a8.51,8.51,0,0,1,3.75-6.49c6.25-4.23,18.77-2.24,23.06-1.11a4,4,0,0,0,2-7.74,61.11,61.11,0,0,0-10.47-1.61c-8.12-.54-14.54.75-19.1,3.82a16.66,16.66,0,0,0-7.22,12.13c-1.58,12.49,10.46,16,20.14,18.77,11.26,3.25,16.47,5.49,15.64,11.94a8.94,8.94,0,0,1-3.91,6.75c-6.27,4.17-18.61,2.05-22.83.88a4,4,0,1,0-2.15,7.7A57.89,57.89,0,0,0,125.19,212c5.18,0,10.83-.86,15.22-3.77a17,17,0,0,0,7.43-12.41C149.64,181.84,136.26,178,126.49,175.15Zm82.85-26.92a4,4,0,0,0-5.11,2.42L188,196.11l-16.23-45.46a4,4,0,1,0-7.54,2.7l20,56a4,4,0,0,0,7.54,0l20-56A4,4,0,0,0,209.34,148.23ZM212,88v24a4,4,0,0,1-8,0V92H152a4,4,0,0,1-4-4V36H56a4,4,0,0,0-4,4v72a4,4,0,0,1-8,0V40A12,12,0,0,1,56,28h96a4,4,0,0,1,2.83,1.17l56,56A4,4,0,0,1,212,88Zm-13.66-4L156,41.65V84Z"}))]]);var qr=Object.defineProperty,Gr=Object.defineProperties,Yr=Object.getOwnPropertyDescriptors,zt=Object.getOwnPropertySymbols,Qr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,Vt=(n,t,r)=>t in n?qr(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,Xr=(n,t)=>{for(var r in t||(t={}))Qr.call(t,r)&&Vt(n,r,t[r]);if(zt)for(var r of zt(t))Jr.call(t,r)&&Vt(n,r,t[r]);return n},ea=(n,t)=>Gr(n,Yr(t));const cn=u.forwardRef((n,t)=>m.createElement(pe,ea(Xr({ref:t},n),{weights:Kr})));cn.displayName="FileCsv";const ta=new Map([["bold",m.createElement(m.Fragment,null,m.createElement("path",{d:"M48,128a12,12,0,0,0,12-12V44h76V92a12,12,0,0,0,12,12h48v12a12,12,0,0,0,24,0V88a12,12,0,0,0-3.51-8.49l-56-56A12,12,0,0,0,152,20H56A20,20,0,0,0,36,40v76A12,12,0,0,0,48,128ZM183,80H160V57ZM68,160v48a12,12,0,0,1-24,0V196H32v12a12,12,0,0,1-24,0V160a12,12,0,0,1,24,0v12H44V160a12,12,0,0,1,24,0Zm60,0a12,12,0,0,1-12,12h-4v36a12,12,0,0,1-24,0V172H84a12,12,0,0,1,0-24h32A12,12,0,0,1,128,160Zm72,0v48a12,12,0,0,1-24,0v-9.36l-.11.16a12,12,0,0,1-19.78,0l-.11-.16V208a12,12,0,0,1-24,0V160a12,12,0,0,1,21.89-6.8L166,170.82l12.11-17.62A12,12,0,0,1,200,160Zm56,48a12,12,0,0,1-12,12H220a12,12,0,0,1-12-12V160a12,12,0,0,1,24,0v36h12A12,12,0,0,1,256,208Z"}))],["duotone",m.createElement(m.Fragment,null,m.createElement("path",{d:"M208,88H152V32Z",opacity:"0.2"}),m.createElement("path",{d:"M216,120V88a8,8,0,0,0-2.34-5.66l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v80a8,8,0,0,0,16,0V40h88V88a8,8,0,0,0,8,8h48v24a8,8,0,0,0,16,0ZM160,51.31,188.69,80H160ZM68,160v48a8,8,0,0,1-16,0V192H32v16a8,8,0,0,1-16,0V160a8,8,0,0,1,16,0v16H52V160a8,8,0,0,1,16,0Zm56,0a8,8,0,0,1-8,8h-8v40a8,8,0,0,1-16,0V168H84a8,8,0,0,1,0-16h32A8,8,0,0,1,124,160Zm72,0v48a8,8,0,0,1-16,0V184l-9.6,12.8a8,8,0,0,1-12.8,0L148,184v24a8,8,0,0,1-16,0V160a8,8,0,0,1,14.4-4.8L164,178.67l17.6-23.47A8,8,0,0,1,196,160Zm56,48a8,8,0,0,1-8,8H216a8,8,0,0,1-8-8V160a8,8,0,0,1,16,0v40h20A8,8,0,0,1,252,208Z"}))],["fill",m.createElement(m.Fragment,null,m.createElement("path",{d:"M44,128H212a4,4,0,0,0,4-4V88a8,8,0,0,0-2.34-5.66l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v84A4,4,0,0,0,44,128ZM152,44l44,44H152ZM68,160v48a8,8,0,0,1-16,0V192H32v16a8,8,0,0,1-16,0V160a8,8,0,0,1,16,0v16H52V160a8,8,0,0,1,16,0Zm56,0a8,8,0,0,1-8,8h-8v40a8,8,0,0,1-16,0V168H84a8,8,0,0,1,0-16h32A8,8,0,0,1,124,160Zm72,0v48a8,8,0,0,1-16,0V184l-9.6,12.8a8,8,0,0,1-12.8,0L148,184v24a8,8,0,0,1-16,0V160a8,8,0,0,1,14.4-4.8L164,178.67l17.6-23.47A8,8,0,0,1,196,160Zm56,48a8,8,0,0,1-8,8H216a8,8,0,0,1-8-8V160a8,8,0,0,1,16,0v40h20A8,8,0,0,1,252,208Z"}))],["light",m.createElement(m.Fragment,null,m.createElement("path",{d:"M214,120V88a6,6,0,0,0-1.76-4.24l-56-56A6,6,0,0,0,152,26H56A14,14,0,0,0,42,40v80a6,6,0,0,0,12,0V40a2,2,0,0,1,2-2h90V88a6,6,0,0,0,6,6h50v26a6,6,0,0,0,12,0ZM158,46.48,193.52,82H158ZM66,160v48a6,6,0,0,1-12,0V190H30v18a6,6,0,0,1-12,0V160a6,6,0,0,1,12,0v18H54V160a6,6,0,0,1,12,0Zm56,0a6,6,0,0,1-6,6H106v42a6,6,0,0,1-12,0V166H84a6,6,0,0,1,0-12h32A6,6,0,0,1,122,160Zm72,0v48a6,6,0,0,1-12,0V178l-13.2,17.6a6,6,0,0,1-9.6,0L146,178v30a6,6,0,0,1-12,0V160a6,6,0,0,1,10.8-3.6L164,182l19.2-25.6A6,6,0,0,1,194,160Zm56,48a6,6,0,0,1-6,6H216a6,6,0,0,1-6-6V160a6,6,0,0,1,12,0v42h22A6,6,0,0,1,250,208Z"}))],["regular",m.createElement(m.Fragment,null,m.createElement("path",{d:"M216,120V88a8,8,0,0,0-2.34-5.66l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v80a8,8,0,0,0,16,0V40h88V88a8,8,0,0,0,8,8h48v24a8,8,0,0,0,16,0ZM160,51.31,188.69,80H160ZM68,160v48a8,8,0,0,1-16,0V192H32v16a8,8,0,0,1-16,0V160a8,8,0,0,1,16,0v16H52V160a8,8,0,0,1,16,0Zm56,0a8,8,0,0,1-8,8h-8v40a8,8,0,0,1-16,0V168H84a8,8,0,0,1,0-16h32A8,8,0,0,1,124,160Zm72,0v48a8,8,0,0,1-16,0V184l-9.6,12.8a8,8,0,0,1-12.8,0L148,184v24a8,8,0,0,1-16,0V160a8,8,0,0,1,14.4-4.8L164,178.67l17.6-23.47A8,8,0,0,1,196,160Zm56,48a8,8,0,0,1-8,8H216a8,8,0,0,1-8-8V160a8,8,0,0,1,16,0v40h20A8,8,0,0,1,252,208Z"}))],["thin",m.createElement(m.Fragment,null,m.createElement("path",{d:"M212,88a4,4,0,0,0-1.17-2.83l-2-2h0l-54-54A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40v80a4,4,0,0,0,8,0V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52v28a4,4,0,0,0,8,0ZM156,41.65,198.34,84H156ZM64,160v48a4,4,0,0,1-8,0V188H28v20a4,4,0,0,1-8,0V160a4,4,0,0,1,8,0v20H56V160a4,4,0,0,1,8,0Zm56,0a4,4,0,0,1-4,4H104v44a4,4,0,0,1-8,0V164H84a4,4,0,0,1,0-8h32A4,4,0,0,1,120,160Zm72,0v48a4,4,0,0,1-8,0V172l-16.8,22.4a4,4,0,0,1-6.4,0L144,172v36a4,4,0,0,1-8,0V160a4,4,0,0,1,7.2-2.4L164,185.33l20.8-27.73A4,4,0,0,1,192,160Zm56,48a4,4,0,0,1-4,4H216a4,4,0,0,1-4-4V160a4,4,0,0,1,8,0v44h24A4,4,0,0,1,248,208Z"}))]]);var na=Object.defineProperty,ra=Object.defineProperties,aa=Object.getOwnPropertyDescriptors,Ot=Object.getOwnPropertySymbols,sa=Object.prototype.hasOwnProperty,ia=Object.prototype.propertyIsEnumerable,It=(n,t,r)=>t in n?na(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,oa=(n,t)=>{for(var r in t||(t={}))sa.call(t,r)&&It(n,r,t[r]);if(Ot)for(var r of Ot(t))ia.call(t,r)&&It(n,r,t[r]);return n},la=(n,t)=>ra(n,aa(t));const un=u.forwardRef((n,t)=>m.createElement(pe,la(oa({ref:t},n),{weights:ta})));un.displayName="FileHtml";const ca=new Map([["bold",m.createElement(m.Fragment,null,m.createElement("path",{d:"M114,145.34a12,12,0,0,0-20,0L79,167.82,72.3,157.73a12,12,0,0,0-20.07.17L13.91,217.51A12,12,0,0,0,24,236H152a12,12,0,0,0,10-18.66ZM46,212,62.5,186.3l6.55,9.81a12,12,0,0,0,20,0l15-22.48L129.58,212ZM216.49,79.51l-56-56A12,12,0,0,0,152,20H56A20,20,0,0,0,36,40v84a12,12,0,0,0,24,0V44h76V92a12,12,0,0,0,12,12h48V212a12,12,0,0,0,0,24h4a20,20,0,0,0,20-20V88A12,12,0,0,0,216.49,79.51ZM160,57l23,23H160Z"}))],["duotone",m.createElement(m.Fragment,null,m.createElement("path",{d:"M104,152l48,72H24l36-56,16.36,25.45ZM152,32V88h56Z",opacity:"0.2"}),m.createElement("path",{d:"M110.66,147.56a8,8,0,0,0-13.32,0L76.49,178.85l-9.76-15.18a8,8,0,0,0-13.46,0l-36,56A8,8,0,0,0,24,232H152a8,8,0,0,0,6.66-12.44ZM38.65,216,60,182.79l9.63,15a8,8,0,0,0,13.39.11l21-31.47L137.05,216Zm175-133.66-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v88a8,8,0,0,0,16,0V40h88V88a8,8,0,0,0,8,8h48V216h-8a8,8,0,0,0,0,16h8a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160Z"}))],["fill",m.createElement(m.Fragment,null,m.createElement("path",{d:"M158.66,219.56A8,8,0,0,1,152,232H24a8,8,0,0,1-6.73-12.33l36-56a8,8,0,0,1,13.46,0l9.76,15.18,20.85-31.29a8,8,0,0,1,13.32,0ZM216,88V216a16,16,0,0,1-16,16h-8a8,8,0,0,1,0-16h8V96H152a8,8,0,0,1-8-8V40H56v88a8,8,0,0,1-16,0V40A16,16,0,0,1,56,24h96a8,8,0,0,1,5.66,2.34l56,56A8,8,0,0,1,216,88Zm-56-8h28.69L160,51.31Z"}))],["light",m.createElement(m.Fragment,null,m.createElement("path",{d:"M109,148.67a6,6,0,0,0-10,0L76.46,182.5,65.05,164.76a6,6,0,0,0-10.1,0l-36,56A6,6,0,0,0,24,230H152a6,6,0,0,0,5-9.33ZM35,218l25-38.9,11.32,17.6a6,6,0,0,0,10,.08l22.64-34L140.79,218ZM212.24,83.76l-56-56A6,6,0,0,0,152,26H56A14,14,0,0,0,42,40v88a6,6,0,0,0,12,0V40a2,2,0,0,1,2-2h90V88a6,6,0,0,0,6,6h50V216a2,2,0,0,1-2,2h-8a6,6,0,0,0,0,12h8a14,14,0,0,0,14-14V88A6,6,0,0,0,212.24,83.76ZM158,46.48,193.52,82H158Z"}))],["regular",m.createElement(m.Fragment,null,m.createElement("path",{d:"M110.66,147.56a8,8,0,0,0-13.32,0L76.49,178.85l-9.76-15.18a8,8,0,0,0-13.46,0l-36,56A8,8,0,0,0,24,232H152a8,8,0,0,0,6.66-12.44ZM38.65,216,60,182.79l9.63,15a8,8,0,0,0,13.39.11l21-31.47L137.05,216Zm175-133.66-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v88a8,8,0,0,0,16,0V40h88V88a8,8,0,0,0,8,8h48V216h-8a8,8,0,0,0,0,16h8a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160Z"}))],["thin",m.createElement(m.Fragment,null,m.createElement("path",{d:"M107.33,149.78a4,4,0,0,0-6.66,0L76.42,186.15,63.36,165.84a4,4,0,0,0-6.72,0l-36,56A4,4,0,0,0,24,228H152a4,4,0,0,0,3.33-6.22ZM31.33,220,60,175.4l13,20.22a4,4,0,0,0,3.33,1.83,3.93,3.93,0,0,0,3.36-1.78L104,159.21,144.53,220ZM210.83,85.17l-56-56A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40v88a4,4,0,0,0,8,0V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52V216a4,4,0,0,1-4,4h-8a4,4,0,0,0,0,8h8a12,12,0,0,0,12-12V88A4,4,0,0,0,210.83,85.17ZM156,41.65,198.34,84H156Z"}))]]);var ua=Object.defineProperty,da=Object.defineProperties,ha=Object.getOwnPropertyDescriptors,Zt=Object.getOwnPropertySymbols,ma=Object.prototype.hasOwnProperty,pa=Object.prototype.propertyIsEnumerable,Ft=(n,t,r)=>t in n?ua(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,fa=(n,t)=>{for(var r in t||(t={}))ma.call(t,r)&&Ft(n,r,t[r]);if(Zt)for(var r of Zt(t))pa.call(t,r)&&Ft(n,r,t[r]);return n},ga=(n,t)=>da(n,ha(t));const dn=u.forwardRef((n,t)=>m.createElement(pe,ga(fa({ref:t},n),{weights:ca})));dn.displayName="FileImage";const xa=new Map([["bold",m.createElement(m.Fragment,null,m.createElement("path",{d:"M128,180a52.06,52.06,0,0,0,52-52V64A52,52,0,0,0,76,64v64A52.06,52.06,0,0,0,128,180ZM100,64a28,28,0,0,1,56,0v64a28,28,0,0,1-56,0Zm40,155.22V240a12,12,0,0,1-24,0V219.22A92.14,92.14,0,0,1,36,128a12,12,0,0,1,24,0,68,68,0,0,0,136,0,12,12,0,0,1,24,0A92.14,92.14,0,0,1,140,219.22Z"}))],["duotone",m.createElement(m.Fragment,null,m.createElement("path",{d:"M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z",opacity:"0.2"}),m.createElement("path",{d:"M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z"}))],["fill",m.createElement(m.Fragment,null,m.createElement("path",{d:"M80,128V64a48,48,0,0,1,96,0v64a48,48,0,0,1-96,0Zm128,0a8,8,0,0,0-16,0,64,64,0,0,1-128,0,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.6A80.11,80.11,0,0,0,208,128Z"}))],["light",m.createElement(m.Fragment,null,m.createElement("path",{d:"M128,174a46.06,46.06,0,0,0,46-46V64a46,46,0,0,0-92,0v64A46.06,46.06,0,0,0,128,174ZM94,64a34,34,0,0,1,68,0v64a34,34,0,0,1-68,0Zm40,141.75V240a6,6,0,0,1-12,0V205.75A78.09,78.09,0,0,1,50,128a6,6,0,0,1,12,0,66,66,0,0,0,132,0,6,6,0,0,1,12,0A78.09,78.09,0,0,1,134,205.75Z"}))],["regular",m.createElement(m.Fragment,null,m.createElement("path",{d:"M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z"}))],["thin",m.createElement(m.Fragment,null,m.createElement("path",{d:"M128,172a44.05,44.05,0,0,0,44-44V64a44,44,0,0,0-88,0v64A44.05,44.05,0,0,0,128,172ZM92,64a36,36,0,0,1,72,0v64a36,36,0,0,1-72,0Zm40,139.89V240a4,4,0,0,1-8,0V203.89A76.09,76.09,0,0,1,52,128a4,4,0,0,1,8,0,68,68,0,0,0,136,0,4,4,0,0,1,8,0A76.09,76.09,0,0,1,132,203.89Z"}))]]);var ba=Object.defineProperty,va=Object.defineProperties,wa=Object.getOwnPropertyDescriptors,Dt=Object.getOwnPropertySymbols,ya=Object.prototype.hasOwnProperty,Sa=Object.prototype.propertyIsEnumerable,Ht=(n,t,r)=>t in n?ba(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,ja=(n,t)=>{for(var r in t||(t={}))ya.call(t,r)&&Ht(n,r,t[r]);if(Dt)for(var r of Dt(t))Sa.call(t,r)&&Ht(n,r,t[r]);return n},Ea=(n,t)=>va(n,wa(t));const hn=u.forwardRef((n,t)=>m.createElement(pe,Ea(ja({ref:t},n),{weights:xa})));hn.displayName="Microphone";function Aa({provider:n,setHasChanges:t,selectedLLMModel:r,setSelectedLLMModel:a}){const{defaultModels:o,customModels:i,loading:s}=Dn(n);return Hn.includes(n)?null:s?e.jsx("select",{required:!0,disabled:!0,className:"bg-zinc-900 light:bg-white text-white light:text-slate-900 text-sm rounded-lg h-8 w-full px-2.5 outline-none border border-zinc-900 light:border-slate-400 cursor-not-allowed",children:e.jsx("option",{disabled:!0,selected:!0,children:"-- waiting for models --"})}):e.jsxs("select",{id:"workspace-llm-model-select",required:!0,value:r,onChange:c=>{t(!0),a(c.target.value)},className:"bg-zinc-900 light:bg-white text-white light:text-slate-900 text-sm rounded-lg h-8 w-full px-2.5 outline-none border border-zinc-900 light:border-slate-400 cursor-pointer",children:[o.length>0&&e.jsx("optgroup",{label:"General models",children:o.map(c=>e.jsx("option",{value:c,selected:r===c,children:c},c))}),Array.isArray(i)&&i.length>0&&e.jsx("optgroup",{label:"Discovered models",children:i.map(c=>e.jsx("option",{value:c.id,selected:r===c.id,children:c.name||c.id},c.id))}),!Array.isArray(i)&&Object.keys(i).length>0&&e.jsx(e.Fragment,{children:Object.entries(i).map(([c,d])=>e.jsx("optgroup",{label:c,children:d.map(f=>e.jsx("option",{value:f.id,selected:r===f.id,children:f.name},f.id))},c))})]})}function Na({selectedRouterId:n,setSelectedRouterId:t,setHasChanges:r}){const{t:a}=K(),[o,i]=u.useState([]),[s,c]=u.useState(!0);return u.useEffect(()=>{async function d(){const f=await Xt.getAll();i(f),c(!1)}d()},[]),s?e.jsx("select",{disabled:!0,className:"bg-zinc-900 light:bg-white text-white light:text-slate-900 text-sm rounded-lg h-8 w-full px-2.5 outline-none border border-zinc-900 light:border-slate-400 cursor-not-allowed",children:e.jsx("option",{children:a("model-router.router-selection.loading-routers")})}):o.length===0?e.jsx("p",{className:"text-xs text-zinc-400 light:text-slate-500",children:a("model-router.router-selection.no-routers-chat")}):e.jsxs("select",{value:n||"",onChange:d=>{t(Number(d.target.value)),r(!0)},className:"bg-zinc-900 light:bg-white text-white light:text-slate-900 text-sm rounded-lg h-8 w-full px-2.5 outline-none border border-zinc-900 light:border-slate-400 cursor-pointer",children:[e.jsx("option",{value:"",children:a("model-router.router-selection.select-router")}),o.map(d=>e.jsxs("option",{value:d.id,children:[d.name,d.ruleCount!=null?` ${a("model-router.router-selection.rule-count",{count:d.ruleCount})}`:""]},d.id))]})}function ka({availableProviders:n,selectedLLMProvider:t,onSearchChange:r,onProviderClick:a}){const{t:o}=K();return e.jsxs("div",{className:"w-[40%] h-full flex flex-col gap-4 p-2 border-r border-zinc-700 light:border-slate-300",children:[e.jsxs("div",{className:"relative shrink-0 mx-2",children:[e.jsx(en,{size:14,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-zinc-400 light:text-slate-400",weight:"bold"}),e.jsx("input",{id:"llm-search-input",type:"search",placeholder:o("chat_window.workspace_llm_manager.search"),onChange:r,className:"bg-zinc-900 light:bg-white text-white light:text-slate-900 placeholder:text-zinc-500 light:placeholder:text-slate-400 text-sm rounded-lg pl-8 pr-2.5 h-8 w-full outline-none border border-zinc-900 light:border-slate-400"})]}),e.jsx("div",{className:"flex flex-col gap-0 overflow-y-auto min-h-0 flex-1",children:n.map(i=>e.jsxs("button",{type:"button","data-llm-value":i.value,className:`border-none cursor-pointer flex gap-2 items-center px-2.5 py-1.5 rounded-md transition-colors ${t===i.value?"bg-zinc-700 light:bg-slate-200":"hover:bg-zinc-700/50 light:hover:bg-slate-100 bg-transparent"}`,onClick:()=>a(i.value),children:[e.jsx("img",{src:i.logo,alt:`${i.name} logo`,className:"w-6 h-6 rounded"}),e.jsx("span",{className:"text-sm text-white light:text-slate-900",children:i.name})]},i.value))})]})}function Ca({isOpen:n,closeModal:t,postSubmit:r,settings:a,llmProvider:o}){if(!n)return null;async function i(s){s.preventDefault(),s.stopPropagation();const c={},d=new FormData(s.target);for(var[f,w]of d.entries())c[f]=w;const{error:p}=await ne.updateSystem(c);if(p){he(`Failed to save ${o.name} settings: ${p}`,"error");return}return t(),r(),!1}return De.createPortal(e.jsx(ye,{isOpen:n,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:[o.name," Settings"]})}),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(oe,{size:24,weight:"bold",className:"text-white"})})]}),e.jsxs("form",{id:"provider-form",onSubmit:i,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 ",o.name," as this workspace's LLM you need to set it up first."]}),e.jsx("div",{children:o.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:t,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.body)}function Ma({showing:n,onSetupClick:t}){const{t:r}=K();return n?e.jsxs("div",{className:"flex items-start gap-1.5",children:[e.jsx(Sr,{size:16,className:"text-white light:text-slate-800 shrink-0 mt-0.5"}),e.jsxs("p",{className:"text-[13px] text-white light:text-slate-800 leading-5",children:[r("chat_window.workspace_llm_manager.missing_credentials")," ",e.jsx("span",{onClick:t,className:"text-sky-400 font-semibold cursor-pointer hover:underline",role:"button",children:r("chat_window.workspace_llm_manager.missing_credentials_description")})]})]}):null}function Ta({workspaceSlug:n=null,initialProvider:t=null}){var H;const{slug:r}=He(),a=r??n,{t:o}=K(),[i,s]=u.useState(!1),[c,d]=u.useState(null),[f,w]=u.useState(null),[p,y]=u.useState(""),[g,S]=u.useState(null),[N,k]=u.useState(ke),[R,P]=u.useState(!1),[T,O]=u.useState(!1),[C,A]=u.useState(!1);u.useEffect(()=>{a&&(s(!0),Promise.all([Y.bySlug(a),ne.keys()]).then(([b,v])=>{const E=b.chatProvider??v.LLMProvider,j=b.chatModel??v.LLMModel,M=t??E;d(v),w(M),yt(M),y(j),S(b.router_id||(v==null?void 0:v.ModelRouterId)||null),t&&t!==E&&(P(!0),A(St(v,t)))}).finally(()=>s(!1)))},[a]);function V(b){const v=b.target.value.toLowerCase(),E=ke.filter(j=>j.name.toLowerCase().includes(v));k(E)}function F(b){w(b),k(ke),yt(b,50),document.getElementById("llm-search-input").value="",P(!0),A(St(c,b))}async function U(){O(!0);try{P(!1);const b=f==="anythingllm-router";if(b&&!g)throw new Error(o("model-router.chat.select-router-error"));const v=b?{chatProvider:f,router_id:g}:{chatProvider:f,chatModel:Bn(p)};if(!b&&!v.chatModel)throw new Error(o("model-router.chat.invalid-model"));const{message:E}=await Y.update(a,v);if(E)throw new Error(E);window.dispatchEvent(new Event(Ye))}catch(b){console.error(b),he(b.message,"error",{clear:!0})}finally{O(!1)}}const W=((H=ke.find(b=>b.value===f))==null?void 0:H.name)||f;return i?e.jsxs("div",{id:"llm-selector-modal",className:"w-full h-[388px] flex flex-col items-center justify-center gap-2",children:[e.jsx($n,{size:12}),e.jsx("p",{className:"text-zinc-400 light:text-slate-500 text-sm",children:o("chat_window.workspace_llm_manager.loading_workspace_settings")})]}):e.jsxs("div",{id:"llm-selector-modal",className:"w-full h-[388px] flex",children:[e.jsx(ka,{availableProviders:N,selectedLLMProvider:f,onSearchChange:V,onProviderClick:F}),e.jsxs("div",{className:"w-[60%] h-full p-[18px] flex flex-col gap-2.5",children:[e.jsxs("div",{className:"flex flex-col gap-[15px]",children:[e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx("p",{className:"text-sm font-medium text-white light:text-slate-800",children:o("chat_window.workspace_llm_manager.available_models",{provider:W})}),e.jsx("p",{className:"text-xs font-medium text-zinc-400 light:text-slate-500",children:o("chat_window.workspace_llm_manager.available_models_description")})]}),!C&&(f==="anythingllm-router"?e.jsx(Na,{selectedRouterId:g,setSelectedRouterId:S,setHasChanges:P}):e.jsx(Aa,{provider:f,setHasChanges:P,selectedLLMModel:p,setSelectedLLMModel:y}))]}),e.jsx(Ma,{showing:C,onSetupClick:()=>{window.dispatchEvent(new CustomEvent(Ge,{detail:{provider:ke.find(b=>b.value===f),settings:c}}))}}),R&&!C&&e.jsx("button",{type:"button",disabled:T,onClick:U,className:"border-none text-xs px-4 py-1.5 font-semibold rounded-lg bg-white text-zinc-900 hover:bg-zinc-200 light:bg-slate-800 light:text-white light:hover:bg-slate-700 h-8 w-full cursor-pointer transition-colors mt-auto",children:o(T?"chat_window.workspace_llm_manager.saving":"chat_window.workspace_llm_manager.save")})]})]})}function _a(){const{t:n}=K();function t(){window.dispatchEvent(new CustomEvent(Un))}return e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:t,"data-tooltip-id":"stop-generation-button","data-tooltip-content":n("chat_window.stop_generating"),className:"border-none inline-flex justify-center items-center rounded-full cursor-pointer w-8 h-8 bg-white light:bg-slate-800 hover:opacity-80 transition-opacity","aria-label":"Stop generating",children:e.jsx("div",{className:"w-3.5 h-3.5 rounded-[4px] bg-zinc-800 light:bg-white"})}),e.jsx(G,{id:"stop-generation-button",place:"bottom",delayShow:300,className:"tooltip !text-xs z-99"})]})}var La={exports:{}};(function(n){var t=function(r){var a=Object.prototype,o=a.hasOwnProperty,i=Object.defineProperty||function(l,h,x){l[h]=x.value},s,c=typeof Symbol=="function"?Symbol:{},d=c.iterator||"@@iterator",f=c.asyncIterator||"@@asyncIterator",w=c.toStringTag||"@@toStringTag";function p(l,h,x){return Object.defineProperty(l,h,{value:x,enumerable:!0,configurable:!0,writable:!0}),l[h]}try{p({},"")}catch{p=function(h,x,_){return h[x]=_}}function y(l,h,x,_){var Z=h&&h.prototype instanceof T?h:T,L=Object.create(Z.prototype),D=new M(_||[]);return i(L,"_invoke",{value:b(l,x,D)}),L}r.wrap=y;function g(l,h,x){try{return{type:"normal",arg:l.call(h,x)}}catch(_){return{type:"throw",arg:_}}}var S="suspendedStart",N="suspendedYield",k="executing",R="completed",P={};function T(){}function O(){}function C(){}var A={};p(A,d,function(){return this});var V=Object.getPrototypeOf,F=V&&V(V(z([])));F&&F!==a&&o.call(F,d)&&(A=F);var U=C.prototype=T.prototype=Object.create(A);O.prototype=C,i(U,"constructor",{value:C,configurable:!0}),i(C,"constructor",{value:O,configurable:!0}),O.displayName=p(C,w,"GeneratorFunction");function W(l){["next","throw","return"].forEach(function(h){p(l,h,function(x){return this._invoke(h,x)})})}r.isGeneratorFunction=function(l){var h=typeof l=="function"&&l.constructor;return h?h===O||(h.displayName||h.name)==="GeneratorFunction":!1},r.mark=function(l){return Object.setPrototypeOf?Object.setPrototypeOf(l,C):(l.__proto__=C,p(l,w,"GeneratorFunction")),l.prototype=Object.create(U),l},r.awrap=function(l){return{__await:l}};function H(l,h){function x(L,D,$,B){var q=g(l[L],l,D);if(q.type==="throw")B(q.arg);else{var re=q.arg,Q=re.value;return Q&&typeof Q=="object"&&o.call(Q,"__await")?h.resolve(Q.__await).then(function(J){x("next",J,$,B)},function(J){x("throw",J,$,B)}):h.resolve(Q).then(function(J){re.value=J,$(re)},function(J){return x("throw",J,$,B)})}}var _;function Z(L,D){function $(){return new h(function(B,q){x(L,D,B,q)})}return _=_?_.then($,$):$()}i(this,"_invoke",{value:Z})}W(H.prototype),p(H.prototype,f,function(){return this}),r.AsyncIterator=H,r.async=function(l,h,x,_,Z){Z===void 0&&(Z=Promise);var L=new H(y(l,h,x,_),Z);return r.isGeneratorFunction(h)?L:L.next().then(function(D){return D.done?D.value:L.next()})};function b(l,h,x){var _=S;return function(L,D){if(_===k)throw new Error("Generator is already running");if(_===R){if(L==="throw")throw D;return I()}for(x.method=L,x.arg=D;;){var $=x.delegate;if($){var B=v($,x);if(B){if(B===P)continue;return B}}if(x.method==="next")x.sent=x._sent=x.arg;else if(x.method==="throw"){if(_===S)throw _=R,x.arg;x.dispatchException(x.arg)}else x.method==="return"&&x.abrupt("return",x.arg);_=k;var q=g(l,h,x);if(q.type==="normal"){if(_=x.done?R:N,q.arg===P)continue;return{value:q.arg,done:x.done}}else q.type==="throw"&&(_=R,x.method="throw",x.arg=q.arg)}}}function v(l,h){var x=h.method,_=l.iterator[x];if(_===s)return h.delegate=null,x==="throw"&&l.iterator.return&&(h.method="return",h.arg=s,v(l,h),h.method==="throw")||x!=="return"&&(h.method="throw",h.arg=new TypeError("The iterator does not provide a '"+x+"' method")),P;var Z=g(_,l.iterator,h.arg);if(Z.type==="throw")return h.method="throw",h.arg=Z.arg,h.delegate=null,P;var L=Z.arg;if(!L)return h.method="throw",h.arg=new TypeError("iterator result is not an object"),h.delegate=null,P;if(L.done)h[l.resultName]=L.value,h.next=l.nextLoc,h.method!=="return"&&(h.method="next",h.arg=s);else return L;return h.delegate=null,P}W(U),p(U,w,"Generator"),p(U,d,function(){return this}),p(U,"toString",function(){return"[object Generator]"});function E(l){var h={tryLoc:l[0]};1 in l&&(h.catchLoc=l[1]),2 in l&&(h.finallyLoc=l[2],h.afterLoc=l[3]),this.tryEntries.push(h)}function j(l){var h=l.completion||{};h.type="normal",delete h.arg,l.completion=h}function M(l){this.tryEntries=[{tryLoc:"root"}],l.forEach(E,this),this.reset(!0)}r.keys=function(l){var h=Object(l),x=[];for(var _ in h)x.push(_);return x.reverse(),function Z(){for(;x.length;){var L=x.pop();if(L in h)return Z.value=L,Z.done=!1,Z}return Z.done=!0,Z}};function z(l){if(l!=null){var h=l[d];if(h)return h.call(l);if(typeof l.next=="function")return l;if(!isNaN(l.length)){var x=-1,_=function Z(){for(;++x<l.length;)if(o.call(l,x))return Z.value=l[x],Z.done=!1,Z;return Z.value=s,Z.done=!0,Z};return _.next=_}}throw new TypeError(typeof l+" is not iterable")}r.values=z;function I(){return{value:s,done:!0}}return M.prototype={constructor:M,reset:function(l){if(this.prev=0,this.next=0,this.sent=this._sent=s,this.done=!1,this.delegate=null,this.method="next",this.arg=s,this.tryEntries.forEach(j),!l)for(var h in this)h.charAt(0)==="t"&&o.call(this,h)&&!isNaN(+h.slice(1))&&(this[h]=s)},stop:function(){this.done=!0;var l=this.tryEntries[0],h=l.completion;if(h.type==="throw")throw h.arg;return this.rval},dispatchException:function(l){if(this.done)throw l;var h=this;function x(B,q){return L.type="throw",L.arg=l,h.next=B,q&&(h.method="next",h.arg=s),!!q}for(var _=this.tryEntries.length-1;_>=0;--_){var Z=this.tryEntries[_],L=Z.completion;if(Z.tryLoc==="root")return x("end");if(Z.tryLoc<=this.prev){var D=o.call(Z,"catchLoc"),$=o.call(Z,"finallyLoc");if(D&&$){if(this.prev<Z.catchLoc)return x(Z.catchLoc,!0);if(this.prev<Z.finallyLoc)return x(Z.finallyLoc)}else if(D){if(this.prev<Z.catchLoc)return x(Z.catchLoc,!0)}else if($){if(this.prev<Z.finallyLoc)return x(Z.finallyLoc)}else throw new Error("try statement without catch or finally")}}},abrupt:function(l,h){for(var x=this.tryEntries.length-1;x>=0;--x){var _=this.tryEntries[x];if(_.tryLoc<=this.prev&&o.call(_,"finallyLoc")&&this.prev<_.finallyLoc){var Z=_;break}}Z&&(l==="break"||l==="continue")&&Z.tryLoc<=h&&h<=Z.finallyLoc&&(Z=null);var L=Z?Z.completion:{};return L.type=l,L.arg=h,Z?(this.method="next",this.next=Z.finallyLoc,P):this.complete(L)},complete:function(l,h){if(l.type==="throw")throw l.arg;return l.type==="break"||l.type==="continue"?this.next=l.arg:l.type==="return"?(this.rval=this.arg=l.arg,this.method="return",this.next="end"):l.type==="normal"&&h&&(this.next=h),P},finish:function(l){for(var h=this.tryEntries.length-1;h>=0;--h){var x=this.tryEntries[h];if(x.finallyLoc===l)return this.complete(x.completion,x.afterLoc),j(x),P}},catch:function(l){for(var h=this.tryEntries.length-1;h>=0;--h){var x=this.tryEntries[h];if(x.tryLoc===l){var _=x.completion;if(_.type==="throw"){var Z=_.arg;j(x)}return Z}}throw new Error("illegal catch attempt")},delegateYield:function(l,h,x){return this.delegate={iterator:z(l),resultName:h,nextLoc:x},this.method==="next"&&(this.arg=s),P}},r}(n.exports);try{regeneratorRuntime=t}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}})(La);var tt={},mn={},ee={};Object.defineProperty(ee,"__esModule",{value:!0});ee.browserSupportsPolyfills=ee.compareTwoStringsUsingDiceCoefficient=ee.commandToRegExp=ee.concatTranscripts=ee.debounce=void 0;var Pa=function(t,r,a){var o;return function(){var i=this,s=arguments,c=function(){o=null,a||t.apply(i,s)},d=a&&!o;clearTimeout(o),o=setTimeout(c,r),d&&t.apply(i,s)}};ee.debounce=Pa;var Ra=function(){for(var t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];return r.map(function(o){return o.trim()}).join(" ").trim()};ee.concatTranscripts=Ra;var za=/\s*\((.*?)\)\s*/g,Va=/(\(\?:[^)]+\))\?/g,Oa=/(\(\?)?:\w+/g,Ia=/\*/g,Za=/[-{}[\]+?.,\\^$|#]/g,Fa=function(t){return t instanceof RegExp?new RegExp(t.source,"i"):(t=t.replace(Za,"\\$&").replace(za,"(?:$1)?").replace(Oa,function(r,a){return a?r:"([^\\s]+)"}).replace(Ia,"(.*?)").replace(Va,"\\s*$1?\\s*"),new RegExp("^"+t+"$","i"))};ee.commandToRegExp=Fa;var Da=function(t,r){if(t=t.replace(/\s+/g,"").toLowerCase(),r=r.replace(/\s+/g,"").toLowerCase(),!t.length&&!r.length)return 1;if(!t.length||!r.length)return 0;if(t===r)return 1;if(t.length===1&&r.length===1||t.length<2||r.length<2)return 0;for(var a=new Map,o=0;o<t.length-1;o++){var i=t.substring(o,o+2),s=a.has(i)?a.get(i)+1:1;a.set(i,s)}for(var c=0,d=0;d<r.length-1;d++){var f=r.substring(d,d+2),w=a.has(f)?a.get(f):0;w>0&&(a.set(f,w-1),c++)}return 2*c/(t.length+r.length-2)};ee.compareTwoStringsUsingDiceCoefficient=Da;var Ha=function(){return typeof window<"u"&&window.navigator!==void 0&&window.navigator.mediaDevices!==void 0&&window.navigator.mediaDevices.getUserMedia!==void 0&&(window.AudioContext!==void 0||window.webkitAudioContext!==void 0)};ee.browserSupportsPolyfills=Ha;var Se={},me={};Object.defineProperty(me,"__esModule",{value:!0});me.APPEND_TRANSCRIPT=me.CLEAR_TRANSCRIPT=void 0;var $a="CLEAR_TRANSCRIPT";me.CLEAR_TRANSCRIPT=$a;var Ba="APPEND_TRANSCRIPT";me.APPEND_TRANSCRIPT=Ba;Object.defineProperty(Se,"__esModule",{value:!0});Se.appendTranscript=Se.clearTranscript=void 0;var pn=me,Ua=function(){return{type:pn.CLEAR_TRANSCRIPT}};Se.clearTranscript=Ua;var Wa=function(t,r){return{type:pn.APPEND_TRANSCRIPT,payload:{interimTranscript:t,finalTranscript:r}}};Se.appendTranscript=Wa;var $e={};Object.defineProperty($e,"__esModule",{value:!0});$e.transcriptReducer=void 0;var $t=me,Ka=ee,qa=function(t,r){switch(r.type){case $t.CLEAR_TRANSCRIPT:return{interimTranscript:"",finalTranscript:""};case $t.APPEND_TRANSCRIPT:return{interimTranscript:r.payload.interimTranscript,finalTranscript:(0,Ka.concatTranscripts)(t.finalTranscript,r.payload.finalTranscript)};default:throw new Error}};$e.transcriptReducer=qa;var fn={},nt={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=function(){return/(android)/i.test(typeof navigator<"u"?navigator.userAgent:"")};n.default=t})(nt);var rt={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.isNative=void 0;var t=typeof window<"u"&&(window.SpeechRecognition||window.webkitSpeechRecognition||window.mozSpeechRecognition||window.msSpeechRecognition||window.oSpeechRecognition),r=function(i){return i===t};n.isNative=r;var a=t;n.default=a})(rt);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t=o(nt),r=ee,a=rt;function o(p){return p&&p.__esModule?p:{default:p}}function i(p,y,g,S,N,k,R){try{var P=p[k](R),T=P.value}catch(O){g(O);return}P.done?y(T):Promise.resolve(T).then(S,N)}function s(p){return function(){var y=this,g=arguments;return new Promise(function(S,N){var k=p.apply(y,g);function R(T){i(k,S,N,R,P,"next",T)}function P(T){i(k,S,N,R,P,"throw",T)}R(void 0)})}}function c(p,y){if(!(p instanceof y))throw new TypeError("Cannot call a class as a function")}function d(p,y){for(var g=0;g<y.length;g++){var S=y[g];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(p,S.key,S)}}function f(p,y,g){return y&&d(p.prototype,y),g&&d(p,g),p}var w=function(){function p(y){c(this,p),this.recognition=null,this.pauseAfterDisconnect=!1,this.interimTranscript="",this.finalTranscript="",this.listening=!1,this.isMicrophoneAvailable=!0,this.subscribers={},this.onStopListening=function(){},this.previousResultWasFinalOnly=!1,this.resetTranscript=this.resetTranscript.bind(this),this.startListening=this.startListening.bind(this),this.stopListening=this.stopListening.bind(this),this.abortListening=this.abortListening.bind(this),this.setSpeechRecognition=this.setSpeechRecognition.bind(this),this.disableRecognition=this.disableRecognition.bind(this),this.setSpeechRecognition(y),(0,t.default)()&&(this.updateFinalTranscript=(0,r.debounce)(this.updateFinalTranscript,250,!0))}return f(p,[{key:"setSpeechRecognition",value:function(g){var S=!!g&&((0,a.isNative)(g)||(0,r.browserSupportsPolyfills)());S&&(this.disableRecognition(),this.recognition=new g,this.recognition.continuous=!1,this.recognition.interimResults=!0,this.recognition.onresult=this.updateTranscript.bind(this),this.recognition.onend=this.onRecognitionDisconnect.bind(this),this.recognition.onerror=this.onError.bind(this)),this.emitBrowserSupportsSpeechRecognitionChange(S)}},{key:"subscribe",value:function(g,S){this.subscribers[g]=S}},{key:"unsubscribe",value:function(g){delete this.subscribers[g]}},{key:"emitListeningChange",value:function(g){var S=this;this.listening=g,Object.keys(this.subscribers).forEach(function(N){var k=S.subscribers[N].onListeningChange;k(g)})}},{key:"emitMicrophoneAvailabilityChange",value:function(g){var S=this;this.isMicrophoneAvailable=g,Object.keys(this.subscribers).forEach(function(N){var k=S.subscribers[N].onMicrophoneAvailabilityChange;k(g)})}},{key:"emitTranscriptChange",value:function(g,S){var N=this;Object.keys(this.subscribers).forEach(function(k){var R=N.subscribers[k].onTranscriptChange;R(g,S)})}},{key:"emitClearTranscript",value:function(){var g=this;Object.keys(this.subscribers).forEach(function(S){var N=g.subscribers[S].onClearTranscript;N()})}},{key:"emitBrowserSupportsSpeechRecognitionChange",value:function(g){var S=this;Object.keys(this.subscribers).forEach(function(N){var k=S.subscribers[N],R=k.onBrowserSupportsSpeechRecognitionChange,P=k.onBrowserSupportsContinuousListeningChange;R(g),P(g)})}},{key:"disconnect",value:function(g){if(this.recognition&&this.listening)switch(g){case"ABORT":this.pauseAfterDisconnect=!0,this.abort();break;case"RESET":this.pauseAfterDisconnect=!1,this.abort();break;case"STOP":default:this.pauseAfterDisconnect=!0,this.stop()}}},{key:"disableRecognition",value:function(){this.recognition&&(this.recognition.onresult=function(){},this.recognition.onend=function(){},this.recognition.onerror=function(){},this.listening&&this.stopListening())}},{key:"onError",value:function(g){g&&g.error&&g.error==="not-allowed"&&(this.emitMicrophoneAvailabilityChange(!1),this.disableRecognition())}},{key:"onRecognitionDisconnect",value:function(){this.onStopListening(),this.listening=!1,this.pauseAfterDisconnect?this.emitListeningChange(!1):this.recognition&&(this.recognition.continuous?this.startListening({continuous:this.recognition.continuous}):this.emitListeningChange(!1)),this.pauseAfterDisconnect=!1}},{key:"updateTranscript",value:function(g){var S=g.results,N=g.resultIndex,k=N===void 0?S.length-1:N;this.interimTranscript="",this.finalTranscript="";for(var R=k;R<S.length;++R)S[R].isFinal&&(!(0,t.default)()||S[R][0].confidence>0)?this.updateFinalTranscript(S[R][0].transcript):this.interimTranscript=(0,r.concatTranscripts)(this.interimTranscript,S[R][0].transcript);var P=!1;this.interimTranscript===""&&this.finalTranscript!==""?(this.previousResultWasFinalOnly&&(P=!0),this.previousResultWasFinalOnly=!0):this.previousResultWasFinalOnly=!1,P||this.emitTranscriptChange(this.interimTranscript,this.finalTranscript)}},{key:"updateFinalTranscript",value:function(g){this.finalTranscript=(0,r.concatTranscripts)(this.finalTranscript,g)}},{key:"resetTranscript",value:function(){this.disconnect("RESET")}},{key:"startListening",value:function(){var y=s(regeneratorRuntime.mark(function S(){var N,k,R,P,T,O,C=arguments;return regeneratorRuntime.wrap(function(V){for(;;)switch(V.prev=V.next){case 0:if(N=C.length>0&&C[0]!==void 0?C[0]:{},k=N.continuous,R=k===void 0?!1:k,P=N.language,this.recognition){V.next=3;break}return V.abrupt("return");case 3:if(T=R!==this.recognition.continuous,O=P&&P!==this.recognition.lang,!(T||O)){V.next=11;break}if(!this.listening){V.next=9;break}return V.next=9,this.stopListening();case 9:this.recognition.continuous=T?R:this.recognition.continuous,this.recognition.lang=O?P:this.recognition.lang;case 11:if(this.listening){V.next=22;break}return this.recognition.continuous||(this.resetTranscript(),this.emitClearTranscript()),V.prev=13,V.next=16,this.start();case 16:this.emitListeningChange(!0),V.next=22;break;case 19:V.prev=19,V.t0=V.catch(13),V.t0 instanceof DOMException||this.emitMicrophoneAvailabilityChange(!1);case 22:case"end":return V.stop()}},S,this,[[13,19]])}));function g(){return y.apply(this,arguments)}return g}()},{key:"abortListening",value:function(){var y=s(regeneratorRuntime.mark(function S(){var N=this;return regeneratorRuntime.wrap(function(R){for(;;)switch(R.prev=R.next){case 0:return this.disconnect("ABORT"),this.emitListeningChange(!1),R.next=4,new Promise(function(P){N.onStopListening=P});case 4:case"end":return R.stop()}},S,this)}));function g(){return y.apply(this,arguments)}return g}()},{key:"stopListening",value:function(){var y=s(regeneratorRuntime.mark(function S(){var N=this;return regeneratorRuntime.wrap(function(R){for(;;)switch(R.prev=R.next){case 0:return this.disconnect("STOP"),this.emitListeningChange(!1),R.next=4,new Promise(function(P){N.onStopListening=P});case 4:case"end":return R.stop()}},S,this)}));function g(){return y.apply(this,arguments)}return g}()},{key:"getRecognition",value:function(){return this.recognition}},{key:"start",value:function(){var y=s(regeneratorRuntime.mark(function S(){return regeneratorRuntime.wrap(function(k){for(;;)switch(k.prev=k.next){case 0:if(!(this.recognition&&!this.listening)){k.next=4;break}return k.next=3,this.recognition.start();case 3:this.listening=!0;case 4:case"end":return k.stop()}},S,this)}));function g(){return y.apply(this,arguments)}return g}()},{key:"stop",value:function(){this.recognition&&this.listening&&(this.recognition.stop(),this.listening=!1)}},{key:"abort",value:function(){this.recognition&&this.listening&&(this.recognition.abort(),this.listening=!1)}}]),p}();n.default=w})(fn);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.useSpeechRecognition=void 0;var t=u,r=ee,a=Se,o=$e,i=d(fn),s=d(nt),c=d(rt);function d(b){return b&&b.__esModule?b:{default:b}}function f(b,v,E,j,M,z,I){try{var l=b[z](I),h=l.value}catch(x){E(x);return}l.done?v(h):Promise.resolve(h).then(j,M)}function w(b){return function(){var v=this,E=arguments;return new Promise(function(j,M){var z=b.apply(v,E);function I(h){f(z,j,M,I,l,"next",h)}function l(h){f(z,j,M,I,l,"throw",h)}I(void 0)})}}function p(b){return S(b)||g(b)||P(b)||y()}function y(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g(b){if(typeof Symbol<"u"&&Symbol.iterator in Object(b))return Array.from(b)}function S(b){if(Array.isArray(b))return T(b)}function N(b){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?N=function(E){return typeof E}:N=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},N(b)}function k(b,v){return C(b)||O(b,v)||P(b,v)||R()}function R(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function P(b,v){if(b){if(typeof b=="string")return T(b,v);var E=Object.prototype.toString.call(b).slice(8,-1);if(E==="Object"&&b.constructor&&(E=b.constructor.name),E==="Map"||E==="Set")return Array.from(b);if(E==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E))return T(b,v)}}function T(b,v){(v==null||v>b.length)&&(v=b.length);for(var E=0,j=new Array(v);E<v;E++)j[E]=b[E];return j}function O(b,v){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(b)))){var E=[],j=!0,M=!1,z=void 0;try{for(var I=b[Symbol.iterator](),l;!(j=(l=I.next()).done)&&(E.push(l.value),!(v&&E.length===v));j=!0);}catch(h){M=!0,z=h}finally{try{!j&&I.return!=null&&I.return()}finally{if(M)throw z}}return E}}function C(b){if(Array.isArray(b))return b}var A=!!c.default,V=A&&!(0,s.default)(),F,U=function(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=v.transcribing,j=E===void 0?!0:E,M=v.clearTranscriptOnListen,z=M===void 0?!0:M,I=v.commands,l=I===void 0?[]:I,h=(0,t.useState)(W.getRecognitionManager()),x=k(h,1),_=x[0],Z=(0,t.useState)(A),L=k(Z,2),D=L[0],$=L[1],B=(0,t.useState)(V),q=k(B,2),re=q[0],Q=q[1],J=(0,t.useReducer)(o.transcriptReducer,{interimTranscript:_.interimTranscript,finalTranscript:""}),st=k(J,2),it=st[0],ot=it.interimTranscript,lt=it.finalTranscript,ct=st[1],Sn=(0,t.useState)(_.listening),ut=k(Sn,2),jn=ut[0],En=ut[1],An=(0,t.useState)(_.isMicrophoneAvailable),dt=k(An,2),Nn=dt[0],kn=dt[1],ht=(0,t.useRef)(l);ht.current=l;var mt=function(){ct((0,a.clearTranscript)())},Ae=(0,t.useCallback)(function(){_.resetTranscript(),mt()},[_]),Cn=function(X,ie,ue){var le=N(X)==="object"?X.toString():X,Ne=le.replace(/[&/\\#,+()!$~%.'":*?<>{}]/g,"").replace(/ +/g," ").trim(),Re=(0,r.compareTwoStringsUsingDiceCoefficient)(Ne,ie);return Re>=ue?{command:X,commandWithoutSpecials:Ne,howSimilar:Re,isFuzzyMatch:!0}:null},Mn=function(X,ie){var ue=(0,r.commandToRegExp)(X),le=ue.exec(ie);return le?{command:X,parameters:le.slice(1)}:null},pt=(0,t.useCallback)(function(se,X){ht.current.forEach(function(ie){var ue=ie.command,le=ie.callback,Ne=ie.matchInterim,Re=Ne===void 0?!1:Ne,xt=ie.isFuzzyMatch,bt=xt===void 0?!1:xt,vt=ie.fuzzyMatchingThreshold,_n=vt===void 0?.8:vt,wt=ie.bestMatchOnly,Ln=wt===void 0?!1:wt,ze=!X&&Re?se.trim():X.trim(),Pn=Array.isArray(ue)?ue:[ue],Ve=Pn.map(function(te){return bt?Cn(te,ze,_n):Mn(te,ze)}).filter(function(te){return te});if(bt&&Ln&&Ve.length>=2){Ve.sort(function(te,Ue){return Ue.howSimilar-te.howSimilar});var Be=Ve[0],Rn=Be.command,zn=Be.commandWithoutSpecials,Vn=Be.howSimilar;le(zn,ze,Vn,{command:Rn,resetTranscript:Ae})}else Ve.forEach(function(te){if(te.isFuzzyMatch){var Ue=te.command,On=te.commandWithoutSpecials,In=te.howSimilar;le(On,ze,In,{command:Ue,resetTranscript:Ae})}else{var Zn=te.command,Fn=te.parameters;le.apply(void 0,p(Fn).concat([{command:Zn,resetTranscript:Ae}]))}})})},[Ae]),ft=(0,t.useCallback)(function(se,X){j&&ct((0,a.appendTranscript)(se,X)),pt(se,X)},[pt,j]),gt=(0,t.useCallback)(function(){z&&mt()},[z]);(0,t.useEffect)(function(){var se=W.counter;W.counter+=1;var X={onListeningChange:En,onMicrophoneAvailabilityChange:kn,onTranscriptChange:ft,onClearTranscript:gt,onBrowserSupportsSpeechRecognitionChange:$,onBrowserSupportsContinuousListeningChange:Q};return _.subscribe(se,X),function(){_.unsubscribe(se)}},[j,z,_,ft,gt]);var Tn=(0,r.concatTranscripts)(lt,ot);return{transcript:Tn,interimTranscript:ot,finalTranscript:lt,listening:jn,isMicrophoneAvailable:Nn,resetTranscript:Ae,browserSupportsSpeechRecognition:D,browserSupportsContinuousListening:re}};n.useSpeechRecognition=U;var W={counter:0,applyPolyfill:function(v){F?F.setSpeechRecognition(v):F=new i.default(v);var E=!!v&&(0,r.browserSupportsPolyfills)();A=E,V=E},removePolyfill:function(){F?F.setSpeechRecognition(c.default):F=new i.default(c.default),A=!!c.default,V=A&&!(0,s.default)()},getRecognitionManager:function(){return F||(F=new i.default(c.default)),F},getRecognition:function(){var v=W.getRecognitionManager();return v.getRecognition()},startListening:function(){var b=w(regeneratorRuntime.mark(function E(){var j,M,z,I,l=arguments;return regeneratorRuntime.wrap(function(x){for(;;)switch(x.prev=x.next){case 0:return j=l.length>0&&l[0]!==void 0?l[0]:{},M=j.continuous,z=j.language,I=W.getRecognitionManager(),x.next=4,I.startListening({continuous:M,language:z});case 4:case"end":return x.stop()}},E)}));function v(){return b.apply(this,arguments)}return v}(),stopListening:function(){var b=w(regeneratorRuntime.mark(function E(){var j;return regeneratorRuntime.wrap(function(z){for(;;)switch(z.prev=z.next){case 0:return j=W.getRecognitionManager(),z.next=3,j.stopListening();case 3:case"end":return z.stop()}},E)}));function v(){return b.apply(this,arguments)}return v}(),abortListening:function(){var b=w(regeneratorRuntime.mark(function E(){var j;return regeneratorRuntime.wrap(function(z){for(;;)switch(z.prev=z.next){case 0:return j=W.getRecognitionManager(),z.next=3,j.abortListening();case 3:case"end":return z.stop()}},E)}));function v(){return b.apply(this,arguments)}return v}(),browserSupportsSpeechRecognition:function(){return A},browserSupportsContinuousListening:function(){return V}},H=W;n.default=H})(mn);(function(n){function t(s){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?t=function(d){return typeof d}:t=function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},t(s)}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useSpeechRecognition",{enumerable:!0,get:function(){return r.useSpeechRecognition}}),n.default=void 0;var r=o(mn);function a(){if(typeof WeakMap!="function")return null;var s=new WeakMap;return a=function(){return s},s}function o(s){if(s&&s.__esModule)return s;if(s===null||t(s)!=="object"&&typeof s!="function")return{default:s};var c=a();if(c&&c.has(s))return c.get(s);var d={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var w in s)if(Object.prototype.hasOwnProperty.call(s,w)){var p=f?Object.getOwnPropertyDescriptor(s,w):null;p&&(p.get||p.set)?Object.defineProperty(d,w,p):d[w]=s[w]}return d.default=s,c&&c.set(s,d),d}var i=r.default;n.default=i})(tt);const Bt=Wn(tt);let Ce;const Ga=3200;function Ya({sendCommand:n}){const t=u.useRef(""),{transcript:r,listening:a,resetTranscript:o,browserSupportsSpeechRecognition:i,browserSupportsContinuousListening:s,isMicrophoneAvailable:c}=tt.useSpeechRecognition({clearTranscriptOnListen:!0}),{t:d}=K();function f(){var g;if(!c){alert("AnythingLLM does not have access to microphone. Please enable for this site to use this feature.");return}o(),t.current="",Bt.startListening({continuous:s,language:((g=window==null?void 0:window.navigator)==null?void 0:g.language)??"en-US"})}function w(){Bt.stopListening(),tn.get("autoSubmitSttInput")&&n({text:"",autoSubmit:!0,writeMode:"append"}),o(),t.current="",clearTimeout(Ce)}const p=u.useCallback(g=>{g.ctrlKey&&g.keyCode===77&&(a?w():f())},[a,w,f]);function y(g){!(g!=null&&g.detail)&&Ce&&(w(),clearTimeout(Ce))}return u.useEffect(()=>(document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p)}),[p]),u.useEffect(()=>(window&&window.addEventListener(Pe,y),()=>window==null?void 0:window.removeEventListener(Pe,y)),[]),u.useEffect(()=>{if((r==null?void 0:r.length)>0&&a){const g=t.current,S=r.slice(g.length);S.length>0&&n({text:S,writeMode:"append"}),t.current=r,clearTimeout(Ce),Ce=setTimeout(()=>{w()},Ga)}},[r,a]),i?e.jsxs("div",{"data-tooltip-id":"tooltip-microphone-btn","data-tooltip-content":`${d("chat_window.microphone")} (CTRL + M)`,"aria-label":d("chat_window.microphone"),onClick:a?w:f,className:`group border-none relative flex justify-center items-center cursor-pointer w-8 h-8 rounded-full hover:bg-zinc-700 light:hover:bg-slate-200 ${a?"bg-zinc-700 light:bg-slate-200":""}`,children:[e.jsx(hn,{weight:"regular",size:18,className:`pointer-events-none text-zinc-300 light:text-slate-600 group-hover:text-white light:group-hover:text-slate-600 shrink-0 ${a?"animate-pulse-glow !text-white light:!text-slate-800":""}`}),e.jsx(G,{id:"tooltip-microphone-btn",place:"top",delayShow:300,className:"tooltip !text-xs z-99"})]}):null}const Qa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABFCAYAAAD3upAqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAoZSURBVHgB3VxtbBTHGX4d3LrYwjGJaQJ3tg/zEZ/lCBOISVuFmMSoqpQUDv+J0oJNpUqRoIGmcgRWIoyIAJWqxWCkVpVqG6tRf9QxaSpVDSYYolaYtML9UZ8jNc3h4BAVUOBOserWiLzP7MwyPvZ8t7N7ZzuPNLe7t+vz3rPP+zEz71we5RB37twp4U0tt1VyG5KNtC0Q43ZTtn9w+0huh/Ly8m5SDpBHWQaTUc+bp7jVy+YVA9xOcXuLSYpRlpAVYqQydnHbTJYyBBKJBP1zOErRkREajo7Q2NiYaPF4guKJuP33xQuKKRhcQgt4Wx2uokAgQOGqKnpiXV3yvxridpQsknxVkq/EaITs5oZ9Qcbv3+yj0/1nKMpk6AS4BQgLM1GNkc2CJBAmEePWxa3bLxX5QowTIRcGL9KxjhM0ePEiZQuNkQhtkSRJxLh1MTn7ySM8EyN9SCdJ59nL6ug82cPqiFKuEGTlvLRzBzVuiai3Yty2M0EDZAhjYqRK9pGlkpwoJB3W1dXRkcMHdRNrM1WPETFMSog3Z7mF4EOOHu+gru6TNFvw0s6dtOtHO9QhHHTEre9xTQyTgigDUkoQUV7Y2kRXeDvbAPN6o6dbqSfGbYMbcu4jF2BSmkiS0vvmKXp205ZZSQpwRT40adohbpfkQ80IGStGktKF/WPHT1B7RwfNFbzaupe2N23DLnIdKGco3d9kRIxk+hL25xopCprfATmr05lVWlOSjrYP+3OVFOAY33dvn/gaiKZn5fdKiWkVI0MylBLq5Kjz+sFDNNcBh4ywzhhg1WxIdV06xSBPCSH6QC1fBry4Y6fonzHq+cH/ItV1KRXDf9TMm07kKc9uisza6GMCdEzfPtWnDjc4ZciOitGyWpG85YqUYGAJ5QLo2bcft31lp9M1jophYkBKGz7guc0R8hsYTtjY8DR9gzt/VVVhHmIIcM95gX0+zipFXwsPBL1ytGzg/Lv9KgHcz6pp08/dQ4z01hgxo6eebvBVLevqHhcdvY0NDVOISAcQdbq/n5/yCeUffLqfOuGMyQrhS/UxHSdTasMLesl+kQKFvMZJ1hs9J8VQgRtSAFyPv8MTRrKGz/MDyIplZgzXsVs/N0Ux2VALVPLTw4dE38UvqHR/zJf7c1ZNsmLq8eKXWpCGQyV+kgLg8/7IUWVjwzPkFUmqaVbvJxMjIlFv3ynyCpAC2WcLxcUL6JcnOoSJeUXn3SGTTWrHNiU5EncW8lzPZuQFMB8oJRfAQPoL25o8jRiC5PPvnmHfJXwfzCmmKwYj+vSOx9CI8AefkitYyjnuySGD3HdO96tDwYNODOZ+POcM6MH67VPSAf/vB01byQtOn7G/tzAnQYyaIQRzXsZsoRZTm8fUCjqpppGmuanJk2q0710LPpRi6q2b8zayr42zukbL3lbhBA8Y9uBhUl5UA1EM80QgWdEppIgRQ34XZkgtQCIelzdoPiHnVTXRYVsYtYqYVeJEdIRM8QRHopkGVIOesymiI/b3t4kRs4fok5jCj2TLD3i5Dy2ptU0phBcvKXYgGKTZAC+K0YipmEKMl25AdZX5DfmJgIdUIRG3LabE1bxSKuQ6b5kOft2LL8S4BTqpaJkAITzTa71Ct5h8yjEGefL/Fc5ZrBv5ZNrc55U9rWrKg9bxaF+2lYmopqAU46kayY1vCofDdq6BuZ72FLMPOilu/EY8bh5ZFy58wN6fQkxl5TIyRabk4KlgYGg6cpJJwfWZqsVL9r6otFTtxqYQs3LFSjIFTCRTIKQmk6OIHbz4vjEpwPCIeZK6cuUjaveWIgalovToozV8s/eTCaIubyiZnGSYkAK4eUA6iovvpxXLV6hDWzFi9j9UXk6LFn2dTKCeshukIseUFCSo2vCBKwQCZVRRUaYObWJieCkvLxPEmKgGTg9THG6RTI4pKcAFD2pBq6goV28NKWIG8BKSjAWDZWSCzu4eMoEiBxWYpqQAqAE0QWXlciosLGSLsb43pmzvkztwvkM4Ga56RLC3cOGD5BYY7DFNxkDOEQ/TLCg6MOnSPPzwYioo+BqnEbbjHcCLnvmew8vja1aLg2XLlos/cIvXDx3ydbYwE+D/dRoURxYUFLDpWuaz9jG7Cu0tvOjEiDmT9U9+UxzMm5cvJOYW8DUte1opV0A1BibfTCrOw+Eays+3kv/qu4oRPNjEyFKImDInACYFb+0WMKlcFRm17NlrZELwo8oiIAaZ3A2oErTkTqSYq2yMfFf7ALMQnu0KLCgFGbLJrAZIUSYErH/yW2q3S+0kE4OVHDchq9K76TGHsaXstYvILUAOykj89jlWffE2o9wJD1knBdZRbVlIjNXSrd6fQoyMTu3Yb4w8Z78Pf1NdXWNEDmps4AP8GjoA2agvHjYYnwYplZUrprynfCpJa1Fwqo/B+C8qHkoOHDzCqf4H9rnbtyfpww//RZ99doNM4LAYIiOopT0oyzcdZXQiZc1jq+knu8WwR4ySKsdTVVS18WbfcPQDDr9H7jl/+fK/6dNPr5IpikVF1TNijhvDEGXBgJo3FgARH18ZsysRBgff97TOKdmnKLT//LByuj9mUo7q51IRY5ex9vz2d/SnP9+b6l+9+gmNjn5EfgKK8rOCC6G4vHypY/BAgJFBBr5lafJ5x6FN6Wu2qw/QHbHC4sVLqLZ2rVESmAp+koL+Xk3NKkdSSksf1COvY61vyjFfmde0I6+BHWKbDGSOtbVrRK7jJ0FeAJUgiiJYON0TSHmttUUd7k9VOp9xZfi59/5Kv/r1b1JeOzExwU98lK5f+w/NBEDIQw8t5r7PEjubdcKre1tUloulyqtTXZd2kYWsywM5Jb19fyC06aAIwlz0xMR/KdvIlBBg6/eep+98WxRFxSjN+iU3q0+sdUoZkKNwjdWDlkjcIj8BAubPLxLRBrlVOkIAzdlmtPrEzXqlZpJV1G7IASYnJwU5t+K3aPzzcddEKSIKiwrpAR4OyZQMhRd/uF2l/f6uV1LQyYHPQSgfHx8nE4yPfy4Im/jfBN2evM37/7fP5ed/heblz6OCrxYIB2/q2BEwXt61Q/mUjEkBTNdEIr8PXbt+nQ4c/Bld5+1sQwWPxr3M0VQmcDGyFoxmRArgeRUtFAOzckoCZwqaPwFys4pWQYbyNrJW6NNsUA96ytu+/7xQi0Q7E7KbDODHSv1mkgu+cHzuvb+wgt7OKUEgBArRRuFiNFMr9XVI9eDJ7FPv/e3vl4R56b1zv+FAiBg2SV5iYwK/fw0kRJZ5Nan3YGLopZ/nKOaVJEQZmMlaHrDHOErR3W6KGkc66tfPpWTr92NCZJXI2iamAJIuj37MbZSTvxtM3A0R8vWwrzqtmOcqLJzPZJQLQjBTWDS1zzZA1uB1d95s/v0YJ8jw3kxWZWg9eccAWVM9XXlz7ReHUiHFb1SVyBbSLo3JLULtTbnN6W9UfQFOlEd2UKiS/gAAAABJRU5ErkJggg==";function Ja({show:n,onClose:t,onContinue:r,onEmbed:a,tokenCount:o,maxTokens:i,fileCount:s=1,isEmbedding:c=!1,embedProgress:d=0}){const{user:f}=fe(),w=!f||f.role!=="default";return n?c?e.jsx(ye,{isOpen:n,children:e.jsx("div",{className:"relative max-w-[600px] bg-theme-bg-primary rounded-lg shadow border border-theme-modal-border",children:e.jsxs("div",{className:"p-6 flex flex-col items-center justify-center",children:[e.jsxs("p",{className:"text-white text-lg font-semibold mb-4",children:["Embedding ",d+1," of ",s," ",Me("file",s)]}),e.jsx(_e,{size:32,className:"animate-spin text-white"}),e.jsx("p",{className:"text-white/60 text-sm mt-2",children:"Please wait while we embed your files..."})]})})}):e.jsx(ye,{isOpen:n,children:e.jsxs("div",{className:"relative max-w-[600px] bg-theme-bg-primary rounded-lg shadow border border-theme-modal-border",children:[e.jsx("div",{className:"relative p-6 border-b 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:"Context Window Warning"})})}),e.jsxs("div",{className:"py-7 px-9 space-y-4",children:[e.jsxs("p",{className:"text-theme-text-primary text-sm",children:["Your workspace is using ",jt(o)," of"," ",jt(i)," available tokens. We recommend keeping usage below ",(Y.maxContextWindowLimit*100).toFixed(0),"% to ensure the best chat experience. Adding ",s," more"," ",Me("file",s)," would exceed this limit."," ",e.jsx(nn,{target:"_blank",to:rn.documentation.contextWindows(),className:"text-theme-text-secondary text-sm underline",children:"Learn more about context windows →"})]}),e.jsx("p",{className:"text-theme-text-primary text-sm",children:"Choose how you would like to proceed with these uploads."})]}),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("button",{onClick:t,type:"button",className:"border-none transition-all duration-300 bg-theme-modal-border text-white hover:opacity-60 px-4 py-2 rounded-lg text-sm",children:"Cancel"}),e.jsxs("div",{className:"flex w-full justify-end items-center space-x-2",children:[e.jsx("button",{onClick:r,type:"button",className:"border-none transition-all duration-300 bg-theme-modal-border text-white hover:opacity-60 px-4 py-2 rounded-lg text-sm",children:"Continue Anyway"}),w&&e.jsxs("button",{onClick:a,disabled:c||!w,type:"button",className:"border-none transition-all duration-300 bg-white text-black hover:opacity-60 px-4 py-2 rounded-lg text-sm",children:["Embed ",Me("File",s)]})]})]})]})}):null}const gn=u.createContext(),Le="ATTACHMENT_REMOVE",Ut="ATTACHMENT_CLEAR",Ze="ATTACHMENT_PASTED",Je="ATTACHMENTS_PROCESSING",de="ATTACHMENTS_PROCESSED",Xe="PARSED_FILE_ATTACHMENT_REMOVED";function si({workspace:n,threadSlug:t=null,children:r}){const[a,o]=u.useState([]),[i,s]=u.useState(!1),[c,d]=u.useState(!1),[f,w]=u.useState(!1),[p,y]=u.useState(!1),[g,S]=u.useState(0),[N,k]=u.useState([]),[R,P]=u.useState(0),[T,O]=u.useState(Number.POSITIVE_INFINITY);u.useEffect(()=>{ne.checkDocumentProcessorOnline().then(j=>s(j))},[]),u.useEffect(()=>(window.addEventListener(Le,A),window.addEventListener(Ut,V),window.addEventListener(Ze,U),window.addEventListener(Xe,C),()=>{window.removeEventListener(Le,A),window.removeEventListener(Ut,V),window.removeEventListener(Xe,C),window.removeEventListener(Ze,U)}),[]);async function C(j){const{document:M}=j.detail;o(z=>z.filter(I=>I.document.id!==M.id))}async function A(j){const{uid:M,document:z}=j.detail;o(I=>I.filter(l=>l.uid!==M)),z!=null&&z.location&&await Y.deleteAndUnembedFile(n.slug,z.location)}function V(){o([])}function F(){var j;return((j=a==null?void 0:a.filter(M=>M.type==="attachment"))==null?void 0:j.map(M=>({name:M.file.name,mime:M.file.type,contentString:M.contentString})))||[]}async function U(j){const{files:M=[]}=j.detail;if(!M.length)return;const z=[];for(const I of M)I.type.startsWith("image/")?z.push({uid:ae(),file:I,contentString:await Wt(I),status:"success",error:null,type:"attachment"}):z.push({uid:ae(),file:I,contentString:null,status:"in_progress",error:null,type:"upload"});o(I=>[...I,...z]),H(z)}async function W(j,M){d(!1);const z=[];for(const I of j)I.type.startsWith("image/")?z.push({uid:ae(),file:I,contentString:await Wt(I),status:"success",error:null,type:"attachment"}):z.push({uid:ae(),file:I,contentString:null,status:"in_progress",error:null,type:"upload"});o(I=>[...I,...z]),H(z)}async function H(j=[]){window.dispatchEvent(new CustomEvent(Je));const M=[],{currentContextTokenCount:z,contextWindow:I}=await Y.getParsedFiles(n.slug,t),l=I?Math.floor(I*Y.maxContextWindowLimit):Number.POSITIVE_INFINITY;O(l);let h=z,x=[];for(const _ of j){if(_.type==="attachment")continue;const Z=new FormData;Z.append("file",_.file,_.file.name),Z.append("threadSlug",t||null),M.push(Y.parseFile(n.slug,Z).then(async({response:L,data:D})=>{if(!L.ok){const re={status:"failed",error:(D==null?void 0:D.error)??null};o(Q=>Q.map(J=>J.uid!==_.uid?J:{...J,...re}));return}const $=D.files[0];if(h+=$.tokenCountEstimate,x.push({attachment:_,parsedFileId:$.id,tokenCount:$.tokenCountEstimate}),h>l){P(h),k(x),w(!0);return}const B={success:!0,document:$},q={status:"added_context",error:B.error??null,document:B.document};o(re=>re.map(Q=>Q.uid!==_.uid?Q:{...Q,...q}))}))}Promise.all(M).finally(()=>window.dispatchEvent(new CustomEvent(de)))}const b=async()=>{N.length&&(await Y.deleteParsedFiles(n.slug,N.map(j=>j.parsedFileId)),o(j=>j.filter(M=>!N.some(z=>z.attachment.uid===M.uid))),w(!1),k([]),P(0),window.dispatchEvent(new CustomEvent(de)))},v=async()=>{if(!N.length)return;const j=N.map(z=>({success:!0,document:{id:z.parsedFileId}})),M=N.map((z,I)=>({uid:z.attachment.uid,updates:{status:j[I].success?"success":"failed",error:j[I].error??null,document:j[I].document}}));o(z=>z.map(I=>{const l=M.find(h=>h.uid===I.uid);return l?{...I,...l.updates}:I})),w(!1),k([]),P(0)},E=async()=>{if(!N.length)return;y(!0),S(0);let j=0;const M=await Promise.all(N.map(I=>Y.embedParsedFile(n.slug,I.parsedFileId).then(l=>(j++,S(j),l)))),z=N.map((I,l)=>{var h,x;return{uid:I.attachment.uid,updates:{status:M[l].response.ok?"embedded":"failed",error:((h=M[l].data)==null?void 0:h.error)??null,document:(x=M[l].data)==null?void 0:x.document}}});o(I=>I.map(l=>{const h=z.find(x=>x.uid===l.uid);return h?{...l,...h.updates}:l})),w(!1),k([]),P(0),y(!1),window.dispatchEvent(new CustomEvent(de)),he(`${N.length} ${Me("file",N.length)} embedded successfully`,"success")};return e.jsxs(gn.Provider,{value:{files:a,ready:i,dragging:c,setDragging:d,onDrop:W,parseAttachments:F},children:[e.jsx(Ja,{show:f,onClose:b,onContinue:v,onEmbed:E,tokenCount:R,maxTokens:T,fileCount:N.length,isEmbedding:p,embedProgress:g}),r]})}function ii({children:n}){const{onDrop:t,ready:r,dragging:a,setDragging:o}=u.useContext(gn),{getRootProps:i,getInputProps:s}=wr({onDrop:t,disabled:!r,noClick:!0,noKeyboard:!0,onDragEnter:()=>o(!0),onDragLeave:()=>o(!1)});return e.jsxs("div",{className:"relative flex flex-col h-full w-full md:mt-0 mt-[40px] p-[1px]",...i(),children:[e.jsx("div",{hidden:!a,className:"absolute top-0 w-full h-full bg-dark-text/90 light:bg-[#C2E7FE]/90 rounded-2xl border-[4px] border-white z-[9999]",children:e.jsx("div",{className:"w-full h-full flex justify-center items-center rounded-xl",children:e.jsxs("div",{className:"flex flex-col gap-y-[14px] justify-center items-center",children:[e.jsx("img",{src:Qa,width:69,height:69,alt:"Drag and drop icon"}),e.jsx("p",{className:"text-white text-[24px] font-semibold",children:"Add anything"}),e.jsxs("p",{className:"text-white text-[16px] text-center",children:["Drop a file or image here to attach it to your ",e.jsx("br",{}),"workspace auto-magically."]})]})})}),e.jsx("input",{id:"dnd-chat-file-uploader",...s()}),n]})}async function Wt(n){return new Promise((t,r)=>{const a=new FileReader;a.onload=()=>{const o=a.result.split(",")[1];t(`data:${n.type};base64,${o}`)},a.onerror=o=>r(o),a.readAsDataURL(n)})}function Xa({attachments:n}){if(n.length===0)return null;function t(r){const a=n.filter(i=>i.type==="attachment"&&i.contentString).map(i=>({contentString:i.contentString,name:i.file.name})),o=a.findIndex(i=>{var s;return i.name===((s=r.file)==null?void 0:s.name)});o!==-1&&Kn(a,o)}return e.jsx("div",{className:"flex flex-wrap gap-2 mt-2 mb-4",children:n.map(r=>e.jsx(es,{attachment:r,onImageClick:()=>t(r)},r.uid))})}function es({attachment:n,onImageClick:t}){const{uid:r,file:a,status:o,error:i,document:s,type:c,contentString:d}=n,{iconBgColor:f,Icon:w}=ts(a);function p(){window.dispatchEvent(new CustomEvent(Le,{detail:{uid:r,document:s}}))}return o==="in_progress"?e.jsxs("div",{className:"relative flex items-center gap-x-1 rounded-lg bg-theme-attachment-bg border-none w-[180px] group",children:[e.jsx("div",{className:"bg-theme-attachment-icon-spinner-bg rounded-md flex items-center justify-center flex-shrink-0 h-[32px] w-[32px] m-1",children:e.jsx(_e,{size:18,weight:"bold",className:"text-theme-attachment-icon-spinner animate-spin"})}),e.jsxs("div",{className:"flex flex-col w-[125px]",children:[e.jsx("p",{className:"text-theme-attachment-text text-xs font-semibold truncate",children:a.name}),e.jsx("p",{className:"text-theme-attachment-text-secondary text-[10px] leading-[14px] font-medium",children:"Uploading..."})]})]}):o==="failed"?e.jsxs("div",{"data-tooltip-id":"attachment-status-tooltip","data-tooltip-content":i,className:"relative flex items-center gap-x-1 rounded-lg bg-theme-attachment-error-bg border-none w-[180px] group",children:[e.jsx("div",{className:"invisible group-hover:visible absolute -top-[5px] -right-[5px] w-fit h-fit z-[10]",children:e.jsx("button",{onClick:p,type:"button",className:"bg-white hover:bg-error hover:text-theme-attachment-text rounded-full p-1 flex items-center justify-center hover:border-transparent border border-theme-attachment-bg",children:e.jsx(oe,{size:10,className:"flex-shrink-0"})})}),e.jsx("div",{className:"bg-error rounded-md flex items-center justify-center flex-shrink-0 h-[32px] w-[32px] m-1",children:e.jsx(or,{size:24,className:"text-theme-attachment-icon"})}),e.jsxs("div",{className:"flex flex-col w-[125px]",children:[e.jsx("p",{className:"text-theme-attachment-text text-xs font-semibold truncate",children:a.name}),e.jsx("p",{className:"text-theme-attachment-text-secondary text-[10px] leading-[14px] font-medium truncate",children:i??"File not embedded!"})]})]}):c==="attachment"?d?e.jsxs("div",{"data-tooltip-id":"attachment-status-tooltip","data-tooltip-content":`${a.name} will be attached to this prompt. It will not be embedded into the workspace permanently.`,className:"relative flex items-center gap-x-1 rounded-lg border-none group",children:[e.jsx("div",{className:"invisible group-hover:visible absolute -top-[5px] -right-[5px] w-fit h-fit z-[10]",children:e.jsx("button",{onClick:p,type:"button",className:"bg-white hover:bg-error hover:text-theme-attachment-text rounded-full p-1 flex items-center justify-center hover:border-transparent border border-theme-attachment-bg",children:e.jsx(oe,{size:10,className:"flex-shrink-0"})})}),e.jsx("button",{type:"button",onClick:t,className:"p-0 border-none bg-transparent cursor-pointer",children:e.jsx("img",{alt:`Preview of ${a.name}`,src:d,style:{objectFit:"cover",objectPosition:"center"},className:`${f} w-[40px] h-[40px] rounded-lg flex items-center justify-center`})})]}):e.jsxs("div",{"data-tooltip-id":"attachment-status-tooltip","data-tooltip-content":`${a.name} will be attached to this prompt. It will not be embedded into the workspace permanently.`,className:"relative flex items-center gap-x-1 rounded-lg bg-theme-attachment-success-bg border-none w-[180px] group",children:[e.jsx("div",{className:"invisible group-hover:visible absolute -top-[5px] -right-[5px] w-fit h-fit z-[10]",children:e.jsx("button",{onClick:p,type:"button",className:"bg-white hover:bg-error hover:text-theme-attachment-text rounded-full p-1 flex items-center justify-center hover:border-transparent border border-theme-attachment-bg",children:e.jsx(oe,{size:10,className:"flex-shrink-0"})})}),e.jsx("div",{className:`${f} rounded-md flex items-center justify-center flex-shrink-0 h-[32px] w-[32px] m-1`,children:e.jsx(w,{size:24,className:"text-theme-attachment-icon"})}),e.jsxs("div",{className:"flex flex-col w-[125px]",children:[e.jsx("p",{className:"text-theme-attachment-text text-xs font-semibold truncate",children:a.name}),e.jsx("p",{className:"text-theme-attachment-text-secondary text-[10px] leading-[14px] font-medium",children:"Image attached!"})]})]}):e.jsxs("div",{"data-tooltip-id":"attachment-status-tooltip","data-tooltip-content":o==="embedded"?`${a.name} was uploaded and embedded into this workspace. It will be available for RAG chat now.`:`${a.name} will be used as context for this chat only.`,className:"relative flex items-center gap-x-1 rounded-lg bg-theme-attachment-bg border-none w-[180px] group",children:[e.jsx("div",{className:"invisible group-hover:visible absolute -top-[5px] -right-[5px] w-fit h-fit z-[10]",children:e.jsx("button",{onClick:p,type:"button",className:"bg-white hover:bg-error hover:text-theme-attachment-text rounded-full p-1 flex items-center justify-center hover:border-transparent border border-theme-attachment-bg",children:e.jsx(oe,{size:10,className:"flex-shrink-0"})})}),e.jsx("div",{className:`${f} rounded-md flex items-center justify-center flex-shrink-0 h-[32px] w-[32px] m-1`,children:e.jsx(w,{size:24,weight:"light",className:"text-theme-attachment-icon"})}),e.jsxs("div",{className:"flex flex-col w-[125px]",children:[e.jsx("p",{className:"text-white text-xs font-semibold truncate",children:a.name}),e.jsx("p",{className:"text-theme-attachment-text-secondary text-[10px] leading-[14px] font-medium",children:o==="embedded"?"File embedded!":"Added as context!"})]})]})}function ts(n){var r,a,o;switch(((o=(a=(r=n==null?void 0:n.name)==null?void 0:r.split("."))==null?void 0:a.pop())==null?void 0:o.toLowerCase())??"txt"){case"pdf":return{iconBgColor:"bg-magenta",Icon:ur};case"doc":case"docx":return{iconBgColor:"bg-royalblue",Icon:cr};case"html":return{iconBgColor:"bg-purple",Icon:un};case"csv":case"xlsx":return{iconBgColor:"bg-success",Icon:cn};case"json":case"sql":case"js":case"jsx":case"cpp":case"c":return{iconBgColor:"bg-warn",Icon:ln};case"png":case"jpg":case"jpeg":return{iconBgColor:"bg-royalblue",Icon:dn};default:return{iconBgColor:"bg-royalblue",Icon:lr}}}function ns({onEmbeddingChange:n,tooltipRef:t,files:r,setFiles:a,currentTokens:o,setCurrentTokens:i,contextWindow:s,isLoading:c,workspaceSlug:d,threadSlug:f=null}){const{user:w}=fe(),p=!w||w.role!=="default",y=s&&o>=s*Y.maxContextWindowLimit,[g,S]=u.useState(!1),[N,k]=u.useState(1),[R,P]=u.useState(y);async function T(C,A){if(C.preventDefault(),C.stopPropagation(),!(A!=null&&A.id)||!await Y.deleteParsedFiles(d,[A.id]))return;a(W=>W.filter(H=>H.id!==A.id)),window.dispatchEvent(new CustomEvent(Xe,{detail:{document:A}}));const{currentContextTokenCount:F}=await Y.getParsedFiles(d,f),U=s&&F>=s*Y.maxContextWindowLimit;i(F),P(U)}async function O(){var C;if(r.length){S(!0),n==null||n(!0),k(1);try{let A=0;await Promise.all(r.map(F=>Y.embedParsedFile(d,F.id).then(()=>{A++,k(A+1)}))),a([]);const{currentContextTokenCount:V}=await Y.getParsedFiles(d,f);i(V),P(V>=s*Y.maxContextWindowLimit),he(`${r.length} ${Me("file",r.length)} embedded successfully`,"success"),(C=t==null?void 0:t.current)==null||C.close()}catch(A){console.error("Failed to embed files:",A),he("Failed to embed files","error")}S(!1),n==null||n(!1),k(1)}}return e.jsxs("div",{className:"flex flex-col gap-2 p-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"text-sm font-medium text-theme-text-primary",children:["Current Context (",r.length," files)"]}),e.jsxs("div",{...R&&!p&&{"data-tooltip-id":"context-window-limit-exceeded","data-tooltip-content":"You have exceeded the context window limit. Some files may be truncated or excluded from chat responses. Responses may hallucinate or lack relevant information."},className:`flex items-center gap-x-1 ${R&&!p?"cursor-pointer":""}`,children:[R&&e.jsx(Et,{size:14,className:"text-orange-600"}),e.jsxs("div",{className:`text-xs ${R?"text-orange-600":"text-theme-text-secondary"}`,children:[At(o)," /"," ",s?At(s):"--"," tokens"]})]})]}),R&&p&&e.jsxs("div",{className:"flex flex-col gap-2 p-2 bg-theme-bg-secondary light:bg-theme-bg-primary rounded",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(Et,{className:"flex-shrink-0 mt-1 text-yellow-500 light:text-yellow-600",size:16}),e.jsx("div",{className:"text-xs text-theme-text-primary",children:"Your context window is getting full. Some files may be truncated or excluded from chat responses. We recommend embedding these files directly into your workspace for better results."})]}),e.jsx("button",{onClick:O,disabled:g,className:"border-none disabled:opacity-50 flex items-center justify-center gap-2 px-3 py-2 text-xs bg-primary-button hover:bg-theme-button-primary-hover text-white font-medium rounded transition-colors shadow-sm",children:g?e.jsxs(e.Fragment,{children:[e.jsx(_e,{size:14,className:"animate-spin"}),"Embedding ",N," of ",r.length," files..."]}):"Embed Files into Workspace"})]}),e.jsxs("div",{className:"flex flex-col gap-1 max-h-[300px] overflow-y-auto",children:[r.length>0&&r.map((C,A)=>e.jsxs("div",{className:"flex items-center justify-between gap-2 p-2 text-xs bg-theme-bg-secondary rounded",children:[e.jsx("div",{className:"truncate flex-1 text-theme-text-primary",children:C.title}),e.jsx("button",{onClick:V=>T(V,C),className:"border-none text-theme-text-secondary hover:text-theme-text-primary",disabled:g,children:e.jsx(oe,{size:16})})]},A)),c&&e.jsxs("div",{className:"flex items-center justify-center gap-2 text-xs text-theme-text-secondary text-center py-2",children:[e.jsx(_e,{size:16,className:"animate-spin"}),"Loading..."]}),!c&&r.length===0&&e.jsx("div",{className:"text-xs text-theme-text-secondary text-center py-2",children:"No files found"})]})]})}function rs({workspaceSlug:n=null,workspaceThreadSlug:t=null}){const{t:r}=K(),{theme:a}=qn(),o=He(),i=n||o.slug,s=t??o.threadSlug??null,c=u.useRef(null),[d,f]=u.useState(!1),[w,p]=u.useState([]),[y,g]=u.useState(0),[S,N]=u.useState(1/0),[k,R]=u.useState(!1),[P,T]=u.useState(!0),O=()=>{i&&(d||(T(!0),Y.getParsedFiles(i,s).then(({files:V,contextWindow:F,currentContextTokenCount:U})=>{p(V),R(V.length>0),N(F),g(U)}).finally(()=>{T(!1)})))};async function C(V){const{document:F}=V.detail;await Y.deleteParsedFiles(i,[F.id]),O()}function A(V){var F,U;(F=V==null?void 0:V.target)==null||F.blur(),(U=document==null?void 0:document.getElementById("dnd-chat-file-uploader"))==null||U.click()}return u.useEffect(()=>(O(),window.addEventListener(de,O),window.addEventListener(Le,C),()=>{window.removeEventListener(de,O),window.removeEventListener(Le,C)}),[i,s]),e.jsxs(e.Fragment,{children:[e.jsx("button",{id:"attach-item-btn","data-tooltip-id":k?"tooltip-attach-item-btn":"attach-item-btn","data-tooltip-content":k?void 0:r("chat_window.attach_file"),"aria-label":r("chat_window.attach_file"),type:"button",onClick:A,onPointerEnter:O,className:"group border-none relative flex justify-center items-center cursor-pointer w-6 h-6 rounded-full hover:bg-zinc-700 light:hover:bg-slate-200",children:e.jsxs("div",{className:"relative",children:[e.jsx(et,{size:18,className:"pointer-events-none text-zinc-300 light:text-slate-600 group-hover:text-white light:group-hover:text-slate-600 shrink-0",weight:"bold"}),w.length>0&&e.jsx("div",{className:"absolute -top-2.5 -right-2 bg-white text-black light:invert text-[8px] rounded-full px-1 flex items-center justify-center",children:w.length})]})}),k&&e.jsx(G,{ref:c,id:"tooltip-attach-item-btn",place:"top",opacity:1,clickable:!d,delayShow:300,delayHide:d?999999:800,arrowColor:a==="light"?"var(--theme-modal-border)":"var(--theme-bg-primary)",className:"z-99 !w-[400px] !bg-theme-bg-primary !px-[5px] !rounded-lg !pointer-events-auto light:border-2 light:border-theme-modal-border",children:e.jsx(ns,{onEmbeddingChange:f,tooltipRef:c,isLoading:P,files:w,setFiles:p,currentTokens:y,setCurrentTokens:g,contextWindow:S,workspaceSlug:i,threadSlug:s})})]})}function as(){const[n,t]=u.useState("normal"),[r,a]=u.useState("text-[14px]"),o=i=>{switch(i){case"small":return"text-[12px]";case"large":return"text-[18px]";default:return"text-[14px]"}};return u.useEffect(()=>{const i=window.localStorage.getItem("anythingllm_text_size");i&&(t(i),a(o(i)));const s=c=>{const d=c.detail;t(d),a(o(d))};return window.addEventListener("textSizeChange",s),()=>{window.removeEventListener("textSizeChange",s)}},[]),{textSize:n,textSizeClass:r}}function oi(n){try{const t=Ie(localStorage.getItem(Te),{});t[n]="",localStorage.setItem(Te,JSON.stringify(t))}catch{}}function ss({promptInput:n,setPromptInput:t}){const{threadSlug:r=null,slug:a}=He();u.useEffect(()=>{const i=localStorage.getItem(Te)||"{}",c=Ie(i,{})[r??a];c&&t(c)},[]);const o=u.useMemo(()=>an((i,s)=>{const c=localStorage.getItem(Te)||"{}",d=Ie(c,{});d[s]=i,localStorage.setItem(Te,JSON.stringify(d))},500),[]);u.useEffect(()=>(o(n,r??a),()=>{o.cancel()}),[n,r,a,o])}function xn({items:n,highlightedIndex:t,onSelect:r,registerItemCount:a}){u.useEffect(()=>{a==null||a(n.length)},[n.length,a]),u.useEffect(()=>{if(t<0||t>=n.length)return;function o(i){i.detail.key==="Enter"&&r(n[t])}return window.addEventListener(je,o),()=>window.removeEventListener(je,o)},[t,n,r])}function We(n){return Object.values(n).flatMap(t=>t.skills)}const Ee={"create-files-agent":{preferenceKey:"disabled_create_files_skills",getSubSkills:n=>dr(n)},"filesystem-agent":{preferenceKey:"disabled_filesystem_skills",getSubSkills:n=>hr(n)},"gmail-agent":{preferenceKey:"disabled_gmail_skills",getSubSkills:n=>We(mr(n)),isMultiUserSupported:!1},"google-calendar-agent":{preferenceKey:"disabled_google_calendar_skills",getSubSkills:n=>We(pr(n)),isMultiUserSupported:!1},"outlook-agent":{preferenceKey:"disabled_outlook_skills",getSubSkills:n=>We(fr(n)),isMultiUserSupported:!1}};function is(){return Object.values(Ee).map(n=>n.preferenceKey)}function os(n,t){const r=Ee[n];return r?r.getSubSkills(t):null}function Kt(n){var t;return((t=Ee[n])==null?void 0:t.preferenceKey)??null}function ls(n){return n in Ee}function cs(n){var t;return((t=Ee[n])==null?void 0:t.isMultiUserSupported)!==!1}function us(){const[n,t]=u.useState({}),r=u.useCallback(i=>{if(!i)return;const s={};for(const[,c]of Object.entries(Ee)){const d=i[c.preferenceKey];s[c.preferenceKey]=d??[]}t(s)},[]),a=u.useCallback((i,s)=>{const c=Kt(i);return c?!(n[c]??[]).includes(s):!0},[n]),o=u.useCallback(async(i,s)=>{const c=Kt(i);if(!c)return;const d=n[c]??[],f=d.includes(s)?d.filter(w=>w!==s):[...d,s];t(w=>({...w,[c]:f})),await we.updateSystemPreferences({[c]:f.join(",")})},[n]);return{loadFromSettings:r,isSubSkillEnabled:a,toggleSubSkill:o,disabledSubSkills:n}}function ds(n){const[t,r]=u.useState(!1),[a,o]=u.useState(!1),[i,s]=u.useState([]),[c,d]=u.useState([]),[f,w]=u.useState([]),[p,y]=u.useState([]),[g,S]=u.useState([]),[N,k]=u.useState(!0),[R,P]=u.useState(!0),T=us();u.useEffect(()=>{O(),C()},[]);async function O(){try{const H=is(),[b,v,E,j]=await Promise.all([we.systemPreferencesByFields(["disabled_agent_skills","default_agent_skills","imported_agent_skills",...H]),Ct.listFlows(),ne.isFileSystemAgentAvailable(),ne.isMultiUserMode()]);b!=null&&b.settings&&(s(b.settings.disabled_agent_skills??[]),d(b.settings.default_agent_skills??[]),w(b.settings.imported_agent_skills??[]),T.loadFromSettings(b.settings)),v!=null&&v.flows&&y(v.flows),r(E),o(!!j)}catch(H){console.error(H)}finally{k(!1)}}async function C(){try{const{servers:H=[]}=await Nt.listServers();S(H)}catch(H){console.error(H)}finally{P(!1)}}const A=u.useCallback(H=>H in n?!i.includes(H):c.includes(H),[n,i,c]),V=u.useCallback(async H=>{const b=(E,j)=>E.includes(j)?E.filter(M=>M!==j):[...E,j];if(H in n){const E=b(i,H);s(E),await we.updateSystemPreferences({disabled_agent_skills:E.join(","),default_agent_skills:c.join(",")});return}const v=b(c,H);d(v),await we.updateSystemPreferences({disabled_agent_skills:i.join(","),default_agent_skills:v.join(",")})},[n,i,c]),F=u.useCallback(async H=>{const b=!H.active;w(v=>v.map(E=>E.hubId===H.hubId?{...E,active:b}:E)),await Gn.toggleFeature(H.hubId,b)},[]),U=u.useCallback(async H=>{const b=!H.active;y(v=>v.map(E=>E.uuid===H.uuid?{...E,active:b}:E)),await Ct.toggleFlow(H.uuid,b)},[]),W=u.useCallback(async(H,b,v)=>{const E=!v;S(j=>j.map(M=>{var l,h,x;if(M.name!==H)return M;const z=((h=(l=M.config)==null?void 0:l.anythingllm)==null?void 0:h.suppressedTools)||[],I=E?z.filter(_=>_!==b):[...z,b];return{...M,config:{...M.config,anythingllm:{...(x=M.config)==null?void 0:x.anythingllm,suppressedTools:I}}}})),await Nt.toggleTool(H,b,E)},[]);return{fileSystemAgentAvailable:t,isMultiUser:a,disabledDefaults:i,enabledConfigurable:c,importedSkills:f,flows:p,mcpServers:g,loading:N,mcpLoading:R,isSkillEnabled:A,toggleSkill:V,toggleImportedSkill:F,toggleFlow:U,toggleMcpTool:W,isSubSkillEnabled:T.isSubSkillEnabled,toggleSubSkill:T.toggleSubSkill,disabledSubSkills:T.disabledSubSkills}}function qt({key:n,title:t,isEnabled:r,onToggle:a,t:o,isSubSkillEnabled:i,toggleSubSkill:s}){const c=os(n,o),d=r(n);return{id:n,name:t,enabled:d,onToggle:()=>a(n),hasSubSkills:ls(n),subSkills:c?c.map(f=>({id:`${n}::${f.name}`,name:f.title,enabled:d&&i(n,f.name),onToggle:()=>s(n,f.name),parentEnabled:d})):null}}function hs({t:n,defaultSkills:t,configurableSkills:r,appIntegrationSkills:a,importedSkills:o,flows:i,mcpServers:s,isMultiUser:c,isSkillEnabled:d,toggleSkill:f,isSubSkillEnabled:w,toggleSubSkill:p,toggleImportedSkill:y,toggleFlow:g,toggleMcpTool:S,disabledSubSkills:N}){return u.useMemo(()=>{var T,O;const k=[],R=[];for(const[C,{title:A}]of Object.entries({...t,...r}))R.push(qt({key:C,title:A,isEnabled:d,onToggle:f,t:n,isSubSkillEnabled:w,toggleSubSkill:p}));R.length>0&&k.push({id:"agent-skills",name:n("chat_window.agent_skills"),items:R,enabledCount:R.filter(C=>C.enabled).length});const P=[];for(const[C,{title:A}]of Object.entries(a))c&&!cs(C)||P.push(qt({key:C,title:A,isEnabled:d,onToggle:f,t:n,isSubSkillEnabled:w,toggleSubSkill:p}));if(P.length>0&&k.push({id:"app-integrations",name:n("chat_window.app_integrations"),items:P,enabledCount:P.filter(C=>C.enabled).length}),o.length>0){const C=o.map(A=>({id:A.hubId,name:A.name,enabled:A.active,onToggle:()=>y(A)}));k.push({id:"custom-skills",name:n("chat_window.custom_skills"),items:C,enabledCount:C.filter(A=>A.enabled).length})}if(i.length>0){const C=i.map(A=>({id:A.uuid,name:A.name,enabled:A.active,onToggle:()=>g(A)}));k.push({id:"agent-flows",name:n("chat_window.agent_flows"),items:C,enabledCount:C.filter(A=>A.enabled).length})}for(const C of s){if(!C.running||C.tools.length===0)continue;const A=((O=(T=C.config)==null?void 0:T.anythingllm)==null?void 0:O.suppressedTools)||[],V=C.tools.map(F=>({id:`mcp::${C.name}::${F.name}`,name:F.name,enabled:!A.includes(F.name),onToggle:()=>S(C.name,F.name,!A.includes(F.name))}));k.push({id:`mcp-${C.name}`,name:Yn(C.name.replace(/[_-]/g," ")),isMcp:!0,items:V,enabledCount:V.filter(F=>F.enabled).length})}return k},[n,t,r,a,o,i,s,c,d,f,w,p,y,g,S,N])}function Gt({name:n,enabled:t,onToggle:r,highlighted:a=!1,disabled:o=!1}){const i=u.useRef(null);u.useEffect(()=>{var c;a&&((c=i.current)==null||c.scrollIntoView({block:"nearest"}))},[a]);let s="border-none bg-transparent w-full flex items-center justify-between px-2 py-1 rounded";return a?s+=" bg-zinc-700/50 light:bg-slate-100":s+=" hover:bg-zinc-700/50 light:hover:bg-slate-100",o?s+=" opacity-60 cursor-not-allowed":s+=" cursor-pointer",e.jsxs("button",{ref:i,type:"button",className:s,onClick:()=>!o&&r(),"data-tooltip-id":o?"agent-skill-disabled-tooltip":void 0,children:[e.jsx("span",{className:"text-xs text-white light:text-slate-900",children:n}),e.jsx("div",{className:"pointer-events-none","aria-hidden":"true",children:e.jsx(Qe,{size:"sm",enabled:t})})]})}function Yt({name:n,expanded:t,onToggle:r,enabledCount:a,totalCount:o,isMcp:i=!1,indented:s=!1,highlighted:c=!1,children:d}){const f=u.useRef(null);u.useEffect(()=>{var p;c&&((p=f.current)==null||p.scrollIntoView({block:"nearest"}))},[c]);let w="border-none bg-transparent w-full flex items-center justify-between px-2 py-1 rounded cursor-pointer";return c?w+=" bg-zinc-700/50 light:bg-slate-100":w+=" hover:bg-zinc-700/30 light:hover:bg-slate-50",e.jsxs("div",{className:s?"ml-3":"",children:[e.jsxs("button",{ref:f,type:"button",className:w,onClick:r,children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(Qn,{size:10,weight:"bold",className:`text-zinc-400 light:text-slate-500 transition-transform duration-150 ${t?"":"-rotate-90"}`}),e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-wide text-zinc-400 light:text-slate-500",children:n}),i&&e.jsx("span",{className:"text-[8px] px-1 py-px rounded bg-zinc-600/50 light:bg-slate-200 text-zinc-300 light:text-slate-500 font-medium leading-tight",children:"MCP"})]}),e.jsxs("span",{className:"text-[10px] text-zinc-500 light:text-slate-400 tabular-nums",children:[a,"/",o]})]}),t&&e.jsx("div",{className:"pl-3",children:d})]})}const ms="agentSessionStart",ps="agentSessionEnd",fs=["statusResponse","fileDownloadCard","awaitingFeedback","wssFailure","rechartVisualize","toolApprovalRequest","clarificationRequest","reportStreamEvent"];function li(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${new URL("http://localhost:3001/api").host}`}function ci(n,t,r){var o,i;const a=Ie(t.data,null);if(a!==null){if(a.type==="rename_thread"){const{slug:s,name:c}=a.content||{};s&&c&&window.dispatchEvent(new CustomEvent(Jn,{detail:{threadSlug:s,newName:c}}));return}if(!a.hasOwnProperty("type")&&!n.supportsAgentStreaming)return r(s=>[...s.filter(c=>!!c.content),{uuid:ae(),content:a.content,role:"assistant",sources:[],closed:!0,error:null,animate:!1,pending:!1,metrics:{}}]);if(a.type==="toolApprovalRequest"){if(!a.requestId||!a.skillName)return}else if(a.type==="clarificationRequest"){if(!a.requestId||!Array.isArray(a.questions))return}else if(!fs.includes(a.type)||!a.content)return;return a.type==="reportStreamEvent"?(n.supportsAgentStreaming=!0,((o=a.content)==null?void 0:o.type)==="chatId"&&((i=a.content)!=null&&i.chatId)&&Xn(a.content.chatId),r(s=>{if(a.content.type==="removeStatusResponse")return[...s.filter(d=>d.uuid!==a.content.uuid)];if(a.content.type==="modelRouteNotification")return a.content.routedTo?[...s.filter(d=>!(d.role==="assistant"&&d.pending&&!d.content)),{uuid:a.content.uuid,type:"modelRouteNotification",content:"modelRouteNotification",routedTo:a.content.routedTo}]:s;if(a.content.uuid?s.find(d=>d.uuid===a.content.uuid):null){const{type:d,content:f,uuid:w}=a.content;if(d==="toolCallInvocation"){const p=s.find(y=>y.uuid===w);return p?[...s.filter(y=>y.uuid!==w),{...p,content:f}]:[...s,{uuid:w,type:"toolCallInvocation",content:f}]}return d==="usageMetrics"?a.content.metrics?s.map(p=>p.uuid===w?{...p,metrics:a.content.metrics}:p):s:d==="citations"?a.content.citations?s.map(p=>p.uuid===w?{...p,sources:[...p.sources||[],...a.content.citations]}:p):s:d==="chatId"?a.content.chatId?s.map(p=>p.uuid===w?{...p,chatId:a.content.chatId}:p):s:d==="textResponseChunk"?s.map(p=>p.uuid===w?{...p,type:"textResponse",content:p.content+f}:p!=null&&p.content?p:null).filter(p=>!!p):s.map(p=>p.uuid===a.content.uuid?{...p,content:p.content+a.content.content}:p)}else return a.content.type==="fullTextResponse"?[...s.filter(d=>!!d.content),{uuid:a.content.uuid,type:"textResponse",content:a.content.content,role:"assistant",sources:[],closed:!0,error:null,animate:!1,pending:!1,metrics:{}}]:a.content.type==="textResponseChunk"?a.content.content.trim()===""?s:[...s.filter(d=>!!d.content),{uuid:a.content.uuid,type:"textResponse",content:a.content.content,role:"assistant",sources:[],closed:!0,error:null,animate:!1,pending:!1,metrics:{}}]:[...s.filter(d=>!!d.content),{uuid:a.content.uuid,type:"statusResponse",content:a.content.content,role:"assistant",sources:[],closed:!0,error:null,animate:!1,pending:!1,metrics:{}}]})):a.type==="fileDownloadCard"?r(s=>[...s.filter(c=>!!c.content),{type:"fileDownloadCard",uuid:ae(),content:a.content,role:"assistant",sources:[],closed:!0,error:null,animate:!1,pending:!1,metrics:a.metrics||{}}]):a.type==="rechartVisualize"?r(s=>[...s.filter(c=>!!c.content),{type:"rechartVisualize",uuid:ae(),content:a.content,role:"assistant",sources:[],closed:!0,error:null,animate:!1,pending:!1,metrics:a.metrics||{}}]):a.type==="wssFailure"?r(s=>[...s.filter(c=>!!c.content),{uuid:ae(),content:a.content,role:"assistant",sources:[],closed:!0,error:a.content,animate:!1,pending:!1,metrics:{}}]):a.type==="toolApprovalRequest"?r(s=>[...s.filter(c=>!!c.content),{uuid:ae(),type:"toolApprovalRequest",requestId:a.requestId,skillName:a.skillName,payload:a.payload,description:a.description,timeoutMs:a.timeoutMs,content:`Approval requested for ${a.skillName}`,role:"assistant",sources:[],closed:!1,error:null,animate:!1,pending:!0,metrics:{}}]):a.type==="clarificationRequest"?r(s=>{var c,d;return[...s.filter(f=>!!f.content),{uuid:ae(),type:"clarifyingQuestion",requestId:a.requestId,questions:a.questions||[],allowSkip:a.allowSkip!==!1,timeoutMs:a.timeoutMs,content:`Agent has ${((c=a.questions)==null?void 0:c.length)||0} question${(((d=a.questions)==null?void 0:d.length)||0)===1?"":"s"}`,role:"assistant",sources:[],closed:!1,error:null,animate:!1,pending:!0,metrics:{}}]}):r(s=>[...s.filter(c=>!!c.content),{uuid:ae(),type:a.type,content:a.content,role:"assistant",sources:[],closed:!0,error:null,animate:(a==null?void 0:a.animate)||!1,pending:!1,metrics:a.metrics||{}}])}}let bn=!1;function ui(n){bn=n}function gs(){return bn}function vn(){const[n,t]=u.useState(()=>!!gs());return u.useEffect(()=>{function r(){window&&(window.addEventListener(ms,()=>t(!0)),window.addEventListener(ps,()=>t(!1)))}r()},[]),n}const xs=10;function bs({highlightedIndex:n=-1,registerItemCount:t,workspace:r}){const{t:a}=K(),{showAgentCommand:o=!0}=r??{},i=vn(),s=gr(a),c=xr(a),{fileSystemAgentAvailable:d,importedSkills:f,flows:w,mcpServers:p,loading:y,mcpLoading:g,isSkillEnabled:S,toggleSkill:N,toggleImportedSkill:k,toggleFlow:R,toggleMcpTool:P,isMultiUser:T,isSubSkillEnabled:O,toggleSubSkill:C,disabledSubSkills:A}=ds(s),V=br(a,{fileSystemAgentAvailable:d}),[F,U]=u.useState({}),[W,H]=u.useState({}),[b,v]=u.useState(""),E=o&&!i,j=hs({t:a,defaultSkills:s,configurableSkills:V,appIntegrationSkills:c,importedSkills:f,flows:w,mcpServers:p,isMultiUser:T,isSkillEnabled:S,toggleSkill:N,isSubSkillEnabled:O,toggleSubSkill:C,toggleImportedSkill:k,toggleFlow:R,toggleMcpTool:P,disabledSubSkills:A});function M(L){return!!(b.trim()||F[L])}function z(L){U(D=>({...D,[L]:!D[L]}))}function I(L){return!!(b.trim()||W[L])}function l(L){H(D=>({...D,[L]:!D[L]}))}const h=u.useMemo(()=>{if(!b.trim())return j;const L=b.toLowerCase();return j.map(D=>{const $=D.items.filter(B=>{var Q;const q=B.name.toLowerCase().includes(L),re=((Q=B.subSkills)==null?void 0:Q.some(J=>J.name.toLowerCase().includes(L)))??!1;return q||re});return{...D,items:$,enabledCount:$.filter(B=>B.enabled).length}}).filter(D=>D.items.length>0)},[j,b]),{flatItems:x,flatIndexMap:_}=u.useMemo(()=>{const L=[],D={};for(const $ of h)if(D[$.id]=L.length,L.push({type:"header",id:$.id,onToggle:()=>z($.id)}),M($.id)){for(const B of $.items)if(D[B.id]=L.length,L.push(B),B.hasSubSkills&&B.subSkills&&(D[`subsection-${B.id}`]=L.length,L.push({type:"subheader",id:`subsection-${B.id}`,parentId:B.id,onToggle:()=>l(B.id)}),I(B.id)))for(const q of B.subSkills)D[q.id]=L.length,L.push(q)}return{flatItems:L,flatIndexMap:D}},[h,F,W,b]),Z=j.reduce((L,D)=>L+D.items.length,0);return xn({items:x,highlightedIndex:n,onSelect:L=>{if(L.type==="header")return L.onToggle();i||L.onToggle()},registerItemCount:t}),y?null:e.jsxs(e.Fragment,{children:[E&&e.jsx("p",{className:"text-xs text-theme-text-secondary text-center py-1",children:a("chat_window.use_agent_session_to_use_tools")}),Z>=xs&&e.jsx(vs,{value:b,onChange:v,placeholder:a("common.search")}),h.map(L=>e.jsx(Yt,{name:L.name,expanded:M(L.id),onToggle:()=>z(L.id),enabledCount:L.enabledCount,totalCount:L.items.length,isMcp:L.isMcp,highlighted:n===_[L.id],children:L.items.map(D=>e.jsxs("div",{children:[e.jsx(Gt,{name:D.name,enabled:D.enabled,onToggle:D.onToggle,highlighted:n===_[D.id],disabled:i}),D.hasSubSkills&&D.subSkills&&D.enabled&&e.jsx(Yt,{name:a("chat_window.sub_skills"),expanded:I(D.id),onToggle:()=>l(D.id),enabledCount:D.subSkills.filter($=>$.enabled).length,totalCount:D.subSkills.length,highlighted:n===_[`subsection-${D.id}`],indented:!0,children:D.subSkills.map($=>e.jsx(Gt,{name:$.name,enabled:$.enabled,onToggle:$.onToggle,highlighted:n===_[$.id],disabled:i||!$.parentEnabled},$.id))})]},D.id))},L.id)),g&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1.5",children:[e.jsx(_e,{size:12,className:"text-zinc-500 light:text-slate-400 animate-spin",weight:"bold"}),e.jsx("span",{className:"text-[10px] text-zinc-500 light:text-slate-400",children:a("chat_window.loading_mcp_servers")})]}),h.length===0&&!g&&b.trim()&&e.jsx("p",{className:"text-xs text-zinc-500 light:text-slate-400 text-center py-2",children:a("chat_window.no_tools_found")}),e.jsx(nn,{to:rn.settings.agentSkills(),children:e.jsxs("button",{className:"border-none flex items-center gap-1.5 px-2 h-6 rounded cursor-pointer hover:bg-zinc-700/50 light:hover:bg-slate-100 text-theme-text-primary",children:[e.jsx(er,{size:12,className:"text-theme-text-primary"}),e.jsx("span",{className:"text-xs text-theme-text-primary",children:a("chat_window.manage_agent_skills")})]})})]})}function vs({value:n,onChange:t,placeholder:r}){return e.jsxs("div",{className:"relative shrink-0",children:[e.jsx(en,{size:12,className:"absolute left-2 top-1/2 -translate-y-1/2 text-zinc-400 light:text-slate-400",weight:"bold"}),e.jsx("input",{type:"text",placeholder:r,value:n,onChange:a=>t(a.target.value),onMouseDown:a=>a.stopPropagation(),onKeyDown:a=>{a.key==="Escape"&&(t(""),a.target.blur()),a.key==="Enter"&&a.preventDefault()},className:"w-full pl-7 pr-2 py-1 text-xs bg-zinc-700/50 light:bg-slate-100 border border-zinc-600 light:border-slate-300 rounded text-white light:text-slate-900 placeholder:text-zinc-500 light:placeholder:text-slate-400 outline-none focus:border-zinc-500 light:focus:border-slate-400"})]})}const Fe=/[^a-zA-Z0-9_-]/g;function ws({isOpen:n,onClose:t,onSave:r}){const[a,o]=u.useState(""),{t:i}=K(),s=async d=>{d.preventDefault();const f=new FormData(d.target),w=a.replace(Fe,"");await r({command:`/${w}`,prompt:f.get("prompt"),description:f.get("description")})&&o("")},c=d=>{const f=d.target.value.replace(Fe,"");o(f)};return e.jsx(ye,{isOpen:n,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:"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:i("chat_window.add_new_preset")})}),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(oe,{size:24,weight:"bold",className:"text-white"})})]}),e.jsx("div",{className:"h-full w-full overflow-y-auto",style:{maxHeight:"calc(100vh - 200px)"},children:e.jsxs("form",{onSubmit:s,children:[e.jsx("div",{className:"py-7 px-9 space-y-2 flex-col",children:e.jsxs("div",{className:"w-full flex flex-col gap-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"command",className:"block mb-2 text-sm font-medium text-white",children:i("chat_window.command")}),e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:"text-white text-sm mr-2 font-bold",children:"/"}),e.jsx("input",{name:"command",type:"text",id:"command",placeholder:i("chat_window.your_command"),value:a,onChange:c,maxLength:25,autoComplete:"off",required:!0,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"})]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"prompt",className:"block mb-2 text-sm font-medium text-white",children:"Prompt"}),e.jsx("textarea",{name:"prompt",id:"prompt",autoComplete:"off",placeholder:i("chat_window.placeholder_prompt"),required:!0,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"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"description",className:"block mb-2 text-sm font-medium text-white",children:i("chat_window.description")}),e.jsx("input",{type:"text",name:"description",id:"description",placeholder:i("chat_window.placeholder_description"),maxLength:80,autoComplete:"off",required:!0,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"})]})]})}),e.jsxs("div",{className:"flex w-full justify-end items-center p-6 space-x-2 border-t border-theme-modal-border rounded-b",children:[e.jsx("button",{onClick:t,type:"button",className:"transition-all duration-300 bg-transparent text-white hover:opacity-60 px-4 py-2 rounded-lg text-sm",children:i("chat_window.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:i("chat_window.save")})]})]})})]})})}function ys({isOpen:n,onClose:t,onSave:r,onDelete:a,preset:o}){const[i,s]=u.useState(""),[c,d]=u.useState(!1);u.useEffect(()=>{var y;o&&n&&s(((y=o.command)==null?void 0:y.slice(1))||"")},[o,n]);const f=y=>{y.preventDefault();const g=new FormData(y.target),S=i.replace(Fe,"");r({id:o.id,command:`/${S}`,prompt:g.get("prompt"),description:g.get("description")})},w=y=>{const g=y.target.value.replace(Fe,"");s(g)},p=async()=>{window.confirm("Are you sure you want to delete this preset?")&&(d(!0),await a(o.id),d(!1),t())};return e.jsx(ye,{isOpen:n,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:"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:"Edit Preset"})}),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(oe,{size:24,weight:"bold",className:"text-white"})})]}),e.jsx("div",{className:"h-full w-full overflow-y-auto",style:{maxHeight:"calc(100vh - 200px)"},children:e.jsxs("form",{onSubmit:f,children:[e.jsx("div",{className:"py-7 px-9 space-y-2 flex-col",children:e.jsxs("div",{className:"w-full flex flex-col gap-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"command",className:"block mb-2 text-sm font-medium text-white",children:"Command"}),e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:"text-white text-sm mr-2 font-bold",children:"/"}),e.jsx("input",{type:"text",name:"command",placeholder:"your-command",value:i,onChange:w,required:!0,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"})]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"prompt",className:"block mb-2 text-sm font-medium text-white",children:"Prompt"}),e.jsx("textarea",{name:"prompt",placeholder:"This is a test prompt. Please respond with a poem about LLMs.",defaultValue:o.prompt,required:!0,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"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"description",className:"block mb-2 text-sm font-medium text-white",children:"Description"}),e.jsx("input",{type:"text",name:"description",defaultValue:o.description,placeholder:"Responds with a poem about LLMs.",required:!0,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"})]})]})}),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("button",{disabled:c,onClick:p,type:"button",className:"border-none transition-all duration-300 bg-transparent text-red-500 hover:bg-red-500/25 px-4 py-2 rounded-lg text-sm disabled:opacity-50",children:c?"Deleting...":"Delete Preset"}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx("button",{onClick:t,type:"button",className:"border-none transition-all duration-300 bg-transparent text-white hover:opacity-60 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:"Save"})]})]})]})})]})})}function Ss({command:n,description:t,onClick:r,onEdit:a,onPublish:o,showMenu:i=!1,highlighted:s=!1}){const{t:c}=K(),[d,f]=u.useState(!1),[w,p]=u.useState({top:0,left:0}),y=u.useRef(null),g=u.useRef(null);return u.useEffect(()=>{if(!d)return;function S(N){y.current&&!y.current.contains(N.target)&&g.current&&!g.current.contains(N.target)&&f(!1)}return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[d]),u.useEffect(()=>{if(d&&g.current){const S=g.current.getBoundingClientRect();p({top:S.bottom+window.scrollY,left:S.right+window.scrollX-120})}},[d]),e.jsxs("div",{onClick:r,className:`flex items-center justify-between px-2 py-1 rounded cursor-pointer group relative ${s?"bg-zinc-700/50 light:bg-slate-100":"hover:bg-zinc-700/50 light:hover:bg-slate-100"}`,children:[e.jsxs("div",{className:"flex gap-1.5 items-center text-xs min-w-0 flex-1",children:[e.jsx("span",{className:"text-white light:text-slate-900 shrink-0",children:n}),e.jsx("span",{className:"text-zinc-400 light:text-slate-500 italic truncate",children:t})]}),i&&e.jsxs("div",{className:"relative shrink-0 ml-1",children:[e.jsx("button",{ref:g,type:"button",onClick:S=>{S.stopPropagation(),f(!d)},className:"border-none cursor-pointer text-zinc-400 light:text-slate-500 p-0.5 hover:text-white light:hover:text-slate-900 rounded opacity-0 group-hover:opacity-100",children:e.jsx(tr,{size:16,weight:"bold"})}),d&&De.createPortal(e.jsxs("div",{ref:y,style:{position:"fixed",top:w.top,left:w.left},className:"z-[9999] bg-zinc-800 light:bg-white border border-zinc-700 light:border-slate-300 rounded-lg shadow-lg min-w-[120px] flex flex-col overflow-hidden",children:[e.jsx("button",{type:"button",className:"border-none px-3 py-1.5 text-xs text-white light:text-slate-900 hover:bg-zinc-700 light:hover:bg-slate-100 cursor-pointer text-left",onClick:S=>{S.stopPropagation(),f(!1),a==null||a()},children:c("chat_window.edit")}),e.jsx("button",{type:"button",className:"border-none px-3 py-1.5 text-xs text-white light:text-slate-900 hover:bg-zinc-700 light:hover:bg-slate-100 cursor-pointer text-left",onClick:S=>{S.stopPropagation(),f(!1),o==null||o()},children:c("chat_window.publish")})]}),document.body)]})]})}function js({sendCommand:n,setShowing:t,promptRef:r,highlightedIndex:a=-1,registerItemCount:o}){const{t:i}=K(),{isOpen:s,openModal:c,closeModal:d}=Oe(),{isOpen:f,openModal:w,closeModal:p}=Oe(),{isOpen:y,openModal:g,closeModal:S}=Oe(),[N,k]=u.useState([]),[R,P]=u.useState(null),[T,O]=u.useState(null);u.useEffect(()=>{C()},[]);const C=async()=>{const v=await ne.getSlashCommandPresets();k(v)},A=u.useMemo(()=>[{command:"/reset",description:i("chat_window.preset_reset_description"),autoSubmit:!0},...N.map(v=>({command:v.command,description:v.description,autoSubmit:!1,preset:v}))],[N,i]),V=u.useCallback((v,E=!1)=>{var _;if(t(!1),E){n({text:v,autoSubmit:!0}),(_=r==null?void 0:r.current)==null||_.focus();return}const j=r==null?void 0:r.current;if(!j)return;const M=j.selectionStart,z=j.value,l=(M>0?z[M-1]:"")==="/"?M-1:M,h=z.slice(0,l)+v+z.slice(M);window.dispatchEvent(new CustomEvent(Pe,{detail:{messageContent:h}})),j.focus();const x=l+v.length;setTimeout(()=>j.setSelectionRange(x,x),0)},[n,t,r]);xn({items:A,highlightedIndex:a,onSelect:v=>{const E=v.preset?`${v.command} `:v.command;V(E,v.autoSubmit)},registerItemCount:o});const F=async v=>{const{error:E}=await ne.createSlashCommandPreset(v);return E?(he(E,"error"),!1):(C(),d(),!0)},U=v=>{P(v),w()},W=async v=>{const{error:E}=await ne.updateSlashCommandPreset(v.id,v);if(E){he(E,"error");return}C(),p(),P(null)},H=async v=>{await ne.deleteSlashCommandPreset(v),C(),p(),P(null)},b=v=>{O({name:v.command.slice(1),description:v.description,command:v.command,prompt:v.prompt}),g()};return e.jsxs(e.Fragment,{children:[A.map((v,E)=>{var j;return e.jsx(Ss,{command:v.command,description:v.description,onClick:()=>V(v.preset?`${v.command} `:v.command,v.autoSubmit),onEdit:v.preset?()=>U(v.preset):void 0,onPublish:v.preset?()=>b(v.preset):void 0,showMenu:!!v.preset,highlighted:a===E},((j=v.preset)==null?void 0:j.id)??v.command)}),e.jsxs("div",{onClick:c,className:"flex items-center gap-1.5 px-2 py-1 rounded cursor-pointer hover:bg-zinc-700/50 light:hover:bg-slate-100",children:[e.jsx(et,{size:12,weight:"bold",className:"text-white light:text-slate-900"}),e.jsx("span",{className:"text-xs text-white light:text-slate-900",children:i("chat_window.add_new")})]}),e.jsx(ws,{isOpen:s,onClose:d,onSave:F}),R&&e.jsx(ys,{isOpen:f,onClose:()=>{p(),P(null)},onSave:W,onDelete:H,preset:R}),e.jsx(yr,{show:y,onClose:S,entityType:"slash-command",entity:T})]})}const je="tools-menu-keyboard";function Es(n,t){const r=[{key:"slash-commands",label:n("chat_window.slash_commands"),component:js}];return(!(t!=null&&t.hasOwnProperty("role"))||t.role==="admin")&&r.push({key:"agent-skills",label:n("chat_window.agent_skills"),component:bs}),r}function As({workspace:n,showing:t,setShowing:r,sendCommand:a,promptRef:o,centered:i=!1,highlightedIndexRef:s}){const{t:c}=K(),{user:d}=fe(),f=u.useMemo(()=>Es(c,d),[c,d]),[w,p]=u.useState(f[0].key),[y,g]=u.useState(-1),[S,N]=u.useState(360),k=u.useRef(0),R=u.useRef(null);u.useEffect(()=>{t&&p(f[0].key)},[t]),u.useEffect(()=>{g(-1)},[w,t]),u.useLayoutEffect(()=>{if(!t)return;const O=()=>{const C=R.current;if(!C)return;const A=C.getBoundingClientRect(),V=i?window.innerHeight-A.top-16:A.bottom-16;N(Math.max(0,Math.min(360,V)))};return O(),window.addEventListener("resize",O),()=>window.removeEventListener("resize",O)},[t,i]),u.useEffect(()=>{s&&(s.current=y)},[y]);const P=u.useCallback(O=>{k.current=O},[]);if(u.useEffect(()=>{if(!t)return;function O(C){const{key:A}=C.detail;if(A==="ArrowLeft"||A==="ArrowRight"){const V=f.findIndex(U=>U.key===w),F=A==="ArrowLeft"?(V-1+f.length)%f.length:(V+1)%f.length;p(f[F].key);return}if(A==="ArrowUp"||A==="ArrowDown"){const V=k.current;if(V===0)return;g(F=>A==="ArrowDown"?F<V-1?F+1:0:F>0?F-1:V-1);return}}return window.addEventListener(je,O),()=>window.removeEventListener(je,O)},[t,w]),!t)return null;const{component:T}=f.find(O=>O.key===w);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:O=>O.preventDefault(),onClick:()=>r(!1)}),e.jsxs("div",{ref:R,onMouseDown:O=>{O.currentTarget.contains(O.target)&&O.preventDefault()},style:{maxHeight:S},className:`absolute left-2 right-2 md:left-14 md:right-auto md:w-[400px] z-50 bg-zinc-800 light:bg-white border border-zinc-700 light:border-slate-300 rounded-lg p-3 flex flex-col gap-2.5 shadow-lg overflow-hidden ${i?"top-full mt-2":"bottom-full mb-2"}`,children:[e.jsx("div",{className:"flex shrink-0 gap-2.5 items-center",children:f.map(O=>e.jsx(Ns,{active:w===O.key,onClick:()=>p(O.key),children:O.label},O.key))}),e.jsx("div",{className:"flex flex-col gap-1 overflow-y-auto no-scroll min-h-0",children:e.jsx(T,{sendCommand:a,setShowing:r,promptRef:o,highlightedIndex:y,registerItemCount:P,workspace:n})})]})]})}function Ns({active:n,onClick:t,children:r}){return e.jsx("button",{type:"button",onClick:t,className:`border-none cursor-pointer hover:bg-zinc-700/50 light:hover:bg-slate-100 px-1.5 py-0.5 rounded text-[10px] font-medium text-center whitespace-nowrap ${n?"bg-zinc-700 text-white light:bg-slate-200 light:text-slate-800":"text-zinc-400 light:text-slate-800"}`,children:r})}const ks="primary-prompt-input",Pe="set_prompt_input",Cs=100;function di({workspace:n={},submit:t,isStreaming:r,sendCommand:a,attachments:o=[],centered:i=!1,workspaceSlug:s=null,threadSlug:c=null}){const{t:d}=K(),{showAgentCommand:f=!0}=n??{},{isDisabled:w}=Ls(),p=vn(),[y,g]=u.useState(""),[S,N]=u.useState(!1),k=u.useRef(!1),R=u.useRef(-1),P=u.useRef(null),T=u.useRef(null),[O,C]=u.useState(!1),A=u.useRef([]),V=u.useRef([]),{textSizeClass:F}=as(),[U]=nr();ss({promptInput:y,setPromptInput:g}),u.useEffect(()=>{var l;U.get("action")==="set-agent-chat"&&(a({text:"@agent "}),(l=T.current)==null||l.focus())},[T.current]);function W(l){const{messageContent:h,writeMode:x="replace"}=(l==null?void 0:l.detail)??{};g(x==="append"?_=>_+h:x==="prepend"?_=>h+" "+_:h??"")}u.useEffect(()=>(window&&window.addEventListener(Pe,W),()=>window==null?void 0:window.removeEventListener(Pe,W)),[]),u.useEffect(()=>{!r&&T.current&&T.current.focus(),E()},[r]);function H(l=0){A.current.length>=Cs&&A.current.shift(),A.current.push({value:y,cursorPositionStart:T.current.selectionStart+l,cursorPositionEnd:T.current.selectionEnd+l})}const b=an(H,250);function v(l){l.target===l.currentTarget&&(C(!1),N(!1),t(l))}function E(){T.current&&(T.current.style.height="auto")}function j(l){var h;if(S){if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(l.key)){l.preventDefault(),window.dispatchEvent(new CustomEvent(je,{detail:{key:l.key}}));return}if(l.key==="Enter"&&R.current>=0){l.preventDefault(),window.dispatchEvent(new CustomEvent(je,{detail:{key:"Enter"}}));return}if(l.key==="Escape"){l.preventDefault(),N(!1),(h=T.current)==null||h.focus();return}}if(l.key==="/"&&!l.ctrlKey&&!l.metaKey&&y.trim()===""){N(x=>(k.current=!x,!x));return}if(l.keyCode===13&&!l.shiftKey)return l.preventDefault(),r||w?void 0:(N(!1),t(l));if((l.ctrlKey||l.metaKey)&&l.key==="z"&&l.shiftKey){if(l.preventDefault(),V.current.length===0)return;const x=V.current.pop();if(!x)return;A.current.push({value:y,cursorPositionStart:T.current.selectionStart,cursorPositionEnd:T.current.selectionEnd}),g(x.value),setTimeout(()=>{T.current.setSelectionRange(x.cursorPositionStart,x.cursorPositionEnd)},0)}if((l.ctrlKey||l.metaKey)&&l.key==="z"&&!l.shiftKey){if(A.current.length===0)return;const x=A.current.pop();if(!x)return;V.current.push({value:y,cursorPositionStart:T.current.selectionStart,cursorPositionEnd:T.current.selectionEnd}),g(x.value),setTimeout(()=>{T.current.setSelectionRange(x.cursorPositionStart,x.cursorPositionEnd)},0)}}function M(l){const h=l.target;h.style.height="auto",h.style.height=`${h.scrollHeight}px`}function z(l){if(l.preventDefault(),l.clipboardData.items.length===0)return!1;for(const x of l.clipboardData.items){if(x.type.startsWith("image/")){const _=x.getAsFile();window.dispatchEvent(new CustomEvent(Ze,{detail:{files:[_]}}));continue}if(x.kind==="file"){const _=x.getAsFile();window.dispatchEvent(new CustomEvent(Ze,{detail:{files:[_]}}));continue}}const h=l.clipboardData.getData("text/plain");if(h){const x=T.current,_=x.selectionStart,Z=x.selectionEnd,L=y.substring(0,_)+h+y.substring(Z);g(L),setTimeout(()=>{x.selectionStart=x.selectionEnd=_+h.length,M({target:x})},0)}}function I(l){b(-1),M(l);const h=l.target.value;g(h),k.current&&S&&h!=="/"&&(N(!1),k.current=!1)}return e.jsx("div",{id:"prompt-input-wrapper",className:i?"w-full relative flex justify-center items-center":"w-full fixed md:absolute bottom-0 left-0 z-10 flex justify-center items-center pwa:pb-5",children:e.jsx("form",{onSubmit:v,className:i?"flex flex-col gap-y-1 rounded-t-lg w-full items-center":"flex flex-col gap-y-1 rounded-t-lg md:w-full w-full mx-auto max-w-[750px] items-center",children:e.jsx("div",{className:`flex items-center rounded-lg md:w-full ${i?"mb-0":"mb-4"}`,children:e.jsxs("div",{className:"relative w-[95vw] md:w-[750px]",children:[e.jsx(As,{workspace:n,showing:S,setShowing:N,sendCommand:a,promptRef:T,centered:i,highlightedIndexRef:R}),e.jsxs("div",{className:"bg-zinc-800 light:bg-white light:border light:border-slate-300 rounded-[20px] pwa:rounded-3xl flex flex-col px-5 overflow-hidden",children:[e.jsx(Xa,{attachments:o}),e.jsx("div",{className:"flex items-center",children:e.jsx("textarea",{id:ks,ref:T,onChange:I,onKeyDown:j,onPaste:l=>{H(),z(l)},required:!0,onFocus:()=>C(!0),onBlur:l=>{C(!1),M(l)},value:y,spellCheck:tn.get("enableSpellCheck"),className:`border-none cursor-text max-h-[50vh] md:max-h-[350px] md:min-h-[40px] pt-[20px] w-full leading-5 text-white light:text-slate-600 bg-transparent placeholder:text-white/60 light:placeholder:text-slate-400 resize-none active:outline-none focus:outline-none flex-grow pwa:!text-[16px] ${F}`,placeholder:d("chat_window.send_message")})}),e.jsxs("div",{className:"flex justify-between items-center pt-3.5 pb-3",children:[e.jsxs("div",{className:"flex items-center gap-x-0.25",children:[e.jsxs("div",{className:"flex items-center gap-x-1",children:[e.jsx(rs,{workspaceSlug:s,workspaceThreadSlug:c}),e.jsx(Ms,{sendCommand:a,promptInput:y,textareaRef:T,visible:!p&f})]}),e.jsx(Ts,{showTools:S,setShowTools:N,textareaRef:T,autoOpenedToolsRef:k})]}),e.jsxs("div",{className:"flex gap-x-2 items-center",children:[e.jsx(Ya,{sendCommand:a}),r?e.jsx(_a,{}):e.jsx(_s,{formRef:P,promptInput:y,isDisabled:w})]})]})]})]})})})})}function Ms({sendCommand:n,promptInput:t,textareaRef:r,visible:a=!0}){const{t:o}=K();if(!a)return null;function i(){var s,c;try{if((s=t==null?void 0:t.trim())!=null&&s.startsWith("@agent"))return;n({text:"@agent",writeMode:"prepend"})}finally{(c=r==null?void 0:r.current)==null||c.focus()}}return e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:i,"data-tooltip-id":"agent-session","data-tooltip-content":o("chat_window.start_agent_session"),"aria-label":o("chat_window.start_agent_session"),className:"group border-none relative flex justify-center items-center cursor-pointer w-6 h-6 rounded-full hover:bg-zinc-700 light:hover:bg-slate-200",children:e.jsx(on,{size:18,className:"pointer-events-none text-zinc-300 light:text-slate-600 group-hover:text-white light:group-hover:text-slate-600 shrink-0"})}),e.jsx(G,{id:"agent-session",place:"bottom",delayShow:300,className:"tooltip !text-xs z-99"})]})}function Ts({showTools:n,setShowTools:t,textareaRef:r,autoOpenedToolsRef:a}){const{t:o}=K();return e.jsx("button",{id:"tools-btn",type:"button",onClick:()=>{var i;a.current=!1,t(!n),(i=r.current)==null||i.focus()},className:`group border-none cursor-pointer flex items-center justify-center h-6 px-2 rounded-full ${n?"bg-zinc-700 light:bg-slate-200":"hover:bg-zinc-700 light:hover:bg-slate-200"}`,children:e.jsx("span",{className:`text-sm font-medium ${n?"text-white light:text-slate-800":"text-zinc-300 light:text-slate-600 group-hover:text-white light:group-hover:text-slate-800"}`,children:o("chat_window.tools")})})}function _s({formRef:n,promptInput:t,isDisabled:r}){const{t:a}=K();return e.jsxs(e.Fragment,{children:[e.jsxs("button",{ref:n,type:"submit",disabled:r||!t.trim().length,className:`border-none flex justify-center items-center rounded-full w-8 h-8 transition-all ${t.trim().length&&!r?"cursor-pointer bg-white hover:bg-zinc-200 light:bg-slate-800 light:hover:bg-slate-600":"cursor-not-allowed bg-zinc-600 light:bg-slate-400"}`,"data-tooltip-id":"send-prompt","data-tooltip-content":a(r?"chat_window.attachments_processing":"chat_window.send"),"aria-label":a("chat_window.send"),children:[e.jsx(sn,{className:"w-[18px] h-[18px] pointer-events-none text-zinc-800 light:text-white",weight:"bold"}),e.jsx("span",{className:"sr-only",children:a("chat_window.send")})]}),e.jsx(G,{id:"send-prompt",place:"bottom",delayShow:300,className:"tooltip !text-xs z-99"})]})}function Ls(){const[n,t]=u.useState(!1);return u.useEffect(()=>{if(!window)return;const r=()=>t(!0),a=()=>t(!1);return window.addEventListener(Je,r),window.addEventListener(de,a),()=>{window.removeEventListener(Je,r),window.removeEventListener(de,a)}},[]),{isDisabled:n}}function hi({hasAvailableWorkspace:n,onCreateAgent:t,onEditWorkspace:r,onUploadDocument:a}){const{t:o}=K(),{user:i}=fe();return e.jsxs("div",{className:"flex flex-wrap justify-center gap-2 mt-6",children:[e.jsx(Ke,{label:o("main-page.quickActions.createAgent"),onClick:t,show:!i||["admin"].includes(i==null?void 0:i.role)}),e.jsx(Ke,{label:o("main-page.quickActions.editWorkspace"),onClick:r,show:n&&(!i||["admin","manager"].includes(i==null?void 0:i.role))}),e.jsx(Ke,{label:o("main-page.quickActions.uploadDocument"),onClick:a,show:!0})]})}function Ke({label:n,onClick:t,show:r=!0}){return r?e.jsx("button",{type:"button",onClick:t,className:"px-4 py-2 rounded-full bg-theme-bg-chat-input text-white/80 text-sm font-normal leading-5 hover:bg-zinc-700 light:hover:bg-black/20 transition-colors light:text-theme-text-primary",children:n}):null}function mi({suggestedMessages:n=[],sendCommand:t}){return n!=null&&n.length?e.jsx("div",{className:"flex flex-col w-full max-w-[650px] mt-6 px-4",children:n.map((r,a)=>{var i,s,c;const o=(i=r.heading)!=null&&i.trim()?`${r.heading.trim()} ${((s=r.message)==null?void 0:s.trim())||""}`:((c=r.message)==null?void 0:c.trim())||"";return o?e.jsxs("div",{children:[a>0&&e.jsx("div",{className:"border-t border-zinc-800 light:border-theme-chat-input-border"}),e.jsx("button",{type:"button",onClick:()=>t({text:o,autoSubmit:!0}),className:"w-full text-left py-3 px-3 text-white/80 text-sm font-normal leading-5 hover:text-white transition-colors light:text-theme-text-primary light:hover:text-theme-text-primary/80 hover:bg-zinc-800 light:hover:bg-black/20 rounded-lg",children:o})]},a):null})}):null}function Ps(n){return[{key:"small",label:n("chat_window.small")},{key:"normal",label:n("chat_window.normal")},{key:"large",label:n("chat_window.large")}]}function Rs(){const{t:n}=K(),[t,r]=u.useState(!1),[a,o]=u.useState(window.localStorage.getItem("anythingllm_text_size")||"normal");function i(s){o(s),window.localStorage.setItem("anythingllm_text_size",s),window.dispatchEvent(new CustomEvent("textSizeChange",{detail:s}))}return e.jsxs("div",{className:"relative",onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[e.jsxs("div",{className:`flex items-center justify-between px-2 py-1 rounded cursor-pointer ${t?"bg-zinc-700 light:bg-slate-200":"hover:bg-zinc-700 light:hover:bg-slate-200"}`,children:[e.jsx("span",{className:"text-sm font-normal text-zinc-50 light:text-slate-800",children:n("chat_window.text_size_label")}),e.jsx(rr,{size:14,weight:"bold",className:"text-zinc-50 light:text-slate-800"})]}),t&&e.jsx(zs,{selectedSize:a,onSizeChange:i})]})}function zs({selectedSize:n,onSizeChange:t}){const{t:r}=K(),a=Ps(r);return e.jsx("div",{className:"absolute right-full top-0 -mr-2 pr-2 pt-0",children:e.jsx("div",{className:"bg-zinc-800 light:bg-slate-50 border border-zinc-700 light:border-slate-300 rounded-lg p-3.5 w-[98px] flex flex-col gap-1.5 shadow-lg",children:a.map(({key:o,label:i})=>e.jsx("div",{onClick:()=>t(o),className:`px-2 py-1 rounded cursor-pointer text-sm font-normal text-white light:text-slate-800 ${n===o?"bg-zinc-700 light:bg-slate-200":"hover:bg-zinc-700/50 light:hover:bg-slate-100"}`,children:i},o))})})}const at=u.createContext();function pi({children:n}){const[t,r]=u.useState(null),[a,o]=u.useState(null);function i(d,f=null){r(d),o(f)}function s(){r(null),o(null)}function c(d,f=null){t===d?s():i(d,f)}return e.jsx(at.Provider,{value:{activeSidebar:t,sidebarData:a,openSidebar:i,closeSidebar:s,toggleSidebar:c},children:n})}function Vs(){const{activeSidebar:n,sidebarData:t,openSidebar:r,closeSidebar:a}=u.useContext(at);return{sidebarOpen:n==="sources",sources:n==="sources"?t:[],openSidebar:o=>r("sources",o),closeSidebar:a}}function wn(){const{activeSidebar:n,toggleSidebar:t,closeSidebar:r}=u.useContext(at);return{sidebarOpen:n==="memories",toggleSidebar:()=>t("memories"),closeSidebar:r}}function Os({isOpen:n,children:t}){return e.jsx("div",{className:"h-full overflow-hidden transition-all duration-500 flex-shrink-0",style:{width:n?"366px":"0px"},children:t})}function Is({onClose:n}){const{t}=K(),{user:r}=fe(),{toggleSidebar:a}=wn(),{closeSidebar:o}=Vs(),[i,s]=u.useState(null),c=!r||(r==null?void 0:r.role)==="admin";u.useEffect(()=>{ne.keys().then(f=>{s(!!(f!=null&&f.MemoryEnabled))})},[]);function d(){o(),a(),n()}return i===null||!c&&!i?null:e.jsx("div",{onClick:d,className:"flex items-center px-2 py-1 rounded cursor-pointer hover:bg-zinc-700 light:hover:bg-slate-200",children:e.jsx("span",{className:"text-sm font-normal text-white light:text-slate-800",children:t("chat_window.memories.title")})})}function fi(){const n=ar(),[t,r]=u.useState(!1),a=u.useRef(null),o=u.useRef(null);u.useEffect(()=>{if(!t)return;function s(c){a.current&&!a.current.contains(c.target)&&o.current&&!o.current.contains(c.target)&&r(!1)}return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[t]);const i=n!==null;return e.jsxs("div",{className:`absolute top-3 md:top-5 z-30 ${i?"right-[55px] md:right-[67px]":"right-4 md:right-6"}`,children:[e.jsx("button",{ref:o,type:"button",onClick:()=>r(!t),className:`group border-none cursor-pointer flex items-center justify-center w-[35px] h-[35px] rounded-full transition-all ${t?"bg-zinc-700 light:bg-slate-200":"hover:bg-zinc-700 light:hover:bg-slate-200"}`,children:e.jsx(vr,{size:18,className:t?"text-white light:text-slate-800":"text-zinc-300 light:text-slate-600 group-hover:text-white light:group-hover:text-slate-800"})}),t&&e.jsxs("div",{ref:a,className:"absolute right-0 top-[42px] bg-zinc-800 light:bg-slate-50 border border-zinc-700 light:border-slate-300 rounded-lg p-3.5 w-[226px] flex flex-col gap-1.5 shadow-lg",children:[e.jsx(Rs,{}),e.jsx(Is,{onClose:()=>r(!1)})]})]})}async function Zs(n,t,r){if((n.chatProvider??(t==null?void 0:t.LLMProvider))!=="anythingllm-router")return n.chatModel??(t==null?void 0:t.LLMModel)??"";const o=n.router_id||(t==null?void 0:t.ModelRouterId);if(!o)return r("model-router.metrics.model-router-default");const{router:i}=await Xt.get(o);return i!=null&&i.name?i.name:r("model-router.metrics.model-router-default")}async function Qt(n,t,r){if(!n)return;const[a,o]=await Promise.all([Y.bySlug(n),ne.keys()]);t(await Zs(a,o,r))}function gi({workspaceSlug:n=null}){var P;const{t}=K(),{slug:r}=He(),a=r??n,{user:o}=fe(),[i,s]=u.useState(!1),[c,d]=u.useState(""),{isOpen:f,openModal:w,closeModal:p}=Oe(),[y,g]=u.useState({settings:{},provider:null}),[S,N]=u.useState(0),[k,R]=u.useState(()=>window.localStorage.getItem("anythingllm_sidebar_toggle")!=="closed");return u.useEffect(()=>{const T=O=>R(O.detail.open);return window.addEventListener(kt,T),()=>window.removeEventListener(kt,T)},[]),u.useEffect(()=>{Qt(a,d,t)},[a]),u.useEffect(()=>{function T(){s(!1),Qt(a,d,t)}return window.addEventListener(Ye,T),()=>window.removeEventListener(Ye,T)},[a]),u.useEffect(()=>{function T(O){const{provider:C,settings:A}=O.detail;g({settings:A,provider:C}),setTimeout(()=>w(),300)}return window.addEventListener(Ge,T),()=>window.removeEventListener(Ge,T)},[]),o&&o.role!=="admin"||!a||sr?null:e.jsxs(e.Fragment,{children:[i&&e.jsx("div",{className:"fixed inset-0 z-20",onClick:()=>s(!1)}),e.jsxs("div",{className:`hidden md:block absolute top-2 z-30 transition-all duration-500 ${k?"left-3":"left-11"}`,children:[e.jsx("button",{type:"button",onClick:()=>s(!i),className:`group border-none cursor-pointer px-2.5 py-1 flex items-center rounded-full transition-all ${i?"bg-zinc-700 light:bg-slate-200":"hover:bg-zinc-700 light:hover:bg-slate-200"}`,children:e.jsx("span",{className:`text-xs ${i?"text-white light:text-slate-800":"text-zinc-500 light:text-slate-500 group-hover:text-white light:group-hover:text-slate-800"}`,children:c||t("chat_window.select_model")})}),i&&e.jsx("div",{className:"absolute left-0 top-full mt-1 bg-zinc-800 light:bg-white border border-zinc-700 light:border-slate-300 rounded-xl shadow-lg w-[620px] overflow-hidden",children:e.jsx(Ta,{workspaceSlug:a,initialProvider:(P=y.provider)==null?void 0:P.value},S)})]}),e.jsx(Ca,{isOpen:f,closeModal:p,postSubmit:()=>{p(),N(T=>T+1)},settings:y.settings,llmProvider:y.provider})]})}function xi(){const{t:n}=K();return e.jsxs(e.Fragment,{children:[e.jsx(G,{id:"message-to-speech",place:"bottom",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"regenerate-assistant-text",place:"bottom",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"copy-assistant-text",place:"bottom",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"feedback-button",place:"bottom",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"action-menu",place:"top",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"edit-input-text",place:"bottom",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"metrics-visibility",place:"bottom",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"routing-details",place:"bottom",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"expand-cot",place:"bottom",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"cot-thinking",place:"bottom",delayShow:500,className:"tooltip !text-xs"}),e.jsx(G,{id:"query-refusal-info",place:"top",delayShow:500,className:"tooltip !text-xs max-w-[350px]"}),e.jsx(G,{id:"context-window-limit-exceeded",place:"top",delayShow:500,className:"tooltip !text-xs max-w-[350px]"}),e.jsx(G,{id:"attachment-status-tooltip",place:"top",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"attach-item-btn",place:"top",delayShow:300,className:"tooltip !text-xs"}),e.jsx(G,{id:"agent-skill-disabled-tooltip",place:"top",delayShow:300,className:"tooltip !text-xs z-99",content:n("chat_window.agent_skills_disabled_in_session")}),e.jsx(Fs,{})]})}function Fs(){return De.createPortal(e.jsx(e.Fragment,{children:e.jsx(G,{id:"similarity-score",place:"top",delayShow:100,className:"tooltip !text-xs z-[100]"})}),document.body)}const be={forWorkspace:async function(n){return await fetch(`${ge}/workspaces/${n}/memories`,{method:"GET",headers:xe()}).then(t=>t.json()).then(t=>(t==null?void 0:t.memories)||{global:[],workspace:[]}).catch(()=>({global:[],workspace:[]}))},create:async function(n,{content:t,scope:r="workspace"}){return await fetch(`${ge}/workspaces/${n}/memories`,{method:"POST",headers:xe(),body:JSON.stringify({content:t,scope:r})}).then(a=>a.json()).catch(a=>({memory:null,error:a.message}))},update:async function(n,{content:t}){return await fetch(`${ge}/memories/${n}`,{method:"PUT",headers:xe(),body:JSON.stringify({content:t})}).then(r=>r.json()).catch(r=>({memory:null,error:r.message}))},delete:async function(n){return await fetch(`${ge}/memories/${n}`,{method:"DELETE",headers:xe()}).then(t=>t.json()).catch(t=>({success:!1,error:t.message}))},promoteToGlobal:async function(n){return await fetch(`${ge}/memories/${n}/promote`,{method:"POST",headers:xe()}).then(t=>t.json()).catch(t=>({memory:null,error:t.message}))},demoteToWorkspace:async function(n,t){return await fetch(`${ge}/memories/${n}/demote/${t}`,{method:"POST",headers:xe()}).then(r=>r.json()).catch(r=>({memory:null,error:r.message}))}},ve={workspace:20,global:5},yn=u.createContext(null);function ce(){const n=u.useContext(yn);if(!n)throw new Error("useMemoriesContext must be used within MemoriesProvider");return n}function Ds({workspace:n,children:t}){const{sidebarOpen:r,closeSidebar:a}=wn(),{user:o}=fe(),i=!o||(o==null?void 0:o.role)==="admin",[s,c]=u.useState({global:[],workspace:[]}),[d,f]=u.useState("workspace"),[w,p]=u.useState({open:!1,mode:"create"}),[y,g]=u.useState(null),[S,N]=u.useState(!1),[k,R]=u.useState(!0),[P,T]=u.useState(!0);u.useEffect(()=>{r&&ne.keys().then(j=>{N(!!(j!=null&&j.MemoryEnabled)),R((j==null?void 0:j.MemoryAutoExtraction)!==!1),T(!1)})},[r]);async function O(){if(!(n!=null&&n.slug))return;const j=await be.forWorkspace(n.slug);c(j)}u.useEffect(()=>{r&&S&&O()},[r,n==null?void 0:n.slug,S]);async function C(j){const{memory:M}=await be.create(n.slug,{content:j,scope:d});M&&O()}async function A(j){await be.delete(j),O()}async function V(j,M){const{memory:z}=await be.update(j,{content:M});z&&O()}async function F(j){const{memory:M}=await be.promoteToGlobal(j);M&&O()}async function U(j){if(!(n!=null&&n.slug))return;const{memory:M}=await be.demoteToWorkspace(j,n.slug);M&&O()}function W(){g(null),p({open:!0,mode:"create"})}function H(j){g(j),p({open:!0,mode:"edit"})}function b(){p({open:!1,mode:"create"}),g(null)}const v=d==="workspace"?s.workspace:s.global,E={workspace:n,sidebarOpen:r,closeSidebar:a,canToggle:i,memories:s,activeTab:d,setActiveTab:f,activeMemories:v,enabled:S,setEnabled:N,autoExtraction:k,setAutoExtraction:R,loadingEnabled:P,modalState:w,editingMemory:y,openCreateModal:W,openEditModal:H,closeModal:b,handleCreate:C,handleDelete:A,handleUpdate:V,handlePromote:F,handleDemote:U};return e.jsx(yn.Provider,{value:E,children:t})}function Hs(){const{canToggle:n,enabled:t,setEnabled:r,autoExtraction:a,setAutoExtraction:o,loadingEnabled:i}=ce(),{t:s}=K();async function c(f){const w=f?"true":"false",{success:p}=await we.updateSystemPreferences({memory_enabled:w});p&&r(f)}async function d(f){const w=f?"true":"false",{success:p}=await we.updateSystemPreferences({memory_auto_extraction:w});p&&o(f)}return!n||i?null:e.jsxs("div",{className:"shrink-0 bg-zinc-900 light:bg-white light:border light:border-slate-300 rounded-2xl p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-medium text-zinc-50 light:text-slate-900",children:s("chat_window.memories.toggle.label")}),e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-500",children:s("chat_window.memories.toggle.description")})]}),e.jsx(Qe,{size:"md",enabled:t,onChange:c})]}),t&&e.jsxs("div",{className:"flex items-start gap-3 pt-2 border-t border-zinc-800 light:border-slate-200",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-medium text-zinc-50 light:text-slate-900",children:s("chat_window.memories.auto_extraction.label")}),e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-500",children:s("chat_window.memories.auto_extraction.description")})]}),e.jsx(Qe,{size:"md",enabled:a,onChange:d})]})]})}function Jt(){const{workspace:n,activeTab:t,setActiveTab:r,memories:a,openCreateModal:o}=ce(),{t:i}=K(),s=(n==null?void 0:n.name)||i("chat_window.memories.tab_workspace"),c=a.workspace.length,d=a.global.length,f=t==="workspace"?c>=ve.workspace:d>=ve.global;return e.jsxs("div",{className:"flex items-center justify-between shrink-0 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-1 min-w-0",children:[e.jsxs("button",{type:"button",onClick:()=>r("workspace"),"data-tooltip-id":"memories-workspace-pill","data-tooltip-content":s,className:`flex items-center gap-0.5 h-6 px-3 rounded-full border-none cursor-pointer text-xs font-medium uppercase tracking-[1.2px] whitespace-nowrap transition-colors min-w-0 shrink ${t==="workspace"?"bg-zinc-800 light:bg-slate-300":"bg-transparent hover:bg-zinc-800/50 light:hover:bg-slate-200"}`,children:[e.jsx("span",{className:"text-zinc-200 light:text-slate-800 truncate max-w-[140px]",children:s}),e.jsxs("span",{className:"text-zinc-400 light:text-slate-600 font-normal",children:["(",c,"/",ve.workspace,")"]})]}),e.jsxs("button",{type:"button",onClick:()=>r("global"),className:`flex items-center gap-0.5 h-6 px-3 rounded-full border-none cursor-pointer text-xs font-medium uppercase tracking-[1.2px] whitespace-nowrap transition-colors shrink-0 ${t==="global"?"bg-zinc-800 light:bg-slate-300":"bg-transparent hover:bg-zinc-800/50 light:hover:bg-slate-200"}`,children:[e.jsx("span",{className:"text-zinc-200 light:text-slate-800",children:i("chat_window.memories.tab_global")}),e.jsxs("span",{className:"text-zinc-400 light:text-slate-600 font-normal",children:["(",d,"/",ve.global,")"]})]})]}),e.jsx("button",{type:"button",onClick:o,disabled:f,className:"-mr-1 flex items-center justify-center size-6 rounded-lg border-none bg-transparent cursor-pointer text-zinc-50 light:text-slate-900 hover:bg-zinc-800 light:hover:bg-slate-200 transition-colors disabled:opacity-30 disabled:cursor-not-allowed disabled:hover:bg-transparent",children:e.jsx(et,{size:16,weight:"bold"})}),e.jsx(G,{id:"memories-workspace-pill",place:"bottom",delayShow:800,className:"tooltip !text-xs z-99"})]})}function $s({menuRef:n,buttonRef:t,isWorkspace:r,canMove:a,onEdit:o,onMove:i,onDelete:s}){const{t:c}=K(),[d,f]=u.useState({top:0,left:0});return u.useEffect(()=>{if(!t.current)return;const w=t.current.getBoundingClientRect();f({top:w.bottom+4,left:w.right-200})},[]),De.createPortal(e.jsxs("div",{ref:n,className:"fixed z-[9999] bg-zinc-800 light:bg-slate-50 border border-zinc-700 light:border-slate-300 rounded-lg py-3 px-2 flex flex-col shadow-lg w-[175px]",style:{top:d.top,left:d.left},children:[e.jsx(qe,{label:c("chat_window.memories.menu.edit"),onClick:o}),a&&e.jsx(qe,{label:c(r?"chat_window.memories.menu.move_to_global":"chat_window.memories.menu.move_to_workspace"),onClick:i}),e.jsx(qe,{label:c("chat_window.memories.menu.delete"),onClick:s})]}),document.body)}function qe({label:n,onClick:t}){return e.jsx("button",{type:"button",onClick:t,className:"w-full text-left text-sm font-medium text-zinc-50 light:text-slate-800 border-none bg-transparent cursor-pointer hover:bg-zinc-700 light:hover:bg-slate-200 rounded px-2.5 py-1 transition-colors",children:n})}function Bs({memory:n}){const{activeTab:t,memories:r,handleDelete:a,openEditModal:o,handlePromote:i,handleDemote:s}=ce(),[c,d]=u.useState(!1),f=u.useRef(null),w=u.useRef(null);u.useEffect(()=>{if(!c)return;function g(S){f.current&&!f.current.contains(S.target)&&w.current&&!w.current.contains(S.target)&&d(!1)}return document.addEventListener("mousedown",g),()=>document.removeEventListener("mousedown",g)},[c]);const p=t==="workspace",y=p?r.global.length<ve.global:r.workspace.length<ve.workspace;return e.jsxs("div",{className:"relative shrink-0 bg-zinc-900 light:bg-white light:border light:border-slate-300 rounded-lg p-3 flex gap-0.5 items-start",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm leading-5 text-zinc-50 light:text-slate-900",children:n.content}),e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-500 mt-1.5",children:new Date(n.createdAt).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})})]}),e.jsx("button",{ref:w,type:"button",onClick:()=>d(!c),className:"shrink-0 border-none bg-transparent cursor-pointer text-zinc-400 light:text-slate-400 hover:text-zinc-50 light:hover:text-slate-900 transition-colors p-0",children:e.jsx(ir,{size:20,weight:"bold"})}),c&&e.jsx($s,{menuRef:f,buttonRef:w,isWorkspace:p,canMove:y,onEdit:()=>{d(!1),o(n)},onMove:()=>{d(!1),p?i(n.id):s(n.id)},onDelete:()=>{d(!1),a(n.id)}})]})}function Us({isOpen:n,onClose:t,onSubmit:r,initialContent:a="",mode:o="create"}){const{t:i}=K(),[s,c]=u.useState(a),d=o==="create",[f,w,p]=u.useMemo(()=>d?[i("chat_window.memories.modal.create_title"),i("chat_window.memories.modal.create"),i("chat_window.memories.modal.create_description")]:[i("chat_window.memories.modal.edit_title"),i("chat_window.memories.modal.save"),i("chat_window.memories.modal.edit_description")],[d,i]);u.useEffect(()=>{n&&c(a)},[n,a]);function y(){s.trim()&&(r(s.trim()),t())}return e.jsx(ye,{isOpen:n,children:e.jsxs("div",{className:"bg-zinc-900 light:bg-white border border-zinc-800 light:border-slate-300 rounded-lg p-6 w-[400px] flex flex-col gap-5",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsx("p",{className:"font-semibold text-base leading-6 text-zinc-50 light:text-slate-800",children:f}),e.jsx("button",{onClick:t,type:"button",className:"text-zinc-400 light:text-slate-400 hover:text-zinc-50 light:hover:text-slate-900 transition-colors border-none bg-transparent cursor-pointer",children:e.jsx(oe,{size:16,weight:"bold"})})]}),e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-500",children:p})]}),e.jsxs("div",{className:"flex flex-col gap-1.5",children:[e.jsx("label",{className:"text-sm font-medium text-zinc-200 light:text-slate-700",children:i("chat_window.memories.modal.label")}),e.jsx("textarea",{autoFocus:!0,onFocus:g=>{const S=g.currentTarget.value.length;g.currentTarget.setSelectionRange(S,S)},value:s,onChange:g=>c(g.target.value),placeholder:i("chat_window.memories.modal.placeholder"),rows:4,className:"w-full bg-zinc-800 light:bg-white text-zinc-50 light:border light:border-slate-300 light:text-slate-700 placeholder:text-zinc-500 light:placeholder:text-slate-400 text-sm rounded-lg p-3 resize-none outline-none focus:border-zinc-500 light:focus:border-slate-400"})]}),e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsx("button",{type:"button",onClick:t,className:"h-9 px-5 rounded-lg border border-zinc-500 light:border-slate-600 bg-transparent text-zinc-50 light:text-slate-900 text-sm font-medium cursor-pointer hover:bg-zinc-700 light:hover:bg-slate-100 transition-colors",children:i("chat_window.memories.modal.cancel")}),e.jsx("button",{type:"button",onClick:y,disabled:!s.trim(),className:"h-9 px-5 rounded-lg border-none bg-zinc-50 light:bg-slate-900 text-zinc-900 light:text-white text-sm font-medium cursor-pointer hover:bg-white light:hover:bg-slate-800 transition-colors disabled:opacity-30 disabled:cursor-not-allowed",children:w})]})]})})}function bi({workspace:n}){return e.jsx(Ds,{workspace:n,children:e.jsx(Ws,{})})}function Ws(){const{sidebarOpen:n,canToggle:t,enabled:r}=ce();return!t&&!r?null:e.jsxs(e.Fragment,{children:[e.jsx(Os,{isOpen:n,children:e.jsxs(Ks,{children:[e.jsx(Ys,{}),e.jsx(Hs,{}),e.jsx(qs,{})]})}),e.jsx(Gs,{})]})}function Ks({children:n}){return e.jsx("div",{className:"w-[366px] flex-shrink-0 flex flex-col gap-5 mt-[72px] px-5 overflow-y-auto no-scroll",style:{maxHeight:"calc(100% - 88px)"},children:n})}function qs(){const{enabled:n,activeMemories:t}=ce();return n?t.length===0?e.jsxs(e.Fragment,{children:[e.jsx(Jt,{}),e.jsx(Qs,{})]}):e.jsxs(e.Fragment,{children:[e.jsx(Jt,{}),e.jsx("div",{className:"flex flex-col gap-1.5 pb-4",children:t.map(r=>e.jsx(Bs,{memory:r},r.id))})]}):null}function Gs(){const{enabled:n,modalState:t,editingMemory:r,closeModal:a,handleCreate:o,handleUpdate:i}=ce();return n?e.jsx(Us,{isOpen:t.open,mode:t.mode,initialContent:(r==null?void 0:r.content)||"",onClose:a,onSubmit:s=>{t.mode==="edit"&&r?i(r.id,s):o(s)}}):null}function Ys(){const{t:n}=K(),{closeSidebar:t}=ce();return e.jsxs("div",{className:"flex items-start justify-between shrink-0",children:[e.jsx("p",{className:"font-medium text-base leading-6 text-zinc-50 light:text-slate-900",children:n("chat_window.memories.title")}),e.jsx("button",{onClick:t,type:"button",className:"text-zinc-50 light:text-slate-900 hover:text-white light:hover:text-slate-400 transition-colors border-none bg-transparent cursor-pointer",children:e.jsx(oe,{size:16,weight:"bold"})})]})}function Qs(){const{t:n}=K(),{openCreateModal:t}=ce();return e.jsxs("p",{className:"text-sm leading-5 text-zinc-400 light:text-slate-600 text-center",children:[n("chat_window.memories.empty")," ",e.jsx("button",{type:"button",onClick:t,className:"text-zinc-50 light:text-slate-900 underline border-none bg-transparent cursor-pointer p-0 text-sm leading-5 font-normal",children:n("chat_window.memories.empty_cta")})]})}export{ps as A,pi as C,si as D,bi as M,Ze as P,hi as Q,mi as S,gi as W,gn as a,Pe as b,fi as c,ii as d,di as e,xi as f,ks as g,as as h,Os as i,oi as j,Bt as k,tt as l,Ut as m,ci as n,ms as o,ui as s,Vs as u,li as w};
@@ -0,0 +1 @@
1
+ import{u as C,r as o,q as V,G as O,j as e,t as m,c as T,M as $,k as B}from"../index.js";const G=["anythingllm-router"];function X({providerFieldName:g="fallback_provider",modelFieldName:i="fallback_model",label:b="Provider & Model",description:p="",defaultProvider:n="",defaultModel:l=""}){const{t:a}=C(),[s,f]=o.useState(n),[v,u]=o.useState(l),[y,j]=o.useState([]),[E,N]=o.useState(!1),[h,S]=o.useState(null),{isOpen:L,openModal:z,closeModal:M}=V();o.useEffect(()=>{n&&!s&&f(n)},[n]),o.useEffect(()=>{l&&!v&&u(l)},[l]);const w=O.filter(t=>!G.includes(t.value));o.useEffect(()=>{async function t(){const r=await m.keys();S(r??{})}t()},[]);function x(t){if(!h)return!0;const r=w.find(d=>d.value===t),c=(r==null?void 0:r.connectionConfig)||(r==null?void 0:r.requiredConfig);return c!=null&&c.length?c.every(d=>!!h[d]):!0}o.useEffect(()=>{if(!s||!h){j([]);return}if(!x(s))return;async function t(){N(!0);const{models:r=[]}=await m.customModels(s);j(r),N(!1)}t()},[s,h]);function P(t){const r=t.target.value;f(r),u(""),j([]),r&&!x(r)&&z()}function _(){M(),x(s)||(f(n||""),u(l||""))}async function q(t){t.preventDefault(),t.stopPropagation();const r={},c=new FormData(t.target);for(const[A,I]of c.entries())r[A]=I;const{error:d}=await m.updateSystem(r);if(d){T(a("model-router.provider-picker.toast-save-failed",{error:d}),"error");return}const R=await m.keys();S(R??{}),M()}const k=w.find(t=>t.value===s),D=s&&k&&!x(s);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:b}),p&&e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-600",children:p}),e.jsxs("div",{className:"flex gap-x-3",children:[e.jsx("div",{className:"flex-1",children:e.jsxs("select",{name:g,value:s,onChange:P,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:a("model-router.provider-picker.select-provider")}),w.map(t=>e.jsxs("option",{value:t.value,children:[t.name,x(t.value)?"":` ${a("model-router.provider-picker.setup-required")}`]},t.value))]})}),e.jsx("div",{className:"flex-1",children:D?e.jsx("button",{type:"button",onClick:z,className:"border-none bg-zinc-800 light:bg-white light:border light:border-slate-300 text-blue-400 light:text-blue-500 text-sm rounded-[8px] block w-full h-8 px-3.5 text-left hover:text-blue-300 light:hover:text-blue-600 transition-colors",children:a("model-router.provider-picker.configure-to-continue",{name:k.name})}):E?e.jsx("div",{className:"bg-zinc-800 light:bg-white light:border light:border-slate-300 text-zinc-400 light:text-slate-500 text-sm rounded-[8px] h-8 px-3.5 flex items-center",children:a("model-router.provider-picker.loading-models")}):y.length>0?e.jsxs("select",{name:i,value:v,onChange:t=>u(t.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:a("model-router.provider-picker.select-model")}),y.map(t=>e.jsx("option",{value:t.id,children:t.id},t.id))]}):e.jsx("input",{type:"text",name:i,value:v,onChange:t=>u(t.target.value),placeholder:a(s?"model-router.provider-picker.enter-model":"model-router.provider-picker.select-provider-first"),disabled:!s,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 disabled:opacity-50",required:!0})})]}),e.jsx(U,{isOpen:L,provider:k,settings:h,onSave:q,onClose:_})]})}function U({isOpen:g,provider:i,settings:b,onSave:p,onClose:n}){const{t:l}=C();return!g||!i?null:e.jsx($,{isOpen:g,children:e.jsxs("div",{className:"w-full max-w-2xl bg-zinc-900 light:bg-white rounded-[8px] shadow-lg border border-zinc-700 light:border-slate-300",children:[e.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-zinc-700 light:border-slate-300",children:[e.jsxs("div",{className:"flex items-center gap-x-3",children:[i.logo&&e.jsx("img",{src:i.logo,alt:`${i.name} logo`,className:"w-8 h-8 rounded-md"}),e.jsx("h3",{className:"text-base font-semibold leading-6 text-white light:text-slate-950",children:l("model-router.provider-picker.configure-provider",{name:i.name})})]}),e.jsx("button",{onClick:n,type:"button",className:"border-none p-1 rounded-lg text-zinc-400 light:text-slate-500 hover:text-white light:hover:text-slate-900 hover:bg-zinc-800 light:hover:bg-slate-100 transition-colors",children:e.jsx(B,{size:16,weight:"bold"})})]}),e.jsxs("form",{id:"provider-setup-form",onSubmit:p,children:[e.jsxs("div",{className:"px-6 py-5",children:[e.jsx("p",{className:"text-xs leading-4 text-zinc-400 light:text-slate-600 mb-4",children:l("model-router.provider-picker.setup-credentials",{name:i.name})}),e.jsx("div",{className:"space-y-4",children:i.options(b??{})})]}),e.jsxs("div",{className:"flex justify-between gap-x-3 px-6 py-4 border-t border-zinc-700 light:border-slate-300",children:[e.jsx("button",{type:"button",onClick:n,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:l("model-router.provider-picker.cancel")}),e.jsx("button",{type:"submit",form:"provider-setup-form",className:"border-none 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",children:l("model-router.provider-picker.save-settings")})]})]})]})})}export{X as L};
@@ -0,0 +1,4 @@
1
+ import{R as r,r as l,g as C,j as e,O as S,aU as V,k as E,c as M,W as I,q as A,$ as Z,i as H,C as L,S as O,M as $}from"../index.js";import{A as f}from"./admin-04b020fe.js";import{w as F}from"./Check-7e83fb0d.js";import{C as W}from"./Copy-d323e545.js";const z=new Map([["bold",r.createElement(r.Fragment,null,r.createElement("path",{d:"M224,44H32A12,12,0,0,0,20,56V192a20,20,0,0,0,20,20H216a20,20,0,0,0,20-20V56A12,12,0,0,0,224,44ZM193.15,68,128,127.72,62.85,68ZM44,188V83.28l75.89,69.57a12,12,0,0,0,16.22,0L212,83.28V188Z"}))],["duotone",r.createElement(r.Fragment,null,r.createElement("path",{d:"M224,56l-96,88L32,56Z",opacity:"0.2"}),r.createElement("path",{d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48ZM203.43,64,128,133.15,52.57,64ZM216,192H40V74.19l82.59,75.71a8,8,0,0,0,10.82,0L216,74.19V192Z"}))],["fill",r.createElement(r.Fragment,null,r.createElement("path",{d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48Zm-8,144H40V74.19l82.59,75.71a8,8,0,0,0,10.82,0L216,74.19V192Z"}))],["light",r.createElement(r.Fragment,null,r.createElement("path",{d:"M224,50H32a6,6,0,0,0-6,6V192a14,14,0,0,0,14,14H216a14,14,0,0,0,14-14V56A6,6,0,0,0,224,50ZM208.58,62,128,135.86,47.42,62ZM216,194H40a2,2,0,0,1-2-2V69.64l86,78.78a6,6,0,0,0,8.1,0L218,69.64V192A2,2,0,0,1,216,194Z"}))],["regular",r.createElement(r.Fragment,null,r.createElement("path",{d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48ZM203.43,64,128,133.15,52.57,64ZM216,192H40V74.19l82.59,75.71a8,8,0,0,0,10.82,0L216,74.19V192Z"}))],["thin",r.createElement(r.Fragment,null,r.createElement("path",{d:"M224,52H32a4,4,0,0,0-4,4V192a12,12,0,0,0,12,12H216a12,12,0,0,0,12-12V56A4,4,0,0,0,224,52Zm-10.28,8L128,138.57,42.28,60ZM216,196H40a4,4,0,0,1-4-4V65.09L125.3,147a4,4,0,0,0,5.4,0L220,65.09V192A4,4,0,0,1,216,196Z"}))]]);var T=Object.defineProperty,B=Object.defineProperties,P=Object.getOwnPropertyDescriptors,w=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,v=(t,s,a)=>s in t?T(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a,Y=(t,s)=>{for(var a in s||(s={}))R.call(s,a)&&v(t,a,s[a]);if(w)for(var a of w(s))D.call(s,a)&&v(t,a,s[a]);return t},_=(t,s)=>B(t,P(s));const y=l.forwardRef((t,s)=>r.createElement(C,_(Y({ref:s},t),{weights:z})));y.displayName="EnvelopeSimple";function q({invite:t}){var i,u;const s=l.useRef(null),[a,p]=l.useState(t.status),[o,c]=l.useState(!1),d=async()=>{if(!window.confirm(`Are you sure you want to deactivate this invite?
2
+ After you do this it will not longer be useable.
3
+
4
+ This action is irreversible.`))return!1;s!=null&&s.current&&(s.current.children[0].innerText="Disabled"),p("disabled"),await f.disableInvite(t.id)},m=()=>{if(!t)return!1;window.navigator.clipboard.writeText(`${window.location.origin}/accept-invite/${t.code}`),c(!0)};return l.useEffect(()=>{function h(){if(!o)return!1;setTimeout(()=>{c(!1)},3e3)}h()},[o]),e.jsx(e.Fragment,{children:e.jsxs("tr",{ref:s,className:"bg-transparent text-white text-opacity-80 text-xs font-medium border-b border-white/10 h-10",children:[e.jsx("td",{scope:"row",className:"px-6 whitespace-nowrap",children:S(a)}),e.jsx("td",{className:"px-6",children:t.claimedBy?((i=t.claimedBy)==null?void 0:i.username)||"deleted user":"--"}),e.jsx("td",{className:"px-6",children:((u=t.createdBy)==null?void 0:u.username)||"deleted user"}),e.jsx("td",{className:"px-6",children:t.createdAt}),e.jsx("td",{className:"px-6 flex items-center gap-x-6 h-full mt-1",children:a==="pending"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:m,disabled:o,className:"text-xs font-medium text-blue-300 rounded-lg hover:text-blue-400 hover:underline",children:o?"Copied":"Copy Invite Link"}),e.jsx("button",{onClick:d,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(V,{className:"h-5 w-5"})})]})})]})})}function J({closeModal:t,onSuccess:s}){const[a,p]=l.useState(null),[o,c]=l.useState(null),[d,m]=l.useState(!1),[i,u]=l.useState([]),[h,g]=l.useState([]),j=async n=>{c(null),n.preventDefault();const{invite:x,error:b}=await f.newInvite({role:null,workspaceIds:h});x&&(p(x),s()),c(b)},N=()=>{if(!a)return!1;window.navigator.clipboard.writeText(`${window.location.origin}/accept-invite/${a.code}`),m(!0),M("Invite link copied to clipboard","success",{clear:!0})},k=n=>{if(h.includes(n)){const x=h.filter(b=>b!==n);g(x);return}g([...h,n])};return l.useEffect(()=>{function n(){if(!d)return!1;setTimeout(()=>{m(!1)},3e3)}n()},[d]),l.useEffect(()=>{async function n(){I.all().then(x=>u(x)).catch(()=>u([]))}n()},[]),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 invite"})}),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(E,{size:24,weight:"bold",className:"text-white"})})]}),e.jsx("div",{className:"p-6",children:e.jsxs("form",{onSubmit:j,children:[e.jsxs("div",{className:"space-y-4",children:[o&&e.jsxs("p",{className:"text-red-400 text-sm",children:["Error: ",o]}),a&&e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:"url",defaultValue:`${window.location.origin}/accept-invite/${a.code}`,disabled:!0,className:"border-none bg-theme-settings-input-bg text-white placeholder:text-theme-settings-input-placeholder text-sm rounded-lg outline-none block w-full p-2.5 pr-10"}),e.jsx("button",{type:"button",onClick:N,disabled:d,className:"absolute right-2 top-1/2 -translate-y-1/2 p-1 rounded-md hover:bg-theme-modal-border transition-all duration-300",children:d?e.jsx(F,{size:20,className:"text-green-400",weight:"bold"}):e.jsx(W,{size:20,className:"text-white",weight:"bold"})})]}),e.jsxs("p",{className:"text-white text-opacity-60 text-xs md:text-sm",children:["After creation you will be able to copy the invite and send it to a new user where they can create an account as the"," ",e.jsx("b",{children:"default"})," role and automatically be added to workspaces selected."]})]}),i.length>0&&!a&&e.jsx("div",{className:"mt-6",children:e.jsxs("div",{className:"w-full",children:[e.jsxs("div",{className:"flex flex-col gap-y-1 mb-2",children:[e.jsx("label",{htmlFor:"workspaces",className:"block text-sm font-medium text-white",children:"Auto-add invitee to workspaces"}),e.jsx("p",{className:"text-white text-opacity-60 text-xs",children:"You can optionally automatically assign the user to the workspaces below by selecting them. By default, the user will not have any workspaces visible. You can assign workspaces later post-invite acceptance."})]}),e.jsx("div",{className:"flex flex-col gap-y-2 mt-2",children:i.map(n=>e.jsx(U,{workspace:n,selected:h.includes(n.id),toggleSelection:k},n.id))})]})}),e.jsx("div",{className:"flex justify-end items-center mt-6 pt-6 border-t border-theme-modal-border",children:a?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:"Close"}):e.jsxs(e.Fragment,{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 mr-2",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 Invite"})]})})]})})]})})}function U({workspace:t,selected:s,toggleSelection:a}){return e.jsxs("button",{type:"button",onClick:()=>a(t.id),className:`transition-all duration-300 w-full h-11 p-2.5 rounded-lg flex justify-start items-center gap-2.5 cursor-pointer border ${s?"border-theme-sidebar-item-workspace-active bg-theme-bg-secondary":"border-theme-sidebar-border"} hover:border-theme-sidebar-border hover:bg-theme-bg-secondary`,children:[e.jsx("input",{type:"radio",name:"workspace",value:t.id,checked:s,className:"hidden"}),e.jsx("div",{className:`w-4 h-4 rounded-full border-2 border-theme-sidebar-border mr-2 ${s?"bg-[var(--theme-sidebar-item-workspace-active)]":""}`}),e.jsx("div",{className:"text-theme-text-primary text-sm font-medium font-['Plus Jakarta Sans'] leading-tight",children:t.name})]})}function ee(){const{isOpen:t,openModal:s,closeModal:a}=A(),[p,o]=l.useState(!0),[c,d]=l.useState([]),m=async()=>{const i=await f.invites();d(i),o(!1)};return l.useEffect(()=>{m()},[]),e.jsxs("div",{className:"w-screen h-screen overflow-hidden bg-theme-bg-container flex",children:[e.jsx(Z,{}),e.jsxs("div",{style:{height:H?"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:"Invitations"})}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-theme-text-secondary mt-2",children:"Create invitation links for people in your organization to accept and sign up with. Invitations can only be used by a single user."})]}),e.jsx("div",{className:"w-full justify-end flex",children:e.jsxs(L,{onClick:s,className:"mt-3 mr-0 mb-4 md:-mb-12 z-10",children:[e.jsx(y,{className:"h-4 w-4",weight:"bold"})," Create Invite Link"]})}),e.jsx("div",{className:"overflow-x-auto mt-6",children:p?e.jsx(O,{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",containerClassName:"flex w-full"}):e.jsxs("table",{className:"w-full text-xs text-left rounded-lg 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:"Status"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Accepted By"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Created By"}),e.jsx("th",{scope:"col",className:"px-6 py-3",children:"Created"}),e.jsx("th",{scope:"col",className:"px-6 py-3 rounded-tr-lg",children:" "})]})}),e.jsx("tbody",{children:c.length===0?e.jsx("tr",{className:"bg-transparent text-theme-text-secondary text-sm font-medium",children:e.jsx("td",{colSpan:"5",className:"px-6 py-4 text-center",children:"No invitations found"})}):c.map(i=>e.jsx(q,{invite:i},i.id))})]})})]}),e.jsx($,{isOpen:t,children:e.jsx(J,{closeModal:a,onSuccess:m})})]})]})}export{ee as default};
@@ -0,0 +1,5 @@
1
+ import{R as l,r as c,g as V,u as C,j as e,k as M,V as k,X as A,Y as E,Z as O,q as S,O as U,M as L,c as w,aV as D,$ as P,i as T,C as _,a as q,S as z,aD as I}from"../index.js";import{A as f}from"./admin-04b020fe.js";const $=new Map([["bold",l.createElement(l.Fragment,null,l.createElement("path",{d:"M256,136a12,12,0,0,1-12,12h-8v8a12,12,0,0,1-24,0v-8h-8a12,12,0,0,1,0-24h8v-8a12,12,0,0,1,24,0v8h8A12,12,0,0,1,256,136Zm-54.81,56.28a12,12,0,1,1-18.38,15.44C169.12,191.42,145,172,108,172c-28.89,0-55.46,12.68-74.81,35.72a12,12,0,0,1-18.38-15.44A124.08,124.08,0,0,1,63.5,156.53a72,72,0,1,1,89,0A124,124,0,0,1,201.19,192.28ZM108,148a48,48,0,1,0-48-48A48.05,48.05,0,0,0,108,148Z"}))],["duotone",l.createElement(l.Fragment,null,l.createElement("path",{d:"M168,100a60,60,0,1,1-60-60A60,60,0,0,1,168,100Z",opacity:"0.2"}),l.createElement("path",{d:"M256,136a8,8,0,0,1-8,8H232v16a8,8,0,0,1-16,0V144H200a8,8,0,0,1,0-16h16V112a8,8,0,0,1,16,0v16h16A8,8,0,0,1,256,136Zm-57.87,58.85a8,8,0,0,1-12.26,10.3C165.75,181.19,138.09,168,108,168s-57.75,13.19-77.87,37.15a8,8,0,0,1-12.25-10.3c14.94-17.78,33.52-30.41,54.17-37.17a68,68,0,1,1,71.9,0C164.6,164.44,183.18,177.07,198.13,194.85ZM108,152a52,52,0,1,0-52-52A52.06,52.06,0,0,0,108,152Z"}))],["fill",l.createElement(l.Fragment,null,l.createElement("path",{d:"M256,136a8,8,0,0,1-8,8H232v16a8,8,0,0,1-16,0V144H200a8,8,0,0,1,0-16h16V112a8,8,0,0,1,16,0v16h16A8,8,0,0,1,256,136ZM144,157.68a68,68,0,1,0-71.9,0c-20.65,6.76-39.23,19.39-54.17,37.17A8,8,0,0,0,24,208H192a8,8,0,0,0,6.13-13.15C183.18,177.07,164.6,164.44,144,157.68Z"}))],["light",l.createElement(l.Fragment,null,l.createElement("path",{d:"M254,136a6,6,0,0,1-6,6H230v18a6,6,0,0,1-12,0V142H200a6,6,0,0,1,0-12h18V112a6,6,0,0,1,12,0v18h18A6,6,0,0,1,254,136Zm-57.41,60.14a6,6,0,1,1-9.18,7.72C166.9,179.45,138.69,166,108,166s-58.89,13.45-79.41,37.86a6,6,0,0,1-9.18-7.72C35.14,177.41,55,164.48,77,158.25a66,66,0,1,1,62,0C161,164.48,180.86,177.41,196.59,196.14ZM108,154a54,54,0,1,0-54-54A54.06,54.06,0,0,0,108,154Z"}))],["regular",l.createElement(l.Fragment,null,l.createElement("path",{d:"M256,136a8,8,0,0,1-8,8H232v16a8,8,0,0,1-16,0V144H200a8,8,0,0,1,0-16h16V112a8,8,0,0,1,16,0v16h16A8,8,0,0,1,256,136Zm-57.87,58.85a8,8,0,0,1-12.26,10.3C165.75,181.19,138.09,168,108,168s-57.75,13.19-77.87,37.15a8,8,0,0,1-12.25-10.3c14.94-17.78,33.52-30.41,54.17-37.17a68,68,0,1,1,71.9,0C164.6,164.44,183.18,177.07,198.13,194.85ZM108,152a52,52,0,1,0-52-52A52.06,52.06,0,0,0,108,152Z"}))],["thin",l.createElement(l.Fragment,null,l.createElement("path",{d:"M252,136a4,4,0,0,1-4,4H228v20a4,4,0,0,1-8,0V140H200a4,4,0,0,1,0-8h20V112a4,4,0,0,1,8,0v20h20A4,4,0,0,1,252,136Zm-56.94,61.43a4,4,0,0,1-6.12,5.14C168,177.7,139.3,164,108,164s-60,13.7-80.94,38.57a4,4,0,1,1-6.12-5.14c16.71-19.9,38.13-33.13,61.89-38.59a64,64,0,1,1,50.34,0C156.93,164.3,178.35,177.53,195.06,197.43ZM108,156a56,56,0,1,0-56-56A56.06,56.06,0,0,0,108,156Z"}))]]);var B=Object.defineProperty,G=Object.defineProperties,X=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,N=(s,t,a)=>t in s?B(s,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[t]=a,Y=(s,t)=>{for(var a in t||(t={}))J.call(t,a)&&N(s,a,t[a]);if(y)for(var a of y(t))W.call(t,a)&&N(s,a,t[a]);return s},K=(s,t)=>G(s,X(t));const R=c.forwardRef((s,t)=>l.createElement(V,K(Y({ref:t},s),{weights:$})));R.displayName="UserPlus";function Q({currentUser:s,user:t,closeModal:a}){const[d,r]=c.useState(t.role),[n,m]=c.useState(null),[h,b]=c.useState({enabled:t.dailyMessageLimit!==null,limit:t.dailyMessageLimit||10}),{t:x}=C(),u=async o=>{m(null),o.preventDefault();const i={},p=new FormData(o.target);for(var[v,g]of p.entries())!g||g===null||(i[v]=g);h.enabled?i.dailyMessageLimit=h.limit:i.dailyMessageLimit=null;const{success:j,error:H}=await f.updateUser(t.id,i);j&&(s&&s.id===t.id&&(s.username=i.username,s.bio=i.bio,s.role=i.role,localStorage.setItem(O,JSON.stringify(s))),window.location.reload()),m(H)};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.jsxs("h3",{className:"text-xl font-semibold text-white overflow-hidden overflow-ellipsis whitespace-nowrap",children:["Edit ",t.username]})}),e.jsx("button",{onClick:a,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(M,{size:24,weight:"bold",className:"text-white"})})]}),e.jsx("div",{className:"p-6",children:e.jsxs("form",{onSubmit:u,children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"username",className:"block mb-2 text-sm font-medium text-white",children:"Username"}),e.jsx("input",{name:"username",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:"User's username",defaultValue:t.username,minLength:k,maxLength:A,pattern:E,required:!0,autoComplete:"off"}),e.jsx("p",{className:"mt-2 text-xs text-white/60",children:x("common.username_requirements")})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"password",className:"block mb-2 text-sm font-medium text-white",children:"New Password"}),e.jsx("input",{name:"password",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:`${t.username}'s new password`,autoComplete:"off",minLength:8}),e.jsx("p",{className:"mt-2 text-xs text-white/60",children:"Password must be at least 8 characters long"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"bio",className:"block mb-2 text-sm font-medium text-white",children:"Bio"}),e.jsx("textarea",{name:"bio",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:"User's bio",defaultValue:t.bio,autoComplete:"off",rows:3})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"role",className:"block mb-2 text-sm font-medium text-white",children:"Role"}),e.jsxs("select",{name:"role",required:!0,defaultValue:t.role,onChange:o=>r(o.target.value),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",children:[e.jsx("option",{value:"default",children:"Default"}),e.jsx("option",{value:"manager",children:"Manager"}),(s==null?void 0:s.role)==="admin"&&e.jsx("option",{value:"admin",children:"Administrator"})]}),e.jsx(F,{role:d})]}),e.jsx(Z,{role:d,enabled:h.enabled,limit:h.limit,updateState:b}),n&&e.jsxs("p",{className:"text-red-400 text-sm",children:["Error: ",n]})]}),e.jsxs("div",{className:"flex justify-between items-center mt-6 pt-6 border-t border-theme-modal-border",children:[e.jsx("button",{onClick:a,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:"Update user"})]})]})})]})})}const ee={admin:["admin","manager","default"],manager:["manager","default"],default:[]};function te({currUser:s,user:t}){const a=c.useRef(null),d=ee[(s==null?void 0:s.role)||"default"].includes(t.role),[r,n]=c.useState(t.suspended===1),{isOpen:m,openModal:h,closeModal:b}=S(),x=async()=>{if(!window.confirm(`Are you sure you want to suspend ${t.username}?
2
+ After you do this they will be logged out and unable to log back into this instance of AnythingLLM until unsuspended by an admin.`))return!1;const{success:o,error:i}=await f.updateUser(t.id,{suspended:r?0:1});o||w(i,"error",{clear:!0}),o&&(w(`User ${r?"is no longer suspended":"has been suspended"}.`,"success",{clear:!0}),n(!r))},u=async()=>{var p;if(!window.confirm(`Are you sure you want to delete ${t.username}?
3
+ After you do this they will be logged out and unable to use this instance of AnythingLLM.
4
+
5
+ This action is irreversible.`))return!1;const{success:o,error:i}=await f.deleteUser(t.id);o||w(i,"error",{clear:!0}),o&&((p=a==null?void 0:a.current)==null||p.remove(),w("User deleted from system.","success",{clear:!0}))};return e.jsxs(e.Fragment,{children:[e.jsxs("tr",{ref:a,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.username}),e.jsx("td",{className:"px-6",children:U(t.role)}),e.jsx("td",{className:"px-6",children:t.createdAt}),e.jsxs("td",{className:"px-6 flex items-center gap-x-6 h-full mt-2",children:[d&&e.jsx("button",{onClick:h,className:"text-xs font-medium text-white/80 light:text-black/80 rounded-lg hover:text-white hover:light:text-gray-500 px-2 py-1 hover:bg-white hover:bg-opacity-10",children:"Edit"}),(s==null?void 0:s.id)!==t.id&&d&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:x,className:"text-xs font-medium text-white/80 light:text-black/80 hover:light:text-orange-500 hover:text-orange-300 rounded-lg px-2 py-1 hover:bg-white hover:light:bg-orange-50 hover:bg-opacity-10",children:r?"Unsuspend":"Suspend"}),e.jsx("button",{onClick:u,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:"Delete"})]})]})]}),e.jsx(L,{isOpen:m,children:e.jsx(Q,{currentUser:s,user:t,closeModal:b})})]})}function se({closeModal:s}){const[t,a]=c.useState(null),[d,r]=c.useState("default"),[n,m]=c.useState({enabled:!1,limit:10}),{t:h}=C(),b=async u=>{a(null),u.preventDefault();const o={},i=new FormData(u.target);for(var[p,v]of i.entries())o[p]=v;o.dailyMessageLimit=n.enabled?n.limit:null;const{user:g,error:j}=await f.newUser(o);g&&window.location.reload(),a(j)},x=D();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:"Add user to instance"})}),e.jsx("button",{onClick:s,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(M,{size:24,weight:"bold",className:"text-white"})})]}),e.jsx("div",{className:"p-6",children:e.jsxs("form",{onSubmit:b,children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"username",className:"block mb-2 text-sm font-medium text-white",children:"Username"}),e.jsx("input",{name:"username",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:"User's username",minLength:k,maxLength:A,pattern:E,required:!0,autoComplete:"off"}),e.jsx("p",{className:"mt-2 text-xs text-white/60",children:h("common.username_requirements")})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"password",className:"block mb-2 text-sm font-medium text-white",children:"Password"}),e.jsx("input",{name:"password",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:"User's initial password",required:!0,autoComplete:"off",minLength:8}),e.jsx("p",{className:"mt-2 text-xs text-white/60",children:"Password must be at least 8 characters long"})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"bio",className:"block mb-2 text-sm font-medium text-white",children:"Bio"}),e.jsx("textarea",{name:"bio",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:"User's bio",autoComplete:"off",rows:3})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"role",className:"block mb-2 text-sm font-medium text-white",children:"Role"}),e.jsxs("select",{name:"role",required:!0,defaultValue:"default",onChange:u=>r(u.target.value),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",children:[e.jsx("option",{value:"default",children:"Default"}),e.jsx("option",{value:"manager",children:"Manager"}),(x==null?void 0:x.role)==="admin"&&e.jsx("option",{value:"admin",children:"Administrator"})]}),e.jsx(F,{role:d})]}),e.jsx(Z,{role:d,enabled:n.enabled,limit:n.limit,updateState:m}),t&&e.jsxs("p",{className:"text-red-400 text-sm",children:["Error: ",t]}),e.jsx("p",{className:"text-white text-xs md:text-sm",children:"After creating a user they will need to login with their initial login to get access."})]}),e.jsxs("div",{className:"flex justify-between items-center mt-6 pt-6 border-t border-theme-modal-border",children:[e.jsx("button",{onClick:s,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:"Add user"})]})]})})]})})}function oe(){const{isOpen:s,openModal:t,closeModal:a}=S();return e.jsxs("div",{className:"w-screen h-screen overflow-hidden bg-theme-bg-container flex",children:[e.jsx(P,{}),e.jsxs("div",{style:{height:T?"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:"Users"})}),e.jsx("p",{className:"text-xs leading-[18px] font-base text-theme-text-secondary",children:"These are all the accounts which have an account on this instance. Removing an account will instantly remove their access to this instance."})]}),e.jsx("div",{className:"w-full justify-end flex",children:e.jsxs(_,{onClick:t,className:"mt-3 mr-0 mb-4 md:-mb-6 z-10",children:[e.jsx(R,{className:"h-4 w-4",weight:"bold"})," Add user"]})}),e.jsx("div",{className:"overflow-x-auto",children:e.jsx(ae,{})})]}),e.jsx(L,{isOpen:s,children:e.jsx(se,{closeModal:a})})]})]})}function ae(){const{user:s}=q(),[t,a]=c.useState(!0),[d,r]=c.useState([]);return c.useEffect(()=>{async function n(){const m=await f.users();r(m),a(!1)}n()},[]),t?e.jsx(z,{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-8",containerClassName:"flex w-full"}):e.jsxs("table",{className:"w-full text-xs text-left rounded-lg 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:"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:d.map(n=>e.jsx(te,{currUser:s,user:n},n.id))})]})}const le={default:["Can only send chats with workspaces they are added to by admin or managers.","Cannot modify any settings at all."],manager:["Can view, create, and delete any workspaces and modify workspace-specific settings.","Can create, update and invite new users to the instance.","Cannot modify LLM, vectorDB, embedding, or other connections."],admin:["Highest user level privilege.","Can see and do everything across the system."]};function F({role:s}){return e.jsxs("div",{className:"flex flex-col gap-y-1 py-1 pb-4",children:[e.jsx("p",{className:"text-sm font-medium text-theme-text-primary",children:"Permissions"}),e.jsx("ul",{className:"flex flex-col gap-y-1 list-disc px-4",children:le[s??"default"].map((t,a)=>e.jsx("li",{className:"text-xs text-theme-text-secondary",children:t},a))})]})}function Z({enabled:s,limit:t,updateState:a,role:d}){return d==="admin"?null:e.jsxs("div",{className:"mt-4 mb-8",children:[e.jsx(I,{size:"md",variant:"horizontal",label:"Limit messages per day",description:"Restrict this user to a number of successful queries or chats within a 24 hour window.",enabled:s,onChange:r=>{a(n=>({...n,enabled:r}))}}),s&&e.jsxs("div",{className:"mt-4",children:[e.jsx("label",{className:"text-white text-sm font-semibold block mb-4",children:"Message limit per day"}),e.jsx("div",{className:"relative mt-2",children:e.jsx("input",{type:"number",onScroll:r=>r.target.blur(),onChange:r=>{var n;a({enabled:!0,limit:Number(((n=r==null?void 0:r.target)==null?void 0:n.value)||0)})},value:t,min:1,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"})})]})]})}export{Z as MessageLimitInput,F as RoleHintDisplay,oe as default};