@jazzmind/busibox-app 3.0.18 → 3.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/UserDropdown.d.ts +0 -16
- package/dist/components/UserDropdown.d.ts.map +1 -1
- package/dist/components/UserDropdown.js +2 -2
- package/dist/components/UserDropdown.js.map +1 -1
- package/dist/components/auth/PasskeyRequiredWrapper.d.ts +0 -8
- package/dist/components/auth/PasskeyRequiredWrapper.d.ts.map +1 -1
- package/dist/components/auth/PasskeyRequiredWrapper.js +2 -2
- package/dist/components/auth/PasskeyRequiredWrapper.js.map +1 -1
- package/dist/components/auth/ProtectedRoute.d.ts +0 -9
- package/dist/components/auth/ProtectedRoute.d.ts.map +1 -1
- package/dist/components/auth/ProtectedRoute.js +2 -2
- package/dist/components/auth/ProtectedRoute.js.map +1 -1
- package/dist/components/auth/SessionProvider.d.ts +0 -40
- package/dist/components/auth/SessionProvider.d.ts.map +1 -1
- package/dist/components/auth/SessionProvider.js +2 -2
- package/dist/components/auth/SessionProvider.js.map +1 -1
- package/dist/components/chat/AgentBadge.d.ts +0 -5
- package/dist/components/chat/AgentBadge.d.ts.map +1 -1
- package/dist/components/chat/AgentBadge.js +2 -2
- package/dist/components/chat/AgentBadge.js.map +1 -1
- package/dist/components/chat/AgentSelectionPanel.d.ts +0 -6
- package/dist/components/chat/AgentSelectionPanel.d.ts.map +1 -1
- package/dist/components/chat/AgentSelectionPanel.js +2 -2
- package/dist/components/chat/AgentSelectionPanel.js.map +1 -1
- package/dist/components/chat/AgentSelector.d.ts +0 -6
- package/dist/components/chat/AgentSelector.d.ts.map +1 -1
- package/dist/components/chat/AgentSelector.js +2 -2
- package/dist/components/chat/AgentSelector.js.map +1 -1
- package/dist/components/chat/AgentToolSelector.d.ts +0 -7
- package/dist/components/chat/AgentToolSelector.d.ts.map +1 -1
- package/dist/components/chat/AgentToolSelector.js +2 -2
- package/dist/components/chat/AgentToolSelector.js.map +1 -1
- package/dist/components/chat/AttachmentPreview.d.ts.map +1 -1
- package/dist/components/chat/AttachmentPreview.js +0 -5
- package/dist/components/chat/AttachmentPreview.js.map +1 -1
- package/dist/components/chat/AttachmentUploader.d.ts +0 -5
- package/dist/components/chat/AttachmentUploader.d.ts.map +1 -1
- package/dist/components/chat/AttachmentUploader.js +2 -2
- package/dist/components/chat/AttachmentUploader.js.map +1 -1
- package/dist/components/chat/ChatContainer.d.ts +0 -6
- package/dist/components/chat/ChatContainer.d.ts.map +1 -1
- package/dist/components/chat/ChatContainer.js +2 -2
- package/dist/components/chat/ChatContainer.js.map +1 -1
- package/dist/components/chat/ConversationSidebar.d.ts +0 -5
- package/dist/components/chat/ConversationSidebar.d.ts.map +1 -1
- package/dist/components/chat/ConversationSidebar.js +2 -2
- package/dist/components/chat/ConversationSidebar.js.map +1 -1
- package/dist/components/chat/DeleteConversationModal.d.ts +0 -3
- package/dist/components/chat/DeleteConversationModal.d.ts.map +1 -1
- package/dist/components/chat/DeleteConversationModal.js +2 -2
- package/dist/components/chat/DeleteConversationModal.js.map +1 -1
- package/dist/components/chat/FullChatInterface.d.ts +0 -23
- package/dist/components/chat/FullChatInterface.d.ts.map +1 -1
- package/dist/components/chat/FullChatInterface.js +2 -2
- package/dist/components/chat/FullChatInterface.js.map +1 -1
- package/dist/components/chat/InsightEditModal.d.ts +0 -5
- package/dist/components/chat/InsightEditModal.d.ts.map +1 -1
- package/dist/components/chat/InsightEditModal.js +2 -2
- package/dist/components/chat/InsightEditModal.js.map +1 -1
- package/dist/components/chat/LibrarySelector.d.ts +0 -6
- package/dist/components/chat/LibrarySelector.d.ts.map +1 -1
- package/dist/components/chat/LibrarySelector.js +2 -2
- package/dist/components/chat/LibrarySelector.js.map +1 -1
- package/dist/components/chat/MessageInput.d.ts +0 -5
- package/dist/components/chat/MessageInput.d.ts.map +1 -1
- package/dist/components/chat/MessageInput.js +2 -2
- package/dist/components/chat/MessageInput.js.map +1 -1
- package/dist/components/chat/MessageList.d.ts +0 -5
- package/dist/components/chat/MessageList.d.ts.map +1 -1
- package/dist/components/chat/MessageList.js +2 -2
- package/dist/components/chat/MessageList.js.map +1 -1
- package/dist/components/chat/RawContentToggle.d.ts.map +1 -1
- package/dist/components/chat/RawContentToggle.js +0 -6
- package/dist/components/chat/RawContentToggle.js.map +1 -1
- package/dist/components/chat/SearchToggles.d.ts +0 -5
- package/dist/components/chat/SearchToggles.d.ts.map +1 -1
- package/dist/components/chat/SearchToggles.js +2 -2
- package/dist/components/chat/SearchToggles.js.map +1 -1
- package/dist/components/chat/SimpleChatInterface.d.ts +0 -25
- package/dist/components/chat/SimpleChatInterface.d.ts.map +1 -1
- package/dist/components/chat/SimpleChatInterface.js +2 -2
- package/dist/components/chat/SimpleChatInterface.js.map +1 -1
- package/dist/components/chat/ThinkingSection.d.ts +0 -7
- package/dist/components/chat/ThinkingSection.d.ts.map +1 -1
- package/dist/components/chat/ThinkingSection.js +2 -2
- package/dist/components/chat/ThinkingSection.js.map +1 -1
- package/dist/components/chat/ThinkingToggle.d.ts +0 -6
- package/dist/components/chat/ThinkingToggle.d.ts.map +1 -1
- package/dist/components/chat/ThinkingToggle.js +2 -2
- package/dist/components/chat/ThinkingToggle.js.map +1 -1
- package/dist/components/chat/ToolSelector.d.ts +0 -6
- package/dist/components/chat/ToolSelector.d.ts.map +1 -1
- package/dist/components/chat/ToolSelector.js +2 -2
- package/dist/components/chat/ToolSelector.js.map +1 -1
- package/dist/components/shared/AppIcon.d.ts.map +1 -1
- package/dist/components/shared/AppIcon.js +2 -2
- package/dist/components/shared/AppIcon.js.map +1 -1
- package/dist/components/shared/Modal.d.ts.map +1 -1
- package/dist/components/shared/Modal.js +2 -2
- package/dist/components/shared/Modal.js.map +1 -1
- package/dist/components/workflow/WorkflowList.d.ts.map +1 -1
- package/dist/components/workflow/WorkflowList.js +2 -2
- package/dist/components/workflow/WorkflowList.js.map +1 -1
- package/dist/contexts/AuthContext.d.ts.map +1 -1
- package/dist/contexts/AuthContext.js +2 -2
- package/dist/contexts/AuthContext.js.map +1 -1
- package/dist/contexts/CustomizationContext.d.ts.map +1 -1
- package/dist/contexts/CustomizationContext.js +2 -2
- package/dist/contexts/CustomizationContext.js.map +1 -1
- package/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/contexts/ThemeContext.js +2 -2
- package/dist/contexts/ThemeContext.js.map +1 -1
- package/dist/layout/AdminHeader.d.ts +0 -5
- package/dist/layout/AdminHeader.d.ts.map +1 -1
- package/dist/layout/AdminHeader.js +2 -2
- package/dist/layout/AdminHeader.js.map +1 -1
- package/dist/layout/Footer.d.ts +0 -5
- package/dist/layout/Footer.d.ts.map +1 -1
- package/dist/layout/Footer.js +2 -2
- package/dist/layout/Footer.js.map +1 -1
- package/dist/layout/Header.d.ts.map +1 -1
- package/dist/layout/Header.js +2 -2
- package/dist/layout/Header.js.map +1 -1
- package/dist/layout/ThemeToggle.d.ts +0 -5
- package/dist/layout/ThemeToggle.d.ts.map +1 -1
- package/dist/layout/ThemeToggle.js +2 -2
- package/dist/layout/ThemeToggle.js.map +1 -1
- package/dist/lib/authz/sso-generator.d.ts.map +1 -1
- package/dist/lib/authz/sso-generator.js +7 -4
- package/dist/lib/authz/sso-generator.js.map +1 -1
- package/dist/lib/data/index.d.ts +2 -0
- package/dist/lib/data/index.d.ts.map +1 -1
- package/dist/lib/data/index.js +2 -0
- package/dist/lib/data/index.js.map +1 -1
- package/dist/lib/data/sharing.d.ts +154 -0
- package/dist/lib/data/sharing.d.ts.map +1 -0
- package/dist/lib/data/sharing.js +293 -0
- package/dist/lib/data/sharing.js.map +1 -0
- package/dist/lib/deploy/app-config.d.ts.map +1 -1
- package/dist/lib/deploy/app-config.js +5 -1
- package/dist/lib/deploy/app-config.js.map +1 -1
- package/dist/lib/deploy/app-permissions.d.ts +2 -0
- package/dist/lib/deploy/app-permissions.d.ts.map +1 -1
- package/dist/lib/deploy/app-permissions.js +2 -0
- package/dist/lib/deploy/app-permissions.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/agent/agent-api-helpers.d.ts +0 -16
- package/dist/lib/agent/agent-api-helpers.d.ts.map +0 -1
- package/dist/lib/agent/agent-api-helpers.js +0 -50
- package/dist/lib/agent/agent-api-helpers.js.map +0 -1
- package/dist/lib/agent/api-helpers.d.ts +0 -16
- package/dist/lib/agent/api-helpers.d.ts.map +0 -1
- package/dist/lib/agent/api-helpers.js +0 -50
- package/dist/lib/agent/api-helpers.js.map +0 -1
- package/dist/lib/agent/chat-cleanup.d.ts +0 -34
- package/dist/lib/agent/chat-cleanup.d.ts.map +0 -1
- package/dist/lib/agent/chat-cleanup.js +0 -133
- package/dist/lib/agent/chat-cleanup.js.map +0 -1
- package/dist/lib/agent/client.d.ts +0 -55
- package/dist/lib/agent/client.d.ts.map +0 -1
- package/dist/lib/agent/client.js +0 -103
- package/dist/lib/agent/client.js.map +0 -1
- package/dist/lib/agent/openai.d.ts +0 -94
- package/dist/lib/agent/openai.d.ts.map +0 -1
- package/dist/lib/agent/openai.js +0 -290
- package/dist/lib/agent/openai.js.map +0 -1
- package/dist/lib/ai/dual-model-router.d.ts +0 -130
- package/dist/lib/ai/dual-model-router.d.ts.map +0 -1
- package/dist/lib/ai/dual-model-router.js +0 -413
- package/dist/lib/ai/dual-model-router.js.map +0 -1
- package/dist/lib/ai/openai.d.ts +0 -94
- package/dist/lib/ai/openai.d.ts.map +0 -1
- package/dist/lib/ai/openai.js +0 -290
- package/dist/lib/ai/openai.js.map +0 -1
- package/dist/lib/ai/tools.d.ts +0 -64
- package/dist/lib/ai/tools.d.ts.map +0 -1
- package/dist/lib/ai/tools.js +0 -159
- package/dist/lib/ai/tools.js.map +0 -1
- package/dist/lib/audit/client.d.ts +0 -138
- package/dist/lib/audit/client.d.ts.map +0 -1
- package/dist/lib/audit/client.js +0 -486
- package/dist/lib/audit/client.js.map +0 -1
- package/dist/lib/audit/index.d.ts +0 -6
- package/dist/lib/audit/index.d.ts.map +0 -1
- package/dist/lib/audit/index.js +0 -6
- package/dist/lib/audit/index.js.map +0 -1
- package/dist/lib/auth/auth-helper.d.ts +0 -167
- package/dist/lib/auth/auth-helper.d.ts.map +0 -1
- package/dist/lib/auth/auth-helper.js +0 -345
- package/dist/lib/auth/auth-helper.js.map +0 -1
- package/dist/lib/auth/auth-state-manager.d.ts +0 -201
- package/dist/lib/auth/auth-state-manager.d.ts.map +0 -1
- package/dist/lib/auth/auth-state-manager.js +0 -597
- package/dist/lib/auth/auth-state-manager.js.map +0 -1
- package/dist/lib/auth/client.d.ts +0 -276
- package/dist/lib/auth/client.d.ts.map +0 -1
- package/dist/lib/auth/client.js +0 -325
- package/dist/lib/auth/client.js.map +0 -1
- package/dist/lib/auth/index.d.ts +0 -10
- package/dist/lib/auth/index.d.ts.map +0 -1
- package/dist/lib/auth/index.js +0 -10
- package/dist/lib/auth/index.js.map +0 -1
- package/dist/lib/auth/sso-route-handler.d.ts +0 -114
- package/dist/lib/auth/sso-route-handler.d.ts.map +0 -1
- package/dist/lib/auth/sso-route-handler.js +0 -199
- package/dist/lib/auth/sso-route-handler.js.map +0 -1
- package/dist/lib/auth/sso.d.ts +0 -162
- package/dist/lib/auth/sso.d.ts.map +0 -1
- package/dist/lib/auth/sso.js +0 -282
- package/dist/lib/auth/sso.js.map +0 -1
- package/dist/lib/authz/email.d.ts +0 -65
- package/dist/lib/authz/email.d.ts.map +0 -1
- package/dist/lib/authz/email.js +0 -112
- package/dist/lib/authz/email.js.map +0 -1
- package/dist/lib/authz/permissions.d.ts +0 -109
- package/dist/lib/authz/permissions.d.ts.map +0 -1
- package/dist/lib/authz/permissions.js +0 -238
- package/dist/lib/authz/permissions.js.map +0 -1
- package/dist/lib/authz/service-audit.d.ts +0 -41
- package/dist/lib/authz/service-audit.d.ts.map +0 -1
- package/dist/lib/authz/service-audit.js +0 -60
- package/dist/lib/authz/service-audit.js.map +0 -1
- package/dist/lib/chat-server/agent-api-client.d.ts +0 -151
- package/dist/lib/chat-server/agent-api-client.d.ts.map +0 -1
- package/dist/lib/chat-server/agent-api-client.js +0 -162
- package/dist/lib/chat-server/agent-api-client.js.map +0 -1
- package/dist/lib/chat-server/attachments.d.ts +0 -118
- package/dist/lib/chat-server/attachments.d.ts.map +0 -1
- package/dist/lib/chat-server/attachments.js +0 -317
- package/dist/lib/chat-server/attachments.js.map +0 -1
- package/dist/lib/chat-server/cleanup.d.ts +0 -34
- package/dist/lib/chat-server/cleanup.d.ts.map +0 -1
- package/dist/lib/chat-server/cleanup.js +0 -133
- package/dist/lib/chat-server/cleanup.js.map +0 -1
- package/dist/lib/chat-server/conversations.d.ts +0 -159
- package/dist/lib/chat-server/conversations.d.ts.map +0 -1
- package/dist/lib/chat-server/conversations.js +0 -278
- package/dist/lib/chat-server/conversations.js.map +0 -1
- package/dist/lib/chat-server/insights.d.ts +0 -84
- package/dist/lib/chat-server/insights.d.ts.map +0 -1
- package/dist/lib/chat-server/insights.js +0 -193
- package/dist/lib/chat-server/insights.js.map +0 -1
- package/dist/lib/chat-server/messages.d.ts +0 -154
- package/dist/lib/chat-server/messages.d.ts.map +0 -1
- package/dist/lib/chat-server/messages.js +0 -282
- package/dist/lib/chat-server/messages.js.map +0 -1
- package/dist/lib/chat-server/middleware.d.ts +0 -119
- package/dist/lib/chat-server/middleware.d.ts.map +0 -1
- package/dist/lib/chat-server/middleware.js +0 -234
- package/dist/lib/chat-server/middleware.js.map +0 -1
- package/dist/lib/chat-server/models.d.ts +0 -60
- package/dist/lib/chat-server/models.d.ts.map +0 -1
- package/dist/lib/chat-server/models.js +0 -205
- package/dist/lib/chat-server/models.js.map +0 -1
- package/dist/lib/chat-server/search.d.ts +0 -89
- package/dist/lib/chat-server/search.d.ts.map +0 -1
- package/dist/lib/chat-server/search.js +0 -203
- package/dist/lib/chat-server/search.js.map +0 -1
- package/dist/lib/chat-server/sharing.d.ts +0 -70
- package/dist/lib/chat-server/sharing.d.ts.map +0 -1
- package/dist/lib/chat-server/sharing.js +0 -146
- package/dist/lib/chat-server/sharing.js.map +0 -1
- package/dist/lib/data/embeddings-app-client.d.ts +0 -37
- package/dist/lib/data/embeddings-app-client.d.ts.map +0 -1
- package/dist/lib/data/embeddings-app-client.js +0 -72
- package/dist/lib/data/embeddings-app-client.js.map +0 -1
- package/dist/lib/deploy/manifest-validator.d.ts +0 -25
- package/dist/lib/deploy/manifest-validator.d.ts.map +0 -1
- package/dist/lib/deploy/manifest-validator.js +0 -142
- package/dist/lib/deploy/manifest-validator.js.map +0 -1
- package/dist/lib/embeddings/data-client.d.ts +0 -37
- package/dist/lib/embeddings/data-client.d.ts.map +0 -1
- package/dist/lib/embeddings/data-client.js +0 -72
- package/dist/lib/embeddings/data-client.js.map +0 -1
- package/dist/lib/hooks/useMediaQuery.d.ts +0 -6
- package/dist/lib/hooks/useMediaQuery.d.ts.map +0 -1
- package/dist/lib/hooks/useMediaQuery.js +0 -18
- package/dist/lib/hooks/useMediaQuery.js.map +0 -1
- package/dist/lib/insights/client.d.ts +0 -131
- package/dist/lib/insights/client.d.ts.map +0 -1
- package/dist/lib/insights/client.js +0 -306
- package/dist/lib/insights/client.js.map +0 -1
- package/dist/lib/insights/index.d.ts +0 -5
- package/dist/lib/insights/index.d.ts.map +0 -1
- package/dist/lib/insights/index.js +0 -5
- package/dist/lib/insights/index.js.map +0 -1
- package/dist/lib/next/authz-client.d.ts +0 -120
- package/dist/lib/next/authz-client.d.ts.map +0 -1
- package/dist/lib/next/authz-client.js +0 -203
- package/dist/lib/next/authz-client.js.map +0 -1
- package/dist/lib/next/passkey.d.ts +0 -78
- package/dist/lib/next/passkey.d.ts.map +0 -1
- package/dist/lib/next/passkey.js +0 -380
- package/dist/lib/next/passkey.js.map +0 -1
- package/dist/lib/next/sso.d.ts +0 -51
- package/dist/lib/next/sso.d.ts.map +0 -1
- package/dist/lib/next/sso.js +0 -167
- package/dist/lib/next/sso.js.map +0 -1
- package/dist/lib/rbac/client.d.ts +0 -320
- package/dist/lib/rbac/client.d.ts.map +0 -1
- package/dist/lib/rbac/client.js +0 -532
- package/dist/lib/rbac/client.js.map +0 -1
- package/dist/lib/rbac/index.d.ts +0 -6
- package/dist/lib/rbac/index.d.ts.map +0 -1
- package/dist/lib/rbac/index.js +0 -6
- package/dist/lib/rbac/index.js.map +0 -1
- package/dist/lib/search/providers.d.ts +0 -105
- package/dist/lib/search/providers.d.ts.map +0 -1
- package/dist/lib/search/providers.js +0 -140
- package/dist/lib/search/providers.js.map +0 -1
- package/dist/lib/services/api-client.d.ts +0 -46
- package/dist/lib/services/api-client.d.ts.map +0 -1
- package/dist/lib/services/api-client.js +0 -80
- package/dist/lib/services/api-client.js.map +0 -1
- package/dist/lib/services/app-library.d.ts +0 -36
- package/dist/lib/services/app-library.d.ts.map +0 -1
- package/dist/lib/services/app-library.js +0 -123
- package/dist/lib/services/app-library.js.map +0 -1
- package/dist/lib/services/app-utils.d.ts +0 -22
- package/dist/lib/services/app-utils.d.ts.map +0 -1
- package/dist/lib/services/app-utils.js +0 -36
- package/dist/lib/services/app-utils.js.map +0 -1
- package/dist/lib/services/audit.d.ts +0 -41
- package/dist/lib/services/audit.d.ts.map +0 -1
- package/dist/lib/services/audit.js +0 -60
- package/dist/lib/services/audit.js.map +0 -1
- package/dist/lib/services/database-cloner.d.ts +0 -28
- package/dist/lib/services/database-cloner.d.ts.map +0 -1
- package/dist/lib/services/database-cloner.js +0 -197
- package/dist/lib/services/database-cloner.js.map +0 -1
- package/dist/lib/services/default-apps.d.ts +0 -31
- package/dist/lib/services/default-apps.d.ts.map +0 -1
- package/dist/lib/services/default-apps.js +0 -121
- package/dist/lib/services/default-apps.js.map +0 -1
- package/dist/lib/services/deploy-api-client.d.ts +0 -184
- package/dist/lib/services/deploy-api-client.d.ts.map +0 -1
- package/dist/lib/services/deploy-api-client.js +0 -208
- package/dist/lib/services/deploy-api-client.js.map +0 -1
- package/dist/lib/services/deployment-service-client.d.ts +0 -122
- package/dist/lib/services/deployment-service-client.d.ts.map +0 -1
- package/dist/lib/services/deployment-service-client.js +0 -245
- package/dist/lib/services/deployment-service-client.js.map +0 -1
- package/dist/lib/services/docs.d.ts +0 -80
- package/dist/lib/services/docs.d.ts.map +0 -1
- package/dist/lib/services/docs.js +0 -160
- package/dist/lib/services/docs.js.map +0 -1
- package/dist/lib/services/email-validation.d.ts +0 -33
- package/dist/lib/services/email-validation.d.ts.map +0 -1
- package/dist/lib/services/email-validation.js +0 -70
- package/dist/lib/services/email-validation.js.map +0 -1
- package/dist/lib/services/email.d.ts +0 -65
- package/dist/lib/services/email.d.ts.map +0 -1
- package/dist/lib/services/email.js +0 -112
- package/dist/lib/services/email.js.map +0 -1
- package/dist/lib/services/github-manifest-fetcher.d.ts +0 -74
- package/dist/lib/services/github-manifest-fetcher.d.ts.map +0 -1
- package/dist/lib/services/github-manifest-fetcher.js +0 -168
- package/dist/lib/services/github-manifest-fetcher.js.map +0 -1
- package/dist/lib/services/libraries.d.ts +0 -124
- package/dist/lib/services/libraries.d.ts.map +0 -1
- package/dist/lib/services/libraries.js +0 -507
- package/dist/lib/services/libraries.js.map +0 -1
- package/dist/lib/services/litellm.d.ts +0 -33
- package/dist/lib/services/litellm.d.ts.map +0 -1
- package/dist/lib/services/litellm.js +0 -222
- package/dist/lib/services/litellm.js.map +0 -1
- package/dist/lib/services/manifest-schema.d.ts +0 -66
- package/dist/lib/services/manifest-schema.d.ts.map +0 -1
- package/dist/lib/services/manifest-schema.js +0 -86
- package/dist/lib/services/manifest-schema.js.map +0 -1
- package/dist/lib/services/manifest-validator.d.ts +0 -25
- package/dist/lib/services/manifest-validator.d.ts.map +0 -1
- package/dist/lib/services/manifest-validator.js +0 -142
- package/dist/lib/services/manifest-validator.js.map +0 -1
- package/dist/lib/services/manifest.d.ts +0 -45
- package/dist/lib/services/manifest.d.ts.map +0 -1
- package/dist/lib/services/manifest.js +0 -137
- package/dist/lib/services/manifest.js.map +0 -1
- package/dist/lib/services/permissions.d.ts +0 -109
- package/dist/lib/services/permissions.d.ts.map +0 -1
- package/dist/lib/services/permissions.js +0 -238
- package/dist/lib/services/permissions.js.map +0 -1
- package/dist/lib/services/service-client.d.ts +0 -99
- package/dist/lib/services/service-client.d.ts.map +0 -1
- package/dist/lib/services/service-client.js +0 -146
- package/dist/lib/services/service-client.js.map +0 -1
- package/dist/lib/services/tags.d.ts +0 -37
- package/dist/lib/services/tags.d.ts.map +0 -1
- package/dist/lib/services/tags.js +0 -189
- package/dist/lib/services/tags.js.map +0 -1
- package/dist/lib/services/url-validation.d.ts +0 -22
- package/dist/lib/services/url-validation.d.ts.map +0 -1
- package/dist/lib/services/url-validation.js +0 -86
- package/dist/lib/services/url-validation.js.map +0 -1
- package/dist/lib/services/user-management.d.ts +0 -81
- package/dist/lib/services/user-management.d.ts.map +0 -1
- package/dist/lib/services/user-management.js +0 -154
- package/dist/lib/services/user-management.js.map +0 -1
- package/dist/lib/storage/index.d.ts +0 -11
- package/dist/lib/storage/index.d.ts.map +0 -1
- package/dist/lib/storage/index.js +0 -12
- package/dist/lib/storage/index.js.map +0 -1
- package/dist/lib/storage/types.d.ts +0 -61
- package/dist/lib/storage/types.d.ts.map +0 -1
- package/dist/lib/storage/types.js +0 -8
- package/dist/lib/storage/types.js.map +0 -1
- package/dist/lib/stores/app-config-store.d.ts +0 -90
- package/dist/lib/stores/app-config-store.d.ts.map +0 -1
- package/dist/lib/stores/app-config-store.js +0 -491
- package/dist/lib/stores/app-config-store.js.map +0 -1
- package/dist/lib/stores/bridge-config-store.d.ts +0 -44
- package/dist/lib/stores/bridge-config-store.d.ts.map +0 -1
- package/dist/lib/stores/bridge-config-store.js +0 -207
- package/dist/lib/stores/bridge-config-store.js.map +0 -1
- package/dist/lib/stores/chat-config-store.d.ts +0 -28
- package/dist/lib/stores/chat-config-store.d.ts.map +0 -1
- package/dist/lib/stores/chat-config-store.js +0 -152
- package/dist/lib/stores/chat-config-store.js.map +0 -1
- package/dist/lib/stores/data-settings-store.d.ts +0 -44
- package/dist/lib/stores/data-settings-store.d.ts.map +0 -1
- package/dist/lib/stores/data-settings-store.js +0 -202
- package/dist/lib/stores/data-settings-store.js.map +0 -1
- package/dist/lib/stores/email-config-store.d.ts +0 -45
- package/dist/lib/stores/email-config-store.d.ts.map +0 -1
- package/dist/lib/stores/email-config-store.js +0 -185
- package/dist/lib/stores/email-config-store.js.map +0 -1
- package/dist/lib/stores/portal-config-store.d.ts +0 -38
- package/dist/lib/stores/portal-config-store.d.ts.map +0 -1
- package/dist/lib/stores/portal-config-store.js +0 -238
- package/dist/lib/stores/portal-config-store.js.map +0 -1
- package/dist/lib/stores/video-store.d.ts +0 -91
- package/dist/lib/stores/video-store.d.ts.map +0 -1
- package/dist/lib/stores/video-store.js +0 -451
- package/dist/lib/stores/video-store.js.map +0 -1
- package/dist/lib/videos/access-control.d.ts +0 -35
- package/dist/lib/videos/access-control.d.ts.map +0 -1
- package/dist/lib/videos/access-control.js +0 -63
- package/dist/lib/videos/access-control.js.map +0 -1
- package/dist/lib/videos/agent-api-client.d.ts +0 -46
- package/dist/lib/videos/agent-api-client.d.ts.map +0 -1
- package/dist/lib/videos/agent-api-client.js +0 -75
- package/dist/lib/videos/agent-api-client.js.map +0 -1
- package/dist/lib/videos/creation.d.ts +0 -24
- package/dist/lib/videos/creation.d.ts.map +0 -1
- package/dist/lib/videos/creation.js +0 -112
- package/dist/lib/videos/creation.js.map +0 -1
- package/dist/lib/videos/expiration.d.ts +0 -13
- package/dist/lib/videos/expiration.d.ts.map +0 -1
- package/dist/lib/videos/expiration.js +0 -95
- package/dist/lib/videos/expiration.js.map +0 -1
- package/dist/lib/videos/image-resize.d.ts +0 -42
- package/dist/lib/videos/image-resize.d.ts.map +0 -1
- package/dist/lib/videos/image-resize.js +0 -106
- package/dist/lib/videos/image-resize.js.map +0 -1
- package/dist/lib/videos/processing.d.ts +0 -35
- package/dist/lib/videos/processing.d.ts.map +0 -1
- package/dist/lib/videos/processing.js +0 -154
- package/dist/lib/videos/processing.js.map +0 -1
- package/dist/lib/videos/status.d.ts +0 -2
- package/dist/lib/videos/status.d.ts.map +0 -1
- package/dist/lib/videos/status.js +0 -141
- package/dist/lib/videos/status.js.map +0 -1
- package/dist/lib/videos/upload.d.ts +0 -41
- package/dist/lib/videos/upload.d.ts.map +0 -1
- package/dist/lib/videos/upload.js +0 -118
- package/dist/lib/videos/upload.js.map +0 -1
- package/dist/lib/videos/url-normalization.d.ts +0 -29
- package/dist/lib/videos/url-normalization.d.ts.map +0 -1
- package/dist/lib/videos/url-normalization.js +0 -61
- package/dist/lib/videos/url-normalization.js.map +0 -1
- package/dist/sso/index.d.ts +0 -3
- package/dist/sso/index.d.ts.map +0 -1
- package/dist/sso/index.js +0 -3
- package/dist/sso/index.js.map +0 -1
- package/dist/sso/token.d.ts +0 -17
- package/dist/sso/token.d.ts.map +0 -1
- package/dist/sso/token.js +0 -57
- package/dist/sso/token.js.map +0 -1
- package/dist/types/sso.d.ts +0 -37
- package/dist/types/sso.d.ts.map +0 -1
- package/dist/types/sso.js +0 -2
- package/dist/types/sso.js.map +0 -1
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared SSO Route Handler
|
|
3
|
-
*
|
|
4
|
-
* Provides reusable handlers for SSO token exchange in Busibox apps.
|
|
5
|
-
* Use these handlers in your app's /api/sso/route.ts to avoid code duplication.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* // app/api/sso/route.ts
|
|
10
|
-
* import { handleSSOGet, handleSSOPost } from '@jazzmind/busibox-app/lib/auth';
|
|
11
|
-
*
|
|
12
|
-
* export const GET = handleSSOGet;
|
|
13
|
-
* export const POST = handleSSOPost;
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Request interface compatible with Next.js NextRequest
|
|
18
|
-
*/
|
|
19
|
-
interface NextRequestLike {
|
|
20
|
-
json(): Promise<{
|
|
21
|
-
token?: string;
|
|
22
|
-
}>;
|
|
23
|
-
nextUrl: {
|
|
24
|
-
searchParams: {
|
|
25
|
-
get(name: string): string | null;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
url: string;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Response instance interface - what a response object looks like
|
|
32
|
-
*/
|
|
33
|
-
interface ResponseInstance {
|
|
34
|
-
cookies: {
|
|
35
|
-
set(name: string, value: string, options?: {
|
|
36
|
-
httpOnly?: boolean;
|
|
37
|
-
secure?: boolean;
|
|
38
|
-
sameSite?: 'strict' | 'lax' | 'none';
|
|
39
|
-
maxAge?: number;
|
|
40
|
-
path?: string;
|
|
41
|
-
}): void;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Options for SSO handlers
|
|
46
|
-
*/
|
|
47
|
-
export interface SSOHandlerOptions {
|
|
48
|
-
/** Override app name (default: process.env.APP_NAME or 'app') */
|
|
49
|
-
appName?: string;
|
|
50
|
-
/** Override base path (default: process.env.NEXT_PUBLIC_BASE_PATH or '/') */
|
|
51
|
-
basePath?: string;
|
|
52
|
-
/** Default fallback app name if APP_NAME not set */
|
|
53
|
-
defaultAppName?: string;
|
|
54
|
-
/** Enable verbose logging */
|
|
55
|
-
verbose?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Override auth token cookie maxAge in seconds.
|
|
58
|
-
* Default: 21600 (6 hours).
|
|
59
|
-
* Also reads SSO_COOKIE_MAX_AGE env var.
|
|
60
|
-
* Useful for testing token refresh with shorter expiry.
|
|
61
|
-
*/
|
|
62
|
-
authTokenMaxAge?: number;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Result of SSO POST handler
|
|
66
|
-
*/
|
|
67
|
-
export interface SSOPostResult {
|
|
68
|
-
success: boolean;
|
|
69
|
-
user?: {
|
|
70
|
-
id: string;
|
|
71
|
-
email: string;
|
|
72
|
-
roles: string[];
|
|
73
|
-
displayName?: string;
|
|
74
|
-
firstName?: string;
|
|
75
|
-
lastName?: string;
|
|
76
|
-
avatarUrl?: string;
|
|
77
|
-
favoriteColor?: string;
|
|
78
|
-
};
|
|
79
|
-
error?: string;
|
|
80
|
-
details?: string;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Handle SSO GET request (redirect-based flow)
|
|
84
|
-
*
|
|
85
|
-
* This handler validates the token from URL query params and redirects
|
|
86
|
-
* back to the app with session cookies set.
|
|
87
|
-
*
|
|
88
|
-
* @param request - Next.js NextRequest
|
|
89
|
-
* @param NextResponse - Next.js NextResponse class
|
|
90
|
-
* @param options - Optional configuration
|
|
91
|
-
* @returns NextResponse redirect with cookies set
|
|
92
|
-
*/
|
|
93
|
-
export declare function createSSOGetHandler<T extends ResponseInstance>(NextResponse: {
|
|
94
|
-
redirect(url: URL): T;
|
|
95
|
-
}, options?: SSOHandlerOptions): (request: NextRequestLike) => Promise<T>;
|
|
96
|
-
/**
|
|
97
|
-
* Handle SSO POST request (API-based flow)
|
|
98
|
-
*
|
|
99
|
-
* This handler validates the token from the request body and returns
|
|
100
|
-
* a JSON response with session cookies set. This is the preferred method
|
|
101
|
-
* as browsers properly process Set-Cookie headers from JSON responses.
|
|
102
|
-
*
|
|
103
|
-
* @param request - Next.js NextRequest
|
|
104
|
-
* @param NextResponse - Next.js NextResponse class
|
|
105
|
-
* @param options - Optional configuration
|
|
106
|
-
* @returns NextResponse with JSON body and cookies set
|
|
107
|
-
*/
|
|
108
|
-
export declare function createSSOPostHandler<T extends ResponseInstance>(NextResponse: {
|
|
109
|
-
json(body: unknown, init?: {
|
|
110
|
-
status?: number;
|
|
111
|
-
}): T;
|
|
112
|
-
}, options?: SSOHandlerOptions): (request: NextRequestLike) => Promise<T>;
|
|
113
|
-
export {};
|
|
114
|
-
//# sourceMappingURL=sso-route-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sso-route-handler.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/sso-route-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH;;GAEG;AACH,UAAU,eAAe;IACvB,IAAI,IAAI,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpC,OAAO,EAAE;QACP,YAAY,EAAE;YACZ,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;SAClC,CAAC;KACH,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,OAAO,EAAE;QACP,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;YACrC,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,GAAG,IAAI,CAAC;KACV,CAAC;CACH;AAUD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,gBAAgB,EAC5D,YAAY,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;CAAE,EACvC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CA8E1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,gBAAgB,EAC7D,YAAY,EAAE;IAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAA;CAAE,EACpE,OAAO,CAAC,EAAE,iBAAiB,GAC1B,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CA+F1C"}
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared SSO Route Handler
|
|
3
|
-
*
|
|
4
|
-
* Provides reusable handlers for SSO token exchange in Busibox apps.
|
|
5
|
-
* Use these handlers in your app's /api/sso/route.ts to avoid code duplication.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* // app/api/sso/route.ts
|
|
10
|
-
* import { handleSSOGet, handleSSOPost } from '@jazzmind/busibox-app/lib/auth';
|
|
11
|
-
*
|
|
12
|
-
* export const GET = handleSSOGet;
|
|
13
|
-
* export const POST = handleSSOPost;
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
import { validateSSOToken, createSessionFromSSO } from './sso';
|
|
17
|
-
import { sanitizeAppName } from './auth-helper';
|
|
18
|
-
/**
|
|
19
|
-
* Get cookie configuration for SSO
|
|
20
|
-
*/
|
|
21
|
-
function getCookieConfig(options) {
|
|
22
|
-
const rawAppName = options?.appName || process.env.APP_NAME || options?.defaultAppName || 'app';
|
|
23
|
-
const appName = sanitizeAppName(rawAppName);
|
|
24
|
-
const basePath = options?.basePath || process.env.NEXT_PUBLIC_BASE_PATH || '/';
|
|
25
|
-
// Auth token cookie maxAge: option > env var > default 6 hours
|
|
26
|
-
const envMaxAge = process.env.SSO_COOKIE_MAX_AGE ? parseInt(process.env.SSO_COOKIE_MAX_AGE, 10) : null;
|
|
27
|
-
const authTokenMaxAge = options?.authTokenMaxAge || envMaxAge || 60 * 60 * 6;
|
|
28
|
-
return {
|
|
29
|
-
sessionCookieName: `${appName}-session`,
|
|
30
|
-
authCookieName: `${appName}-auth-token`,
|
|
31
|
-
basePath,
|
|
32
|
-
isProduction: process.env.NODE_ENV === 'production',
|
|
33
|
-
authTokenMaxAge,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Handle SSO GET request (redirect-based flow)
|
|
38
|
-
*
|
|
39
|
-
* This handler validates the token from URL query params and redirects
|
|
40
|
-
* back to the app with session cookies set.
|
|
41
|
-
*
|
|
42
|
-
* @param request - Next.js NextRequest
|
|
43
|
-
* @param NextResponse - Next.js NextResponse class
|
|
44
|
-
* @param options - Optional configuration
|
|
45
|
-
* @returns NextResponse redirect with cookies set
|
|
46
|
-
*/
|
|
47
|
-
export function createSSOGetHandler(NextResponse, options) {
|
|
48
|
-
return async function handleSSOGet(request) {
|
|
49
|
-
const searchParams = request.nextUrl.searchParams;
|
|
50
|
-
const token = searchParams.get('token');
|
|
51
|
-
const returnUrl = searchParams.get('return') || '/';
|
|
52
|
-
const verbose = options?.verbose ?? false;
|
|
53
|
-
if (!token) {
|
|
54
|
-
console.error('[SSO] No token provided');
|
|
55
|
-
return NextResponse.redirect(new URL('/login?error=no_token', request.url));
|
|
56
|
-
}
|
|
57
|
-
try {
|
|
58
|
-
// Get app name for both validation and cookies
|
|
59
|
-
const rawAppName = options?.appName || process.env.APP_NAME || options?.defaultAppName || 'app';
|
|
60
|
-
const config = getCookieConfig(options);
|
|
61
|
-
// Validate token with the expected audience (app name)
|
|
62
|
-
const validation = await validateSSOToken(token, { appName: rawAppName });
|
|
63
|
-
if (!validation.valid) {
|
|
64
|
-
console.error('[SSO] Token validation failed:', validation.error);
|
|
65
|
-
return NextResponse.redirect(new URL(`/login?error=${validation.error}`, request.url));
|
|
66
|
-
}
|
|
67
|
-
const session = createSessionFromSSO(validation);
|
|
68
|
-
// Build redirect URL - avoid double basePath
|
|
69
|
-
let redirectUrl;
|
|
70
|
-
if (!returnUrl.startsWith('/')) {
|
|
71
|
-
// Absolute URL, use as-is
|
|
72
|
-
redirectUrl = returnUrl;
|
|
73
|
-
}
|
|
74
|
-
else if (config.basePath && config.basePath !== '/' && returnUrl.startsWith(config.basePath)) {
|
|
75
|
-
// returnUrl already includes basePath, use as-is
|
|
76
|
-
redirectUrl = returnUrl;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
// Prepend basePath to relative URL
|
|
80
|
-
redirectUrl = `${config.basePath}${returnUrl}`;
|
|
81
|
-
}
|
|
82
|
-
const response = NextResponse.redirect(new URL(redirectUrl, request.url));
|
|
83
|
-
if (verbose) {
|
|
84
|
-
console.log(`[SSO] GET: Setting cookies for app, path: ${config.basePath}`);
|
|
85
|
-
console.log(`[SSO] - ${config.sessionCookieName}`);
|
|
86
|
-
console.log(`[SSO] - ${config.authCookieName}`);
|
|
87
|
-
console.log(`[SSO] authTokenMaxAge: ${config.authTokenMaxAge}s`);
|
|
88
|
-
}
|
|
89
|
-
// Set session cookie
|
|
90
|
-
response.cookies.set(config.sessionCookieName, JSON.stringify(session), {
|
|
91
|
-
httpOnly: true,
|
|
92
|
-
secure: config.isProduction,
|
|
93
|
-
sameSite: 'lax',
|
|
94
|
-
maxAge: 60 * 60 * 24, // 24 hours
|
|
95
|
-
path: config.basePath || '/',
|
|
96
|
-
});
|
|
97
|
-
// Set auth token cookie (maxAge is configurable for testing)
|
|
98
|
-
response.cookies.set(config.authCookieName, token, {
|
|
99
|
-
httpOnly: true,
|
|
100
|
-
secure: config.isProduction,
|
|
101
|
-
sameSite: 'lax',
|
|
102
|
-
maxAge: config.authTokenMaxAge,
|
|
103
|
-
path: config.basePath || '/',
|
|
104
|
-
});
|
|
105
|
-
return response;
|
|
106
|
-
}
|
|
107
|
-
catch (error) {
|
|
108
|
-
console.error('[SSO] GET Error:', error);
|
|
109
|
-
return NextResponse.redirect(new URL('/login?error=sso_failed', request.url));
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Handle SSO POST request (API-based flow)
|
|
115
|
-
*
|
|
116
|
-
* This handler validates the token from the request body and returns
|
|
117
|
-
* a JSON response with session cookies set. This is the preferred method
|
|
118
|
-
* as browsers properly process Set-Cookie headers from JSON responses.
|
|
119
|
-
*
|
|
120
|
-
* @param request - Next.js NextRequest
|
|
121
|
-
* @param NextResponse - Next.js NextResponse class
|
|
122
|
-
* @param options - Optional configuration
|
|
123
|
-
* @returns NextResponse with JSON body and cookies set
|
|
124
|
-
*/
|
|
125
|
-
export function createSSOPostHandler(NextResponse, options) {
|
|
126
|
-
return async function handleSSOPost(request) {
|
|
127
|
-
const verbose = options?.verbose ?? false;
|
|
128
|
-
try {
|
|
129
|
-
const body = await request.json();
|
|
130
|
-
const token = body.token;
|
|
131
|
-
if (!token) {
|
|
132
|
-
return NextResponse.json({ success: false, error: 'No token provided' }, { status: 400 });
|
|
133
|
-
}
|
|
134
|
-
// Get app name for both validation and cookies
|
|
135
|
-
const rawAppName = options?.appName || process.env.APP_NAME || options?.defaultAppName || 'app';
|
|
136
|
-
const config = getCookieConfig(options);
|
|
137
|
-
if (verbose) {
|
|
138
|
-
console.log(`[SSO] POST received token for app: ${rawAppName} (sanitized cookie prefix)`);
|
|
139
|
-
console.log(`[SSO] basePath for cookies: ${config.basePath}`);
|
|
140
|
-
}
|
|
141
|
-
// Validate token with the expected audience (app name)
|
|
142
|
-
const validation = await validateSSOToken(token, { appName: rawAppName });
|
|
143
|
-
if (!validation.valid) {
|
|
144
|
-
if (verbose) {
|
|
145
|
-
console.log(`[SSO] Token validation failed: ${validation.error}`);
|
|
146
|
-
}
|
|
147
|
-
return NextResponse.json({ success: false, error: 'Invalid token', details: validation.error }, { status: 401 });
|
|
148
|
-
}
|
|
149
|
-
if (verbose) {
|
|
150
|
-
console.log(`[SSO] Token validated successfully for user: ${validation.userId}`);
|
|
151
|
-
}
|
|
152
|
-
const session = createSessionFromSSO(validation);
|
|
153
|
-
const response = NextResponse.json({
|
|
154
|
-
success: true,
|
|
155
|
-
user: {
|
|
156
|
-
id: session.userId,
|
|
157
|
-
email: session.email,
|
|
158
|
-
roles: session.roles,
|
|
159
|
-
displayName: session.displayName,
|
|
160
|
-
firstName: session.firstName,
|
|
161
|
-
lastName: session.lastName,
|
|
162
|
-
avatarUrl: session.avatarUrl,
|
|
163
|
-
favoriteColor: session.favoriteColor,
|
|
164
|
-
},
|
|
165
|
-
});
|
|
166
|
-
if (verbose) {
|
|
167
|
-
console.log(`[SSO] Setting cookies with path: ${config.basePath}`);
|
|
168
|
-
console.log(`[SSO] - ${config.sessionCookieName}`);
|
|
169
|
-
console.log(`[SSO] - ${config.authCookieName}`);
|
|
170
|
-
console.log(`[SSO] authTokenMaxAge: ${config.authTokenMaxAge}s`);
|
|
171
|
-
}
|
|
172
|
-
// Set session cookie
|
|
173
|
-
response.cookies.set(config.sessionCookieName, JSON.stringify(session), {
|
|
174
|
-
httpOnly: true,
|
|
175
|
-
secure: config.isProduction,
|
|
176
|
-
sameSite: 'lax',
|
|
177
|
-
maxAge: 60 * 60 * 24, // 24 hours
|
|
178
|
-
path: config.basePath,
|
|
179
|
-
});
|
|
180
|
-
// Set auth token cookie (maxAge is configurable for testing)
|
|
181
|
-
response.cookies.set(config.authCookieName, token, {
|
|
182
|
-
httpOnly: true,
|
|
183
|
-
secure: config.isProduction,
|
|
184
|
-
sameSite: 'lax',
|
|
185
|
-
maxAge: config.authTokenMaxAge,
|
|
186
|
-
path: config.basePath,
|
|
187
|
-
});
|
|
188
|
-
if (verbose) {
|
|
189
|
-
console.log('[SSO] Response cookies set, returning success');
|
|
190
|
-
}
|
|
191
|
-
return response;
|
|
192
|
-
}
|
|
193
|
-
catch (error) {
|
|
194
|
-
console.error('[SSO] POST Error:', error);
|
|
195
|
-
return NextResponse.json({ success: false, error: 'SSO failed' }, { status: 500 });
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
//# sourceMappingURL=sso-route-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sso-route-handler.js","sourceRoot":"","sources":["../../../src/lib/auth/sso-route-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/auth/sso.d.ts
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SSO Authentication Library (Zero Trust JWKS)
|
|
3
|
-
*
|
|
4
|
-
* Validates RS256 JWT tokens issued by authz service via JWKS.
|
|
5
|
-
* This is the standard authentication method for Busibox apps.
|
|
6
|
-
*
|
|
7
|
-
* Token Flow:
|
|
8
|
-
* 1. User clicks app in Busibox Portal
|
|
9
|
-
* 2. Busibox Portal exchanges user's session JWT for app-scoped token via authz
|
|
10
|
-
* 3. authz verifies user has app access via RBAC bindings
|
|
11
|
-
* 4. authz issues RS256 token with app_id claim and user's roles
|
|
12
|
-
* 5. App validates token via authz JWKS endpoint
|
|
13
|
-
*
|
|
14
|
-
* Token validation is done via authz JWKS endpoint - no shared secrets needed.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* import { validateSSOToken, createSessionFromSSO } from '@jazzmind/busibox-app/lib/auth';
|
|
19
|
-
*
|
|
20
|
-
* const validation = await validateSSOToken(token);
|
|
21
|
-
* if (validation.valid) {
|
|
22
|
-
* const session = createSessionFromSSO(validation);
|
|
23
|
-
* }
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* Options for SSO token validation
|
|
28
|
-
*/
|
|
29
|
-
export interface SSOValidationOptions {
|
|
30
|
-
/** Base URL for authz service (default: AUTHZ_BASE_URL env or http://authz-api:8010) */
|
|
31
|
-
authzUrl?: string;
|
|
32
|
-
/** Expected audience claim - app name (default: APP_NAME env or "app") */
|
|
33
|
-
appName?: string;
|
|
34
|
-
/** Expected issuer claim (default: "busibox-authz") */
|
|
35
|
-
issuer?: string;
|
|
36
|
-
/** Optional explicit audience(s), comma-separated (e.g. "projects,busibox-projects") */
|
|
37
|
-
ssoAudience?: string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* JWT payload structure for app-scoped tokens from authz
|
|
41
|
-
*/
|
|
42
|
-
export interface AppTokenPayload {
|
|
43
|
-
iss: string;
|
|
44
|
-
sub: string;
|
|
45
|
-
aud: string;
|
|
46
|
-
iat: number;
|
|
47
|
-
exp: number;
|
|
48
|
-
jti: string;
|
|
49
|
-
scope: string;
|
|
50
|
-
roles: Array<{
|
|
51
|
-
id: string;
|
|
52
|
-
name: string;
|
|
53
|
-
}>;
|
|
54
|
-
app_id?: string;
|
|
55
|
-
email?: string;
|
|
56
|
-
preferred_username?: string;
|
|
57
|
-
name?: string;
|
|
58
|
-
given_name?: string;
|
|
59
|
-
family_name?: string;
|
|
60
|
-
picture?: string;
|
|
61
|
-
favorite_color?: string;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Result of SSO token validation
|
|
65
|
-
*/
|
|
66
|
-
export interface SSOValidationResult {
|
|
67
|
-
valid: boolean;
|
|
68
|
-
userId?: string;
|
|
69
|
-
email?: string;
|
|
70
|
-
roles?: string[];
|
|
71
|
-
appId?: string;
|
|
72
|
-
scopes?: string[];
|
|
73
|
-
error?: string;
|
|
74
|
-
/** User profile fields from JWT claims */
|
|
75
|
-
displayName?: string;
|
|
76
|
-
firstName?: string;
|
|
77
|
-
lastName?: string;
|
|
78
|
-
avatarUrl?: string;
|
|
79
|
-
favoriteColor?: string;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Session data created from validated SSO token
|
|
83
|
-
*/
|
|
84
|
-
export interface SSOSessionData {
|
|
85
|
-
userId: string;
|
|
86
|
-
email: string;
|
|
87
|
-
roles: string[];
|
|
88
|
-
appId: string;
|
|
89
|
-
scopes: string[];
|
|
90
|
-
authenticatedAt: string;
|
|
91
|
-
authMethod: "sso";
|
|
92
|
-
/** User profile fields (optional, from JWT claims) */
|
|
93
|
-
displayName?: string;
|
|
94
|
-
firstName?: string;
|
|
95
|
-
lastName?: string;
|
|
96
|
-
avatarUrl?: string;
|
|
97
|
-
favoriteColor?: string;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Invalidate JWKS cache (call this if key rotation is detected)
|
|
101
|
-
*/
|
|
102
|
-
export declare function invalidateJwksCache(authzUrl?: string): void;
|
|
103
|
-
/**
|
|
104
|
-
* Validate app-scoped token from authz
|
|
105
|
-
*
|
|
106
|
-
* Token is RS256 signed by authz. We verify using authz JWKS endpoint.
|
|
107
|
-
* No shared secrets needed - asymmetric verification.
|
|
108
|
-
*
|
|
109
|
-
* Handles multiple audience formats robustly:
|
|
110
|
-
* - Short app IDs (e.g., "estimator", "dredge-estimator")
|
|
111
|
-
* - Display names (e.g., "Dredging Cost Estimator")
|
|
112
|
-
* - Explicit path/ID audiences (e.g., "projects", "busibox-projects")
|
|
113
|
-
*
|
|
114
|
-
* @param token - JWT token string
|
|
115
|
-
* @param options - Validation options (authzUrl, appName, issuer)
|
|
116
|
-
* @returns Validation result with user info or error
|
|
117
|
-
*
|
|
118
|
-
* @example
|
|
119
|
-
* ```typescript
|
|
120
|
-
* // Using environment variables
|
|
121
|
-
* const result = await validateSSOToken(token);
|
|
122
|
-
*
|
|
123
|
-
* // With explicit options
|
|
124
|
-
* const result = await validateSSOToken(token, {
|
|
125
|
-
* authzUrl: 'http://authz:8010',
|
|
126
|
-
* appName: 'My App',
|
|
127
|
-
* });
|
|
128
|
-
* ```
|
|
129
|
-
*/
|
|
130
|
-
export declare function validateSSOToken(token: string, options?: SSOValidationOptions): Promise<SSOValidationResult>;
|
|
131
|
-
/**
|
|
132
|
-
* Full validation - validates the token via JWKS
|
|
133
|
-
* @deprecated Use validateSSOToken instead
|
|
134
|
-
*/
|
|
135
|
-
export declare function validateSSOTokenFull(token: string, options?: SSOValidationOptions): Promise<SSOValidationResult>;
|
|
136
|
-
/**
|
|
137
|
-
* Create session data from validated SSO token
|
|
138
|
-
*
|
|
139
|
-
* @param validation - Result from validateSSOToken
|
|
140
|
-
* @returns Session data object
|
|
141
|
-
* @throws Error if validation result is invalid
|
|
142
|
-
*/
|
|
143
|
-
export declare function createSessionFromSSO(validation: SSOValidationResult): SSOSessionData;
|
|
144
|
-
/**
|
|
145
|
-
* Check if session has specific role
|
|
146
|
-
*/
|
|
147
|
-
export declare function hasSessionRole(session: {
|
|
148
|
-
roles?: string[];
|
|
149
|
-
}, roleName: string): boolean;
|
|
150
|
-
/**
|
|
151
|
-
* Check if session has specific scope
|
|
152
|
-
*/
|
|
153
|
-
export declare function hasSessionScope(session: {
|
|
154
|
-
scopes?: string[];
|
|
155
|
-
}, scope: string): boolean;
|
|
156
|
-
/**
|
|
157
|
-
* Check if session user is admin
|
|
158
|
-
*/
|
|
159
|
-
export declare function isSessionAdmin(session: {
|
|
160
|
-
roles?: string[];
|
|
161
|
-
}): boolean;
|
|
162
|
-
//# sourceMappingURL=sso.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/sso.ts"],"names":[],"mappings":"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"}
|