@jazzmind/busibox-app 3.0.18 → 3.0.20

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 (482) hide show
  1. package/dist/components/UserDropdown.d.ts +0 -16
  2. package/dist/components/UserDropdown.d.ts.map +1 -1
  3. package/dist/components/UserDropdown.js +2 -2
  4. package/dist/components/UserDropdown.js.map +1 -1
  5. package/dist/components/auth/PasskeyRequiredWrapper.d.ts +0 -8
  6. package/dist/components/auth/PasskeyRequiredWrapper.d.ts.map +1 -1
  7. package/dist/components/auth/PasskeyRequiredWrapper.js +2 -2
  8. package/dist/components/auth/PasskeyRequiredWrapper.js.map +1 -1
  9. package/dist/components/auth/ProtectedRoute.d.ts +0 -9
  10. package/dist/components/auth/ProtectedRoute.d.ts.map +1 -1
  11. package/dist/components/auth/ProtectedRoute.js +2 -2
  12. package/dist/components/auth/ProtectedRoute.js.map +1 -1
  13. package/dist/components/auth/SessionProvider.d.ts +0 -40
  14. package/dist/components/auth/SessionProvider.d.ts.map +1 -1
  15. package/dist/components/auth/SessionProvider.js +2 -2
  16. package/dist/components/auth/SessionProvider.js.map +1 -1
  17. package/dist/components/chat/AgentBadge.d.ts +0 -5
  18. package/dist/components/chat/AgentBadge.d.ts.map +1 -1
  19. package/dist/components/chat/AgentBadge.js +2 -2
  20. package/dist/components/chat/AgentBadge.js.map +1 -1
  21. package/dist/components/chat/AgentSelectionPanel.d.ts +0 -6
  22. package/dist/components/chat/AgentSelectionPanel.d.ts.map +1 -1
  23. package/dist/components/chat/AgentSelectionPanel.js +2 -2
  24. package/dist/components/chat/AgentSelectionPanel.js.map +1 -1
  25. package/dist/components/chat/AgentSelector.d.ts +0 -6
  26. package/dist/components/chat/AgentSelector.d.ts.map +1 -1
  27. package/dist/components/chat/AgentSelector.js +2 -2
  28. package/dist/components/chat/AgentSelector.js.map +1 -1
  29. package/dist/components/chat/AgentToolSelector.d.ts +0 -7
  30. package/dist/components/chat/AgentToolSelector.d.ts.map +1 -1
  31. package/dist/components/chat/AgentToolSelector.js +2 -2
  32. package/dist/components/chat/AgentToolSelector.js.map +1 -1
  33. package/dist/components/chat/AttachmentPreview.d.ts.map +1 -1
  34. package/dist/components/chat/AttachmentPreview.js +0 -5
  35. package/dist/components/chat/AttachmentPreview.js.map +1 -1
  36. package/dist/components/chat/AttachmentUploader.d.ts +0 -5
  37. package/dist/components/chat/AttachmentUploader.d.ts.map +1 -1
  38. package/dist/components/chat/AttachmentUploader.js +2 -2
  39. package/dist/components/chat/AttachmentUploader.js.map +1 -1
  40. package/dist/components/chat/ChatContainer.d.ts +0 -6
  41. package/dist/components/chat/ChatContainer.d.ts.map +1 -1
  42. package/dist/components/chat/ChatContainer.js +2 -2
  43. package/dist/components/chat/ChatContainer.js.map +1 -1
  44. package/dist/components/chat/ConversationSidebar.d.ts +0 -5
  45. package/dist/components/chat/ConversationSidebar.d.ts.map +1 -1
  46. package/dist/components/chat/ConversationSidebar.js +2 -2
  47. package/dist/components/chat/ConversationSidebar.js.map +1 -1
  48. package/dist/components/chat/DeleteConversationModal.d.ts +0 -3
  49. package/dist/components/chat/DeleteConversationModal.d.ts.map +1 -1
  50. package/dist/components/chat/DeleteConversationModal.js +2 -2
  51. package/dist/components/chat/DeleteConversationModal.js.map +1 -1
  52. package/dist/components/chat/FullChatInterface.d.ts +0 -23
  53. package/dist/components/chat/FullChatInterface.d.ts.map +1 -1
  54. package/dist/components/chat/FullChatInterface.js +2 -2
  55. package/dist/components/chat/FullChatInterface.js.map +1 -1
  56. package/dist/components/chat/InsightEditModal.d.ts +0 -5
  57. package/dist/components/chat/InsightEditModal.d.ts.map +1 -1
  58. package/dist/components/chat/InsightEditModal.js +2 -2
  59. package/dist/components/chat/InsightEditModal.js.map +1 -1
  60. package/dist/components/chat/LibrarySelector.d.ts +0 -6
  61. package/dist/components/chat/LibrarySelector.d.ts.map +1 -1
  62. package/dist/components/chat/LibrarySelector.js +2 -2
  63. package/dist/components/chat/LibrarySelector.js.map +1 -1
  64. package/dist/components/chat/MessageInput.d.ts +0 -5
  65. package/dist/components/chat/MessageInput.d.ts.map +1 -1
  66. package/dist/components/chat/MessageInput.js +2 -2
  67. package/dist/components/chat/MessageInput.js.map +1 -1
  68. package/dist/components/chat/MessageList.d.ts +0 -5
  69. package/dist/components/chat/MessageList.d.ts.map +1 -1
  70. package/dist/components/chat/MessageList.js +2 -2
  71. package/dist/components/chat/MessageList.js.map +1 -1
  72. package/dist/components/chat/RawContentToggle.d.ts.map +1 -1
  73. package/dist/components/chat/RawContentToggle.js +0 -6
  74. package/dist/components/chat/RawContentToggle.js.map +1 -1
  75. package/dist/components/chat/SearchToggles.d.ts +0 -5
  76. package/dist/components/chat/SearchToggles.d.ts.map +1 -1
  77. package/dist/components/chat/SearchToggles.js +2 -2
  78. package/dist/components/chat/SearchToggles.js.map +1 -1
  79. package/dist/components/chat/SimpleChatInterface.d.ts +0 -25
  80. package/dist/components/chat/SimpleChatInterface.d.ts.map +1 -1
  81. package/dist/components/chat/SimpleChatInterface.js +2 -2
  82. package/dist/components/chat/SimpleChatInterface.js.map +1 -1
  83. package/dist/components/chat/ThinkingSection.d.ts +0 -7
  84. package/dist/components/chat/ThinkingSection.d.ts.map +1 -1
  85. package/dist/components/chat/ThinkingSection.js +2 -2
  86. package/dist/components/chat/ThinkingSection.js.map +1 -1
  87. package/dist/components/chat/ThinkingToggle.d.ts +0 -6
  88. package/dist/components/chat/ThinkingToggle.d.ts.map +1 -1
  89. package/dist/components/chat/ThinkingToggle.js +2 -2
  90. package/dist/components/chat/ThinkingToggle.js.map +1 -1
  91. package/dist/components/chat/ToolSelector.d.ts +0 -6
  92. package/dist/components/chat/ToolSelector.d.ts.map +1 -1
  93. package/dist/components/chat/ToolSelector.js +2 -2
  94. package/dist/components/chat/ToolSelector.js.map +1 -1
  95. package/dist/components/shared/AppIcon.d.ts.map +1 -1
  96. package/dist/components/shared/AppIcon.js +2 -2
  97. package/dist/components/shared/AppIcon.js.map +1 -1
  98. package/dist/components/shared/Modal.d.ts.map +1 -1
  99. package/dist/components/shared/Modal.js +2 -2
  100. package/dist/components/shared/Modal.js.map +1 -1
  101. package/dist/components/workflow/WorkflowList.d.ts.map +1 -1
  102. package/dist/components/workflow/WorkflowList.js +2 -2
  103. package/dist/components/workflow/WorkflowList.js.map +1 -1
  104. package/dist/contexts/AuthContext.d.ts.map +1 -1
  105. package/dist/contexts/AuthContext.js +2 -2
  106. package/dist/contexts/AuthContext.js.map +1 -1
  107. package/dist/contexts/CustomizationContext.d.ts.map +1 -1
  108. package/dist/contexts/CustomizationContext.js +2 -2
  109. package/dist/contexts/CustomizationContext.js.map +1 -1
  110. package/dist/contexts/ThemeContext.d.ts.map +1 -1
  111. package/dist/contexts/ThemeContext.js +2 -2
  112. package/dist/contexts/ThemeContext.js.map +1 -1
  113. package/dist/layout/AdminHeader.d.ts +0 -5
  114. package/dist/layout/AdminHeader.d.ts.map +1 -1
  115. package/dist/layout/AdminHeader.js +2 -2
  116. package/dist/layout/AdminHeader.js.map +1 -1
  117. package/dist/layout/Footer.d.ts +0 -5
  118. package/dist/layout/Footer.d.ts.map +1 -1
  119. package/dist/layout/Footer.js +2 -2
  120. package/dist/layout/Footer.js.map +1 -1
  121. package/dist/layout/Header.d.ts.map +1 -1
  122. package/dist/layout/Header.js +2 -2
  123. package/dist/layout/Header.js.map +1 -1
  124. package/dist/layout/ThemeToggle.d.ts +0 -5
  125. package/dist/layout/ThemeToggle.d.ts.map +1 -1
  126. package/dist/layout/ThemeToggle.js +2 -2
  127. package/dist/layout/ThemeToggle.js.map +1 -1
  128. package/dist/lib/authz/sso-generator.d.ts.map +1 -1
  129. package/dist/lib/authz/sso-generator.js +7 -4
  130. package/dist/lib/authz/sso-generator.js.map +1 -1
  131. package/dist/lib/data/index.d.ts +2 -0
  132. package/dist/lib/data/index.d.ts.map +1 -1
  133. package/dist/lib/data/index.js +2 -0
  134. package/dist/lib/data/index.js.map +1 -1
  135. package/dist/lib/data/sharing.d.ts +154 -0
  136. package/dist/lib/data/sharing.d.ts.map +1 -0
  137. package/dist/lib/data/sharing.js +293 -0
  138. package/dist/lib/data/sharing.js.map +1 -0
  139. package/dist/lib/deploy/app-config.d.ts.map +1 -1
  140. package/dist/lib/deploy/app-config.js +5 -1
  141. package/dist/lib/deploy/app-config.js.map +1 -1
  142. package/dist/lib/deploy/app-permissions.d.ts +2 -0
  143. package/dist/lib/deploy/app-permissions.d.ts.map +1 -1
  144. package/dist/lib/deploy/app-permissions.js +2 -0
  145. package/dist/lib/deploy/app-permissions.js.map +1 -1
  146. package/package.json +1 -1
  147. package/dist/lib/agent/agent-api-helpers.d.ts +0 -16
  148. package/dist/lib/agent/agent-api-helpers.d.ts.map +0 -1
  149. package/dist/lib/agent/agent-api-helpers.js +0 -50
  150. package/dist/lib/agent/agent-api-helpers.js.map +0 -1
  151. package/dist/lib/agent/api-helpers.d.ts +0 -16
  152. package/dist/lib/agent/api-helpers.d.ts.map +0 -1
  153. package/dist/lib/agent/api-helpers.js +0 -50
  154. package/dist/lib/agent/api-helpers.js.map +0 -1
  155. package/dist/lib/agent/chat-cleanup.d.ts +0 -34
  156. package/dist/lib/agent/chat-cleanup.d.ts.map +0 -1
  157. package/dist/lib/agent/chat-cleanup.js +0 -133
  158. package/dist/lib/agent/chat-cleanup.js.map +0 -1
  159. package/dist/lib/agent/client.d.ts +0 -55
  160. package/dist/lib/agent/client.d.ts.map +0 -1
  161. package/dist/lib/agent/client.js +0 -103
  162. package/dist/lib/agent/client.js.map +0 -1
  163. package/dist/lib/agent/openai.d.ts +0 -94
  164. package/dist/lib/agent/openai.d.ts.map +0 -1
  165. package/dist/lib/agent/openai.js +0 -290
  166. package/dist/lib/agent/openai.js.map +0 -1
  167. package/dist/lib/ai/dual-model-router.d.ts +0 -130
  168. package/dist/lib/ai/dual-model-router.d.ts.map +0 -1
  169. package/dist/lib/ai/dual-model-router.js +0 -413
  170. package/dist/lib/ai/dual-model-router.js.map +0 -1
  171. package/dist/lib/ai/openai.d.ts +0 -94
  172. package/dist/lib/ai/openai.d.ts.map +0 -1
  173. package/dist/lib/ai/openai.js +0 -290
  174. package/dist/lib/ai/openai.js.map +0 -1
  175. package/dist/lib/ai/tools.d.ts +0 -64
  176. package/dist/lib/ai/tools.d.ts.map +0 -1
  177. package/dist/lib/ai/tools.js +0 -159
  178. package/dist/lib/ai/tools.js.map +0 -1
  179. package/dist/lib/audit/client.d.ts +0 -138
  180. package/dist/lib/audit/client.d.ts.map +0 -1
  181. package/dist/lib/audit/client.js +0 -486
  182. package/dist/lib/audit/client.js.map +0 -1
  183. package/dist/lib/audit/index.d.ts +0 -6
  184. package/dist/lib/audit/index.d.ts.map +0 -1
  185. package/dist/lib/audit/index.js +0 -6
  186. package/dist/lib/audit/index.js.map +0 -1
  187. package/dist/lib/auth/auth-helper.d.ts +0 -167
  188. package/dist/lib/auth/auth-helper.d.ts.map +0 -1
  189. package/dist/lib/auth/auth-helper.js +0 -345
  190. package/dist/lib/auth/auth-helper.js.map +0 -1
  191. package/dist/lib/auth/auth-state-manager.d.ts +0 -201
  192. package/dist/lib/auth/auth-state-manager.d.ts.map +0 -1
  193. package/dist/lib/auth/auth-state-manager.js +0 -597
  194. package/dist/lib/auth/auth-state-manager.js.map +0 -1
  195. package/dist/lib/auth/client.d.ts +0 -276
  196. package/dist/lib/auth/client.d.ts.map +0 -1
  197. package/dist/lib/auth/client.js +0 -325
  198. package/dist/lib/auth/client.js.map +0 -1
  199. package/dist/lib/auth/index.d.ts +0 -10
  200. package/dist/lib/auth/index.d.ts.map +0 -1
  201. package/dist/lib/auth/index.js +0 -10
  202. package/dist/lib/auth/index.js.map +0 -1
  203. package/dist/lib/auth/sso-route-handler.d.ts +0 -114
  204. package/dist/lib/auth/sso-route-handler.d.ts.map +0 -1
  205. package/dist/lib/auth/sso-route-handler.js +0 -199
  206. package/dist/lib/auth/sso-route-handler.js.map +0 -1
  207. package/dist/lib/auth/sso.d.ts +0 -162
  208. package/dist/lib/auth/sso.d.ts.map +0 -1
  209. package/dist/lib/auth/sso.js +0 -282
  210. package/dist/lib/auth/sso.js.map +0 -1
  211. package/dist/lib/authz/email.d.ts +0 -65
  212. package/dist/lib/authz/email.d.ts.map +0 -1
  213. package/dist/lib/authz/email.js +0 -112
  214. package/dist/lib/authz/email.js.map +0 -1
  215. package/dist/lib/authz/permissions.d.ts +0 -109
  216. package/dist/lib/authz/permissions.d.ts.map +0 -1
  217. package/dist/lib/authz/permissions.js +0 -238
  218. package/dist/lib/authz/permissions.js.map +0 -1
  219. package/dist/lib/authz/service-audit.d.ts +0 -41
  220. package/dist/lib/authz/service-audit.d.ts.map +0 -1
  221. package/dist/lib/authz/service-audit.js +0 -60
  222. package/dist/lib/authz/service-audit.js.map +0 -1
  223. package/dist/lib/chat-server/agent-api-client.d.ts +0 -151
  224. package/dist/lib/chat-server/agent-api-client.d.ts.map +0 -1
  225. package/dist/lib/chat-server/agent-api-client.js +0 -162
  226. package/dist/lib/chat-server/agent-api-client.js.map +0 -1
  227. package/dist/lib/chat-server/attachments.d.ts +0 -118
  228. package/dist/lib/chat-server/attachments.d.ts.map +0 -1
  229. package/dist/lib/chat-server/attachments.js +0 -317
  230. package/dist/lib/chat-server/attachments.js.map +0 -1
  231. package/dist/lib/chat-server/cleanup.d.ts +0 -34
  232. package/dist/lib/chat-server/cleanup.d.ts.map +0 -1
  233. package/dist/lib/chat-server/cleanup.js +0 -133
  234. package/dist/lib/chat-server/cleanup.js.map +0 -1
  235. package/dist/lib/chat-server/conversations.d.ts +0 -159
  236. package/dist/lib/chat-server/conversations.d.ts.map +0 -1
  237. package/dist/lib/chat-server/conversations.js +0 -278
  238. package/dist/lib/chat-server/conversations.js.map +0 -1
  239. package/dist/lib/chat-server/insights.d.ts +0 -84
  240. package/dist/lib/chat-server/insights.d.ts.map +0 -1
  241. package/dist/lib/chat-server/insights.js +0 -193
  242. package/dist/lib/chat-server/insights.js.map +0 -1
  243. package/dist/lib/chat-server/messages.d.ts +0 -154
  244. package/dist/lib/chat-server/messages.d.ts.map +0 -1
  245. package/dist/lib/chat-server/messages.js +0 -282
  246. package/dist/lib/chat-server/messages.js.map +0 -1
  247. package/dist/lib/chat-server/middleware.d.ts +0 -119
  248. package/dist/lib/chat-server/middleware.d.ts.map +0 -1
  249. package/dist/lib/chat-server/middleware.js +0 -234
  250. package/dist/lib/chat-server/middleware.js.map +0 -1
  251. package/dist/lib/chat-server/models.d.ts +0 -60
  252. package/dist/lib/chat-server/models.d.ts.map +0 -1
  253. package/dist/lib/chat-server/models.js +0 -205
  254. package/dist/lib/chat-server/models.js.map +0 -1
  255. package/dist/lib/chat-server/search.d.ts +0 -89
  256. package/dist/lib/chat-server/search.d.ts.map +0 -1
  257. package/dist/lib/chat-server/search.js +0 -203
  258. package/dist/lib/chat-server/search.js.map +0 -1
  259. package/dist/lib/chat-server/sharing.d.ts +0 -70
  260. package/dist/lib/chat-server/sharing.d.ts.map +0 -1
  261. package/dist/lib/chat-server/sharing.js +0 -146
  262. package/dist/lib/chat-server/sharing.js.map +0 -1
  263. package/dist/lib/data/embeddings-app-client.d.ts +0 -37
  264. package/dist/lib/data/embeddings-app-client.d.ts.map +0 -1
  265. package/dist/lib/data/embeddings-app-client.js +0 -72
  266. package/dist/lib/data/embeddings-app-client.js.map +0 -1
  267. package/dist/lib/deploy/manifest-validator.d.ts +0 -25
  268. package/dist/lib/deploy/manifest-validator.d.ts.map +0 -1
  269. package/dist/lib/deploy/manifest-validator.js +0 -142
  270. package/dist/lib/deploy/manifest-validator.js.map +0 -1
  271. package/dist/lib/embeddings/data-client.d.ts +0 -37
  272. package/dist/lib/embeddings/data-client.d.ts.map +0 -1
  273. package/dist/lib/embeddings/data-client.js +0 -72
  274. package/dist/lib/embeddings/data-client.js.map +0 -1
  275. package/dist/lib/hooks/useMediaQuery.d.ts +0 -6
  276. package/dist/lib/hooks/useMediaQuery.d.ts.map +0 -1
  277. package/dist/lib/hooks/useMediaQuery.js +0 -18
  278. package/dist/lib/hooks/useMediaQuery.js.map +0 -1
  279. package/dist/lib/insights/client.d.ts +0 -131
  280. package/dist/lib/insights/client.d.ts.map +0 -1
  281. package/dist/lib/insights/client.js +0 -306
  282. package/dist/lib/insights/client.js.map +0 -1
  283. package/dist/lib/insights/index.d.ts +0 -5
  284. package/dist/lib/insights/index.d.ts.map +0 -1
  285. package/dist/lib/insights/index.js +0 -5
  286. package/dist/lib/insights/index.js.map +0 -1
  287. package/dist/lib/next/authz-client.d.ts +0 -120
  288. package/dist/lib/next/authz-client.d.ts.map +0 -1
  289. package/dist/lib/next/authz-client.js +0 -203
  290. package/dist/lib/next/authz-client.js.map +0 -1
  291. package/dist/lib/next/passkey.d.ts +0 -78
  292. package/dist/lib/next/passkey.d.ts.map +0 -1
  293. package/dist/lib/next/passkey.js +0 -380
  294. package/dist/lib/next/passkey.js.map +0 -1
  295. package/dist/lib/next/sso.d.ts +0 -51
  296. package/dist/lib/next/sso.d.ts.map +0 -1
  297. package/dist/lib/next/sso.js +0 -167
  298. package/dist/lib/next/sso.js.map +0 -1
  299. package/dist/lib/rbac/client.d.ts +0 -320
  300. package/dist/lib/rbac/client.d.ts.map +0 -1
  301. package/dist/lib/rbac/client.js +0 -532
  302. package/dist/lib/rbac/client.js.map +0 -1
  303. package/dist/lib/rbac/index.d.ts +0 -6
  304. package/dist/lib/rbac/index.d.ts.map +0 -1
  305. package/dist/lib/rbac/index.js +0 -6
  306. package/dist/lib/rbac/index.js.map +0 -1
  307. package/dist/lib/search/providers.d.ts +0 -105
  308. package/dist/lib/search/providers.d.ts.map +0 -1
  309. package/dist/lib/search/providers.js +0 -140
  310. package/dist/lib/search/providers.js.map +0 -1
  311. package/dist/lib/services/api-client.d.ts +0 -46
  312. package/dist/lib/services/api-client.d.ts.map +0 -1
  313. package/dist/lib/services/api-client.js +0 -80
  314. package/dist/lib/services/api-client.js.map +0 -1
  315. package/dist/lib/services/app-library.d.ts +0 -36
  316. package/dist/lib/services/app-library.d.ts.map +0 -1
  317. package/dist/lib/services/app-library.js +0 -123
  318. package/dist/lib/services/app-library.js.map +0 -1
  319. package/dist/lib/services/app-utils.d.ts +0 -22
  320. package/dist/lib/services/app-utils.d.ts.map +0 -1
  321. package/dist/lib/services/app-utils.js +0 -36
  322. package/dist/lib/services/app-utils.js.map +0 -1
  323. package/dist/lib/services/audit.d.ts +0 -41
  324. package/dist/lib/services/audit.d.ts.map +0 -1
  325. package/dist/lib/services/audit.js +0 -60
  326. package/dist/lib/services/audit.js.map +0 -1
  327. package/dist/lib/services/database-cloner.d.ts +0 -28
  328. package/dist/lib/services/database-cloner.d.ts.map +0 -1
  329. package/dist/lib/services/database-cloner.js +0 -197
  330. package/dist/lib/services/database-cloner.js.map +0 -1
  331. package/dist/lib/services/default-apps.d.ts +0 -31
  332. package/dist/lib/services/default-apps.d.ts.map +0 -1
  333. package/dist/lib/services/default-apps.js +0 -121
  334. package/dist/lib/services/default-apps.js.map +0 -1
  335. package/dist/lib/services/deploy-api-client.d.ts +0 -184
  336. package/dist/lib/services/deploy-api-client.d.ts.map +0 -1
  337. package/dist/lib/services/deploy-api-client.js +0 -208
  338. package/dist/lib/services/deploy-api-client.js.map +0 -1
  339. package/dist/lib/services/deployment-service-client.d.ts +0 -122
  340. package/dist/lib/services/deployment-service-client.d.ts.map +0 -1
  341. package/dist/lib/services/deployment-service-client.js +0 -245
  342. package/dist/lib/services/deployment-service-client.js.map +0 -1
  343. package/dist/lib/services/docs.d.ts +0 -80
  344. package/dist/lib/services/docs.d.ts.map +0 -1
  345. package/dist/lib/services/docs.js +0 -160
  346. package/dist/lib/services/docs.js.map +0 -1
  347. package/dist/lib/services/email-validation.d.ts +0 -33
  348. package/dist/lib/services/email-validation.d.ts.map +0 -1
  349. package/dist/lib/services/email-validation.js +0 -70
  350. package/dist/lib/services/email-validation.js.map +0 -1
  351. package/dist/lib/services/email.d.ts +0 -65
  352. package/dist/lib/services/email.d.ts.map +0 -1
  353. package/dist/lib/services/email.js +0 -112
  354. package/dist/lib/services/email.js.map +0 -1
  355. package/dist/lib/services/github-manifest-fetcher.d.ts +0 -74
  356. package/dist/lib/services/github-manifest-fetcher.d.ts.map +0 -1
  357. package/dist/lib/services/github-manifest-fetcher.js +0 -168
  358. package/dist/lib/services/github-manifest-fetcher.js.map +0 -1
  359. package/dist/lib/services/libraries.d.ts +0 -124
  360. package/dist/lib/services/libraries.d.ts.map +0 -1
  361. package/dist/lib/services/libraries.js +0 -507
  362. package/dist/lib/services/libraries.js.map +0 -1
  363. package/dist/lib/services/litellm.d.ts +0 -33
  364. package/dist/lib/services/litellm.d.ts.map +0 -1
  365. package/dist/lib/services/litellm.js +0 -222
  366. package/dist/lib/services/litellm.js.map +0 -1
  367. package/dist/lib/services/manifest-schema.d.ts +0 -66
  368. package/dist/lib/services/manifest-schema.d.ts.map +0 -1
  369. package/dist/lib/services/manifest-schema.js +0 -86
  370. package/dist/lib/services/manifest-schema.js.map +0 -1
  371. package/dist/lib/services/manifest-validator.d.ts +0 -25
  372. package/dist/lib/services/manifest-validator.d.ts.map +0 -1
  373. package/dist/lib/services/manifest-validator.js +0 -142
  374. package/dist/lib/services/manifest-validator.js.map +0 -1
  375. package/dist/lib/services/manifest.d.ts +0 -45
  376. package/dist/lib/services/manifest.d.ts.map +0 -1
  377. package/dist/lib/services/manifest.js +0 -137
  378. package/dist/lib/services/manifest.js.map +0 -1
  379. package/dist/lib/services/permissions.d.ts +0 -109
  380. package/dist/lib/services/permissions.d.ts.map +0 -1
  381. package/dist/lib/services/permissions.js +0 -238
  382. package/dist/lib/services/permissions.js.map +0 -1
  383. package/dist/lib/services/service-client.d.ts +0 -99
  384. package/dist/lib/services/service-client.d.ts.map +0 -1
  385. package/dist/lib/services/service-client.js +0 -146
  386. package/dist/lib/services/service-client.js.map +0 -1
  387. package/dist/lib/services/tags.d.ts +0 -37
  388. package/dist/lib/services/tags.d.ts.map +0 -1
  389. package/dist/lib/services/tags.js +0 -189
  390. package/dist/lib/services/tags.js.map +0 -1
  391. package/dist/lib/services/url-validation.d.ts +0 -22
  392. package/dist/lib/services/url-validation.d.ts.map +0 -1
  393. package/dist/lib/services/url-validation.js +0 -86
  394. package/dist/lib/services/url-validation.js.map +0 -1
  395. package/dist/lib/services/user-management.d.ts +0 -81
  396. package/dist/lib/services/user-management.d.ts.map +0 -1
  397. package/dist/lib/services/user-management.js +0 -154
  398. package/dist/lib/services/user-management.js.map +0 -1
  399. package/dist/lib/storage/index.d.ts +0 -11
  400. package/dist/lib/storage/index.d.ts.map +0 -1
  401. package/dist/lib/storage/index.js +0 -12
  402. package/dist/lib/storage/index.js.map +0 -1
  403. package/dist/lib/storage/types.d.ts +0 -61
  404. package/dist/lib/storage/types.d.ts.map +0 -1
  405. package/dist/lib/storage/types.js +0 -8
  406. package/dist/lib/storage/types.js.map +0 -1
  407. package/dist/lib/stores/app-config-store.d.ts +0 -90
  408. package/dist/lib/stores/app-config-store.d.ts.map +0 -1
  409. package/dist/lib/stores/app-config-store.js +0 -491
  410. package/dist/lib/stores/app-config-store.js.map +0 -1
  411. package/dist/lib/stores/bridge-config-store.d.ts +0 -44
  412. package/dist/lib/stores/bridge-config-store.d.ts.map +0 -1
  413. package/dist/lib/stores/bridge-config-store.js +0 -207
  414. package/dist/lib/stores/bridge-config-store.js.map +0 -1
  415. package/dist/lib/stores/chat-config-store.d.ts +0 -28
  416. package/dist/lib/stores/chat-config-store.d.ts.map +0 -1
  417. package/dist/lib/stores/chat-config-store.js +0 -152
  418. package/dist/lib/stores/chat-config-store.js.map +0 -1
  419. package/dist/lib/stores/data-settings-store.d.ts +0 -44
  420. package/dist/lib/stores/data-settings-store.d.ts.map +0 -1
  421. package/dist/lib/stores/data-settings-store.js +0 -202
  422. package/dist/lib/stores/data-settings-store.js.map +0 -1
  423. package/dist/lib/stores/email-config-store.d.ts +0 -45
  424. package/dist/lib/stores/email-config-store.d.ts.map +0 -1
  425. package/dist/lib/stores/email-config-store.js +0 -185
  426. package/dist/lib/stores/email-config-store.js.map +0 -1
  427. package/dist/lib/stores/portal-config-store.d.ts +0 -38
  428. package/dist/lib/stores/portal-config-store.d.ts.map +0 -1
  429. package/dist/lib/stores/portal-config-store.js +0 -238
  430. package/dist/lib/stores/portal-config-store.js.map +0 -1
  431. package/dist/lib/stores/video-store.d.ts +0 -91
  432. package/dist/lib/stores/video-store.d.ts.map +0 -1
  433. package/dist/lib/stores/video-store.js +0 -451
  434. package/dist/lib/stores/video-store.js.map +0 -1
  435. package/dist/lib/videos/access-control.d.ts +0 -35
  436. package/dist/lib/videos/access-control.d.ts.map +0 -1
  437. package/dist/lib/videos/access-control.js +0 -63
  438. package/dist/lib/videos/access-control.js.map +0 -1
  439. package/dist/lib/videos/agent-api-client.d.ts +0 -46
  440. package/dist/lib/videos/agent-api-client.d.ts.map +0 -1
  441. package/dist/lib/videos/agent-api-client.js +0 -75
  442. package/dist/lib/videos/agent-api-client.js.map +0 -1
  443. package/dist/lib/videos/creation.d.ts +0 -24
  444. package/dist/lib/videos/creation.d.ts.map +0 -1
  445. package/dist/lib/videos/creation.js +0 -112
  446. package/dist/lib/videos/creation.js.map +0 -1
  447. package/dist/lib/videos/expiration.d.ts +0 -13
  448. package/dist/lib/videos/expiration.d.ts.map +0 -1
  449. package/dist/lib/videos/expiration.js +0 -95
  450. package/dist/lib/videos/expiration.js.map +0 -1
  451. package/dist/lib/videos/image-resize.d.ts +0 -42
  452. package/dist/lib/videos/image-resize.d.ts.map +0 -1
  453. package/dist/lib/videos/image-resize.js +0 -106
  454. package/dist/lib/videos/image-resize.js.map +0 -1
  455. package/dist/lib/videos/processing.d.ts +0 -35
  456. package/dist/lib/videos/processing.d.ts.map +0 -1
  457. package/dist/lib/videos/processing.js +0 -154
  458. package/dist/lib/videos/processing.js.map +0 -1
  459. package/dist/lib/videos/status.d.ts +0 -2
  460. package/dist/lib/videos/status.d.ts.map +0 -1
  461. package/dist/lib/videos/status.js +0 -141
  462. package/dist/lib/videos/status.js.map +0 -1
  463. package/dist/lib/videos/upload.d.ts +0 -41
  464. package/dist/lib/videos/upload.d.ts.map +0 -1
  465. package/dist/lib/videos/upload.js +0 -118
  466. package/dist/lib/videos/upload.js.map +0 -1
  467. package/dist/lib/videos/url-normalization.d.ts +0 -29
  468. package/dist/lib/videos/url-normalization.d.ts.map +0 -1
  469. package/dist/lib/videos/url-normalization.js +0 -61
  470. package/dist/lib/videos/url-normalization.js.map +0 -1
  471. package/dist/sso/index.d.ts +0 -3
  472. package/dist/sso/index.d.ts.map +0 -1
  473. package/dist/sso/index.js +0 -3
  474. package/dist/sso/index.js.map +0 -1
  475. package/dist/sso/token.d.ts +0 -17
  476. package/dist/sso/token.d.ts.map +0 -1
  477. package/dist/sso/token.js +0 -57
  478. package/dist/sso/token.js.map +0 -1
  479. package/dist/types/sso.d.ts +0 -37
  480. package/dist/types/sso.d.ts.map +0 -1
  481. package/dist/types/sso.js +0 -2
  482. package/dist/types/sso.js.map +0 -1
