@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
package/dist/lib/next/sso.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SSO Token Generation (Zero Trust)
|
|
3
|
-
*
|
|
4
|
-
* Uses authz service OAuth2 token exchange (RFC 8693) to generate app-scoped tokens.
|
|
5
|
-
*
|
|
6
|
-
* Flow:
|
|
7
|
-
* 1. User requests access to an app (e.g., busibox-agents)
|
|
8
|
-
* 2. busibox-portal exchanges user's session JWT with authz for an app-scoped token
|
|
9
|
-
* 3. authz verifies user has access to the app via RBAC bindings
|
|
10
|
-
* 4. authz issues RS256 token with app_id claim and user's roles
|
|
11
|
-
* 5. External app validates token via authz JWKS: GET /.well-known/jwks.json
|
|
12
|
-
*
|
|
13
|
-
* Benefits:
|
|
14
|
-
* - Standardized OAuth2 flow (RFC 8693)
|
|
15
|
-
* - Asymmetric signing (RS256) with JWKS
|
|
16
|
-
* - Service-scoped tokens (audience enforcement)
|
|
17
|
-
* - App access controlled via authz RBAC bindings
|
|
18
|
-
* - Centralized audit logging
|
|
19
|
-
* - No client credentials needed - JWT proves identity
|
|
20
|
-
*/
|
|
21
|
-
import { logOAuthTokenGenerated } from '../services/audit';
|
|
22
|
-
import { exchangeTokenZeroTrust } from '@jazzmind/busibox-app';
|
|
23
|
-
import { getAuthzBaseUrl } from './authz-client';
|
|
24
|
-
import { getAppByIdFromStore, getAppConfigStoreContextForUser, listAppsFromStore, resolveStableSsoAudience } from '../stores/app-config-store';
|
|
25
|
-
/**
|
|
26
|
-
* Get audit client options for server-side audit logging.
|
|
27
|
-
*/
|
|
28
|
-
function getAuditOptions() {
|
|
29
|
-
return {
|
|
30
|
-
authzUrl: getAuthzBaseUrl(),
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
function normalizeIdentifier(value) {
|
|
34
|
-
return value.trim().toLowerCase();
|
|
35
|
-
}
|
|
36
|
-
function normalizePath(value) {
|
|
37
|
-
const trimmed = value.trim();
|
|
38
|
-
return trimmed.startsWith('/') ? trimmed.toLowerCase() : `/${trimmed.toLowerCase()}`;
|
|
39
|
-
}
|
|
40
|
-
function isPortalInternalBuiltInRoute(_url) {
|
|
41
|
-
// In the monorepo, all built-in apps (chat, documents, admin, etc.) run as
|
|
42
|
-
// separate Next.js apps with their own basePath. Nothing is portal-internal
|
|
43
|
-
// anymore — all apps need SSO token exchange.
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
// ============================================================================
|
|
47
|
-
// Token Generation
|
|
48
|
-
// ============================================================================
|
|
49
|
-
/**
|
|
50
|
-
* Generate an app-scoped access token for a user to access an external app.
|
|
51
|
-
*
|
|
52
|
-
* Zero Trust Flow:
|
|
53
|
-
* 1. Verify app exists and is active in busibox-portal DB
|
|
54
|
-
* 2. Exchange user's session JWT for an app-scoped token via authz
|
|
55
|
-
* 3. Authz verifies user has app access via RBAC bindings
|
|
56
|
-
* 4. Authz issues RS256 token with app_id claim
|
|
57
|
-
*
|
|
58
|
-
* The external app validates this token via authz JWKS endpoint:
|
|
59
|
-
* GET {authz_url}/.well-known/jwks.json
|
|
60
|
-
*
|
|
61
|
-
* @param userInfo - User info including id, email, roles, and sessionJwt
|
|
62
|
-
* @param appIdentifier - App identifier (UUID, stable audience, path, or name)
|
|
63
|
-
* @returns JWT token string and expiration date
|
|
64
|
-
*/
|
|
65
|
-
export async function generateSSOToken(userInfo, appIdentifier) {
|
|
66
|
-
// Verify app exists and is active
|
|
67
|
-
const context = await getAppConfigStoreContextForUser(userInfo.id, userInfo.sessionJwt);
|
|
68
|
-
const requestedIdentifier = appIdentifier.trim();
|
|
69
|
-
let app = await getAppByIdFromStore(context.accessToken, requestedIdentifier);
|
|
70
|
-
if (!app) {
|
|
71
|
-
const allApps = await listAppsFromStore(context.accessToken);
|
|
72
|
-
const normalized = normalizeIdentifier(requestedIdentifier);
|
|
73
|
-
const pathLike = normalizePath(requestedIdentifier);
|
|
74
|
-
app =
|
|
75
|
-
allApps.find((candidate) => candidate.ssoAudience?.toLowerCase() === normalized) ||
|
|
76
|
-
allApps.find((candidate) => candidate.name.toLowerCase() === normalized) ||
|
|
77
|
-
allApps.find((candidate) => candidate.url?.toLowerCase() === pathLike) ||
|
|
78
|
-
allApps.find((candidate) => candidate.deployedPath?.toLowerCase() === pathLike) ||
|
|
79
|
-
null;
|
|
80
|
-
}
|
|
81
|
-
if (!app) {
|
|
82
|
-
throw new Error(`App not found: ${requestedIdentifier}`);
|
|
83
|
-
}
|
|
84
|
-
if (!app.isActive) {
|
|
85
|
-
throw new Error('App is not active');
|
|
86
|
-
}
|
|
87
|
-
// In the monorepo, all apps (BUILT_IN, LIBRARY, EXTERNAL) are separate
|
|
88
|
-
// Next.js apps and need SSO token exchange.
|
|
89
|
-
const allowSso = app.type === 'EXTERNAL' ||
|
|
90
|
-
app.type === 'LIBRARY' ||
|
|
91
|
-
app.type === 'BUILT_IN';
|
|
92
|
-
if (!allowSso) {
|
|
93
|
-
throw new Error('App does not support SSO authentication');
|
|
94
|
-
}
|
|
95
|
-
console.log('[SSO] Requesting app-scoped token from authz:', {
|
|
96
|
-
userId: userInfo.id,
|
|
97
|
-
requestedIdentifier,
|
|
98
|
-
appId: app.id,
|
|
99
|
-
appName: app.name,
|
|
100
|
-
ssoAudience: app.ssoAudience,
|
|
101
|
-
});
|
|
102
|
-
const audience = resolveStableSsoAudience(app);
|
|
103
|
-
// Exchange session JWT for app-scoped token via authz
|
|
104
|
-
// Authz will verify user has access to this app via RBAC bindings
|
|
105
|
-
// and issue RS256 token with app_id claim and user's roles
|
|
106
|
-
try {
|
|
107
|
-
const result = await exchangeTokenZeroTrust({
|
|
108
|
-
sessionJwt: userInfo.sessionJwt,
|
|
109
|
-
audience,
|
|
110
|
-
resourceId: app.id, // Canonical app UUID for RBAC check
|
|
111
|
-
purpose: 'sso-app-access',
|
|
112
|
-
}, {
|
|
113
|
-
authzBaseUrl: getAuthzBaseUrl(),
|
|
114
|
-
verbose: process.env.VERBOSE_AUTHZ_LOGGING === 'true',
|
|
115
|
-
});
|
|
116
|
-
const expiresAt = new Date(result.expiresAt);
|
|
117
|
-
console.log('[SSO] App-scoped token issued by authz:', {
|
|
118
|
-
userId: userInfo.id,
|
|
119
|
-
requestedIdentifier,
|
|
120
|
-
appId: app.id,
|
|
121
|
-
appName: app.name,
|
|
122
|
-
audience,
|
|
123
|
-
expiresIn: result.expiresIn,
|
|
124
|
-
});
|
|
125
|
-
// Log token generation (audit failure is non-fatal)
|
|
126
|
-
// Note: authz already logs the token issuance in its audit log
|
|
127
|
-
try {
|
|
128
|
-
const auditOptions = getAuditOptions();
|
|
129
|
-
await logOAuthTokenGenerated(userInfo.id, app.id, auditOptions);
|
|
130
|
-
}
|
|
131
|
-
catch (auditError) {
|
|
132
|
-
console.error('[SSO] Audit logging failed (non-fatal):', auditError);
|
|
133
|
-
}
|
|
134
|
-
// For deployed apps, use deployedPath (e.g., /myapp)
|
|
135
|
-
// For external web apps, use the URL directly
|
|
136
|
-
// local-dev:// URLs should use deployedPath once deployed
|
|
137
|
-
let appUrl = app.url;
|
|
138
|
-
if (app.deployedPath && app.lastDeploymentStatus === 'completed') {
|
|
139
|
-
appUrl = app.deployedPath;
|
|
140
|
-
}
|
|
141
|
-
else if (app.url?.startsWith('local-dev://')) {
|
|
142
|
-
// local-dev app not yet deployed - use deployedPath if available
|
|
143
|
-
appUrl = app.deployedPath || null;
|
|
144
|
-
}
|
|
145
|
-
return {
|
|
146
|
-
token: result.accessToken,
|
|
147
|
-
expiresAt,
|
|
148
|
-
appUrl,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
// Map authz errors to user-friendly messages
|
|
153
|
-
const errorMessage = error.message || String(error);
|
|
154
|
-
if (errorMessage.includes('user_does_not_have_app_access')) {
|
|
155
|
-
throw new Error('User does not have permission to access this app');
|
|
156
|
-
}
|
|
157
|
-
if (errorMessage.includes('403')) {
|
|
158
|
-
throw new Error('User does not have permission to access this app');
|
|
159
|
-
}
|
|
160
|
-
if (errorMessage.includes('session_revoked') || errorMessage.includes('expired')) {
|
|
161
|
-
throw new Error('Session has expired. Please log in again.');
|
|
162
|
-
}
|
|
163
|
-
console.error('[SSO] Token exchange failed:', error);
|
|
164
|
-
throw new Error(`Failed to generate app token: ${errorMessage}`);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=sso.js.map
|
package/dist/lib/next/sso.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/lib/next/sso.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RBAC Client for busibox-app
|
|
3
|
-
*
|
|
4
|
-
* Centralized RBAC client that queries the authz service.
|
|
5
|
-
* All Busibox applications should use this client for role/permission checks.
|
|
6
|
-
*
|
|
7
|
-
* Authentication:
|
|
8
|
-
* - For self-service operations (user checking own access), pass the session JWT
|
|
9
|
-
* as `accessToken` - authz accepts it directly, no token exchange required.
|
|
10
|
-
* - For admin operations (accessing other users' data), use an exchanged access
|
|
11
|
-
* token with appropriate authz.bindings.* scopes.
|
|
12
|
-
*
|
|
13
|
-
* Usage:
|
|
14
|
-
* ```typescript
|
|
15
|
-
* import { hasRole, isAdmin, getUserRoles, getUserAccessibleResources } from 'busibox-app';
|
|
16
|
-
*
|
|
17
|
-
* // Self-service: pass session JWT directly
|
|
18
|
-
* const resources = await getUserAccessibleResources(userId, 'app', {
|
|
19
|
-
* authzUrl: 'http://authz-api:8010',
|
|
20
|
-
* accessToken: sessionJwt,
|
|
21
|
-
* });
|
|
22
|
-
*
|
|
23
|
-
* // Admin: use exchanged access token with scopes
|
|
24
|
-
* const roles = await getUserRoles('other-user-123', {
|
|
25
|
-
* accessToken: adminAccessToken,
|
|
26
|
-
* });
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export interface RbacClientOptions {
|
|
30
|
-
/** User ID (for server-side token acquisition) */
|
|
31
|
-
userId?: string;
|
|
32
|
-
/** Custom token acquisition function */
|
|
33
|
-
getAuthzToken?: (userId: string, audience: string, scopes: string[]) => Promise<string>;
|
|
34
|
-
/** Override authz service URL */
|
|
35
|
-
authzUrl?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Access token (JWT) for authentication.
|
|
38
|
-
*
|
|
39
|
-
* For self-service operations (user accessing their own resources),
|
|
40
|
-
* you can pass the session JWT directly - authz accepts it.
|
|
41
|
-
*
|
|
42
|
-
* For admin operations (accessing other users' resources),
|
|
43
|
-
* use an exchanged access token with authz.bindings.* scopes.
|
|
44
|
-
*/
|
|
45
|
-
accessToken?: string;
|
|
46
|
-
}
|
|
47
|
-
export interface Role {
|
|
48
|
-
id: string;
|
|
49
|
-
name: string;
|
|
50
|
-
description?: string | null;
|
|
51
|
-
scopes?: string[];
|
|
52
|
-
is_system?: boolean;
|
|
53
|
-
created_at: string;
|
|
54
|
-
updated_at: string;
|
|
55
|
-
}
|
|
56
|
-
export interface User {
|
|
57
|
-
/** User ID (returned as 'id' from authz API) */
|
|
58
|
-
id: string;
|
|
59
|
-
/** @deprecated Use 'id' instead. Alias for backwards compatibility. */
|
|
60
|
-
user_id?: string;
|
|
61
|
-
email: string;
|
|
62
|
-
status?: string;
|
|
63
|
-
display_name?: string | null;
|
|
64
|
-
first_name?: string | null;
|
|
65
|
-
last_name?: string | null;
|
|
66
|
-
avatar_url?: string | null;
|
|
67
|
-
email_verified_at?: string | null;
|
|
68
|
-
last_login_at?: string | null;
|
|
69
|
-
pending_expires_at?: string | null;
|
|
70
|
-
roles: Role[];
|
|
71
|
-
created_at: string;
|
|
72
|
-
updated_at: string;
|
|
73
|
-
}
|
|
74
|
-
export interface UserListResponse {
|
|
75
|
-
users: User[];
|
|
76
|
-
pagination: {
|
|
77
|
-
page: number;
|
|
78
|
-
limit: number;
|
|
79
|
-
total_count: number;
|
|
80
|
-
total_pages: number;
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
export interface CreateUserParams {
|
|
84
|
-
email: string;
|
|
85
|
-
role_ids?: string[];
|
|
86
|
-
status?: 'PENDING' | 'ACTIVE' | 'DEACTIVATED';
|
|
87
|
-
assigned_by?: string;
|
|
88
|
-
}
|
|
89
|
-
export interface UpdateUserParams {
|
|
90
|
-
email?: string;
|
|
91
|
-
status?: 'PENDING' | 'ACTIVE' | 'DEACTIVATED';
|
|
92
|
-
display_name?: string;
|
|
93
|
-
first_name?: string;
|
|
94
|
-
last_name?: string;
|
|
95
|
-
avatar_url?: string;
|
|
96
|
-
email_verified_at?: string;
|
|
97
|
-
last_login_at?: string;
|
|
98
|
-
pending_expires_at?: string;
|
|
99
|
-
}
|
|
100
|
-
export interface ListUsersParams {
|
|
101
|
-
page?: number;
|
|
102
|
-
limit?: number;
|
|
103
|
-
status?: 'PENDING' | 'ACTIVE' | 'DEACTIVATED';
|
|
104
|
-
search?: string;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Admin options type - Zero Trust with optional access token.
|
|
108
|
-
*
|
|
109
|
-
* For protected endpoints, accessToken should be provided (obtained via token exchange).
|
|
110
|
-
* Some endpoints may be public (e.g., role lookups for session validation).
|
|
111
|
-
*/
|
|
112
|
-
export type AdminAuthOptions = RbacClientOptions;
|
|
113
|
-
/**
|
|
114
|
-
* Get all roles from authz service
|
|
115
|
-
*/
|
|
116
|
-
export declare function listRoles(options?: RbacClientOptions): Promise<Role[]>;
|
|
117
|
-
/**
|
|
118
|
-
* Get a specific role by ID
|
|
119
|
-
*/
|
|
120
|
-
export declare function getRole(roleId: string, options?: RbacClientOptions): Promise<Role | null>;
|
|
121
|
-
/**
|
|
122
|
-
* Get a role by name
|
|
123
|
-
*/
|
|
124
|
-
export declare function getRoleByName(roleName: string, options?: RbacClientOptions): Promise<Role | null>;
|
|
125
|
-
/**
|
|
126
|
-
* List users with pagination and filtering
|
|
127
|
-
*/
|
|
128
|
-
export declare function listUsers(params?: ListUsersParams, options?: RbacClientOptions): Promise<UserListResponse>;
|
|
129
|
-
/**
|
|
130
|
-
* Get all users (convenience function that pages through all results)
|
|
131
|
-
*/
|
|
132
|
-
export declare function getAllUsers(options?: RbacClientOptions): Promise<User[]>;
|
|
133
|
-
/**
|
|
134
|
-
* Get a specific user by ID (includes roles)
|
|
135
|
-
*/
|
|
136
|
-
export declare function getUser(userId: string, options?: RbacClientOptions): Promise<User | null>;
|
|
137
|
-
/**
|
|
138
|
-
* Get a user by email address (includes roles)
|
|
139
|
-
* Returns null if user not found.
|
|
140
|
-
*/
|
|
141
|
-
export declare function getUserByEmail(email: string, options?: RbacClientOptions): Promise<User | null>;
|
|
142
|
-
/**
|
|
143
|
-
* Get user's roles
|
|
144
|
-
*/
|
|
145
|
-
export declare function getUserRoles(userId: string, options?: RbacClientOptions): Promise<Role[]>;
|
|
146
|
-
/**
|
|
147
|
-
* Get user's role names
|
|
148
|
-
*/
|
|
149
|
-
export declare function getUserRoleNames(userId: string, options?: RbacClientOptions): Promise<string[]>;
|
|
150
|
-
/**
|
|
151
|
-
* Check if user has a specific role
|
|
152
|
-
*/
|
|
153
|
-
export declare function hasRole(userId: string, roleName: string, options?: RbacClientOptions): Promise<boolean>;
|
|
154
|
-
/**
|
|
155
|
-
* Check if user has any of the specified roles
|
|
156
|
-
*/
|
|
157
|
-
export declare function hasAnyRole(userId: string, roleNames: string[], options?: RbacClientOptions): Promise<boolean>;
|
|
158
|
-
/**
|
|
159
|
-
* Check if user has all of the specified roles
|
|
160
|
-
*/
|
|
161
|
-
export declare function hasAllRoles(userId: string, roleNames: string[], options?: RbacClientOptions): Promise<boolean>;
|
|
162
|
-
/**
|
|
163
|
-
* Check if user is an admin
|
|
164
|
-
*/
|
|
165
|
-
export declare function isAdmin(userId: string, options?: RbacClientOptions): Promise<boolean>;
|
|
166
|
-
/**
|
|
167
|
-
* Check if user is a guest
|
|
168
|
-
*/
|
|
169
|
-
export declare function isGuest(userId: string, options?: RbacClientOptions): Promise<boolean>;
|
|
170
|
-
/**
|
|
171
|
-
* Create a new role (requires admin token)
|
|
172
|
-
*
|
|
173
|
-
* @param name - Role name
|
|
174
|
-
* @param description - Optional description
|
|
175
|
-
* @param scopes - Optional OAuth scopes for this role (e.g. ['data.read', 'search.write'])
|
|
176
|
-
* @param options - RBAC client options with adminToken
|
|
177
|
-
*/
|
|
178
|
-
export declare function createRole(name: string, description: string | null, options: AdminAuthOptions, scopes?: string[]): Promise<Role>;
|
|
179
|
-
/**
|
|
180
|
-
* Update a role (requires admin token)
|
|
181
|
-
*
|
|
182
|
-
* @param roleId - Role UUID
|
|
183
|
-
* @param updates - Fields to update (name, description, scopes)
|
|
184
|
-
* @param options - RBAC client options with adminToken
|
|
185
|
-
*/
|
|
186
|
-
export declare function updateRole(roleId: string, updates: {
|
|
187
|
-
name?: string;
|
|
188
|
-
description?: string | null;
|
|
189
|
-
scopes?: string[];
|
|
190
|
-
}, options: AdminAuthOptions): Promise<Role>;
|
|
191
|
-
/**
|
|
192
|
-
* Delete a role (requires admin token)
|
|
193
|
-
*/
|
|
194
|
-
export declare function deleteRole(roleId: string, options: AdminAuthOptions): Promise<void>;
|
|
195
|
-
/**
|
|
196
|
-
* Add a role to a user (requires admin token)
|
|
197
|
-
*/
|
|
198
|
-
export declare function addUserRole(userId: string, roleId: string, options: AdminAuthOptions): Promise<void>;
|
|
199
|
-
/**
|
|
200
|
-
* Remove a role from a user (requires admin token)
|
|
201
|
-
*/
|
|
202
|
-
export declare function removeUserRole(userId: string, roleId: string, options: AdminAuthOptions): Promise<void>;
|
|
203
|
-
/**
|
|
204
|
-
* Delete a user (requires admin token)
|
|
205
|
-
*/
|
|
206
|
-
export declare function deleteUser(userId: string, options: AdminAuthOptions): Promise<void>;
|
|
207
|
-
/**
|
|
208
|
-
* Create a new user (requires admin token)
|
|
209
|
-
*/
|
|
210
|
-
export declare function createUser(params: CreateUserParams, options: AdminAuthOptions): Promise<User>;
|
|
211
|
-
/**
|
|
212
|
-
* Update a user (requires admin token)
|
|
213
|
-
*/
|
|
214
|
-
export declare function updateUser(userId: string, updates: UpdateUserParams, options: AdminAuthOptions): Promise<User>;
|
|
215
|
-
/**
|
|
216
|
-
* Activate a pending user (requires admin token)
|
|
217
|
-
*/
|
|
218
|
-
export declare function activateUser(userId: string, options: AdminAuthOptions): Promise<User>;
|
|
219
|
-
/**
|
|
220
|
-
* Deactivate an active user (requires admin token)
|
|
221
|
-
*/
|
|
222
|
-
export declare function deactivateUser(userId: string, options: AdminAuthOptions): Promise<User>;
|
|
223
|
-
/**
|
|
224
|
-
* Reactivate a deactivated user (requires admin token)
|
|
225
|
-
*/
|
|
226
|
-
export declare function reactivateUser(userId: string, options: AdminAuthOptions): Promise<User>;
|
|
227
|
-
export interface EmailDomainRule {
|
|
228
|
-
id: string;
|
|
229
|
-
domain: string;
|
|
230
|
-
is_allowed: boolean;
|
|
231
|
-
created_at: string;
|
|
232
|
-
updated_at: string;
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* List email domain rules (requires admin token)
|
|
236
|
-
*/
|
|
237
|
-
export declare function listEmailDomains(options: AdminAuthOptions): Promise<EmailDomainRule[]>;
|
|
238
|
-
/**
|
|
239
|
-
* Add or update an email domain rule (requires admin token)
|
|
240
|
-
*/
|
|
241
|
-
export declare function addEmailDomain(domain: string, isAllowed: boolean, options: AdminAuthOptions): Promise<EmailDomainRule>;
|
|
242
|
-
/**
|
|
243
|
-
* Remove an email domain rule (requires admin token)
|
|
244
|
-
*/
|
|
245
|
-
export declare function removeEmailDomain(domain: string, options: AdminAuthOptions): Promise<void>;
|
|
246
|
-
export type ResourceType = 'app' | 'library' | 'document';
|
|
247
|
-
export interface RoleBinding {
|
|
248
|
-
id: string;
|
|
249
|
-
role_id: string;
|
|
250
|
-
resource_type: ResourceType;
|
|
251
|
-
resource_id: string;
|
|
252
|
-
permissions?: Record<string, boolean>;
|
|
253
|
-
created_at: string;
|
|
254
|
-
created_by?: string | null;
|
|
255
|
-
}
|
|
256
|
-
export interface RoleWithBinding {
|
|
257
|
-
id: string;
|
|
258
|
-
name: string;
|
|
259
|
-
description?: string | null;
|
|
260
|
-
scopes?: string[];
|
|
261
|
-
binding_id: string;
|
|
262
|
-
permissions?: Record<string, boolean>;
|
|
263
|
-
binding_created_at: string;
|
|
264
|
-
}
|
|
265
|
-
export interface CreateRoleBindingParams {
|
|
266
|
-
role_id: string;
|
|
267
|
-
resource_type: ResourceType;
|
|
268
|
-
resource_id: string;
|
|
269
|
-
permissions?: Record<string, boolean>;
|
|
270
|
-
}
|
|
271
|
-
export interface ListRoleBindingsParams {
|
|
272
|
-
role_id?: string;
|
|
273
|
-
resource_type?: ResourceType;
|
|
274
|
-
resource_id?: string;
|
|
275
|
-
limit?: number;
|
|
276
|
-
offset?: number;
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Create a new role-resource binding (requires admin token)
|
|
280
|
-
*/
|
|
281
|
-
export declare function createRoleBinding(params: CreateRoleBindingParams, options: AdminAuthOptions): Promise<RoleBinding>;
|
|
282
|
-
/**
|
|
283
|
-
* Get a role binding by ID (requires admin token)
|
|
284
|
-
*/
|
|
285
|
-
export declare function getRoleBinding(bindingId: string, options: AdminAuthOptions): Promise<RoleBinding | null>;
|
|
286
|
-
/**
|
|
287
|
-
* Delete a role binding by ID (requires admin token)
|
|
288
|
-
*/
|
|
289
|
-
export declare function deleteRoleBinding(bindingId: string, options: AdminAuthOptions): Promise<void>;
|
|
290
|
-
/**
|
|
291
|
-
* List role bindings with optional filters (requires admin token)
|
|
292
|
-
*/
|
|
293
|
-
export declare function listRoleBindings(params: ListRoleBindingsParams | undefined, options: AdminAuthOptions): Promise<RoleBinding[]>;
|
|
294
|
-
/**
|
|
295
|
-
* Get all bindings for a specific role (requires admin token)
|
|
296
|
-
*/
|
|
297
|
-
export declare function getRoleResourceBindings(roleId: string, resourceType?: ResourceType, options?: AdminAuthOptions): Promise<RoleBinding[]>;
|
|
298
|
-
/**
|
|
299
|
-
* Get all roles that have access to a specific resource (requires admin token)
|
|
300
|
-
*/
|
|
301
|
-
export declare function getResourceRoles(resourceType: ResourceType, resourceId: string, options: AdminAuthOptions): Promise<RoleWithBinding[]>;
|
|
302
|
-
/**
|
|
303
|
-
* Check if a user can access a specific resource (requires admin token)
|
|
304
|
-
*/
|
|
305
|
-
export declare function userCanAccessResource(userId: string, resourceType: ResourceType, resourceId: string, options: AdminAuthOptions): Promise<boolean>;
|
|
306
|
-
/**
|
|
307
|
-
* Get all resource IDs of a given type that a user can access (requires admin token)
|
|
308
|
-
*/
|
|
309
|
-
export declare function getUserAccessibleResources(userId: string, resourceType: ResourceType, options: AdminAuthOptions): Promise<string[]>;
|
|
310
|
-
/**
|
|
311
|
-
* Helper: Grant a role access to a resource (creates binding)
|
|
312
|
-
* Convenience wrapper around createRoleBinding
|
|
313
|
-
*/
|
|
314
|
-
export declare function grantRoleResourceAccess(roleId: string, resourceType: ResourceType, resourceId: string, permissions?: Record<string, boolean>, options?: AdminAuthOptions): Promise<RoleBinding>;
|
|
315
|
-
/**
|
|
316
|
-
* Helper: Revoke a role's access to a resource (deletes binding)
|
|
317
|
-
* Finds and deletes the binding for the given role/resource combo
|
|
318
|
-
*/
|
|
319
|
-
export declare function revokeRoleResourceAccess(roleId: string, resourceType: ResourceType, resourceId: string, options: AdminAuthOptions): Promise<boolean>;
|
|
320
|
-
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/lib/rbac/client.ts"],"names":[],"mappings":"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"}
|