@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.
- package/dist/components/UserDropdown.d.ts +0 -16
- package/dist/components/UserDropdown.d.ts.map +1 -1
- package/dist/components/UserDropdown.js +2 -2
- package/dist/components/UserDropdown.js.map +1 -1
- package/dist/components/auth/PasskeyRequiredWrapper.d.ts +0 -8
- package/dist/components/auth/PasskeyRequiredWrapper.d.ts.map +1 -1
- package/dist/components/auth/PasskeyRequiredWrapper.js +2 -2
- package/dist/components/auth/PasskeyRequiredWrapper.js.map +1 -1
- package/dist/components/auth/ProtectedRoute.d.ts +0 -9
- package/dist/components/auth/ProtectedRoute.d.ts.map +1 -1
- package/dist/components/auth/ProtectedRoute.js +2 -2
- package/dist/components/auth/ProtectedRoute.js.map +1 -1
- package/dist/components/auth/SessionProvider.d.ts +0 -40
- package/dist/components/auth/SessionProvider.d.ts.map +1 -1
- package/dist/components/auth/SessionProvider.js +2 -2
- package/dist/components/auth/SessionProvider.js.map +1 -1
- package/dist/components/chat/AgentBadge.d.ts +0 -5
- package/dist/components/chat/AgentBadge.d.ts.map +1 -1
- package/dist/components/chat/AgentBadge.js +2 -2
- package/dist/components/chat/AgentBadge.js.map +1 -1
- package/dist/components/chat/AgentSelectionPanel.d.ts +0 -6
- package/dist/components/chat/AgentSelectionPanel.d.ts.map +1 -1
- package/dist/components/chat/AgentSelectionPanel.js +2 -2
- package/dist/components/chat/AgentSelectionPanel.js.map +1 -1
- package/dist/components/chat/AgentSelector.d.ts +0 -6
- package/dist/components/chat/AgentSelector.d.ts.map +1 -1
- package/dist/components/chat/AgentSelector.js +2 -2
- package/dist/components/chat/AgentSelector.js.map +1 -1
- package/dist/components/chat/AgentToolSelector.d.ts +0 -7
- package/dist/components/chat/AgentToolSelector.d.ts.map +1 -1
- package/dist/components/chat/AgentToolSelector.js +2 -2
- package/dist/components/chat/AgentToolSelector.js.map +1 -1
- package/dist/components/chat/AttachmentPreview.d.ts.map +1 -1
- package/dist/components/chat/AttachmentPreview.js +0 -5
- package/dist/components/chat/AttachmentPreview.js.map +1 -1
- package/dist/components/chat/AttachmentUploader.d.ts +0 -5
- package/dist/components/chat/AttachmentUploader.d.ts.map +1 -1
- package/dist/components/chat/AttachmentUploader.js +2 -2
- package/dist/components/chat/AttachmentUploader.js.map +1 -1
- package/dist/components/chat/ChatContainer.d.ts +0 -6
- package/dist/components/chat/ChatContainer.d.ts.map +1 -1
- package/dist/components/chat/ChatContainer.js +2 -2
- package/dist/components/chat/ChatContainer.js.map +1 -1
- package/dist/components/chat/ConversationSidebar.d.ts +0 -5
- package/dist/components/chat/ConversationSidebar.d.ts.map +1 -1
- package/dist/components/chat/ConversationSidebar.js +2 -2
- package/dist/components/chat/ConversationSidebar.js.map +1 -1
- package/dist/components/chat/DeleteConversationModal.d.ts +0 -3
- package/dist/components/chat/DeleteConversationModal.d.ts.map +1 -1
- package/dist/components/chat/DeleteConversationModal.js +2 -2
- package/dist/components/chat/DeleteConversationModal.js.map +1 -1
- package/dist/components/chat/FullChatInterface.d.ts +0 -23
- package/dist/components/chat/FullChatInterface.d.ts.map +1 -1
- package/dist/components/chat/FullChatInterface.js +2 -2
- package/dist/components/chat/FullChatInterface.js.map +1 -1
- package/dist/components/chat/InsightEditModal.d.ts +0 -5
- package/dist/components/chat/InsightEditModal.d.ts.map +1 -1
- package/dist/components/chat/InsightEditModal.js +2 -2
- package/dist/components/chat/InsightEditModal.js.map +1 -1
- package/dist/components/chat/LibrarySelector.d.ts +0 -6
- package/dist/components/chat/LibrarySelector.d.ts.map +1 -1
- package/dist/components/chat/LibrarySelector.js +2 -2
- package/dist/components/chat/LibrarySelector.js.map +1 -1
- package/dist/components/chat/MessageInput.d.ts +0 -5
- package/dist/components/chat/MessageInput.d.ts.map +1 -1
- package/dist/components/chat/MessageInput.js +2 -2
- package/dist/components/chat/MessageInput.js.map +1 -1
- package/dist/components/chat/MessageList.d.ts +0 -5
- package/dist/components/chat/MessageList.d.ts.map +1 -1
- package/dist/components/chat/MessageList.js +2 -2
- package/dist/components/chat/MessageList.js.map +1 -1
- package/dist/components/chat/RawContentToggle.d.ts.map +1 -1
- package/dist/components/chat/RawContentToggle.js +0 -6
- package/dist/components/chat/RawContentToggle.js.map +1 -1
- package/dist/components/chat/SearchToggles.d.ts +0 -5
- package/dist/components/chat/SearchToggles.d.ts.map +1 -1
- package/dist/components/chat/SearchToggles.js +2 -2
- package/dist/components/chat/SearchToggles.js.map +1 -1
- package/dist/components/chat/SimpleChatInterface.d.ts +0 -25
- package/dist/components/chat/SimpleChatInterface.d.ts.map +1 -1
- package/dist/components/chat/SimpleChatInterface.js +2 -2
- package/dist/components/chat/SimpleChatInterface.js.map +1 -1
- package/dist/components/chat/ThinkingSection.d.ts +0 -7
- package/dist/components/chat/ThinkingSection.d.ts.map +1 -1
- package/dist/components/chat/ThinkingSection.js +2 -2
- package/dist/components/chat/ThinkingSection.js.map +1 -1
- package/dist/components/chat/ThinkingToggle.d.ts +0 -6
- package/dist/components/chat/ThinkingToggle.d.ts.map +1 -1
- package/dist/components/chat/ThinkingToggle.js +2 -2
- package/dist/components/chat/ThinkingToggle.js.map +1 -1
- package/dist/components/chat/ToolSelector.d.ts +0 -6
- package/dist/components/chat/ToolSelector.d.ts.map +1 -1
- package/dist/components/chat/ToolSelector.js +2 -2
- package/dist/components/chat/ToolSelector.js.map +1 -1
- package/dist/components/shared/AppIcon.d.ts.map +1 -1
- package/dist/components/shared/AppIcon.js +2 -2
- package/dist/components/shared/AppIcon.js.map +1 -1
- package/dist/components/shared/Modal.d.ts.map +1 -1
- package/dist/components/shared/Modal.js +2 -2
- package/dist/components/shared/Modal.js.map +1 -1
- package/dist/components/workflow/WorkflowList.d.ts.map +1 -1
- package/dist/components/workflow/WorkflowList.js +2 -2
- package/dist/components/workflow/WorkflowList.js.map +1 -1
- package/dist/contexts/AuthContext.d.ts.map +1 -1
- package/dist/contexts/AuthContext.js +2 -2
- package/dist/contexts/AuthContext.js.map +1 -1
- package/dist/contexts/CustomizationContext.d.ts.map +1 -1
- package/dist/contexts/CustomizationContext.js +2 -2
- package/dist/contexts/CustomizationContext.js.map +1 -1
- package/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/contexts/ThemeContext.js +2 -2
- package/dist/contexts/ThemeContext.js.map +1 -1
- package/dist/layout/AdminHeader.d.ts +0 -5
- package/dist/layout/AdminHeader.d.ts.map +1 -1
- package/dist/layout/AdminHeader.js +2 -2
- package/dist/layout/AdminHeader.js.map +1 -1
- package/dist/layout/Footer.d.ts +0 -5
- package/dist/layout/Footer.d.ts.map +1 -1
- package/dist/layout/Footer.js +2 -2
- package/dist/layout/Footer.js.map +1 -1
- package/dist/layout/Header.d.ts.map +1 -1
- package/dist/layout/Header.js +2 -2
- package/dist/layout/Header.js.map +1 -1
- package/dist/layout/ThemeToggle.d.ts +0 -5
- package/dist/layout/ThemeToggle.d.ts.map +1 -1
- package/dist/layout/ThemeToggle.js +2 -2
- package/dist/layout/ThemeToggle.js.map +1 -1
- package/dist/lib/authz/sso-generator.d.ts.map +1 -1
- package/dist/lib/authz/sso-generator.js +7 -4
- package/dist/lib/authz/sso-generator.js.map +1 -1
- package/dist/lib/data/index.d.ts +2 -0
- package/dist/lib/data/index.d.ts.map +1 -1
- package/dist/lib/data/index.js +2 -0
- package/dist/lib/data/index.js.map +1 -1
- package/dist/lib/data/sharing.d.ts +154 -0
- package/dist/lib/data/sharing.d.ts.map +1 -0
- package/dist/lib/data/sharing.js +293 -0
- package/dist/lib/data/sharing.js.map +1 -0
- package/dist/lib/deploy/app-config.d.ts.map +1 -1
- package/dist/lib/deploy/app-config.js +5 -1
- package/dist/lib/deploy/app-config.js.map +1 -1
- package/dist/lib/deploy/app-permissions.d.ts +2 -0
- package/dist/lib/deploy/app-permissions.d.ts.map +1 -1
- package/dist/lib/deploy/app-permissions.js +2 -0
- package/dist/lib/deploy/app-permissions.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/agent/agent-api-helpers.d.ts +0 -16
- package/dist/lib/agent/agent-api-helpers.d.ts.map +0 -1
- package/dist/lib/agent/agent-api-helpers.js +0 -50
- package/dist/lib/agent/agent-api-helpers.js.map +0 -1
- package/dist/lib/agent/api-helpers.d.ts +0 -16
- package/dist/lib/agent/api-helpers.d.ts.map +0 -1
- package/dist/lib/agent/api-helpers.js +0 -50
- package/dist/lib/agent/api-helpers.js.map +0 -1
- package/dist/lib/agent/chat-cleanup.d.ts +0 -34
- package/dist/lib/agent/chat-cleanup.d.ts.map +0 -1
- package/dist/lib/agent/chat-cleanup.js +0 -133
- package/dist/lib/agent/chat-cleanup.js.map +0 -1
- package/dist/lib/agent/client.d.ts +0 -55
- package/dist/lib/agent/client.d.ts.map +0 -1
- package/dist/lib/agent/client.js +0 -103
- package/dist/lib/agent/client.js.map +0 -1
- package/dist/lib/agent/openai.d.ts +0 -94
- package/dist/lib/agent/openai.d.ts.map +0 -1
- package/dist/lib/agent/openai.js +0 -290
- package/dist/lib/agent/openai.js.map +0 -1
- package/dist/lib/ai/dual-model-router.d.ts +0 -130
- package/dist/lib/ai/dual-model-router.d.ts.map +0 -1
- package/dist/lib/ai/dual-model-router.js +0 -413
- package/dist/lib/ai/dual-model-router.js.map +0 -1
- package/dist/lib/ai/openai.d.ts +0 -94
- package/dist/lib/ai/openai.d.ts.map +0 -1
- package/dist/lib/ai/openai.js +0 -290
- package/dist/lib/ai/openai.js.map +0 -1
- package/dist/lib/ai/tools.d.ts +0 -64
- package/dist/lib/ai/tools.d.ts.map +0 -1
- package/dist/lib/ai/tools.js +0 -159
- package/dist/lib/ai/tools.js.map +0 -1
- package/dist/lib/audit/client.d.ts +0 -138
- package/dist/lib/audit/client.d.ts.map +0 -1
- package/dist/lib/audit/client.js +0 -486
- package/dist/lib/audit/client.js.map +0 -1
- package/dist/lib/audit/index.d.ts +0 -6
- package/dist/lib/audit/index.d.ts.map +0 -1
- package/dist/lib/audit/index.js +0 -6
- package/dist/lib/audit/index.js.map +0 -1
- package/dist/lib/auth/auth-helper.d.ts +0 -167
- package/dist/lib/auth/auth-helper.d.ts.map +0 -1
- package/dist/lib/auth/auth-helper.js +0 -345
- package/dist/lib/auth/auth-helper.js.map +0 -1
- package/dist/lib/auth/auth-state-manager.d.ts +0 -201
- package/dist/lib/auth/auth-state-manager.d.ts.map +0 -1
- package/dist/lib/auth/auth-state-manager.js +0 -597
- package/dist/lib/auth/auth-state-manager.js.map +0 -1
- package/dist/lib/auth/client.d.ts +0 -276
- package/dist/lib/auth/client.d.ts.map +0 -1
- package/dist/lib/auth/client.js +0 -325
- package/dist/lib/auth/client.js.map +0 -1
- package/dist/lib/auth/index.d.ts +0 -10
- package/dist/lib/auth/index.d.ts.map +0 -1
- package/dist/lib/auth/index.js +0 -10
- package/dist/lib/auth/index.js.map +0 -1
- package/dist/lib/auth/sso-route-handler.d.ts +0 -114
- package/dist/lib/auth/sso-route-handler.d.ts.map +0 -1
- package/dist/lib/auth/sso-route-handler.js +0 -199
- package/dist/lib/auth/sso-route-handler.js.map +0 -1
- package/dist/lib/auth/sso.d.ts +0 -162
- package/dist/lib/auth/sso.d.ts.map +0 -1
- package/dist/lib/auth/sso.js +0 -282
- package/dist/lib/auth/sso.js.map +0 -1
- package/dist/lib/authz/email.d.ts +0 -65
- package/dist/lib/authz/email.d.ts.map +0 -1
- package/dist/lib/authz/email.js +0 -112
- package/dist/lib/authz/email.js.map +0 -1
- package/dist/lib/authz/permissions.d.ts +0 -109
- package/dist/lib/authz/permissions.d.ts.map +0 -1
- package/dist/lib/authz/permissions.js +0 -238
- package/dist/lib/authz/permissions.js.map +0 -1
- package/dist/lib/authz/service-audit.d.ts +0 -41
- package/dist/lib/authz/service-audit.d.ts.map +0 -1
- package/dist/lib/authz/service-audit.js +0 -60
- package/dist/lib/authz/service-audit.js.map +0 -1
- package/dist/lib/chat-server/agent-api-client.d.ts +0 -151
- package/dist/lib/chat-server/agent-api-client.d.ts.map +0 -1
- package/dist/lib/chat-server/agent-api-client.js +0 -162
- package/dist/lib/chat-server/agent-api-client.js.map +0 -1
- package/dist/lib/chat-server/attachments.d.ts +0 -118
- package/dist/lib/chat-server/attachments.d.ts.map +0 -1
- package/dist/lib/chat-server/attachments.js +0 -317
- package/dist/lib/chat-server/attachments.js.map +0 -1
- package/dist/lib/chat-server/cleanup.d.ts +0 -34
- package/dist/lib/chat-server/cleanup.d.ts.map +0 -1
- package/dist/lib/chat-server/cleanup.js +0 -133
- package/dist/lib/chat-server/cleanup.js.map +0 -1
- package/dist/lib/chat-server/conversations.d.ts +0 -159
- package/dist/lib/chat-server/conversations.d.ts.map +0 -1
- package/dist/lib/chat-server/conversations.js +0 -278
- package/dist/lib/chat-server/conversations.js.map +0 -1
- package/dist/lib/chat-server/insights.d.ts +0 -84
- package/dist/lib/chat-server/insights.d.ts.map +0 -1
- package/dist/lib/chat-server/insights.js +0 -193
- package/dist/lib/chat-server/insights.js.map +0 -1
- package/dist/lib/chat-server/messages.d.ts +0 -154
- package/dist/lib/chat-server/messages.d.ts.map +0 -1
- package/dist/lib/chat-server/messages.js +0 -282
- package/dist/lib/chat-server/messages.js.map +0 -1
- package/dist/lib/chat-server/middleware.d.ts +0 -119
- package/dist/lib/chat-server/middleware.d.ts.map +0 -1
- package/dist/lib/chat-server/middleware.js +0 -234
- package/dist/lib/chat-server/middleware.js.map +0 -1
- package/dist/lib/chat-server/models.d.ts +0 -60
- package/dist/lib/chat-server/models.d.ts.map +0 -1
- package/dist/lib/chat-server/models.js +0 -205
- package/dist/lib/chat-server/models.js.map +0 -1
- package/dist/lib/chat-server/search.d.ts +0 -89
- package/dist/lib/chat-server/search.d.ts.map +0 -1
- package/dist/lib/chat-server/search.js +0 -203
- package/dist/lib/chat-server/search.js.map +0 -1
- package/dist/lib/chat-server/sharing.d.ts +0 -70
- package/dist/lib/chat-server/sharing.d.ts.map +0 -1
- package/dist/lib/chat-server/sharing.js +0 -146
- package/dist/lib/chat-server/sharing.js.map +0 -1
- package/dist/lib/data/embeddings-app-client.d.ts +0 -37
- package/dist/lib/data/embeddings-app-client.d.ts.map +0 -1
- package/dist/lib/data/embeddings-app-client.js +0 -72
- package/dist/lib/data/embeddings-app-client.js.map +0 -1
- package/dist/lib/deploy/manifest-validator.d.ts +0 -25
- package/dist/lib/deploy/manifest-validator.d.ts.map +0 -1
- package/dist/lib/deploy/manifest-validator.js +0 -142
- package/dist/lib/deploy/manifest-validator.js.map +0 -1
- package/dist/lib/embeddings/data-client.d.ts +0 -37
- package/dist/lib/embeddings/data-client.d.ts.map +0 -1
- package/dist/lib/embeddings/data-client.js +0 -72
- package/dist/lib/embeddings/data-client.js.map +0 -1
- package/dist/lib/hooks/useMediaQuery.d.ts +0 -6
- package/dist/lib/hooks/useMediaQuery.d.ts.map +0 -1
- package/dist/lib/hooks/useMediaQuery.js +0 -18
- package/dist/lib/hooks/useMediaQuery.js.map +0 -1
- package/dist/lib/insights/client.d.ts +0 -131
- package/dist/lib/insights/client.d.ts.map +0 -1
- package/dist/lib/insights/client.js +0 -306
- package/dist/lib/insights/client.js.map +0 -1
- package/dist/lib/insights/index.d.ts +0 -5
- package/dist/lib/insights/index.d.ts.map +0 -1
- package/dist/lib/insights/index.js +0 -5
- package/dist/lib/insights/index.js.map +0 -1
- package/dist/lib/next/authz-client.d.ts +0 -120
- package/dist/lib/next/authz-client.d.ts.map +0 -1
- package/dist/lib/next/authz-client.js +0 -203
- package/dist/lib/next/authz-client.js.map +0 -1
- package/dist/lib/next/passkey.d.ts +0 -78
- package/dist/lib/next/passkey.d.ts.map +0 -1
- package/dist/lib/next/passkey.js +0 -380
- package/dist/lib/next/passkey.js.map +0 -1
- package/dist/lib/next/sso.d.ts +0 -51
- package/dist/lib/next/sso.d.ts.map +0 -1
- package/dist/lib/next/sso.js +0 -167
- package/dist/lib/next/sso.js.map +0 -1
- package/dist/lib/rbac/client.d.ts +0 -320
- package/dist/lib/rbac/client.d.ts.map +0 -1
- package/dist/lib/rbac/client.js +0 -532
- package/dist/lib/rbac/client.js.map +0 -1
- package/dist/lib/rbac/index.d.ts +0 -6
- package/dist/lib/rbac/index.d.ts.map +0 -1
- package/dist/lib/rbac/index.js +0 -6
- package/dist/lib/rbac/index.js.map +0 -1
- package/dist/lib/search/providers.d.ts +0 -105
- package/dist/lib/search/providers.d.ts.map +0 -1
- package/dist/lib/search/providers.js +0 -140
- package/dist/lib/search/providers.js.map +0 -1
- package/dist/lib/services/api-client.d.ts +0 -46
- package/dist/lib/services/api-client.d.ts.map +0 -1
- package/dist/lib/services/api-client.js +0 -80
- package/dist/lib/services/api-client.js.map +0 -1
- package/dist/lib/services/app-library.d.ts +0 -36
- package/dist/lib/services/app-library.d.ts.map +0 -1
- package/dist/lib/services/app-library.js +0 -123
- package/dist/lib/services/app-library.js.map +0 -1
- package/dist/lib/services/app-utils.d.ts +0 -22
- package/dist/lib/services/app-utils.d.ts.map +0 -1
- package/dist/lib/services/app-utils.js +0 -36
- package/dist/lib/services/app-utils.js.map +0 -1
- package/dist/lib/services/audit.d.ts +0 -41
- package/dist/lib/services/audit.d.ts.map +0 -1
- package/dist/lib/services/audit.js +0 -60
- package/dist/lib/services/audit.js.map +0 -1
- package/dist/lib/services/database-cloner.d.ts +0 -28
- package/dist/lib/services/database-cloner.d.ts.map +0 -1
- package/dist/lib/services/database-cloner.js +0 -197
- package/dist/lib/services/database-cloner.js.map +0 -1
- package/dist/lib/services/default-apps.d.ts +0 -31
- package/dist/lib/services/default-apps.d.ts.map +0 -1
- package/dist/lib/services/default-apps.js +0 -121
- package/dist/lib/services/default-apps.js.map +0 -1
- package/dist/lib/services/deploy-api-client.d.ts +0 -184
- package/dist/lib/services/deploy-api-client.d.ts.map +0 -1
- package/dist/lib/services/deploy-api-client.js +0 -208
- package/dist/lib/services/deploy-api-client.js.map +0 -1
- package/dist/lib/services/deployment-service-client.d.ts +0 -122
- package/dist/lib/services/deployment-service-client.d.ts.map +0 -1
- package/dist/lib/services/deployment-service-client.js +0 -245
- package/dist/lib/services/deployment-service-client.js.map +0 -1
- package/dist/lib/services/docs.d.ts +0 -80
- package/dist/lib/services/docs.d.ts.map +0 -1
- package/dist/lib/services/docs.js +0 -160
- package/dist/lib/services/docs.js.map +0 -1
- package/dist/lib/services/email-validation.d.ts +0 -33
- package/dist/lib/services/email-validation.d.ts.map +0 -1
- package/dist/lib/services/email-validation.js +0 -70
- package/dist/lib/services/email-validation.js.map +0 -1
- package/dist/lib/services/email.d.ts +0 -65
- package/dist/lib/services/email.d.ts.map +0 -1
- package/dist/lib/services/email.js +0 -112
- package/dist/lib/services/email.js.map +0 -1
- package/dist/lib/services/github-manifest-fetcher.d.ts +0 -74
- package/dist/lib/services/github-manifest-fetcher.d.ts.map +0 -1
- package/dist/lib/services/github-manifest-fetcher.js +0 -168
- package/dist/lib/services/github-manifest-fetcher.js.map +0 -1
- package/dist/lib/services/libraries.d.ts +0 -124
- package/dist/lib/services/libraries.d.ts.map +0 -1
- package/dist/lib/services/libraries.js +0 -507
- package/dist/lib/services/libraries.js.map +0 -1
- package/dist/lib/services/litellm.d.ts +0 -33
- package/dist/lib/services/litellm.d.ts.map +0 -1
- package/dist/lib/services/litellm.js +0 -222
- package/dist/lib/services/litellm.js.map +0 -1
- package/dist/lib/services/manifest-schema.d.ts +0 -66
- package/dist/lib/services/manifest-schema.d.ts.map +0 -1
- package/dist/lib/services/manifest-schema.js +0 -86
- package/dist/lib/services/manifest-schema.js.map +0 -1
- package/dist/lib/services/manifest-validator.d.ts +0 -25
- package/dist/lib/services/manifest-validator.d.ts.map +0 -1
- package/dist/lib/services/manifest-validator.js +0 -142
- package/dist/lib/services/manifest-validator.js.map +0 -1
- package/dist/lib/services/manifest.d.ts +0 -45
- package/dist/lib/services/manifest.d.ts.map +0 -1
- package/dist/lib/services/manifest.js +0 -137
- package/dist/lib/services/manifest.js.map +0 -1
- package/dist/lib/services/permissions.d.ts +0 -109
- package/dist/lib/services/permissions.d.ts.map +0 -1
- package/dist/lib/services/permissions.js +0 -238
- package/dist/lib/services/permissions.js.map +0 -1
- package/dist/lib/services/service-client.d.ts +0 -99
- package/dist/lib/services/service-client.d.ts.map +0 -1
- package/dist/lib/services/service-client.js +0 -146
- package/dist/lib/services/service-client.js.map +0 -1
- package/dist/lib/services/tags.d.ts +0 -37
- package/dist/lib/services/tags.d.ts.map +0 -1
- package/dist/lib/services/tags.js +0 -189
- package/dist/lib/services/tags.js.map +0 -1
- package/dist/lib/services/url-validation.d.ts +0 -22
- package/dist/lib/services/url-validation.d.ts.map +0 -1
- package/dist/lib/services/url-validation.js +0 -86
- package/dist/lib/services/url-validation.js.map +0 -1
- package/dist/lib/services/user-management.d.ts +0 -81
- package/dist/lib/services/user-management.d.ts.map +0 -1
- package/dist/lib/services/user-management.js +0 -154
- package/dist/lib/services/user-management.js.map +0 -1
- package/dist/lib/storage/index.d.ts +0 -11
- package/dist/lib/storage/index.d.ts.map +0 -1
- package/dist/lib/storage/index.js +0 -12
- package/dist/lib/storage/index.js.map +0 -1
- package/dist/lib/storage/types.d.ts +0 -61
- package/dist/lib/storage/types.d.ts.map +0 -1
- package/dist/lib/storage/types.js +0 -8
- package/dist/lib/storage/types.js.map +0 -1
- package/dist/lib/stores/app-config-store.d.ts +0 -90
- package/dist/lib/stores/app-config-store.d.ts.map +0 -1
- package/dist/lib/stores/app-config-store.js +0 -491
- package/dist/lib/stores/app-config-store.js.map +0 -1
- package/dist/lib/stores/bridge-config-store.d.ts +0 -44
- package/dist/lib/stores/bridge-config-store.d.ts.map +0 -1
- package/dist/lib/stores/bridge-config-store.js +0 -207
- package/dist/lib/stores/bridge-config-store.js.map +0 -1
- package/dist/lib/stores/chat-config-store.d.ts +0 -28
- package/dist/lib/stores/chat-config-store.d.ts.map +0 -1
- package/dist/lib/stores/chat-config-store.js +0 -152
- package/dist/lib/stores/chat-config-store.js.map +0 -1
- package/dist/lib/stores/data-settings-store.d.ts +0 -44
- package/dist/lib/stores/data-settings-store.d.ts.map +0 -1
- package/dist/lib/stores/data-settings-store.js +0 -202
- package/dist/lib/stores/data-settings-store.js.map +0 -1
- package/dist/lib/stores/email-config-store.d.ts +0 -45
- package/dist/lib/stores/email-config-store.d.ts.map +0 -1
- package/dist/lib/stores/email-config-store.js +0 -185
- package/dist/lib/stores/email-config-store.js.map +0 -1
- package/dist/lib/stores/portal-config-store.d.ts +0 -38
- package/dist/lib/stores/portal-config-store.d.ts.map +0 -1
- package/dist/lib/stores/portal-config-store.js +0 -238
- package/dist/lib/stores/portal-config-store.js.map +0 -1
- package/dist/lib/stores/video-store.d.ts +0 -91
- package/dist/lib/stores/video-store.d.ts.map +0 -1
- package/dist/lib/stores/video-store.js +0 -451
- package/dist/lib/stores/video-store.js.map +0 -1
- package/dist/lib/videos/access-control.d.ts +0 -35
- package/dist/lib/videos/access-control.d.ts.map +0 -1
- package/dist/lib/videos/access-control.js +0 -63
- package/dist/lib/videos/access-control.js.map +0 -1
- package/dist/lib/videos/agent-api-client.d.ts +0 -46
- package/dist/lib/videos/agent-api-client.d.ts.map +0 -1
- package/dist/lib/videos/agent-api-client.js +0 -75
- package/dist/lib/videos/agent-api-client.js.map +0 -1
- package/dist/lib/videos/creation.d.ts +0 -24
- package/dist/lib/videos/creation.d.ts.map +0 -1
- package/dist/lib/videos/creation.js +0 -112
- package/dist/lib/videos/creation.js.map +0 -1
- package/dist/lib/videos/expiration.d.ts +0 -13
- package/dist/lib/videos/expiration.d.ts.map +0 -1
- package/dist/lib/videos/expiration.js +0 -95
- package/dist/lib/videos/expiration.js.map +0 -1
- package/dist/lib/videos/image-resize.d.ts +0 -42
- package/dist/lib/videos/image-resize.d.ts.map +0 -1
- package/dist/lib/videos/image-resize.js +0 -106
- package/dist/lib/videos/image-resize.js.map +0 -1
- package/dist/lib/videos/processing.d.ts +0 -35
- package/dist/lib/videos/processing.d.ts.map +0 -1
- package/dist/lib/videos/processing.js +0 -154
- package/dist/lib/videos/processing.js.map +0 -1
- package/dist/lib/videos/status.d.ts +0 -2
- package/dist/lib/videos/status.d.ts.map +0 -1
- package/dist/lib/videos/status.js +0 -141
- package/dist/lib/videos/status.js.map +0 -1
- package/dist/lib/videos/upload.d.ts +0 -41
- package/dist/lib/videos/upload.d.ts.map +0 -1
- package/dist/lib/videos/upload.js +0 -118
- package/dist/lib/videos/upload.js.map +0 -1
- package/dist/lib/videos/url-normalization.d.ts +0 -29
- package/dist/lib/videos/url-normalization.d.ts.map +0 -1
- package/dist/lib/videos/url-normalization.js +0 -61
- package/dist/lib/videos/url-normalization.js.map +0 -1
- package/dist/sso/index.d.ts +0 -3
- package/dist/sso/index.d.ts.map +0 -1
- package/dist/sso/index.js +0 -3
- package/dist/sso/index.js.map +0 -1
- package/dist/sso/token.d.ts +0 -17
- package/dist/sso/token.d.ts.map +0 -1
- package/dist/sso/token.js +0 -57
- package/dist/sso/token.js.map +0 -1
- package/dist/types/sso.d.ts +0 -37
- package/dist/types/sso.d.ts.map +0 -1
- package/dist/types/sso.js +0 -2
- package/dist/types/sso.js.map +0 -1
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bidirectional Dual-Model Router
|
|
3
|
-
*
|
|
4
|
-
* This module implements a sophisticated routing pattern for AI chat that enables
|
|
5
|
-
* ALL capabilities regardless of which model is selected:
|
|
6
|
-
*
|
|
7
|
-
* 1. TOOL ROUTING (for non-tool-capable models like phi-4):
|
|
8
|
-
* - Uses qwen3-30b (tool_calling) to decide if tools are needed
|
|
9
|
-
* - Executes tools, then routes final response to the chat model
|
|
10
|
-
*
|
|
11
|
-
* 2. VISION ROUTING (for non-multimodal models like qwen3):
|
|
12
|
-
* - Uses phi-4 (vision) to analyze images/media
|
|
13
|
-
* - Provides analysis as a tool result to the primary model
|
|
14
|
-
*
|
|
15
|
-
* This creates a "universal capability" system where:
|
|
16
|
-
* - Web search is always available
|
|
17
|
-
* - Document search is always available
|
|
18
|
-
* - Image/media analysis is always available
|
|
19
|
-
*
|
|
20
|
-
* Flow Examples:
|
|
21
|
-
*
|
|
22
|
-
* User selects phi-4 + enables web search + sends text:
|
|
23
|
-
* → qwen3 decides if web_search needed → execute → phi-4 responds
|
|
24
|
-
*
|
|
25
|
-
* User selects qwen3 + uploads image:
|
|
26
|
-
* → phi-4 analyzes image → result as tool → qwen3 responds with analysis
|
|
27
|
-
*
|
|
28
|
-
* User selects phi-4 + uploads image + enables web search:
|
|
29
|
-
* → phi-4 sees image directly (multimodal) + qwen3 handles web search
|
|
30
|
-
*/
|
|
31
|
-
// Model purposes from model_registry.yml
|
|
32
|
-
export const TOOL_CALLING_MODEL = 'tool_calling'; // qwen3-30b
|
|
33
|
-
export const VISION_MODEL = 'vision'; // phi-4
|
|
34
|
-
/**
|
|
35
|
-
* System prompt for the tool-calling model
|
|
36
|
-
*/
|
|
37
|
-
const TOOL_ROUTER_SYSTEM_PROMPT = `You are a tool routing assistant. Your ONLY job is to decide whether the user's request requires tool calls.
|
|
38
|
-
|
|
39
|
-
IMPORTANT RULES:
|
|
40
|
-
1. If the user asks about current events, news, real-time information, or facts you might not know - call the web_search tool
|
|
41
|
-
2. If the user asks about their documents, files, or library - call the search_documents tool
|
|
42
|
-
3. If the user is asking about an image or visual content and there's an analyze_media tool available - call it
|
|
43
|
-
4. If the question can be answered from your training data alone - DO NOT call any tools
|
|
44
|
-
5. You should PREFER to call tools when there's uncertainty about having up-to-date information
|
|
45
|
-
6. When in doubt, call the tool - it's better to have extra context than to hallucinate
|
|
46
|
-
|
|
47
|
-
If you decide no tools are needed, respond with just: "NO_TOOLS_NEEDED"`;
|
|
48
|
-
/**
|
|
49
|
-
* System prompt for the vision analysis model
|
|
50
|
-
*/
|
|
51
|
-
const VISION_ANALYSIS_SYSTEM_PROMPT = `You are a vision analysis assistant. Analyze the provided image(s) thoroughly and provide a detailed description that can be used by another AI to answer questions about the image.
|
|
52
|
-
|
|
53
|
-
Include in your analysis:
|
|
54
|
-
1. What is shown in the image (objects, people, text, diagrams, etc.)
|
|
55
|
-
2. Any text visible in the image (transcribe it accurately)
|
|
56
|
-
3. The context and purpose of the image if apparent
|
|
57
|
-
4. Key details that would be relevant for answering questions
|
|
58
|
-
5. For documents/charts: extract data, structure, and key information
|
|
59
|
-
6. For photos: describe scene, subjects, actions, and notable elements
|
|
60
|
-
|
|
61
|
-
Be thorough but concise. Focus on factual observations.`;
|
|
62
|
-
/**
|
|
63
|
-
* Analyze messages for multimodal content
|
|
64
|
-
*/
|
|
65
|
-
export function analyzeMessageContent(messages) {
|
|
66
|
-
const analysis = {
|
|
67
|
-
hasImages: false,
|
|
68
|
-
hasAudio: false,
|
|
69
|
-
hasVideo: false,
|
|
70
|
-
hasMultimodal: false,
|
|
71
|
-
imageUrls: [],
|
|
72
|
-
};
|
|
73
|
-
for (const message of messages) {
|
|
74
|
-
if (Array.isArray(message.content)) {
|
|
75
|
-
for (const part of message.content) {
|
|
76
|
-
if (typeof part === 'object' && 'type' in part) {
|
|
77
|
-
if (part.type === 'image_url' && 'image_url' in part) {
|
|
78
|
-
analysis.hasImages = true;
|
|
79
|
-
analysis.hasMultimodal = true;
|
|
80
|
-
if (part.image_url && typeof part.image_url === 'object' && 'url' in part.image_url) {
|
|
81
|
-
analysis.imageUrls.push(part.image_url.url);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// Future: handle audio and video
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return analysis;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Determine routing strategy based on model capabilities and content
|
|
93
|
-
*/
|
|
94
|
-
export function determineRoutingStrategy(primaryModelCapabilities, contentAnalysis, toolsAvailable) {
|
|
95
|
-
const supportsTools = primaryModelCapabilities?.toolCalling ?? false;
|
|
96
|
-
const supportsVision = primaryModelCapabilities?.multimodal ?? false;
|
|
97
|
-
const needsToolRouting = toolsAvailable && !supportsTools;
|
|
98
|
-
const needsVisionRouting = contentAnalysis.hasMultimodal && !supportsVision;
|
|
99
|
-
let routingDescription = 'Direct routing to primary model';
|
|
100
|
-
if (needsToolRouting && needsVisionRouting) {
|
|
101
|
-
routingDescription = 'Full dual-model routing: vision → tool router → primary';
|
|
102
|
-
}
|
|
103
|
-
else if (needsToolRouting) {
|
|
104
|
-
routingDescription = 'Tool routing: tool router → primary';
|
|
105
|
-
}
|
|
106
|
-
else if (needsVisionRouting) {
|
|
107
|
-
routingDescription = 'Vision routing: vision model → primary';
|
|
108
|
-
}
|
|
109
|
-
return { needsToolRouting, needsVisionRouting, routingDescription };
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Perform vision analysis on multimodal content
|
|
113
|
-
*/
|
|
114
|
-
async function performVisionAnalysis(litellm, visionModel, messages, contentAnalysis) {
|
|
115
|
-
console.log(`[DualModelRouter:Vision] Analyzing ${contentAnalysis.imageUrls.length} image(s) with ${visionModel}`);
|
|
116
|
-
try {
|
|
117
|
-
// Build vision request with only the last user message that has images
|
|
118
|
-
const visionMessages = [
|
|
119
|
-
{ role: 'system', content: VISION_ANALYSIS_SYSTEM_PROMPT },
|
|
120
|
-
];
|
|
121
|
-
// Find the last message with image content
|
|
122
|
-
for (let i = messages.length - 1; i >= 0; i--) {
|
|
123
|
-
const msg = messages[i];
|
|
124
|
-
if (Array.isArray(msg.content)) {
|
|
125
|
-
const hasImage = msg.content.some((part) => typeof part === 'object' && part.type === 'image_url');
|
|
126
|
-
if (hasImage) {
|
|
127
|
-
visionMessages.push(msg);
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
// Add instruction to analyze
|
|
133
|
-
visionMessages.push({
|
|
134
|
-
role: 'user',
|
|
135
|
-
content: 'Please analyze the image(s) above and provide a detailed description.',
|
|
136
|
-
});
|
|
137
|
-
const response = await litellm.chat.completions.create({
|
|
138
|
-
model: visionModel,
|
|
139
|
-
messages: visionMessages,
|
|
140
|
-
temperature: 0.3, // Lower temperature for factual analysis
|
|
141
|
-
max_tokens: 2000, // Allow detailed analysis
|
|
142
|
-
stream: false,
|
|
143
|
-
});
|
|
144
|
-
const analysis = response.choices[0]?.message?.content || '';
|
|
145
|
-
console.log(`[DualModelRouter:Vision] Analysis complete (${analysis.length} chars)`);
|
|
146
|
-
return { analysis };
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
console.error(`[DualModelRouter:Vision] Analysis failed:`, error);
|
|
150
|
-
return {
|
|
151
|
-
analysis: '',
|
|
152
|
-
error: error.message || 'Vision analysis failed',
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Convert messages to text-only for non-multimodal models
|
|
158
|
-
* Replaces image content with vision analysis results
|
|
159
|
-
*/
|
|
160
|
-
function convertToTextMessages(messages, visionAnalysis) {
|
|
161
|
-
return messages.map((msg) => {
|
|
162
|
-
if (!Array.isArray(msg.content)) {
|
|
163
|
-
return msg;
|
|
164
|
-
}
|
|
165
|
-
// Extract text parts and replace images with analysis
|
|
166
|
-
const textParts = [];
|
|
167
|
-
let hasImages = false;
|
|
168
|
-
for (const part of msg.content) {
|
|
169
|
-
if (typeof part === 'object' && 'type' in part) {
|
|
170
|
-
if (part.type === 'text' && 'text' in part) {
|
|
171
|
-
textParts.push(part.text);
|
|
172
|
-
}
|
|
173
|
-
else if (part.type === 'image_url') {
|
|
174
|
-
hasImages = true;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
else if (typeof part === 'string') {
|
|
178
|
-
textParts.push(part);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
// If this message had images and we have analysis, add it
|
|
182
|
-
if (hasImages && visionAnalysis) {
|
|
183
|
-
textParts.push(`\n\n[Image Analysis from vision model]:\n${visionAnalysis}`);
|
|
184
|
-
}
|
|
185
|
-
else if (hasImages) {
|
|
186
|
-
textParts.push('\n\n[Image was attached but could not be analyzed]');
|
|
187
|
-
}
|
|
188
|
-
return {
|
|
189
|
-
...msg,
|
|
190
|
-
content: textParts.join('\n'),
|
|
191
|
-
};
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Execute the bidirectional dual-model routing
|
|
196
|
-
*
|
|
197
|
-
* @param litellm - OpenAI client configured for liteLLM
|
|
198
|
-
* @param messages - Conversation messages (may include multimodal content)
|
|
199
|
-
* @param config - Dual model configuration
|
|
200
|
-
* @param executeTool - Function to execute tool calls
|
|
201
|
-
* @param userId - User ID for tool execution
|
|
202
|
-
* @param authorization - Authorization header for RLS
|
|
203
|
-
*/
|
|
204
|
-
export async function dualModelRoute(litellm, messages, config, executeTool, userId, authorization) {
|
|
205
|
-
const primaryModel = config.primaryModel;
|
|
206
|
-
const toolModel = config.toolModel || TOOL_CALLING_MODEL;
|
|
207
|
-
const visionModel = config.visionModel || VISION_MODEL;
|
|
208
|
-
const tools = config.tools;
|
|
209
|
-
const stream = config.stream ?? true;
|
|
210
|
-
const temperature = config.temperature ?? 0.7;
|
|
211
|
-
const capabilities = config.primaryModelCapabilities;
|
|
212
|
-
const routingPath = [];
|
|
213
|
-
let visionAnalysis;
|
|
214
|
-
let processedMessages = messages;
|
|
215
|
-
console.log(`[DualModelRouter] ========== ROUTING START ==========`);
|
|
216
|
-
console.log(`[DualModelRouter] Primary model: ${primaryModel}`);
|
|
217
|
-
console.log(`[DualModelRouter] Primary capabilities:`, capabilities);
|
|
218
|
-
console.log(`[DualModelRouter] Tools available: ${tools.length}`);
|
|
219
|
-
// Analyze content
|
|
220
|
-
const contentAnalysis = analyzeMessageContent(messages);
|
|
221
|
-
console.log(`[DualModelRouter] Content analysis:`, contentAnalysis);
|
|
222
|
-
// Determine routing strategy
|
|
223
|
-
const { needsToolRouting, needsVisionRouting, routingDescription } = determineRoutingStrategy(capabilities, contentAnalysis, tools.length > 0);
|
|
224
|
-
console.log(`[DualModelRouter] Strategy: ${routingDescription}`);
|
|
225
|
-
routingPath.push(routingDescription);
|
|
226
|
-
// ============================================
|
|
227
|
-
// PHASE 1: Vision routing (if needed)
|
|
228
|
-
// ============================================
|
|
229
|
-
if (needsVisionRouting) {
|
|
230
|
-
console.log(`[DualModelRouter] Phase 1: Vision routing to ${visionModel}`);
|
|
231
|
-
routingPath.push(`Vision analysis via ${visionModel}`);
|
|
232
|
-
const visionResult = await performVisionAnalysis(litellm, visionModel, messages, contentAnalysis);
|
|
233
|
-
if (visionResult.analysis) {
|
|
234
|
-
visionAnalysis = visionResult.analysis;
|
|
235
|
-
// Convert messages to text-only with vision analysis embedded
|
|
236
|
-
processedMessages = convertToTextMessages(messages, visionAnalysis);
|
|
237
|
-
console.log(`[DualModelRouter] Vision analysis embedded in messages`);
|
|
238
|
-
}
|
|
239
|
-
else if (visionResult.error) {
|
|
240
|
-
routingPath.push(`Vision error: ${visionResult.error}`);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
// ============================================
|
|
244
|
-
// PHASE 2: Tool routing (if needed)
|
|
245
|
-
// ============================================
|
|
246
|
-
if (needsToolRouting && tools.length > 0) {
|
|
247
|
-
console.log(`[DualModelRouter] Phase 2: Tool routing via ${toolModel}`);
|
|
248
|
-
routingPath.push(`Tool routing via ${toolModel}`);
|
|
249
|
-
// Prepare messages for tool model
|
|
250
|
-
const toolModelMessages = [
|
|
251
|
-
{ role: 'system', content: TOOL_ROUTER_SYSTEM_PROMPT },
|
|
252
|
-
...processedMessages,
|
|
253
|
-
];
|
|
254
|
-
try {
|
|
255
|
-
const toolDecision = await litellm.chat.completions.create({
|
|
256
|
-
model: toolModel,
|
|
257
|
-
messages: toolModelMessages,
|
|
258
|
-
tools: tools,
|
|
259
|
-
tool_choice: 'auto',
|
|
260
|
-
temperature: 0.1,
|
|
261
|
-
max_tokens: 500,
|
|
262
|
-
stream: false,
|
|
263
|
-
});
|
|
264
|
-
const toolMessage = toolDecision.choices[0]?.message;
|
|
265
|
-
if (toolMessage?.tool_calls && toolMessage.tool_calls.length > 0) {
|
|
266
|
-
// Filter for standard function tool calls (not custom tool calls)
|
|
267
|
-
const functionToolCalls = toolMessage.tool_calls.filter((t) => 'function' in t && t.function !== undefined);
|
|
268
|
-
if (functionToolCalls.length > 0) {
|
|
269
|
-
console.log(`[DualModelRouter] Tool model requested ${functionToolCalls.length} tool(s)`);
|
|
270
|
-
routingPath.push(`Tools requested: ${functionToolCalls.map(t => t.function.name).join(', ')}`);
|
|
271
|
-
// Execute tools
|
|
272
|
-
const toolResults = [];
|
|
273
|
-
const toolMessages = [];
|
|
274
|
-
toolMessages.push({
|
|
275
|
-
role: 'assistant',
|
|
276
|
-
content: toolMessage.content || null,
|
|
277
|
-
tool_calls: functionToolCalls,
|
|
278
|
-
});
|
|
279
|
-
for (const toolCall of functionToolCalls) {
|
|
280
|
-
try {
|
|
281
|
-
console.log(`[DualModelRouter] Executing tool: ${toolCall.function.name}`);
|
|
282
|
-
const args = JSON.parse(toolCall.function.arguments);
|
|
283
|
-
const result = await executeTool(toolCall.function.name, args, userId, authorization);
|
|
284
|
-
toolResults.push({
|
|
285
|
-
toolCallId: toolCall.id,
|
|
286
|
-
toolName: toolCall.function.name,
|
|
287
|
-
result,
|
|
288
|
-
});
|
|
289
|
-
toolMessages.push({
|
|
290
|
-
role: 'tool',
|
|
291
|
-
tool_call_id: toolCall.id,
|
|
292
|
-
content: JSON.stringify(result),
|
|
293
|
-
});
|
|
294
|
-
routingPath.push(`Tool ${toolCall.function.name} executed successfully`);
|
|
295
|
-
}
|
|
296
|
-
catch (error) {
|
|
297
|
-
console.error(`[DualModelRouter] Tool execution failed:`, error);
|
|
298
|
-
toolResults.push({
|
|
299
|
-
toolCallId: toolCall.id,
|
|
300
|
-
toolName: toolCall.function.name,
|
|
301
|
-
result: null,
|
|
302
|
-
error: error.message,
|
|
303
|
-
});
|
|
304
|
-
toolMessages.push({
|
|
305
|
-
role: 'tool',
|
|
306
|
-
tool_call_id: toolCall.id,
|
|
307
|
-
content: JSON.stringify({ error: error.message }),
|
|
308
|
-
});
|
|
309
|
-
routingPath.push(`Tool ${toolCall.function.name} failed: ${error.message}`);
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
// Final response with tool results
|
|
313
|
-
const finalMessages = [
|
|
314
|
-
...processedMessages,
|
|
315
|
-
...toolMessages,
|
|
316
|
-
];
|
|
317
|
-
routingPath.push(`Final response via ${primaryModel}`);
|
|
318
|
-
console.log(`[DualModelRouter] ========== ROUTING END ==========`);
|
|
319
|
-
const result = await streamOrComplete(litellm, primaryModel, finalMessages, temperature, stream);
|
|
320
|
-
return {
|
|
321
|
-
...result,
|
|
322
|
-
toolsUsed: true,
|
|
323
|
-
visionUsed: needsVisionRouting,
|
|
324
|
-
toolResults,
|
|
325
|
-
visionAnalysis,
|
|
326
|
-
messagesForStorage: toolMessages,
|
|
327
|
-
routingPath,
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
else {
|
|
332
|
-
console.log(`[DualModelRouter] No tools needed`);
|
|
333
|
-
routingPath.push('No tools needed');
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
catch (error) {
|
|
337
|
-
console.error(`[DualModelRouter] Tool routing error:`, error);
|
|
338
|
-
routingPath.push(`Tool routing error: ${error.message}`);
|
|
339
|
-
// Continue to primary model without tools
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
// ============================================
|
|
343
|
-
// PHASE 3: Primary model response
|
|
344
|
-
// ============================================
|
|
345
|
-
console.log(`[DualModelRouter] Phase 3: Final response via ${primaryModel}`);
|
|
346
|
-
routingPath.push(`Final response via ${primaryModel}`);
|
|
347
|
-
console.log(`[DualModelRouter] ========== ROUTING END ==========`);
|
|
348
|
-
const result = await streamOrComplete(litellm, primaryModel, processedMessages, temperature, stream);
|
|
349
|
-
return {
|
|
350
|
-
...result,
|
|
351
|
-
toolsUsed: false,
|
|
352
|
-
visionUsed: needsVisionRouting,
|
|
353
|
-
visionAnalysis,
|
|
354
|
-
routingPath,
|
|
355
|
-
};
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* Helper to stream or complete based on config
|
|
359
|
-
*/
|
|
360
|
-
async function streamOrComplete(litellm, model, messages, temperature, stream) {
|
|
361
|
-
if (stream) {
|
|
362
|
-
const streamResponse = await litellm.chat.completions.create({
|
|
363
|
-
model,
|
|
364
|
-
messages: messages,
|
|
365
|
-
temperature,
|
|
366
|
-
stream: true,
|
|
367
|
-
});
|
|
368
|
-
return {
|
|
369
|
-
toolsUsed: false,
|
|
370
|
-
visionUsed: false,
|
|
371
|
-
routingPath: [],
|
|
372
|
-
stream: streamResponse,
|
|
373
|
-
};
|
|
374
|
-
}
|
|
375
|
-
else {
|
|
376
|
-
const response = await litellm.chat.completions.create({
|
|
377
|
-
model,
|
|
378
|
-
messages: messages,
|
|
379
|
-
temperature,
|
|
380
|
-
stream: false,
|
|
381
|
-
});
|
|
382
|
-
return {
|
|
383
|
-
toolsUsed: false,
|
|
384
|
-
visionUsed: false,
|
|
385
|
-
routingPath: [],
|
|
386
|
-
response: response.choices[0]?.message?.content || '',
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Check if dual-model routing is needed
|
|
392
|
-
*
|
|
393
|
-
* Returns true if ANY routing is needed:
|
|
394
|
-
* - Tool routing: tools enabled + model doesn't support tools
|
|
395
|
-
* - Vision routing: multimodal content + model doesn't support multimodal
|
|
396
|
-
*/
|
|
397
|
-
export function shouldUseDualModel(modelCapabilities, toolsEnabled, contentAnalysis) {
|
|
398
|
-
const supportsTools = modelCapabilities?.toolCalling ?? false;
|
|
399
|
-
const supportsVision = modelCapabilities?.multimodal ?? false;
|
|
400
|
-
const needsToolRouting = toolsEnabled && !supportsTools;
|
|
401
|
-
const needsVisionRouting = contentAnalysis.hasMultimodal && !supportsVision;
|
|
402
|
-
if (needsToolRouting && needsVisionRouting) {
|
|
403
|
-
return { needed: true, reason: 'Tool routing + Vision routing' };
|
|
404
|
-
}
|
|
405
|
-
if (needsToolRouting) {
|
|
406
|
-
return { needed: true, reason: 'Tool routing' };
|
|
407
|
-
}
|
|
408
|
-
if (needsVisionRouting) {
|
|
409
|
-
return { needed: true, reason: 'Vision routing' };
|
|
410
|
-
}
|
|
411
|
-
return { needed: false, reason: 'Direct routing' };
|
|
412
|
-
}
|
|
413
|
-
//# sourceMappingURL=dual-model-router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dual-model-router.js","sourceRoot":"","sources":["../../../src/lib/ai/dual-model-router.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/ai/openai.d.ts
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LiteLLM Client Wrapper
|
|
3
|
-
*
|
|
4
|
-
* Centralized liteLLM API client with error handling and logging.
|
|
5
|
-
* All LLM operations go through liteLLM proxy.
|
|
6
|
-
*/
|
|
7
|
-
import OpenAI from 'openai';
|
|
8
|
-
/**
|
|
9
|
-
* Check if liteLLM is properly configured
|
|
10
|
-
*/
|
|
11
|
-
export declare function isOpenAIConfigured(): boolean;
|
|
12
|
-
export declare const openai: OpenAI;
|
|
13
|
-
/**
|
|
14
|
-
* Generate a chat completion with streaming support
|
|
15
|
-
*
|
|
16
|
-
* @param messages - Array of chat messages
|
|
17
|
-
* @param options - Generation options
|
|
18
|
-
* @returns Stream or complete response based on stream flag
|
|
19
|
-
*/
|
|
20
|
-
export declare function generateChatCompletion(messages: OpenAI.Chat.ChatCompletionMessageParam[], options?: {
|
|
21
|
-
model?: string;
|
|
22
|
-
temperature?: number;
|
|
23
|
-
maxTokens?: number;
|
|
24
|
-
stream?: boolean;
|
|
25
|
-
tools?: OpenAI.Chat.ChatCompletionTool[];
|
|
26
|
-
}): Promise<(OpenAI.Chat.Completions.ChatCompletion & {
|
|
27
|
-
_request_id?: string | null;
|
|
28
|
-
}) | (import("openai/core/streaming.mjs").Stream<OpenAI.Chat.Completions.ChatCompletionChunk> & {
|
|
29
|
-
_request_id?: string | null;
|
|
30
|
-
})>;
|
|
31
|
-
/**
|
|
32
|
-
* Generate a concise title for a conversation based on the first message
|
|
33
|
-
*
|
|
34
|
-
* @param firstUserMessage - The first message in the conversation
|
|
35
|
-
* @returns A short, descriptive title (max 50 chars)
|
|
36
|
-
*/
|
|
37
|
-
export declare function generateConversationTitle(firstUserMessage: string): Promise<string>;
|
|
38
|
-
/**
|
|
39
|
-
* NOTE: Embedding generation has been moved to @/lib/embeddings/data-client
|
|
40
|
-
* which uses the local FastEmbed service (bge-large-en-v1.5, 1024 dimensions)
|
|
41
|
-
* instead of OpenAI/liteLLM embeddings.
|
|
42
|
-
*/
|
|
43
|
-
/**
|
|
44
|
-
* Extract insights from text (conversation or document)
|
|
45
|
-
*
|
|
46
|
-
* This function analyzes text and extracts key insights,
|
|
47
|
-
* learnings, or knowledge that can be stored for future retrieval.
|
|
48
|
-
*
|
|
49
|
-
* @param text - Text to analyze
|
|
50
|
-
* @returns Array of insight strings
|
|
51
|
-
*/
|
|
52
|
-
export declare function extractInsightsFromText(text: string): Promise<string[]>;
|
|
53
|
-
/**
|
|
54
|
-
* Extract insights from conversation messages
|
|
55
|
-
*
|
|
56
|
-
* This function analyzes a conversation and extracts key insights,
|
|
57
|
-
* learnings, or knowledge that can be stored for future retrieval.
|
|
58
|
-
*
|
|
59
|
-
* @param messages - Array of conversation messages
|
|
60
|
-
* @returns Array of insight strings
|
|
61
|
-
*/
|
|
62
|
-
export declare function extractConversationInsights(messages: Array<{
|
|
63
|
-
role: string;
|
|
64
|
-
content: string;
|
|
65
|
-
}>): Promise<string[]>;
|
|
66
|
-
/**
|
|
67
|
-
* Moderate content for safety using OpenAI's moderation API
|
|
68
|
-
*
|
|
69
|
-
* @param text - Text to moderate
|
|
70
|
-
* @returns Moderation result
|
|
71
|
-
*/
|
|
72
|
-
export declare function moderateContent(text: string): Promise<OpenAI.Moderations.Moderation | {
|
|
73
|
-
flagged: boolean;
|
|
74
|
-
categories: {};
|
|
75
|
-
}>;
|
|
76
|
-
/**
|
|
77
|
-
* Count tokens in text (approximate)
|
|
78
|
-
*
|
|
79
|
-
* Note: This is a rough estimate. For exact counts, use tiktoken library.
|
|
80
|
-
*
|
|
81
|
-
* @param text - Text to count tokens for
|
|
82
|
-
* @returns Approximate token count
|
|
83
|
-
*/
|
|
84
|
-
export declare function estimateTokenCount(text: string): number;
|
|
85
|
-
/**
|
|
86
|
-
* Truncate text to fit within token limit
|
|
87
|
-
*
|
|
88
|
-
* @param text - Text to truncate
|
|
89
|
-
* @param maxTokens - Maximum number of tokens
|
|
90
|
-
* @returns Truncated text
|
|
91
|
-
*/
|
|
92
|
-
export declare function truncateToTokenLimit(text: string, maxTokens: number): string;
|
|
93
|
-
export default openai;
|
|
94
|
-
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/lib/ai/openai.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAU5B;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAGD,eAAO,MAAM,MAAM,EAqBd,MAAM,CAAC;AAEZ;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAClD,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;CACrC;;;;IA+BP;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAyCjB;AAED;;;;GAIG;AAEH;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmD7E;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,OAAO,CAAC,MAAM,EAAE,CAAC,CAsDnB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM;;;GAgBjD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU5E;AAED,eAAe,MAAM,CAAC"}
|