@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,207 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bridge Configuration Store
|
|
3
|
-
*
|
|
4
|
-
* Persists Bridge channel/integration settings in deploy-api's config store.
|
|
5
|
-
* These settings are applied to bridge runtime env via deploy-api config apply.
|
|
6
|
-
*/
|
|
7
|
-
import { getDeployApiToken, bulkSetConfigs, listConfigs, getConfigRaw, } from '../services/deploy-api-client';
|
|
8
|
-
const CONFIG_CATEGORY = 'bridge';
|
|
9
|
-
const DEFAULT_CONFIG = {
|
|
10
|
-
signalEnabled: false,
|
|
11
|
-
signalPhoneNumber: null,
|
|
12
|
-
allowedPhoneNumbers: null,
|
|
13
|
-
telegramEnabled: false,
|
|
14
|
-
telegramBotToken: null,
|
|
15
|
-
telegramPollInterval: 1.0,
|
|
16
|
-
telegramPollTimeout: 25,
|
|
17
|
-
telegramAllowedChatIds: null,
|
|
18
|
-
discordEnabled: false,
|
|
19
|
-
discordBotToken: null,
|
|
20
|
-
discordPollInterval: 2.0,
|
|
21
|
-
discordChannelIds: null,
|
|
22
|
-
whatsappEnabled: false,
|
|
23
|
-
whatsappVerifyToken: null,
|
|
24
|
-
whatsappAccessToken: null,
|
|
25
|
-
whatsappPhoneNumberId: null,
|
|
26
|
-
whatsappApiVersion: 'v22.0',
|
|
27
|
-
whatsappAllowedPhoneNumbers: null,
|
|
28
|
-
channelUserBindings: null,
|
|
29
|
-
defaultAgentId: 'chat-agent',
|
|
30
|
-
emailInboundEnabled: false,
|
|
31
|
-
imapHost: null,
|
|
32
|
-
imapPort: 993,
|
|
33
|
-
imapUser: null,
|
|
34
|
-
imapPassword: null,
|
|
35
|
-
imapUseSsl: true,
|
|
36
|
-
imapFolder: 'INBOX',
|
|
37
|
-
emailInboundPollInterval: 30.0,
|
|
38
|
-
emailAllowedSenders: null,
|
|
39
|
-
};
|
|
40
|
-
const FIELD_TO_KEY = {
|
|
41
|
-
signalEnabled: 'SIGNAL_ENABLED',
|
|
42
|
-
signalPhoneNumber: 'SIGNAL_PHONE_NUMBER',
|
|
43
|
-
allowedPhoneNumbers: 'ALLOWED_PHONE_NUMBERS',
|
|
44
|
-
telegramEnabled: 'TELEGRAM_ENABLED',
|
|
45
|
-
telegramBotToken: 'TELEGRAM_BOT_TOKEN',
|
|
46
|
-
telegramPollInterval: 'TELEGRAM_POLL_INTERVAL',
|
|
47
|
-
telegramPollTimeout: 'TELEGRAM_POLL_TIMEOUT',
|
|
48
|
-
telegramAllowedChatIds: 'TELEGRAM_ALLOWED_CHAT_IDS',
|
|
49
|
-
discordEnabled: 'DISCORD_ENABLED',
|
|
50
|
-
discordBotToken: 'DISCORD_BOT_TOKEN',
|
|
51
|
-
discordPollInterval: 'DISCORD_POLL_INTERVAL',
|
|
52
|
-
discordChannelIds: 'DISCORD_CHANNEL_IDS',
|
|
53
|
-
whatsappEnabled: 'WHATSAPP_ENABLED',
|
|
54
|
-
whatsappVerifyToken: 'WHATSAPP_VERIFY_TOKEN',
|
|
55
|
-
whatsappAccessToken: 'WHATSAPP_ACCESS_TOKEN',
|
|
56
|
-
whatsappPhoneNumberId: 'WHATSAPP_PHONE_NUMBER_ID',
|
|
57
|
-
whatsappApiVersion: 'WHATSAPP_API_VERSION',
|
|
58
|
-
whatsappAllowedPhoneNumbers: 'WHATSAPP_ALLOWED_PHONE_NUMBERS',
|
|
59
|
-
channelUserBindings: 'CHANNEL_USER_BINDINGS',
|
|
60
|
-
defaultAgentId: 'DEFAULT_AGENT_ID',
|
|
61
|
-
emailInboundEnabled: 'EMAIL_INBOUND_ENABLED',
|
|
62
|
-
imapHost: 'IMAP_HOST',
|
|
63
|
-
imapPort: 'IMAP_PORT',
|
|
64
|
-
imapUser: 'IMAP_USER',
|
|
65
|
-
imapPassword: 'IMAP_PASSWORD',
|
|
66
|
-
imapUseSsl: 'IMAP_USE_SSL',
|
|
67
|
-
imapFolder: 'IMAP_FOLDER',
|
|
68
|
-
emailInboundPollInterval: 'EMAIL_INBOUND_POLL_INTERVAL',
|
|
69
|
-
emailAllowedSenders: 'EMAIL_ALLOWED_SENDERS',
|
|
70
|
-
};
|
|
71
|
-
const KEY_TO_FIELD = Object.fromEntries(Object.entries(FIELD_TO_KEY).map(([field, key]) => [key, field]));
|
|
72
|
-
const ENCRYPTED_KEYS = new Set([
|
|
73
|
-
'TELEGRAM_BOT_TOKEN',
|
|
74
|
-
'DISCORD_BOT_TOKEN',
|
|
75
|
-
'WHATSAPP_VERIFY_TOKEN',
|
|
76
|
-
'WHATSAPP_ACCESS_TOKEN',
|
|
77
|
-
'IMAP_PASSWORD',
|
|
78
|
-
]);
|
|
79
|
-
const SENSITIVE_FIELDS = [
|
|
80
|
-
'telegramBotToken',
|
|
81
|
-
'discordBotToken',
|
|
82
|
-
'whatsappVerifyToken',
|
|
83
|
-
'whatsappAccessToken',
|
|
84
|
-
'imapPassword',
|
|
85
|
-
];
|
|
86
|
-
function maskValue(value) {
|
|
87
|
-
if (!value || value.length <= 8)
|
|
88
|
-
return value ? '****' : null;
|
|
89
|
-
return value.substring(0, 4) + '****' + value.substring(value.length - 4);
|
|
90
|
-
}
|
|
91
|
-
export function maskBridgeConfig(config) {
|
|
92
|
-
const out = { ...config };
|
|
93
|
-
for (const field of SENSITIVE_FIELDS) {
|
|
94
|
-
const val = out[field];
|
|
95
|
-
if (typeof val === 'string') {
|
|
96
|
-
out[field] = maskValue(val);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return out;
|
|
100
|
-
}
|
|
101
|
-
export function isMaskedValue(value) {
|
|
102
|
-
return typeof value === 'string' && value.includes('****');
|
|
103
|
-
}
|
|
104
|
-
export async function getBridgeConfigToken(userId, sessionJwt) {
|
|
105
|
-
return getDeployApiToken(userId, sessionJwt);
|
|
106
|
-
}
|
|
107
|
-
export async function getBridgeConfigFromDeployApi(token, raw = false) {
|
|
108
|
-
try {
|
|
109
|
-
const listing = await listConfigs(token, CONFIG_CATEGORY);
|
|
110
|
-
if (!listing.configs || listing.configs.length === 0) {
|
|
111
|
-
return { ...DEFAULT_CONFIG };
|
|
112
|
-
}
|
|
113
|
-
const values = {};
|
|
114
|
-
if (raw) {
|
|
115
|
-
for (const cfg of listing.configs) {
|
|
116
|
-
try {
|
|
117
|
-
const rawResp = await getConfigRaw(token, cfg.key);
|
|
118
|
-
values[rawResp.key] = rawResp.value;
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
// Ignore deleted/failed keys
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
for (const cfg of listing.configs) {
|
|
127
|
-
values[cfg.key] = cfg.value;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return configValuesToBridgeConfig(values);
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
console.warn('[BRIDGE-CONFIG] Failed to read bridge config from deploy-api:', error);
|
|
134
|
-
return { ...DEFAULT_CONFIG };
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
function configValuesToBridgeConfig(values) {
|
|
138
|
-
const config = { ...DEFAULT_CONFIG };
|
|
139
|
-
for (const [key, rawValue] of Object.entries(values)) {
|
|
140
|
-
const field = KEY_TO_FIELD[key];
|
|
141
|
-
if (!field)
|
|
142
|
-
continue;
|
|
143
|
-
if (rawValue === '********') {
|
|
144
|
-
config[field] = '********';
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
if (rawValue === '' && typeof DEFAULT_CONFIG[field] !== 'string') {
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
switch (field) {
|
|
151
|
-
case 'signalEnabled':
|
|
152
|
-
case 'telegramEnabled':
|
|
153
|
-
case 'discordEnabled':
|
|
154
|
-
case 'whatsappEnabled':
|
|
155
|
-
case 'emailInboundEnabled':
|
|
156
|
-
case 'imapUseSsl':
|
|
157
|
-
config[field] = rawValue === 'true';
|
|
158
|
-
break;
|
|
159
|
-
case 'telegramPollInterval':
|
|
160
|
-
case 'discordPollInterval':
|
|
161
|
-
case 'emailInboundPollInterval': {
|
|
162
|
-
const n = Number.parseFloat(rawValue);
|
|
163
|
-
if (Number.isFinite(n))
|
|
164
|
-
config[field] = n;
|
|
165
|
-
break;
|
|
166
|
-
}
|
|
167
|
-
case 'telegramPollTimeout':
|
|
168
|
-
case 'imapPort': {
|
|
169
|
-
const n = Number.parseInt(rawValue, 10);
|
|
170
|
-
if (Number.isFinite(n))
|
|
171
|
-
config[field] = n;
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
default:
|
|
175
|
-
config[field] = rawValue || null;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return config;
|
|
179
|
-
}
|
|
180
|
-
export async function saveBridgeConfigToDeployApi(token, updates) {
|
|
181
|
-
const configs = {};
|
|
182
|
-
for (const [field, configKey] of Object.entries(FIELD_TO_KEY)) {
|
|
183
|
-
const value = updates[field];
|
|
184
|
-
if (value === undefined)
|
|
185
|
-
continue;
|
|
186
|
-
const strValue = typeof value === 'boolean'
|
|
187
|
-
? String(value)
|
|
188
|
-
: value === null
|
|
189
|
-
? ''
|
|
190
|
-
: String(value);
|
|
191
|
-
configs[configKey] = {
|
|
192
|
-
value: strValue,
|
|
193
|
-
encrypted: ENCRYPTED_KEYS.has(configKey),
|
|
194
|
-
category: CONFIG_CATEGORY,
|
|
195
|
-
description: `Bridge integration setting: ${field}`,
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
if (Object.keys(configs).length === 0) {
|
|
199
|
-
return getBridgeConfigFromDeployApi(token, true);
|
|
200
|
-
}
|
|
201
|
-
await bulkSetConfigs(token, { configs });
|
|
202
|
-
return getBridgeConfigFromDeployApi(token, true);
|
|
203
|
-
}
|
|
204
|
-
export function getDefaultBridgeConfig() {
|
|
205
|
-
return { ...DEFAULT_CONFIG };
|
|
206
|
-
}
|
|
207
|
-
//# sourceMappingURL=bridge-config-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-config-store.js","sourceRoot":"","sources":["../../../src/lib/stores/bridge-config-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chat Configuration Store (data-api backed)
|
|
3
|
-
*
|
|
4
|
-
* Stores chat configuration (e.g., streaming_enabled) in the same
|
|
5
|
-
* data-api document used by portal-config-store (`busibox-portal-config`),
|
|
6
|
-
* as a separate record with id `chat-config`.
|
|
7
|
-
*
|
|
8
|
-
* For reads that don't have a user session (e.g., internal message route),
|
|
9
|
-
* we use X-Internal-Service header with DATA_API_INTERNAL_KEY.
|
|
10
|
-
*/
|
|
11
|
-
export type ChatConfigRecord = {
|
|
12
|
-
streaming_enabled: boolean;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Exchange a session JWT for a data-api access token scoped to chat config.
|
|
16
|
-
*/
|
|
17
|
-
export declare function getChatConfigToken(userId: string, sessionJwt: string): Promise<string>;
|
|
18
|
-
/**
|
|
19
|
-
* Read the current chat config from data-api.
|
|
20
|
-
* Returns defaults if the record doesn't exist yet.
|
|
21
|
-
*/
|
|
22
|
-
export declare function getChatConfig(token: string): Promise<ChatConfigRecord>;
|
|
23
|
-
/**
|
|
24
|
-
* Upsert (create or update) chat config in data-api.
|
|
25
|
-
*/
|
|
26
|
-
export declare function upsertChatConfig(token: string, updates: Partial<ChatConfigRecord>, roleIds: string[]): Promise<ChatConfigRecord>;
|
|
27
|
-
export declare function getDefaultChatConfig(): ChatConfigRecord;
|
|
28
|
-
//# sourceMappingURL=chat-config-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-config-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stores/chat-config-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AA0CF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8B5E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAkE3B;AAED,wBAAgB,oBAAoB,IAAI,gBAAgB,CAEvD"}
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chat Configuration Store (data-api backed)
|
|
3
|
-
*
|
|
4
|
-
* Stores chat configuration (e.g., streaming_enabled) in the same
|
|
5
|
-
* data-api document used by portal-config-store (`busibox-portal-config`),
|
|
6
|
-
* as a separate record with id `chat-config`.
|
|
7
|
-
*
|
|
8
|
-
* For reads that don't have a user session (e.g., internal message route),
|
|
9
|
-
* we use X-Internal-Service header with DATA_API_INTERNAL_KEY.
|
|
10
|
-
*/
|
|
11
|
-
import { getDataApiUrl } from '../next/api-url';
|
|
12
|
-
import { exchangeWithSubjectToken } from '../authz/next-client';
|
|
13
|
-
const DOCUMENT_NAME = 'busibox-portal-config';
|
|
14
|
-
const RECORD_ID = 'chat-config';
|
|
15
|
-
const DEFAULT_CHAT_CONFIG = {
|
|
16
|
-
streaming_enabled: true,
|
|
17
|
-
};
|
|
18
|
-
// ---------------------------------------------------------------------------
|
|
19
|
-
// Helpers
|
|
20
|
-
// ---------------------------------------------------------------------------
|
|
21
|
-
async function dataApiRequest(token, path, init = {}) {
|
|
22
|
-
const response = await fetch(`${getDataApiUrl()}${path}`, {
|
|
23
|
-
...init,
|
|
24
|
-
headers: {
|
|
25
|
-
Authorization: `Bearer ${token}`,
|
|
26
|
-
'Content-Type': 'application/json',
|
|
27
|
-
...(init.headers || {}),
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
if (!response.ok) {
|
|
31
|
-
const text = await response.text().catch(() => '');
|
|
32
|
-
throw new Error(`data-api ${response.status} ${path}: ${text}`);
|
|
33
|
-
}
|
|
34
|
-
return (await response.json());
|
|
35
|
-
}
|
|
36
|
-
async function findConfigDocumentId(token) {
|
|
37
|
-
const list = await dataApiRequest(token, '/data');
|
|
38
|
-
const existing = (list.documents || []).find((d) => d.name === DOCUMENT_NAME);
|
|
39
|
-
return existing?.id || null;
|
|
40
|
-
}
|
|
41
|
-
// ---------------------------------------------------------------------------
|
|
42
|
-
// Public API
|
|
43
|
-
// ---------------------------------------------------------------------------
|
|
44
|
-
/**
|
|
45
|
-
* Exchange a session JWT for a data-api access token scoped to chat config.
|
|
46
|
-
*/
|
|
47
|
-
export async function getChatConfigToken(userId, sessionJwt) {
|
|
48
|
-
const result = await exchangeWithSubjectToken({
|
|
49
|
-
userId,
|
|
50
|
-
sessionJwt,
|
|
51
|
-
audience: 'data-api',
|
|
52
|
-
purpose: 'chat-config',
|
|
53
|
-
});
|
|
54
|
-
return result.accessToken;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Read the current chat config from data-api.
|
|
58
|
-
* Returns defaults if the record doesn't exist yet.
|
|
59
|
-
*/
|
|
60
|
-
export async function getChatConfig(token) {
|
|
61
|
-
try {
|
|
62
|
-
const documentId = await findConfigDocumentId(token);
|
|
63
|
-
if (!documentId)
|
|
64
|
-
return { ...DEFAULT_CHAT_CONFIG };
|
|
65
|
-
const result = await dataApiRequest(token, `/data/${documentId}/query`, {
|
|
66
|
-
method: 'POST',
|
|
67
|
-
body: JSON.stringify({
|
|
68
|
-
where: { field: 'id', op: 'eq', value: RECORD_ID },
|
|
69
|
-
limit: 1,
|
|
70
|
-
}),
|
|
71
|
-
});
|
|
72
|
-
const record = result.records?.[0];
|
|
73
|
-
if (!record)
|
|
74
|
-
return { ...DEFAULT_CHAT_CONFIG };
|
|
75
|
-
return {
|
|
76
|
-
streaming_enabled: typeof record.streaming_enabled === 'boolean'
|
|
77
|
-
? record.streaming_enabled
|
|
78
|
-
: DEFAULT_CHAT_CONFIG.streaming_enabled,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
console.error('[chat-config-store] Failed to read config:', error);
|
|
83
|
-
return { ...DEFAULT_CHAT_CONFIG };
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Upsert (create or update) chat config in data-api.
|
|
88
|
-
*/
|
|
89
|
-
export async function upsertChatConfig(token, updates, roleIds) {
|
|
90
|
-
// Ensure the busibox-portal-config document exists
|
|
91
|
-
let documentId = await findConfigDocumentId(token);
|
|
92
|
-
if (!documentId) {
|
|
93
|
-
if (!roleIds.length) {
|
|
94
|
-
throw new Error('Cannot create config document without role IDs');
|
|
95
|
-
}
|
|
96
|
-
const created = await dataApiRequest(token, '/data', {
|
|
97
|
-
method: 'POST',
|
|
98
|
-
body: JSON.stringify({
|
|
99
|
-
name: DOCUMENT_NAME,
|
|
100
|
-
visibility: 'shared',
|
|
101
|
-
role_ids: roleIds,
|
|
102
|
-
roleIds: roleIds,
|
|
103
|
-
sourceApp: 'busibox-portal',
|
|
104
|
-
enableCache: false,
|
|
105
|
-
schema: {
|
|
106
|
-
displayName: 'Portal Configuration',
|
|
107
|
-
itemLabel: 'Setting',
|
|
108
|
-
sourceApp: 'busibox-portal',
|
|
109
|
-
visibility: 'shared',
|
|
110
|
-
allowSharing: true,
|
|
111
|
-
},
|
|
112
|
-
}),
|
|
113
|
-
});
|
|
114
|
-
documentId = created.id;
|
|
115
|
-
}
|
|
116
|
-
// Read existing
|
|
117
|
-
const existing = await getChatConfig(token);
|
|
118
|
-
const merged = { ...existing, ...updates };
|
|
119
|
-
const now = new Date().toISOString();
|
|
120
|
-
// Check if record exists
|
|
121
|
-
const queryResult = await dataApiRequest(token, `/data/${documentId}/query`, {
|
|
122
|
-
method: 'POST',
|
|
123
|
-
body: JSON.stringify({
|
|
124
|
-
where: { field: 'id', op: 'eq', value: RECORD_ID },
|
|
125
|
-
limit: 1,
|
|
126
|
-
}),
|
|
127
|
-
});
|
|
128
|
-
if (queryResult.records?.length) {
|
|
129
|
-
await dataApiRequest(token, `/data/${documentId}/records`, {
|
|
130
|
-
method: 'PUT',
|
|
131
|
-
body: JSON.stringify({
|
|
132
|
-
updates: { ...merged, updatedAt: now },
|
|
133
|
-
where: { field: 'id', op: 'eq', value: RECORD_ID },
|
|
134
|
-
validate: false,
|
|
135
|
-
}),
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
await dataApiRequest(token, `/data/${documentId}/records`, {
|
|
140
|
-
method: 'POST',
|
|
141
|
-
body: JSON.stringify({
|
|
142
|
-
records: [{ id: RECORD_ID, ...merged, createdAt: now, updatedAt: now }],
|
|
143
|
-
validate: false,
|
|
144
|
-
}),
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
return merged;
|
|
148
|
-
}
|
|
149
|
-
export function getDefaultChatConfig() {
|
|
150
|
-
return { ...DEFAULT_CHAT_CONFIG };
|
|
151
|
-
}
|
|
152
|
-
//# sourceMappingURL=chat-config-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-config-store.js","sourceRoot":"","sources":["../../../src/lib/stores/chat-config-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data Settings Store
|
|
3
|
-
*
|
|
4
|
-
* Manages document processing / ingestion settings via data-api document storage,
|
|
5
|
-
* replacing the Prisma DataSettings model.
|
|
6
|
-
*
|
|
7
|
-
* Pattern follows portal-config-store.ts: single record in a shared data-api document.
|
|
8
|
-
*/
|
|
9
|
-
export type DataSettingsRecord = {
|
|
10
|
-
id: string;
|
|
11
|
-
llmCleanupEnabled: boolean;
|
|
12
|
-
multiFlowEnabled: boolean;
|
|
13
|
-
maxParallelStrategies: number;
|
|
14
|
-
markerEnabled: boolean;
|
|
15
|
-
colpaliEnabled: boolean;
|
|
16
|
-
entityExtractionEnabled: boolean;
|
|
17
|
-
chunkSizeMin: number;
|
|
18
|
-
chunkSizeMax: number;
|
|
19
|
-
chunkOverlapPct: number;
|
|
20
|
-
timeoutSmall: number;
|
|
21
|
-
timeoutMedium: number;
|
|
22
|
-
timeoutLarge: number;
|
|
23
|
-
isActive: boolean;
|
|
24
|
-
createdAt: string;
|
|
25
|
-
updatedAt: string;
|
|
26
|
-
};
|
|
27
|
-
export type DataSettingsUpdate = Partial<Omit<DataSettingsRecord, 'id' | 'createdAt' | 'updatedAt' | 'isActive'>>;
|
|
28
|
-
export declare function getDataApiTokenForSettings(userId: string, sessionJwt: string): Promise<{
|
|
29
|
-
accessToken: string;
|
|
30
|
-
roleIds: string[];
|
|
31
|
-
}>;
|
|
32
|
-
/**
|
|
33
|
-
* Get active data processing settings. Returns defaults if no settings exist yet.
|
|
34
|
-
*/
|
|
35
|
-
export declare function getDataSettings(accessToken: string): Promise<DataSettingsRecord>;
|
|
36
|
-
/**
|
|
37
|
-
* Update data processing settings (upsert). Creates the document and record on first call.
|
|
38
|
-
*/
|
|
39
|
-
export declare function updateDataSettings(accessToken: string, roleIds: string[], updates: DataSettingsUpdate): Promise<DataSettingsRecord>;
|
|
40
|
-
/**
|
|
41
|
-
* Get default settings without needing a token (for fallback/display).
|
|
42
|
-
*/
|
|
43
|
-
export declare function getDefaultDataSettings(): DataSettingsRecord;
|
|
44
|
-
//# sourceMappingURL=data-settings-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-settings-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stores/data-settings-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,uBAAuB,EAAE,OAAO,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC;AA2IlH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CASrD;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAO7B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAkC7B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAQ3D"}
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data Settings Store
|
|
3
|
-
*
|
|
4
|
-
* Manages document processing / ingestion settings via data-api document storage,
|
|
5
|
-
* replacing the Prisma DataSettings model.
|
|
6
|
-
*
|
|
7
|
-
* Pattern follows portal-config-store.ts: single record in a shared data-api document.
|
|
8
|
-
*/
|
|
9
|
-
import { getDataApiUrl } from '../next/api-url';
|
|
10
|
-
import { exchangeWithSubjectToken } from '../authz/next-client';
|
|
11
|
-
import { getSharedRoleIdsForConfig } from './portal-config-store';
|
|
12
|
-
const DOCUMENT_NAME = 'busibox-portal-data-settings';
|
|
13
|
-
const RECORD_ID = 'active-settings';
|
|
14
|
-
const DEFAULT_SETTINGS = {
|
|
15
|
-
llmCleanupEnabled: false,
|
|
16
|
-
multiFlowEnabled: false,
|
|
17
|
-
maxParallelStrategies: 3,
|
|
18
|
-
markerEnabled: false,
|
|
19
|
-
colpaliEnabled: true,
|
|
20
|
-
entityExtractionEnabled: true,
|
|
21
|
-
chunkSizeMin: 400,
|
|
22
|
-
chunkSizeMax: 800,
|
|
23
|
-
chunkOverlapPct: 0.12,
|
|
24
|
-
timeoutSmall: 300,
|
|
25
|
-
timeoutMedium: 600,
|
|
26
|
-
timeoutLarge: 1200,
|
|
27
|
-
isActive: true,
|
|
28
|
-
};
|
|
29
|
-
async function dataApiRequest(token, path, init = {}) {
|
|
30
|
-
const response = await fetch(`${getDataApiUrl()}${path}`, {
|
|
31
|
-
...init,
|
|
32
|
-
headers: {
|
|
33
|
-
Authorization: `Bearer ${token}`,
|
|
34
|
-
'Content-Type': 'application/json',
|
|
35
|
-
...(init.headers || {}),
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
if (!response.ok) {
|
|
39
|
-
const text = await response.text().catch(() => '');
|
|
40
|
-
throw new Error(`data-api ${response.status} ${path}: ${text}`);
|
|
41
|
-
}
|
|
42
|
-
return (await response.json());
|
|
43
|
-
}
|
|
44
|
-
async function findDocumentId(token) {
|
|
45
|
-
const list = await dataApiRequest(token, '/data');
|
|
46
|
-
const existing = (list.documents || []).find((d) => d.name === DOCUMENT_NAME);
|
|
47
|
-
return existing?.id || null;
|
|
48
|
-
}
|
|
49
|
-
async function ensureDocument(token, roleIds) {
|
|
50
|
-
const existingId = await findDocumentId(token);
|
|
51
|
-
if (existingId)
|
|
52
|
-
return existingId;
|
|
53
|
-
if (!roleIds.length) {
|
|
54
|
-
throw new Error('Cannot create shared data-settings document without role IDs');
|
|
55
|
-
}
|
|
56
|
-
const created = await dataApiRequest(token, '/data', {
|
|
57
|
-
method: 'POST',
|
|
58
|
-
body: JSON.stringify({
|
|
59
|
-
name: DOCUMENT_NAME,
|
|
60
|
-
visibility: 'shared',
|
|
61
|
-
role_ids: roleIds,
|
|
62
|
-
roleIds: roleIds,
|
|
63
|
-
sourceApp: 'busibox-portal',
|
|
64
|
-
enableCache: false,
|
|
65
|
-
schema: {
|
|
66
|
-
displayName: 'Data Processing Settings',
|
|
67
|
-
itemLabel: 'Setting',
|
|
68
|
-
sourceApp: 'busibox-portal',
|
|
69
|
-
visibility: 'shared',
|
|
70
|
-
allowSharing: true,
|
|
71
|
-
},
|
|
72
|
-
}),
|
|
73
|
-
});
|
|
74
|
-
return created.id;
|
|
75
|
-
}
|
|
76
|
-
async function getSettingsRecord(token, documentId) {
|
|
77
|
-
const result = await dataApiRequest(token, `/data/${documentId}/query`, {
|
|
78
|
-
method: 'POST',
|
|
79
|
-
body: JSON.stringify({
|
|
80
|
-
where: { field: 'id', op: 'eq', value: RECORD_ID },
|
|
81
|
-
limit: 1,
|
|
82
|
-
}),
|
|
83
|
-
});
|
|
84
|
-
return result.records?.[0] || null;
|
|
85
|
-
}
|
|
86
|
-
function asBoolean(value, fallback) {
|
|
87
|
-
if (typeof value === 'boolean')
|
|
88
|
-
return value;
|
|
89
|
-
return fallback;
|
|
90
|
-
}
|
|
91
|
-
function asNumber(value, fallback) {
|
|
92
|
-
if (typeof value === 'number' && Number.isFinite(value))
|
|
93
|
-
return value;
|
|
94
|
-
if (typeof value === 'string') {
|
|
95
|
-
const parsed = Number(value);
|
|
96
|
-
if (Number.isFinite(parsed))
|
|
97
|
-
return parsed;
|
|
98
|
-
}
|
|
99
|
-
return fallback;
|
|
100
|
-
}
|
|
101
|
-
function normalizeRecord(raw) {
|
|
102
|
-
const now = new Date().toISOString();
|
|
103
|
-
if (!raw) {
|
|
104
|
-
return {
|
|
105
|
-
id: RECORD_ID,
|
|
106
|
-
...DEFAULT_SETTINGS,
|
|
107
|
-
createdAt: now,
|
|
108
|
-
updatedAt: now,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
return {
|
|
112
|
-
id: RECORD_ID,
|
|
113
|
-
llmCleanupEnabled: asBoolean(raw.llmCleanupEnabled, DEFAULT_SETTINGS.llmCleanupEnabled),
|
|
114
|
-
multiFlowEnabled: asBoolean(raw.multiFlowEnabled, DEFAULT_SETTINGS.multiFlowEnabled),
|
|
115
|
-
maxParallelStrategies: asNumber(raw.maxParallelStrategies, DEFAULT_SETTINGS.maxParallelStrategies),
|
|
116
|
-
markerEnabled: asBoolean(raw.markerEnabled, DEFAULT_SETTINGS.markerEnabled),
|
|
117
|
-
colpaliEnabled: asBoolean(raw.colpaliEnabled, DEFAULT_SETTINGS.colpaliEnabled),
|
|
118
|
-
entityExtractionEnabled: asBoolean(raw.entityExtractionEnabled, DEFAULT_SETTINGS.entityExtractionEnabled),
|
|
119
|
-
chunkSizeMin: asNumber(raw.chunkSizeMin, DEFAULT_SETTINGS.chunkSizeMin),
|
|
120
|
-
chunkSizeMax: asNumber(raw.chunkSizeMax, DEFAULT_SETTINGS.chunkSizeMax),
|
|
121
|
-
chunkOverlapPct: asNumber(raw.chunkOverlapPct, DEFAULT_SETTINGS.chunkOverlapPct),
|
|
122
|
-
timeoutSmall: asNumber(raw.timeoutSmall, DEFAULT_SETTINGS.timeoutSmall),
|
|
123
|
-
timeoutMedium: asNumber(raw.timeoutMedium, DEFAULT_SETTINGS.timeoutMedium),
|
|
124
|
-
timeoutLarge: asNumber(raw.timeoutLarge, DEFAULT_SETTINGS.timeoutLarge),
|
|
125
|
-
isActive: asBoolean(raw.isActive, true),
|
|
126
|
-
createdAt: typeof raw.createdAt === 'string' ? raw.createdAt : now,
|
|
127
|
-
updatedAt: typeof raw.updatedAt === 'string' ? raw.updatedAt : now,
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
// ---------------------------------------------------------------------------
|
|
131
|
-
// Public API
|
|
132
|
-
// ---------------------------------------------------------------------------
|
|
133
|
-
export async function getDataApiTokenForSettings(userId, sessionJwt) {
|
|
134
|
-
const tokenResult = await exchangeWithSubjectToken({
|
|
135
|
-
userId,
|
|
136
|
-
sessionJwt,
|
|
137
|
-
audience: 'data-api',
|
|
138
|
-
purpose: 'busibox-portal-data-settings',
|
|
139
|
-
});
|
|
140
|
-
const roleIds = getSharedRoleIdsForConfig(tokenResult.accessToken, sessionJwt);
|
|
141
|
-
return { accessToken: tokenResult.accessToken, roleIds };
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Get active data processing settings. Returns defaults if no settings exist yet.
|
|
145
|
-
*/
|
|
146
|
-
export async function getDataSettings(accessToken) {
|
|
147
|
-
const documentId = await findDocumentId(accessToken);
|
|
148
|
-
if (!documentId) {
|
|
149
|
-
return normalizeRecord(null);
|
|
150
|
-
}
|
|
151
|
-
const raw = await getSettingsRecord(accessToken, documentId);
|
|
152
|
-
return normalizeRecord(raw);
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Update data processing settings (upsert). Creates the document and record on first call.
|
|
156
|
-
*/
|
|
157
|
-
export async function updateDataSettings(accessToken, roleIds, updates) {
|
|
158
|
-
const documentId = await ensureDocument(accessToken, roleIds);
|
|
159
|
-
const existing = await getSettingsRecord(accessToken, documentId);
|
|
160
|
-
const current = normalizeRecord(existing);
|
|
161
|
-
const now = new Date().toISOString();
|
|
162
|
-
const next = {
|
|
163
|
-
...current,
|
|
164
|
-
...updates,
|
|
165
|
-
id: RECORD_ID,
|
|
166
|
-
isActive: true,
|
|
167
|
-
updatedAt: now,
|
|
168
|
-
};
|
|
169
|
-
if (existing) {
|
|
170
|
-
await dataApiRequest(accessToken, `/data/${documentId}/records`, {
|
|
171
|
-
method: 'PUT',
|
|
172
|
-
body: JSON.stringify({
|
|
173
|
-
updates: next,
|
|
174
|
-
where: { field: 'id', op: 'eq', value: RECORD_ID },
|
|
175
|
-
validate: false,
|
|
176
|
-
}),
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
await dataApiRequest(accessToken, `/data/${documentId}/records`, {
|
|
181
|
-
method: 'POST',
|
|
182
|
-
body: JSON.stringify({
|
|
183
|
-
records: [{ ...next, createdAt: now }],
|
|
184
|
-
validate: false,
|
|
185
|
-
}),
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
return next;
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Get default settings without needing a token (for fallback/display).
|
|
192
|
-
*/
|
|
193
|
-
export function getDefaultDataSettings() {
|
|
194
|
-
const now = new Date().toISOString();
|
|
195
|
-
return {
|
|
196
|
-
id: RECORD_ID,
|
|
197
|
-
...DEFAULT_SETTINGS,
|
|
198
|
-
createdAt: now,
|
|
199
|
-
updatedAt: now,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=data-settings-store.js.map
|