@@ -1,119 +0,0 @@
1
- /**
2
- * Chat API Middleware
3
- *
4
- * Error handling, authentication, and common utilities for chat API routes.
5
- */
6
- import { NextRequest, NextResponse } from 'next/server';
7
- export interface ChatApiError {
8
- error: string;
9
- code: string;
10
- details?: any;
11
- }
12
- /**
13
- * Standard error response builder
14
- */
15
- export declare function errorResponse(message: string, status?: number, code?: string, details?: any): NextResponse<ChatApiError>;
16
- /**
17
- * Success response builder
18
- */
19
- export declare function successResponse<T>(data: T, status?: number): NextResponse<T>;
20
- /**
21
- * Error codes for chat API
22
- */
23
- export declare const ChatErrorCodes: {
24
- readonly UNAUTHORIZED: "UNAUTHORIZED";
25
- readonly INVALID_TOKEN: "INVALID_TOKEN";
26
- readonly TOKEN_EXPIRED: "TOKEN_EXPIRED";
27
- readonly FORBIDDEN: "FORBIDDEN";
28
- readonly NO_CONVERSATION_ACCESS: "NO_CONVERSATION_ACCESS";
29
- readonly CONVERSATION_IS_PRIVATE: "CONVERSATION_IS_PRIVATE";
30
- readonly CONVERSATION_NOT_FOUND: "CONVERSATION_NOT_FOUND";
31
- readonly MESSAGE_NOT_FOUND: "MESSAGE_NOT_FOUND";
32
- readonly ATTACHMENT_NOT_FOUND: "ATTACHMENT_NOT_FOUND";
33
- readonly INVALID_INPUT: "INVALID_INPUT";
34
- readonly MISSING_REQUIRED_FIELD: "MISSING_REQUIRED_FIELD";
35
- readonly INVALID_FILE_TYPE: "INVALID_FILE_TYPE";
36
- readonly FILE_TOO_LARGE: "FILE_TOO_LARGE";
37
- readonly SEARCH_UNAVAILABLE: "SEARCH_UNAVAILABLE";
38
- readonly OPENAI_UNAVAILABLE: "OPENAI_UNAVAILABLE";
39
- readonly MILVUS_UNAVAILABLE: "MILVUS_UNAVAILABLE";
40
- readonly RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED";
41
- readonly INTERNAL_ERROR: "INTERNAL_ERROR";
42
- };
43
- /**
44
- * Validate required fields in request body
45
- */
46
- export declare function validateRequired<T extends Record<string, any>>(body: T, requiredFields: (keyof T)[]): {
47
- valid: boolean;
48
- missing?: string[];
49
- };
50
- /**
51
- * Parse and validate JSON request body
52
- */
53
- export declare function parseRequestBody<T>(request: NextRequest): Promise<{
54
- success: boolean;
55
- data?: T;
56
- error?: NextResponse;
57
- }>;
58
- /**
59
- * Extract user ID from request (from auth middleware)
60
- *
61
- * Assumes authentication middleware has already run and set user context.
62
- */
63
- export declare function getUserId(request: NextRequest): string | null;
64
- /**
65
- * Ensure user is authenticated
66
- */
67
- export declare function requireAuth(request: NextRequest): {
68
- authenticated: boolean;
69
- userId?: string;
70
- error?: NextResponse;
71
- };
72
- /**
73
- * Safe async handler wrapper for API routes
74
- *
75
- * Catches errors and returns proper error responses
76
- */
77
- export declare function withErrorHandling(handler: (request: NextRequest, context?: any) => Promise<NextResponse<unknown>>): (request: NextRequest, context?: any) => Promise<NextResponse<unknown>>;
78
- /**
79
- * Validate file upload
80
- */
81
- export declare function validateFileUpload(file: File, options?: {
82
- maxSizeMB?: number;
83
- allowedTypes?: string[];
84
- }): {
85
- valid: boolean;
86
- error?: NextResponse;
87
- };
88
- /**
89
- * Pagination helper
90
- */
91
- export declare function parsePagination(request: NextRequest): {
92
- page: number;
93
- limit: number;
94
- offset: number;
95
- };
96
- /**
97
- * Build paginated response
98
- */
99
- export declare function paginatedResponse<T>(data: T[], total: number, page: number, limit: number): {
100
- data: T[];
101
- pagination: {
102
- page: number;
103
- limit: number;
104
- total: number;
105
- totalPages: number;
106
- hasNext: boolean;
107
- hasPrev: boolean;
108
- };
109
- };
110
- export declare function checkRateLimit(userId: string, options?: {
111
- maxRequests?: number;
112
- windowMs?: number;
113
- }): {
114
- allowed: boolean;
115
- remaining: number;
116
- resetAt: number;
117
- error?: NextResponse;
118
- };
119
- //# sourceMappingURL=middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/lib/chat-server/middleware.ts"],"names":[],"mappings":"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"}
@@ -1,234 +0,0 @@
1
- /**
2
- * Chat API Middleware
3
- *
4
- * Error handling, authentication, and common utilities for chat API routes.
5
- */
6
- import { NextResponse } from 'next/server';
7
- /**
8
- * Standard error response builder
9
- */
10
- export function errorResponse(message, status = 500, code, details) {
11
- return NextResponse.json({
12
- error: message,
13
- code: code || `ERROR_${status}`,
14
- details,
15
- }, { status });
16
- }
17
- /**
18
- * Success response builder
19
- */
20
- export function successResponse(data, status = 200) {
21
- return NextResponse.json(data, { status });
22
- }
23
- /**
24
- * Error codes for chat API
25
- */
26
- export const ChatErrorCodes = {
27
- // Authentication errors (401)
28
- UNAUTHORIZED: 'UNAUTHORIZED',
29
- INVALID_TOKEN: 'INVALID_TOKEN',
30
- TOKEN_EXPIRED: 'TOKEN_EXPIRED',
31
- // Authorization errors (403)
32
- FORBIDDEN: 'FORBIDDEN',
33
- NO_CONVERSATION_ACCESS: 'NO_CONVERSATION_ACCESS',
34
- CONVERSATION_IS_PRIVATE: 'CONVERSATION_IS_PRIVATE',
35
- // Not found errors (404)
36
- CONVERSATION_NOT_FOUND: 'CONVERSATION_NOT_FOUND',
37
- MESSAGE_NOT_FOUND: 'MESSAGE_NOT_FOUND',
38
- ATTACHMENT_NOT_FOUND: 'ATTACHMENT_NOT_FOUND',
39
- // Validation errors (400)
40
- INVALID_INPUT: 'INVALID_INPUT',
41
- MISSING_REQUIRED_FIELD: 'MISSING_REQUIRED_FIELD',
42
- INVALID_FILE_TYPE: 'INVALID_FILE_TYPE',
43
- FILE_TOO_LARGE: 'FILE_TOO_LARGE',
44
- // Service errors (503)
45
- SEARCH_UNAVAILABLE: 'SEARCH_UNAVAILABLE',
46
- OPENAI_UNAVAILABLE: 'OPENAI_UNAVAILABLE',
47
- MILVUS_UNAVAILABLE: 'MILVUS_UNAVAILABLE',
48
- // Rate limiting (429)
49
- RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',
50
- // Server errors (500)
51
- INTERNAL_ERROR: 'INTERNAL_ERROR',
52
- };
53
- /**
54
- * Validate required fields in request body
55
- */
56
- export function validateRequired(body, requiredFields) {
57
- const missing = requiredFields.filter(field => !body[field]);
58
- if (missing.length > 0) {
59
- return { valid: false, missing: missing };
60
- }
61
- return { valid: true };
62
- }
63
- /**
64
- * Parse and validate JSON request body
65
- */
66
- export async function parseRequestBody(request) {
67
- try {
68
- const body = await request.json();
69
- return { success: true, data: body };
70
- }
71
- catch (error) {
72
- return {
73
- success: false,
74
- error: errorResponse('Invalid JSON in request body', 400, ChatErrorCodes.INVALID_INPUT),
75
- };
76
- }
77
- }
78
- /**
79
- * Extract user ID from request (from auth middleware)
80
- *
81
- * Assumes authentication middleware has already run and set user context.
82
- */
83
- export function getUserId(request) {
84
- // This will be populated by your existing auth middleware
85
- // Adjust based on your authentication implementation
86
- return request.headers.get('x-user-id') || null;
87
- }
88
- /**
89
- * Ensure user is authenticated
90
- */
91
- export function requireAuth(request) {
92
- const userId = getUserId(request);
93
- if (!userId) {
94
- return {
95
- authenticated: false,
96
- error: errorResponse('Authentication required', 401, ChatErrorCodes.UNAUTHORIZED),
97
- };
98
- }
99
- return { authenticated: true, userId };
100
- }
101
- /**
102
- * Safe async handler wrapper for API routes
103
- *
104
- * Catches errors and returns proper error responses
105
- */
106
- export function withErrorHandling(handler) {
107
- return async (request, context) => {
108
- try {
109
- return await handler(request, context);
110
- }
111
- catch (error) {
112
- console.error('Chat API error:', {
113
- path: request.nextUrl.pathname,
114
- method: request.method,
115
- error: error.message,
116
- stack: error.stack,
117
- });
118
- // Handle known error types
119
- if (error.code === 'ECONNREFUSED') {
120
- return errorResponse('Service temporarily unavailable', 503, ChatErrorCodes.SEARCH_UNAVAILABLE, { service: 'data' });
121
- }
122
- // Handle OpenAI errors
123
- if (error.message?.includes('OpenAI')) {
124
- return errorResponse('AI service temporarily unavailable', 503, ChatErrorCodes.OPENAI_UNAVAILABLE);
125
- }
126
- // Handle Milvus errors
127
- if (error.message?.includes('Milvus') || error.message?.includes('vector')) {
128
- return errorResponse('Search service temporarily unavailable', 503, ChatErrorCodes.MILVUS_UNAVAILABLE);
129
- }
130
- // Generic error
131
- return errorResponse('An unexpected error occurred', 500, ChatErrorCodes.INTERNAL_ERROR, process.env.NODE_ENV === 'development' ? { message: error.message } : undefined);
132
- }
133
- };
134
- }
135
- /**
136
- * Validate file upload
137
- */
138
- export function validateFileUpload(file, options = {}) {
139
- const { maxSizeMB = 25, allowedTypes } = options;
140
- // Check file size
141
- const maxSizeBytes = maxSizeMB * 1024 * 1024;
142
- if (file.size > maxSizeBytes) {
143
- return {
144
- valid: false,
145
- error: errorResponse(`File too large. Maximum size is ${maxSizeMB}MB`, 400, ChatErrorCodes.FILE_TOO_LARGE, { maxSizeMB, actualSizeMB: (file.size / 1024 / 1024).toFixed(2) }),
146
- };
147
- }
148
- // Check file type
149
- if (allowedTypes && !allowedTypes.includes(file.type)) {
150
- return {
151
- valid: false,
152
- error: errorResponse('File type not supported', 400, ChatErrorCodes.INVALID_FILE_TYPE, { allowedTypes, actualType: file.type }),
153
- };
154
- }
155
- return { valid: true };
156
- }
157
- /**
158
- * Pagination helper
159
- */
160
- export function parsePagination(request) {
161
- const searchParams = request.nextUrl.searchParams;
162
- const page = Math.max(1, parseInt(searchParams.get('page') || '1'));
163
- const limit = Math.min(100, Math.max(1, parseInt(searchParams.get('limit') || '20')));
164
- const offset = (page - 1) * limit;
165
- return { page, limit, offset };
166
- }
167
- /**
168
- * Build paginated response
169
- */
170
- export function paginatedResponse(data, total, page, limit) {
171
- return {
172
- data,
173
- pagination: {
174
- page,
175
- limit,
176
- total,
177
- totalPages: Math.ceil(total / limit),
178
- hasNext: page * limit < total,
179
- hasPrev: page > 1,
180
- },
181
- };
182
- }
183
- /**
184
- * Rate limiting helper (simple in-memory implementation)
185
- *
186
- * For production, use Redis or a proper rate limiting service
187
- */
188
- const rateLimitStore = new Map();
189
- export function checkRateLimit(userId, options = {}) {
190
- const { maxRequests = 100, windowMs = 60000 } = options; // 100 requests per minute by default
191
- const now = Date.now();
192
- const userLimit = rateLimitStore.get(userId);
193
- // Clean up expired entries periodically
194
- if (Math.random() < 0.01) {
195
- for (const [key, value] of rateLimitStore.entries()) {
196
- if (value.resetAt < now) {
197
- rateLimitStore.delete(key);
198
- }
199
- }
200
- }
201
- if (!userLimit || userLimit.resetAt < now) {
202
- // New window
203
- rateLimitStore.set(userId, {
204
- count: 1,
205
- resetAt: now + windowMs,
206
- });
207
- return {
208
- allowed: true,
209
- remaining: maxRequests - 1,
210
- resetAt: now + windowMs,
211
- };
212
- }
213
- if (userLimit.count >= maxRequests) {
214
- return {
215
- allowed: false,
216
- remaining: 0,
217
- resetAt: userLimit.resetAt,
218
- error: errorResponse('Rate limit exceeded. Please try again later.', 429, ChatErrorCodes.RATE_LIMIT_EXCEEDED, {
219
- resetAt: new Date(userLimit.resetAt).toISOString(),
220
- limit: maxRequests,
221
- window: `${windowMs / 1000}s`,
222
- }),
223
- };
224
- }
225
- // Increment count
226
- userLimit.count++;
227
- rateLimitStore.set(userId, userLimit);
228
- return {
229
- allowed: true,
230
- remaining: maxRequests - userLimit.count,
231
- resetAt: userLimit.resetAt,
232
- };
233
- }
234
- //# sourceMappingURL=middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/lib/chat-server/middleware.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- /**
2
- * Model Registry Service
3
- *
4
- * Fetches available models from liteLLM and provides model selection utilities.
5
- * Models are dynamically loaded from liteLLM's /v1/models endpoint.
6
- */
7
- export interface ModelOption {
8
- id: string;
9
- name: string;
10
- description: string;
11
- capabilities?: {
12
- multimodal: boolean;
13
- toolCalling: boolean;
14
- };
15
- }
16
- /**
17
- * Get available model options for chat from liteLLM
18
- *
19
- * @returns Array of available models (filtered to chat, research, frontier)
20
- */
21
- export declare function getAvailableModels(): Promise<ModelOption[]>;
22
- /**
23
- * Get model name from model ID
24
- *
25
- * @param modelId - Model ID from liteLLM
26
- * @returns Model ID (passes through, as liteLLM expects the exact model name)
27
- */
28
- export declare function getModelName(modelId?: string): Promise<string>;
29
- /**
30
- * Get model display name
31
- */
32
- export declare function getModelDisplayName(modelId?: string): Promise<string>;
33
- /**
34
- * Get model capabilities by model ID (UI capabilities - what users can do)
35
- *
36
- * @param modelId - Model ID
37
- * @returns Model capabilities or undefined if not found
38
- */
39
- export declare function getModelCapabilities(modelId?: string): Promise<{
40
- multimodal: boolean;
41
- toolCalling: boolean;
42
- } | undefined>;
43
- /**
44
- * Get NATIVE model capabilities by model ID (for routing decisions)
45
- *
46
- * This returns what the model actually supports without dual-model routing.
47
- * Use this to determine if dual-model routing is needed.
48
- *
49
- * @param modelId - Model ID
50
- * @returns Native model capabilities or undefined if not found
51
- */
52
- export declare function getNativeModelCapabilities(modelId?: string): {
53
- multimodal: boolean;
54
- toolCalling: boolean;
55
- } | undefined;
56
- /**
57
- * Clear the model cache (useful for testing or manual refresh)
58
- */
59
- export declare function clearModelCache(): void;
60
- //# sourceMappingURL=models.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/lib/chat-server/models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAgFD;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CA6CjE;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOpE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3E;AAiBD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpE,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,SAAS,CAAC,CAeb;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,SAAS,CAMZ;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
@@ -1,205 +0,0 @@
1
- /**
2
- * Model Registry Service
3
- *
4
- * Fetches available models from liteLLM and provides model selection utilities.
5
- * Models are dynamically loaded from liteLLM's /v1/models endpoint.
6
- */
7
- import { fetchAvailableModels as fetchLiteLLMModels } from '../services/litellm';
8
- /**
9
- * UI Model Capabilities - What features are available to users via dual-model routing
10
- *
11
- * These capabilities reflect what the USER can do (enable search toggles, upload images, etc.)
12
- * NOT what the model natively supports. For example, 'chat' (phi-4) shows toolCalling: true
13
- * because dual-model routing makes tool calling available through qwen3-30b.
14
- */
15
- const MODEL_CAPABILITIES = {
16
- 'claude-sonnet-4-5': { multimodal: true, toolCalling: true },
17
- 'claude-haiku-4-5': { multimodal: true, toolCalling: true },
18
- 'frontier': { multimodal: true, toolCalling: true },
19
- 'frontier-fast': { multimodal: true, toolCalling: true },
20
- 'phi-4': { multimodal: true, toolCalling: true }, // Via dual-model routing
21
- 'qwen3-30b': { multimodal: true, toolCalling: true }, // Via dual-model routing for vision
22
- 'research': { multimodal: true, toolCalling: true }, // Via dual-model routing for vision
23
- 'agent': { multimodal: true, toolCalling: true },
24
- 'chat': { multimodal: true, toolCalling: true }, // Via dual-model routing
25
- 'vision': { multimodal: true, toolCalling: true },
26
- 'classify': { multimodal: true, toolCalling: true },
27
- 'parsing': { multimodal: true, toolCalling: true },
28
- 'cleanup': { multimodal: true, toolCalling: true },
29
- 'fast': { multimodal: true, toolCalling: true },
30
- 'default': { multimodal: true, toolCalling: true },
31
- 'analysis': { multimodal: true, toolCalling: true },
32
- 'tool_calling': { multimodal: true, toolCalling: true },
33
- };
34
- /**
35
- * Native Model Capabilities - What the model actually supports without dual-model routing
36
- *
37
- * This is used for routing decisions to determine if dual-model routing is needed.
38
- * For example, 'chat' (phi-4) has toolCalling: false because it needs qwen3-30b for tools.
39
- */
40
- const NATIVE_MODEL_CAPABILITIES = {
41
- 'claude-sonnet-4-5': { multimodal: true, toolCalling: true },
42
- 'claude-haiku-4-5': { multimodal: true, toolCalling: true },
43
- 'frontier': { multimodal: true, toolCalling: true },
44
- 'frontier-fast': { multimodal: true, toolCalling: true },
45
- 'phi-4': { multimodal: true, toolCalling: false }, // Cannot do tool calling natively
46
- 'qwen3-30b': { multimodal: false, toolCalling: true }, // Cannot do multimodal natively
47
- 'research': { multimodal: false, toolCalling: true }, // qwen3-30b based
48
- 'agent': { multimodal: false, toolCalling: true },
49
- 'chat': { multimodal: true, toolCalling: false }, // phi-4 based - no native tool calling
50
- 'vision': { multimodal: true, toolCalling: false }, // phi-4 based
51
- 'classify': { multimodal: true, toolCalling: false },
52
- 'parsing': { multimodal: true, toolCalling: false },
53
- 'cleanup': { multimodal: true, toolCalling: false },
54
- 'fast': { multimodal: true, toolCalling: false },
55
- 'default': { multimodal: false, toolCalling: true },
56
- 'analysis': { multimodal: false, toolCalling: true },
57
- 'tool_calling': { multimodal: false, toolCalling: true },
58
- };
59
- // Cache for models (refreshed every 60 seconds)
60
- let cachedModels = null;
61
- let cacheTimestamp = 0;
62
- const CACHE_TTL = 60000; // 60 seconds
63
- // Models to expose in the chat UI (in display order)
64
- // Other models (vision, tool_calling, etc.) are used internally by dual-model routing
65
- const CHAT_MODELS = ['chat', 'research', 'frontier'];
66
- // User-friendly model descriptions
67
- const MODEL_DESCRIPTIONS = {
68
- 'chat': {
69
- name: 'Chat',
70
- description: 'General chat with image, audio, and video understanding'
71
- },
72
- 'research': {
73
- name: 'Research',
74
- description: 'Advanced reasoning and analysis for complex questions'
75
- },
76
- 'frontier': {
77
- name: 'Frontier',
78
- description: 'Claude Sonnet 4.5 via AWS Bedrock (highest capability)'
79
- },
80
- };
81
- /**
82
- * Get available model options for chat from liteLLM
83
- *
84
- * @returns Array of available models (filtered to chat, research, frontier)
85
- */
86
- export async function getAvailableModels() {
87
- const now = Date.now();
88
- // Return cached models if still valid
89
- if (cachedModels && (now - cacheTimestamp) < CACHE_TTL) {
90
- return cachedModels;
91
- }
92
- try {
93
- // Fetch models from liteLLM
94
- const liteLLMModels = await fetchLiteLLMModels();
95
- // Filter to only chat models and transform to our format
96
- const availableModelIds = new Set(liteLLMModels.map(m => m.id));
97
- cachedModels = CHAT_MODELS
98
- .filter(id => availableModelIds.has(id))
99
- .map((id) => {
100
- const capabilities = MODEL_CAPABILITIES[id] || {
101
- multimodal: false,
102
- toolCalling: false,
103
- };
104
- const modelInfo = MODEL_DESCRIPTIONS[id] || { name: id, description: '' };
105
- return {
106
- id,
107
- name: modelInfo.name,
108
- description: modelInfo.description,
109
- capabilities,
110
- };
111
- });
112
- cacheTimestamp = now;
113
- return cachedModels;
114
- }
115
- catch (error) {
116
- console.error('[Model Registry] Failed to fetch models from liteLLM:', error);
117
- // Return fallback models if fetch fails
118
- return CHAT_MODELS.map(id => ({
119
- id,
120
- name: MODEL_DESCRIPTIONS[id]?.name || id,
121
- description: MODEL_DESCRIPTIONS[id]?.description || '',
122
- capabilities: MODEL_CAPABILITIES[id] || { multimodal: false, toolCalling: false },
123
- }));
124
- }
125
- }
126
- /**
127
- * Get model name from model ID
128
- *
129
- * @param modelId - Model ID from liteLLM
130
- * @returns Model ID (passes through, as liteLLM expects the exact model name)
131
- */
132
- export async function getModelName(modelId) {
133
- if (!modelId) {
134
- // Default to 'chat' model
135
- return 'chat';
136
- }
137
- return modelId;
138
- }
139
- /**
140
- * Get model display name
141
- */
142
- export async function getModelDisplayName(modelId) {
143
- if (!modelId) {
144
- return 'Chat';
145
- }
146
- const models = await getAvailableModels();
147
- const model = models.find((m) => m.id === modelId);
148
- return model?.name || formatModelId(modelId);
149
- }
150
- /**
151
- * Format model ID into display name
152
- */
153
- function formatModelId(modelId) {
154
- // Handle common patterns
155
- if (modelId.includes('claude') || modelId === 'frontier') {
156
- return 'Frontier (Claude Sonnet 4.5)';
157
- }
158
- if (modelId.includes('gpt')) {
159
- return modelId.toUpperCase().replace(/-/g, ' ');
160
- }
161
- // Default: capitalize first letter
162
- return modelId.charAt(0).toUpperCase() + modelId.slice(1);
163
- }
164
- /**
165
- * Get model capabilities by model ID (UI capabilities - what users can do)
166
- *
167
- * @param modelId - Model ID
168
- * @returns Model capabilities or undefined if not found
169
- */
170
- export async function getModelCapabilities(modelId) {
171
- if (!modelId) {
172
- return undefined;
173
- }
174
- // Check direct mapping first
175
- if (MODEL_CAPABILITIES[modelId]) {
176
- return MODEL_CAPABILITIES[modelId];
177
- }
178
- // Try to find in available models
179
- const models = await getAvailableModels();
180
- const model = models.find((m) => m.id === modelId);
181
- return model?.capabilities;
182
- }
183
- /**
184
- * Get NATIVE model capabilities by model ID (for routing decisions)
185
- *
186
- * This returns what the model actually supports without dual-model routing.
187
- * Use this to determine if dual-model routing is needed.
188
- *
189
- * @param modelId - Model ID
190
- * @returns Native model capabilities or undefined if not found
191
- */
192
- export function getNativeModelCapabilities(modelId) {
193
- if (!modelId) {
194
- return undefined;
195
- }
196
- return NATIVE_MODEL_CAPABILITIES[modelId];
197
- }
198
- /**
199
- * Clear the model cache (useful for testing or manual refresh)
200
- */
201
- export function clearModelCache() {
202
- cachedModels = null;
203
- cacheTimestamp = 0;
204
- }
205
- //# sourceMappingURL=models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/lib/chat-server/models.ts"],"names":[],"mappings":"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"}