@jazzmind/busibox-app 3.0.18 → 3.0.19
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/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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-settings-store.js","sourceRoot":"","sources":["../../../src/lib/stores/data-settings-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Email Configuration Store
|
|
3
|
-
*
|
|
4
|
-
* Persists email provider settings (SMTP / Resend) in deploy-api's config
|
|
5
|
-
* store (postgres `config` table) so admins can manage them from the UI.
|
|
6
|
-
*
|
|
7
|
-
* These settings are NOT applied to Busibox Portal's process.env. Instead,
|
|
8
|
-
* deploy-api writes them to the Ansible vault and restarts bridge-api,
|
|
9
|
-
* which picks them up from its own environment.
|
|
10
|
-
*
|
|
11
|
-
* Admin flow:
|
|
12
|
-
* Admin saves settings via UI -> PATCH /api/admin/email-settings
|
|
13
|
-
* -> bulk-set in deploy-api config store -> trigger bridge restart
|
|
14
|
-
*/
|
|
15
|
-
export type EmailConfig = {
|
|
16
|
-
smtpHost: string | null;
|
|
17
|
-
smtpPort: number | null;
|
|
18
|
-
smtpUser: string | null;
|
|
19
|
-
smtpPassword: string | null;
|
|
20
|
-
smtpSecure: boolean;
|
|
21
|
-
emailFrom: string | null;
|
|
22
|
-
resendApiKey: string | null;
|
|
23
|
-
};
|
|
24
|
-
export declare function maskEmailConfig(config: EmailConfig): EmailConfig;
|
|
25
|
-
export declare function isMaskedValue(value: unknown): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Get a deploy-api scoped token for an authenticated admin user.
|
|
28
|
-
*/
|
|
29
|
-
export declare function getEmailConfigToken(userId: string, sessionJwt: string): Promise<string>;
|
|
30
|
-
/**
|
|
31
|
-
* Read email config from deploy-api config store.
|
|
32
|
-
*
|
|
33
|
-
* @param token - deploy-api scoped JWT (from admin user)
|
|
34
|
-
* @param raw - if true, fetches raw (unmasked) values
|
|
35
|
-
*/
|
|
36
|
-
export declare function getEmailConfigFromDeployApi(token: string, raw?: boolean): Promise<EmailConfig>;
|
|
37
|
-
/**
|
|
38
|
-
* Save email config to deploy-api config store (bulk upsert).
|
|
39
|
-
*
|
|
40
|
-
* @param token - deploy-api scoped JWT (from admin user)
|
|
41
|
-
* @param updates - partial EmailConfig to save
|
|
42
|
-
*/
|
|
43
|
-
export declare function saveEmailConfigToDeployApi(token: string, updates: Partial<EmailConfig>): Promise<EmailConfig>;
|
|
44
|
-
export declare function getDefaultEmailConfig(): EmailConfig;
|
|
45
|
-
//# sourceMappingURL=email-config-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"email-config-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stores/email-config-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2CH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAuBF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAShE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD;AAMD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAMD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,GAAG,UAAQ,GACV,OAAO,CAAC,WAAW,CAAC,CA8BtB;AAqCD;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC,CA8BtB;AAMD,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD"}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Email Configuration Store
|
|
3
|
-
*
|
|
4
|
-
* Persists email provider settings (SMTP / Resend) in deploy-api's config
|
|
5
|
-
* store (postgres `config` table) so admins can manage them from the UI.
|
|
6
|
-
*
|
|
7
|
-
* These settings are NOT applied to Busibox Portal's process.env. Instead,
|
|
8
|
-
* deploy-api writes them to the Ansible vault and restarts bridge-api,
|
|
9
|
-
* which picks them up from its own environment.
|
|
10
|
-
*
|
|
11
|
-
* Admin flow:
|
|
12
|
-
* Admin saves settings via UI -> PATCH /api/admin/email-settings
|
|
13
|
-
* -> bulk-set in deploy-api config store -> trigger bridge restart
|
|
14
|
-
*/
|
|
15
|
-
import { getDeployApiToken, bulkSetConfigs, listConfigs, getConfigRaw, } from '../services/deploy-api-client';
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
|
-
// Constants
|
|
18
|
-
// ---------------------------------------------------------------------------
|
|
19
|
-
/** Deploy-api config category for all email/SMTP settings. */
|
|
20
|
-
const CONFIG_CATEGORY = 'smtp';
|
|
21
|
-
/**
|
|
22
|
-
* Mapping between our friendly EmailConfig field names and the
|
|
23
|
-
* deploy-api config keys (which match the env var names bridge reads).
|
|
24
|
-
*/
|
|
25
|
-
const FIELD_TO_KEY = {
|
|
26
|
-
smtpHost: 'SMTP_HOST',
|
|
27
|
-
smtpPort: 'SMTP_PORT',
|
|
28
|
-
smtpUser: 'SMTP_USER',
|
|
29
|
-
smtpPassword: 'SMTP_PASSWORD',
|
|
30
|
-
smtpSecure: 'SMTP_SECURE',
|
|
31
|
-
emailFrom: 'EMAIL_FROM',
|
|
32
|
-
resendApiKey: 'RESEND_API_KEY',
|
|
33
|
-
};
|
|
34
|
-
const KEY_TO_FIELD = Object.fromEntries(Object.entries(FIELD_TO_KEY).map(([f, k]) => [k, f]));
|
|
35
|
-
/** Fields whose values should be flagged as `encrypted` in deploy-api. */
|
|
36
|
-
const ENCRYPTED_KEYS = new Set(['SMTP_PASSWORD', 'RESEND_API_KEY']);
|
|
37
|
-
const DEFAULT_CONFIG = {
|
|
38
|
-
smtpHost: null,
|
|
39
|
-
smtpPort: null,
|
|
40
|
-
smtpUser: null,
|
|
41
|
-
smtpPassword: null,
|
|
42
|
-
smtpSecure: false,
|
|
43
|
-
emailFrom: null,
|
|
44
|
-
resendApiKey: null,
|
|
45
|
-
};
|
|
46
|
-
// ---------------------------------------------------------------------------
|
|
47
|
-
// Sensitive-field masking
|
|
48
|
-
// ---------------------------------------------------------------------------
|
|
49
|
-
const SENSITIVE_KEYS = ['smtpPassword', 'resendApiKey'];
|
|
50
|
-
function maskValue(value) {
|
|
51
|
-
if (!value || value.length <= 8)
|
|
52
|
-
return value ? '****' : null;
|
|
53
|
-
return value.substring(0, 4) + '****' + value.substring(value.length - 4);
|
|
54
|
-
}
|
|
55
|
-
export function maskEmailConfig(config) {
|
|
56
|
-
const masked = { ...config };
|
|
57
|
-
for (const key of SENSITIVE_KEYS) {
|
|
58
|
-
const val = masked[key];
|
|
59
|
-
if (typeof val === 'string') {
|
|
60
|
-
masked[key] = maskValue(val);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return masked;
|
|
64
|
-
}
|
|
65
|
-
export function isMaskedValue(value) {
|
|
66
|
-
return typeof value === 'string' && value.includes('****');
|
|
67
|
-
}
|
|
68
|
-
// ---------------------------------------------------------------------------
|
|
69
|
-
// Deploy-API token helpers
|
|
70
|
-
// ---------------------------------------------------------------------------
|
|
71
|
-
/**
|
|
72
|
-
* Get a deploy-api scoped token for an authenticated admin user.
|
|
73
|
-
*/
|
|
74
|
-
export async function getEmailConfigToken(userId, sessionJwt) {
|
|
75
|
-
return getDeployApiToken(userId, sessionJwt);
|
|
76
|
-
}
|
|
77
|
-
// ---------------------------------------------------------------------------
|
|
78
|
-
// Public API — Read
|
|
79
|
-
// ---------------------------------------------------------------------------
|
|
80
|
-
/**
|
|
81
|
-
* Read email config from deploy-api config store.
|
|
82
|
-
*
|
|
83
|
-
* @param token - deploy-api scoped JWT (from admin user)
|
|
84
|
-
* @param raw - if true, fetches raw (unmasked) values
|
|
85
|
-
*/
|
|
86
|
-
export async function getEmailConfigFromDeployApi(token, raw = false) {
|
|
87
|
-
try {
|
|
88
|
-
const listing = await listConfigs(token, CONFIG_CATEGORY);
|
|
89
|
-
if (!listing.configs || listing.configs.length === 0) {
|
|
90
|
-
return { ...DEFAULT_CONFIG };
|
|
91
|
-
}
|
|
92
|
-
const values = {};
|
|
93
|
-
if (raw) {
|
|
94
|
-
for (const cfg of listing.configs) {
|
|
95
|
-
try {
|
|
96
|
-
const rawResp = await getConfigRaw(token, cfg.key);
|
|
97
|
-
values[rawResp.key] = rawResp.value;
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
// skip if key disappeared
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
for (const cfg of listing.configs) {
|
|
106
|
-
values[cfg.key] = cfg.value;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return configValuesToEmailConfig(values);
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
console.warn('[EMAIL-CONFIG] Failed to read from deploy-api:', error);
|
|
113
|
-
return { ...DEFAULT_CONFIG };
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
function configValuesToEmailConfig(values) {
|
|
117
|
-
const config = { ...DEFAULT_CONFIG };
|
|
118
|
-
for (const [key, value] of Object.entries(values)) {
|
|
119
|
-
const field = KEY_TO_FIELD[key];
|
|
120
|
-
if (!field || !value)
|
|
121
|
-
continue;
|
|
122
|
-
// Encrypted fields come back as '********' from the list endpoint.
|
|
123
|
-
// Preserve them so the UI can show "password is set" via masking.
|
|
124
|
-
if (value === '********') {
|
|
125
|
-
config[field] = '********';
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
switch (field) {
|
|
129
|
-
case 'smtpPort': {
|
|
130
|
-
const n = parseInt(value, 10);
|
|
131
|
-
if (Number.isFinite(n) && n > 0)
|
|
132
|
-
config.smtpPort = n;
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
case 'smtpSecure':
|
|
136
|
-
config.smtpSecure = value === 'true';
|
|
137
|
-
break;
|
|
138
|
-
default:
|
|
139
|
-
config[field] = value;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return config;
|
|
143
|
-
}
|
|
144
|
-
// ---------------------------------------------------------------------------
|
|
145
|
-
// Public API — Write
|
|
146
|
-
// ---------------------------------------------------------------------------
|
|
147
|
-
/**
|
|
148
|
-
* Save email config to deploy-api config store (bulk upsert).
|
|
149
|
-
*
|
|
150
|
-
* @param token - deploy-api scoped JWT (from admin user)
|
|
151
|
-
* @param updates - partial EmailConfig to save
|
|
152
|
-
*/
|
|
153
|
-
export async function saveEmailConfigToDeployApi(token, updates) {
|
|
154
|
-
const configs = {};
|
|
155
|
-
for (const [field, configKey] of Object.entries(FIELD_TO_KEY)) {
|
|
156
|
-
const value = updates[field];
|
|
157
|
-
if (value === undefined)
|
|
158
|
-
continue;
|
|
159
|
-
// Booleans must be stored as "true"/"false" (not empty string)
|
|
160
|
-
// because bridge's Pydantic settings can't parse "" as a boolean.
|
|
161
|
-
const strValue = typeof value === 'boolean'
|
|
162
|
-
? String(value)
|
|
163
|
-
: value === null
|
|
164
|
-
? ''
|
|
165
|
-
: String(value);
|
|
166
|
-
configs[configKey] = {
|
|
167
|
-
value: strValue,
|
|
168
|
-
encrypted: ENCRYPTED_KEYS.has(configKey),
|
|
169
|
-
category: CONFIG_CATEGORY,
|
|
170
|
-
description: `Bridge email setting: ${field}`,
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
if (Object.keys(configs).length === 0) {
|
|
174
|
-
return getEmailConfigFromDeployApi(token, true);
|
|
175
|
-
}
|
|
176
|
-
await bulkSetConfigs(token, { configs });
|
|
177
|
-
return getEmailConfigFromDeployApi(token, true);
|
|
178
|
-
}
|
|
179
|
-
// ---------------------------------------------------------------------------
|
|
180
|
-
// Defaults
|
|
181
|
-
// ---------------------------------------------------------------------------
|
|
182
|
-
export function getDefaultEmailConfig() {
|
|
183
|
-
return { ...DEFAULT_CONFIG };
|
|
184
|
-
}
|
|
185
|
-
//# sourceMappingURL=email-config-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"email-config-store.js","sourceRoot":"","sources":["../../../src/lib/stores/email-config-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export type PortalConfig = {
|
|
2
|
-
companyName: string;
|
|
3
|
-
siteName: string;
|
|
4
|
-
slogan: string;
|
|
5
|
-
logoUrl: string | null;
|
|
6
|
-
faviconUrl: string | null;
|
|
7
|
-
primaryColor: string;
|
|
8
|
-
secondaryColor: string;
|
|
9
|
-
textColor: string;
|
|
10
|
-
addressLine1: string;
|
|
11
|
-
addressLine2: string | null;
|
|
12
|
-
addressCity: string | null;
|
|
13
|
-
addressState: string | null;
|
|
14
|
-
addressZip: string | null;
|
|
15
|
-
addressCountry: string | null;
|
|
16
|
-
supportEmail: string | null;
|
|
17
|
-
supportPhone: string | null;
|
|
18
|
-
customCss: string | null;
|
|
19
|
-
setupComplete: boolean;
|
|
20
|
-
setupCompletedAt: string | null;
|
|
21
|
-
setupCompletedBy: string | null;
|
|
22
|
-
};
|
|
23
|
-
type DataApiToken = {
|
|
24
|
-
accessToken: string;
|
|
25
|
-
};
|
|
26
|
-
export declare function getDataApiTokenForUser(userId: string, sessionJwt: string): Promise<DataApiToken>;
|
|
27
|
-
export declare function getPortalConfigFromDataApi(token: string): Promise<PortalConfig>;
|
|
28
|
-
export declare function getSharedRoleIdsForConfig(dataApiAccessToken: string, sessionJwt?: string): string[];
|
|
29
|
-
export declare function upsertPortalConfigInDataApi(token: string, updates: Partial<PortalConfig>, roleIds: string[]): Promise<PortalConfig>;
|
|
30
|
-
export declare function getDefaultPortalConfig(): PortalConfig;
|
|
31
|
-
/**
|
|
32
|
-
* Sync the portal site name to deploy-api config store so backend services
|
|
33
|
-
* (e.g. agent-api) can read it for notification subjects without needing
|
|
34
|
-
* a data-api token.
|
|
35
|
-
*/
|
|
36
|
-
export declare function syncSiteNameToDeployApi(userId: string, sessionJwt: string, siteName: string): Promise<void>;
|
|
37
|
-
export {};
|
|
38
|
-
//# sourceMappingURL=portal-config-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"portal-config-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stores/portal-config-store.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAyBF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAsF5C,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAQtG;AAED,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAOrF;AAiDD,wBAAgB,yBAAyB,CACvC,kBAAkB,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,EAAE,CAaV;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,YAAY,CAAC,CA4CvB;AAED,wBAAgB,sBAAsB,IAAI,YAAY,CAErD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { exchangeWithSubjectToken } from '../authz/next-client';
|
|
2
|
-
import { getDataApiUrl } from '../next/api-url';
|
|
3
|
-
const DOCUMENT_NAME = 'busibox-portal-config';
|
|
4
|
-
const RECORD_ID = 'portal-customization';
|
|
5
|
-
const DEFAULT_CONFIG = {
|
|
6
|
-
companyName: 'Busibox Portal',
|
|
7
|
-
siteName: 'Busibox Portal',
|
|
8
|
-
slogan: 'How about a nice game of chess?',
|
|
9
|
-
logoUrl: null,
|
|
10
|
-
faviconUrl: null,
|
|
11
|
-
primaryColor: '#000000',
|
|
12
|
-
secondaryColor: '#8B0000',
|
|
13
|
-
textColor: '#FFFFFF',
|
|
14
|
-
addressLine1: 'Cheyenne Mountain',
|
|
15
|
-
addressLine2: null,
|
|
16
|
-
addressCity: null,
|
|
17
|
-
addressState: 'NV',
|
|
18
|
-
addressZip: null,
|
|
19
|
-
addressCountry: 'USA',
|
|
20
|
-
supportEmail: null,
|
|
21
|
-
supportPhone: null,
|
|
22
|
-
customCss: null,
|
|
23
|
-
setupComplete: false,
|
|
24
|
-
setupCompletedAt: null,
|
|
25
|
-
setupCompletedBy: null,
|
|
26
|
-
};
|
|
27
|
-
async function dataApiRequest(token, path, init = {}) {
|
|
28
|
-
const response = await fetch(`${getDataApiUrl()}${path}`, {
|
|
29
|
-
...init,
|
|
30
|
-
headers: {
|
|
31
|
-
Authorization: `Bearer ${token}`,
|
|
32
|
-
'Content-Type': 'application/json',
|
|
33
|
-
...(init.headers || {}),
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
if (!response.ok) {
|
|
37
|
-
const text = await response.text().catch(() => '');
|
|
38
|
-
throw new Error(`data-api ${response.status} ${path}: ${text}`);
|
|
39
|
-
}
|
|
40
|
-
return (await response.json());
|
|
41
|
-
}
|
|
42
|
-
function normalizeConfigRecord(record) {
|
|
43
|
-
if (!record)
|
|
44
|
-
return { ...DEFAULT_CONFIG };
|
|
45
|
-
return {
|
|
46
|
-
...DEFAULT_CONFIG,
|
|
47
|
-
...record,
|
|
48
|
-
setupComplete: record.setupComplete === true,
|
|
49
|
-
setupCompletedAt: record.setupCompletedAt ?? null,
|
|
50
|
-
setupCompletedBy: record.setupCompletedBy ?? null,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
async function findConfigDocumentId(token) {
|
|
54
|
-
const list = await dataApiRequest(token, '/data');
|
|
55
|
-
const existing = (list.documents || []).find((d) => d.name === DOCUMENT_NAME);
|
|
56
|
-
return existing?.id || null;
|
|
57
|
-
}
|
|
58
|
-
async function ensureConfigDocument(token, roleIds) {
|
|
59
|
-
const existingId = await findConfigDocumentId(token);
|
|
60
|
-
if (existingId)
|
|
61
|
-
return existingId;
|
|
62
|
-
if (!roleIds.length) {
|
|
63
|
-
throw new Error('Cannot create shared config document without role IDs');
|
|
64
|
-
}
|
|
65
|
-
const created = await dataApiRequest(token, '/data', {
|
|
66
|
-
method: 'POST',
|
|
67
|
-
body: JSON.stringify({
|
|
68
|
-
name: DOCUMENT_NAME,
|
|
69
|
-
visibility: 'shared',
|
|
70
|
-
role_ids: roleIds,
|
|
71
|
-
roleIds: roleIds,
|
|
72
|
-
sourceApp: 'busibox-portal',
|
|
73
|
-
enableCache: false,
|
|
74
|
-
schema: {
|
|
75
|
-
displayName: 'Portal Configuration',
|
|
76
|
-
itemLabel: 'Setting',
|
|
77
|
-
sourceApp: 'busibox-portal',
|
|
78
|
-
visibility: 'shared',
|
|
79
|
-
allowSharing: true,
|
|
80
|
-
},
|
|
81
|
-
}),
|
|
82
|
-
});
|
|
83
|
-
return created.id;
|
|
84
|
-
}
|
|
85
|
-
async function getConfigRecord(token, documentId) {
|
|
86
|
-
const result = await dataApiRequest(token, `/data/${documentId}/query`, {
|
|
87
|
-
method: 'POST',
|
|
88
|
-
body: JSON.stringify({
|
|
89
|
-
where: { field: 'id', op: 'eq', value: RECORD_ID },
|
|
90
|
-
limit: 1,
|
|
91
|
-
}),
|
|
92
|
-
});
|
|
93
|
-
return result.records?.[0] || null;
|
|
94
|
-
}
|
|
95
|
-
export async function getDataApiTokenForUser(userId, sessionJwt) {
|
|
96
|
-
const tokenResult = await exchangeWithSubjectToken({
|
|
97
|
-
userId,
|
|
98
|
-
sessionJwt,
|
|
99
|
-
audience: 'data-api',
|
|
100
|
-
purpose: 'busibox-portal-config',
|
|
101
|
-
});
|
|
102
|
-
return { accessToken: tokenResult.accessToken };
|
|
103
|
-
}
|
|
104
|
-
export async function getPortalConfigFromDataApi(token) {
|
|
105
|
-
const documentId = await findConfigDocumentId(token);
|
|
106
|
-
if (!documentId) {
|
|
107
|
-
return { ...DEFAULT_CONFIG };
|
|
108
|
-
}
|
|
109
|
-
const record = await getConfigRecord(token, documentId);
|
|
110
|
-
return normalizeConfigRecord(record);
|
|
111
|
-
}
|
|
112
|
-
function decodeJwtPayload(token) {
|
|
113
|
-
try {
|
|
114
|
-
const parts = token.split('.');
|
|
115
|
-
if (parts.length !== 3)
|
|
116
|
-
return null;
|
|
117
|
-
return JSON.parse(Buffer.from(parts[1], 'base64url').toString());
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
function normalizeRoleIdArray(value) {
|
|
124
|
-
if (!Array.isArray(value))
|
|
125
|
-
return [];
|
|
126
|
-
return value
|
|
127
|
-
.filter((v) => typeof v === 'string' && v.length > 0)
|
|
128
|
-
.map((v) => v.trim())
|
|
129
|
-
.filter(Boolean);
|
|
130
|
-
}
|
|
131
|
-
function normalizeRoleObjectIds(value) {
|
|
132
|
-
if (!Array.isArray(value))
|
|
133
|
-
return [];
|
|
134
|
-
return value
|
|
135
|
-
.map((v) => {
|
|
136
|
-
if (!v || typeof v !== 'object')
|
|
137
|
-
return '';
|
|
138
|
-
const id = v.id;
|
|
139
|
-
return typeof id === 'string' ? id.trim() : '';
|
|
140
|
-
})
|
|
141
|
-
.filter(Boolean);
|
|
142
|
-
}
|
|
143
|
-
function extractRoleIdsFromClaims(claims) {
|
|
144
|
-
if (!claims)
|
|
145
|
-
return [];
|
|
146
|
-
return [
|
|
147
|
-
// Prefer explicit create-role IDs when present
|
|
148
|
-
...normalizeRoleIdArray(claims.user_role_ids_create),
|
|
149
|
-
...normalizeRoleIdArray(claims['app.user_role_ids_create']),
|
|
150
|
-
...normalizeRoleIdArray(claims.role_ids_create),
|
|
151
|
-
// Common generic role ID claims
|
|
152
|
-
...normalizeRoleIdArray(claims.role_ids),
|
|
153
|
-
...normalizeRoleIdArray(claims.user_role_ids),
|
|
154
|
-
// Session JWT in busibox-portal embeds role objects: [{id,name}, ...]
|
|
155
|
-
...normalizeRoleObjectIds(claims.roles),
|
|
156
|
-
// Read-role IDs as fallback
|
|
157
|
-
...normalizeRoleIdArray(claims.user_role_ids_read),
|
|
158
|
-
...normalizeRoleIdArray(claims['app.user_role_ids_read']),
|
|
159
|
-
];
|
|
160
|
-
}
|
|
161
|
-
export function getSharedRoleIdsForConfig(dataApiAccessToken, sessionJwt) {
|
|
162
|
-
const dataApiClaims = decodeJwtPayload(dataApiAccessToken);
|
|
163
|
-
const sessionClaims = sessionJwt ? decodeJwtPayload(sessionJwt) : null;
|
|
164
|
-
const roleIds = Array.from(new Set([
|
|
165
|
-
...extractRoleIdsFromClaims(dataApiClaims),
|
|
166
|
-
...extractRoleIdsFromClaims(sessionClaims),
|
|
167
|
-
]));
|
|
168
|
-
if (!roleIds.length) {
|
|
169
|
-
throw new Error('No role IDs available in token claims for shared config visibility');
|
|
170
|
-
}
|
|
171
|
-
return roleIds;
|
|
172
|
-
}
|
|
173
|
-
export async function upsertPortalConfigInDataApi(token, updates, roleIds) {
|
|
174
|
-
const documentId = await ensureConfigDocument(token, roleIds);
|
|
175
|
-
const existing = await getConfigRecord(token, documentId);
|
|
176
|
-
const merged = normalizeConfigRecord(existing);
|
|
177
|
-
const now = new Date().toISOString();
|
|
178
|
-
const next = {
|
|
179
|
-
...merged,
|
|
180
|
-
...updates,
|
|
181
|
-
setupComplete: updates.setupComplete ?? merged.setupComplete,
|
|
182
|
-
setupCompletedAt: updates.setupCompletedAt ?? merged.setupCompletedAt,
|
|
183
|
-
setupCompletedBy: updates.setupCompletedBy ?? merged.setupCompletedBy,
|
|
184
|
-
};
|
|
185
|
-
if (existing) {
|
|
186
|
-
await dataApiRequest(token, `/data/${documentId}/records`, {
|
|
187
|
-
method: 'PUT',
|
|
188
|
-
body: JSON.stringify({
|
|
189
|
-
updates: {
|
|
190
|
-
...next,
|
|
191
|
-
updatedAt: now,
|
|
192
|
-
},
|
|
193
|
-
where: { field: 'id', op: 'eq', value: RECORD_ID },
|
|
194
|
-
validate: false,
|
|
195
|
-
}),
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
await dataApiRequest(token, `/data/${documentId}/records`, {
|
|
200
|
-
method: 'POST',
|
|
201
|
-
body: JSON.stringify({
|
|
202
|
-
records: [
|
|
203
|
-
{
|
|
204
|
-
id: RECORD_ID,
|
|
205
|
-
...next,
|
|
206
|
-
createdAt: now,
|
|
207
|
-
updatedAt: now,
|
|
208
|
-
},
|
|
209
|
-
],
|
|
210
|
-
validate: false,
|
|
211
|
-
}),
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
return next;
|
|
215
|
-
}
|
|
216
|
-
export function getDefaultPortalConfig() {
|
|
217
|
-
return { ...DEFAULT_CONFIG };
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Sync the portal site name to deploy-api config store so backend services
|
|
221
|
-
* (e.g. agent-api) can read it for notification subjects without needing
|
|
222
|
-
* a data-api token.
|
|
223
|
-
*/
|
|
224
|
-
export async function syncSiteNameToDeployApi(userId, sessionJwt, siteName) {
|
|
225
|
-
try {
|
|
226
|
-
const { getDeployApiToken, setConfig } = await import('../services/deploy-api-client');
|
|
227
|
-
const deployToken = await getDeployApiToken(userId, sessionJwt);
|
|
228
|
-
await setConfig(deployToken, 'PORTAL_SITE_NAME', {
|
|
229
|
-
value: siteName,
|
|
230
|
-
category: 'portal',
|
|
231
|
-
description: 'Portal display name (synced from branding settings)',
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
catch (error) {
|
|
235
|
-
console.warn('[PORTAL-CONFIG] Failed to sync site name to deploy-api:', error);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
//# sourceMappingURL=portal-config-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"portal-config-store.js","sourceRoot":"","sources":["../../../src/lib/stores/portal-config-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Video Store
|
|
3
|
-
*
|
|
4
|
-
* Manages Video, VideoShare, and VideoReferenceMedia via data-api document storage,
|
|
5
|
-
* replacing the Prisma Video, VideoShare, and VideoReferenceMedia models.
|
|
6
|
-
*
|
|
7
|
-
* Pattern follows data-settings-store.ts and app-config-store.ts:
|
|
8
|
-
* - Shared visibility with role_ids
|
|
9
|
-
* - Document-per-entity-type
|
|
10
|
-
*/
|
|
11
|
-
import type { VideoStatus, VideoVisibility } from '../../types/video';
|
|
12
|
-
export type VideoRecord = {
|
|
13
|
-
id: string;
|
|
14
|
-
ownerId: string;
|
|
15
|
-
openaiVideoId: string | null;
|
|
16
|
-
prompt: string;
|
|
17
|
-
durationSeconds: number;
|
|
18
|
-
resolution: string;
|
|
19
|
-
status: VideoStatus;
|
|
20
|
-
visibility: VideoVisibility;
|
|
21
|
-
createdAt: Date;
|
|
22
|
-
completedAt: Date | null;
|
|
23
|
-
expiresAt: Date | null;
|
|
24
|
-
openaiModel: string | null;
|
|
25
|
-
downloadUrl: string | null;
|
|
26
|
-
posterUrl: string | null;
|
|
27
|
-
progress: number | null;
|
|
28
|
-
errorMessage: string | null;
|
|
29
|
-
};
|
|
30
|
-
export type VideoShareRecord = {
|
|
31
|
-
id: string;
|
|
32
|
-
videoId: string;
|
|
33
|
-
userId: string;
|
|
34
|
-
sharedBy: string;
|
|
35
|
-
sharedAt: Date;
|
|
36
|
-
};
|
|
37
|
-
export type VideoReferenceMediaRecord = {
|
|
38
|
-
id: string;
|
|
39
|
-
videoId: string;
|
|
40
|
-
fileType: string;
|
|
41
|
-
format: string;
|
|
42
|
-
fileSizeBytes: number;
|
|
43
|
-
base64Data: string;
|
|
44
|
-
uploadedAt: Date;
|
|
45
|
-
};
|
|
46
|
-
export type VideoCreateInput = Omit<VideoRecord, 'id' | 'createdAt'> & {
|
|
47
|
-
id?: string;
|
|
48
|
-
createdAt?: Date | string;
|
|
49
|
-
};
|
|
50
|
-
export type VideoUpdateInput = Partial<Omit<VideoRecord, 'id' | 'ownerId' | 'createdAt'>>;
|
|
51
|
-
export type VideoShareCreateInput = {
|
|
52
|
-
videoId: string;
|
|
53
|
-
userId: string;
|
|
54
|
-
sharedBy: string;
|
|
55
|
-
};
|
|
56
|
-
export type VideoReferenceMediaCreateInput = Omit<VideoReferenceMediaRecord, 'id' | 'uploadedAt'> & {
|
|
57
|
-
id?: string;
|
|
58
|
-
uploadedAt?: Date | string;
|
|
59
|
-
};
|
|
60
|
-
export type VideoListFilters = {
|
|
61
|
-
filter?: 'my-videos' | 'public' | 'shared';
|
|
62
|
-
userId?: string;
|
|
63
|
-
status?: VideoStatus;
|
|
64
|
-
limit?: number;
|
|
65
|
-
offset?: number;
|
|
66
|
-
};
|
|
67
|
-
export declare function getVideoStoreContext(userId: string, sessionJwt: string): Promise<{
|
|
68
|
-
accessToken: string;
|
|
69
|
-
roleIds: string[];
|
|
70
|
-
}>;
|
|
71
|
-
export declare function listVideos(accessToken: string, filters?: VideoListFilters): Promise<{
|
|
72
|
-
videos: VideoRecord[];
|
|
73
|
-
total: number;
|
|
74
|
-
}>;
|
|
75
|
-
export declare function findVideoByFileId(accessToken: string, fileId: string): Promise<VideoRecord | null>;
|
|
76
|
-
export declare function getVideoById(accessToken: string, videoId: string): Promise<VideoRecord | null>;
|
|
77
|
-
export declare function createVideo(accessToken: string, roleIds: string[], input: VideoCreateInput): Promise<VideoRecord>;
|
|
78
|
-
export declare function updateVideo(accessToken: string, roleIds: string[], videoId: string, updates: VideoUpdateInput): Promise<VideoRecord | null>;
|
|
79
|
-
export declare function deleteVideo(accessToken: string, roleIds: string[], videoId: string): Promise<boolean>;
|
|
80
|
-
export declare function listVideoShares(accessToken: string, videoId: string): Promise<VideoShareRecord[]>;
|
|
81
|
-
export declare function createVideoShare(accessToken: string, roleIds: string[], videoId: string, shareData: {
|
|
82
|
-
userId: string;
|
|
83
|
-
sharedBy: string;
|
|
84
|
-
}): Promise<VideoShareRecord>;
|
|
85
|
-
export declare function deleteVideoShare(accessToken: string, roleIds: string[], shareId: string): Promise<boolean>;
|
|
86
|
-
export declare function deleteVideoShareByVideoAndUser(accessToken: string, roleIds: string[], videoId: string, userId: string): Promise<boolean>;
|
|
87
|
-
export declare function listVideoReferenceMedia(accessToken: string, videoId: string): Promise<VideoReferenceMediaRecord[]>;
|
|
88
|
-
export declare function getVideoReferenceMedia(accessToken: string, videoId: string): Promise<VideoReferenceMediaRecord | null>;
|
|
89
|
-
export declare function createVideoReferenceMedia(accessToken: string, roleIds: string[], input: VideoReferenceMediaCreateInput): Promise<VideoReferenceMediaRecord>;
|
|
90
|
-
export declare function deleteVideoReferenceMedia(accessToken: string, roleIds: string[], mediaId: string): Promise<boolean>;
|
|
91
|
-
//# sourceMappingURL=video-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"video-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stores/video-store.ts"],"names":[],"mappings":"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"}
|