@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,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent API Client for Chat Operations
|
|
3
|
-
*
|
|
4
|
-
* Provides typed HTTP calls to agent-api conversation, message, sharing,
|
|
5
|
-
* and attachment endpoints. Used by the chat lib modules to replace Prisma.
|
|
6
|
-
*/
|
|
7
|
-
import { exchangeWithSubjectToken } from '../authz/next-client';
|
|
8
|
-
// ---------------------------------------------------------------------------
|
|
9
|
-
// Configuration
|
|
10
|
-
// ---------------------------------------------------------------------------
|
|
11
|
-
function getAgentApiUrl() {
|
|
12
|
-
const host = process.env.AGENT_API_HOST || process.env.NEXT_PUBLIC_AGENT_API_HOST || 'localhost';
|
|
13
|
-
const port = process.env.AGENT_API_PORT || process.env.NEXT_PUBLIC_AGENT_API_PORT || '4111';
|
|
14
|
-
return `http://${host}:${port}`;
|
|
15
|
-
}
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
|
-
// Token Exchange
|
|
18
|
-
// ---------------------------------------------------------------------------
|
|
19
|
-
export async function getAgentApiToken(userId, sessionJwt) {
|
|
20
|
-
const result = await exchangeWithSubjectToken({
|
|
21
|
-
userId,
|
|
22
|
-
sessionJwt,
|
|
23
|
-
audience: 'agent-api',
|
|
24
|
-
purpose: 'chat-operations',
|
|
25
|
-
});
|
|
26
|
-
return result.accessToken;
|
|
27
|
-
}
|
|
28
|
-
// ---------------------------------------------------------------------------
|
|
29
|
-
// Base Request Helper
|
|
30
|
-
// ---------------------------------------------------------------------------
|
|
31
|
-
export async function agentApiRequest(token, path, init = {}) {
|
|
32
|
-
const url = `${getAgentApiUrl()}${path}`;
|
|
33
|
-
const response = await fetch(url, {
|
|
34
|
-
...init,
|
|
35
|
-
headers: {
|
|
36
|
-
Authorization: `Bearer ${token}`,
|
|
37
|
-
'Content-Type': 'application/json',
|
|
38
|
-
...(init.headers || {}),
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
if (response.status === 204) {
|
|
42
|
-
return undefined;
|
|
43
|
-
}
|
|
44
|
-
if (!response.ok) {
|
|
45
|
-
const text = await response.text().catch(() => '');
|
|
46
|
-
throw new Error(`agent-api ${response.status} ${path}: ${text}`);
|
|
47
|
-
}
|
|
48
|
-
return (await response.json());
|
|
49
|
-
}
|
|
50
|
-
// ---------------------------------------------------------------------------
|
|
51
|
-
// Conversation CRUD
|
|
52
|
-
// ---------------------------------------------------------------------------
|
|
53
|
-
export async function listConversations(token, opts = {}) {
|
|
54
|
-
const params = new URLSearchParams();
|
|
55
|
-
if (opts.limit)
|
|
56
|
-
params.set('limit', String(opts.limit));
|
|
57
|
-
if (opts.offset)
|
|
58
|
-
params.set('offset', String(opts.offset));
|
|
59
|
-
if (opts.order_by)
|
|
60
|
-
params.set('order_by', opts.order_by);
|
|
61
|
-
if (opts.order)
|
|
62
|
-
params.set('order', opts.order);
|
|
63
|
-
if (opts.source)
|
|
64
|
-
params.set('source', opts.source);
|
|
65
|
-
if (opts.agent_id)
|
|
66
|
-
params.set('agent_id', opts.agent_id);
|
|
67
|
-
const qs = params.toString() ? `?${params.toString()}` : '';
|
|
68
|
-
return agentApiRequest(token, `/conversations${qs}`);
|
|
69
|
-
}
|
|
70
|
-
export async function createConversation(token, data) {
|
|
71
|
-
return agentApiRequest(token, '/conversations', {
|
|
72
|
-
method: 'POST',
|
|
73
|
-
body: JSON.stringify(data),
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
export async function getConversation(token, conversationId, opts = {}) {
|
|
77
|
-
const params = new URLSearchParams();
|
|
78
|
-
if (opts.include_messages !== undefined)
|
|
79
|
-
params.set('include_messages', String(opts.include_messages));
|
|
80
|
-
if (opts.message_limit)
|
|
81
|
-
params.set('message_limit', String(opts.message_limit));
|
|
82
|
-
if (opts.message_offset)
|
|
83
|
-
params.set('message_offset', String(opts.message_offset));
|
|
84
|
-
const qs = params.toString() ? `?${params.toString()}` : '';
|
|
85
|
-
return agentApiRequest(token, `/conversations/${conversationId}${qs}`);
|
|
86
|
-
}
|
|
87
|
-
export async function updateConversation(token, conversationId, data) {
|
|
88
|
-
return agentApiRequest(token, `/conversations/${conversationId}`, {
|
|
89
|
-
method: 'PATCH',
|
|
90
|
-
body: JSON.stringify(data),
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
export async function deleteConversation(token, conversationId) {
|
|
94
|
-
await agentApiRequest(token, `/conversations/${conversationId}`, { method: 'DELETE' });
|
|
95
|
-
}
|
|
96
|
-
// ---------------------------------------------------------------------------
|
|
97
|
-
// Message CRUD
|
|
98
|
-
// ---------------------------------------------------------------------------
|
|
99
|
-
export async function listMessages(token, conversationId, opts = {}) {
|
|
100
|
-
const params = new URLSearchParams();
|
|
101
|
-
if (opts.limit)
|
|
102
|
-
params.set('limit', String(opts.limit));
|
|
103
|
-
if (opts.offset)
|
|
104
|
-
params.set('offset', String(opts.offset));
|
|
105
|
-
if (opts.order)
|
|
106
|
-
params.set('order', opts.order);
|
|
107
|
-
const qs = params.toString() ? `?${params.toString()}` : '';
|
|
108
|
-
return agentApiRequest(token, `/conversations/${conversationId}/messages${qs}`);
|
|
109
|
-
}
|
|
110
|
-
export async function createMessage(token, conversationId, data) {
|
|
111
|
-
return agentApiRequest(token, `/conversations/${conversationId}/messages`, {
|
|
112
|
-
method: 'POST',
|
|
113
|
-
body: JSON.stringify(data),
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
export async function getMessage(token, messageId) {
|
|
117
|
-
return agentApiRequest(token, `/messages/${messageId}`);
|
|
118
|
-
}
|
|
119
|
-
export async function deleteMessage(token, conversationId, messageId) {
|
|
120
|
-
await agentApiRequest(token, `/chat/${conversationId}/messages/${messageId}`, { method: 'DELETE' });
|
|
121
|
-
}
|
|
122
|
-
// ---------------------------------------------------------------------------
|
|
123
|
-
// Conversation Sharing
|
|
124
|
-
// ---------------------------------------------------------------------------
|
|
125
|
-
export async function shareConversation(token, conversationId, userId, role = 'viewer') {
|
|
126
|
-
return agentApiRequest(token, `/conversations/${conversationId}/shares`, {
|
|
127
|
-
method: 'POST',
|
|
128
|
-
body: JSON.stringify({ user_id: userId, role }),
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
export async function listConversationShares(token, conversationId) {
|
|
132
|
-
return agentApiRequest(token, `/conversations/${conversationId}/shares`);
|
|
133
|
-
}
|
|
134
|
-
export async function unshareConversation(token, conversationId, userId) {
|
|
135
|
-
await agentApiRequest(token, `/conversations/${conversationId}/shares/${userId}`, { method: 'DELETE' });
|
|
136
|
-
}
|
|
137
|
-
// ---------------------------------------------------------------------------
|
|
138
|
-
// Chat Attachments
|
|
139
|
-
// ---------------------------------------------------------------------------
|
|
140
|
-
export async function createChatAttachment(token, data) {
|
|
141
|
-
return agentApiRequest(token, '/chat-attachments', {
|
|
142
|
-
method: 'POST',
|
|
143
|
-
body: JSON.stringify(data),
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
export async function getChatAttachment(token, attachmentId) {
|
|
147
|
-
return agentApiRequest(token, `/chat-attachments/${attachmentId}`);
|
|
148
|
-
}
|
|
149
|
-
export async function deleteChatAttachment(token, attachmentId) {
|
|
150
|
-
await agentApiRequest(token, `/chat-attachments/${attachmentId}`, { method: 'DELETE' });
|
|
151
|
-
}
|
|
152
|
-
export async function listChatAttachments(token, opts) {
|
|
153
|
-
const params = new URLSearchParams();
|
|
154
|
-
if (opts?.message_id !== undefined) {
|
|
155
|
-
params.set('message_id', opts.message_id === null ? 'null' : opts.message_id);
|
|
156
|
-
}
|
|
157
|
-
if (opts?.created_before)
|
|
158
|
-
params.set('created_before', opts.created_before);
|
|
159
|
-
const qs = params.toString() ? `?${params.toString()}` : '';
|
|
160
|
-
return agentApiRequest(token, `/chat-attachments${qs}`);
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=agent-api-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-api-client.js","sourceRoot":"","sources":["../../../src/lib/chat-server/agent-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attachment Service
|
|
3
|
-
*
|
|
4
|
-
* Handles chat attachment processing.
|
|
5
|
-
*
|
|
6
|
-
* All attachments are uploaded to the user's personal library and processed
|
|
7
|
-
* asynchronously by the data service.
|
|
8
|
-
*
|
|
9
|
-
* Uses agent-api HTTP client for attachment records (no Prisma).
|
|
10
|
-
*/
|
|
11
|
-
/** Local attachment type (camelCase for internal use) */
|
|
12
|
-
export interface Attachment {
|
|
13
|
-
id: string;
|
|
14
|
-
fileId?: string;
|
|
15
|
-
filename: string;
|
|
16
|
-
mimeType?: string;
|
|
17
|
-
sizeBytes?: number;
|
|
18
|
-
fileUrl?: string;
|
|
19
|
-
addedToLibrary?: boolean;
|
|
20
|
-
libraryDocumentId?: string;
|
|
21
|
-
parsedContent?: string;
|
|
22
|
-
messageId?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface AttachmentProcessingOptions {
|
|
25
|
-
conversationId: string;
|
|
26
|
-
userId: string;
|
|
27
|
-
}
|
|
28
|
-
export interface ProcessedAttachment {
|
|
29
|
-
id: string;
|
|
30
|
-
fileId?: string;
|
|
31
|
-
filename: string;
|
|
32
|
-
mimeType: string;
|
|
33
|
-
sizeBytes?: number;
|
|
34
|
-
fileUrl: string;
|
|
35
|
-
addedToLibrary: boolean;
|
|
36
|
-
libraryDocumentId?: string;
|
|
37
|
-
parsedContent?: string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Supported file types for different processing modes
|
|
41
|
-
*/
|
|
42
|
-
export declare const SUPPORTED_FILE_TYPES: {
|
|
43
|
-
readonly native: readonly ["image/jpeg", "image/jpg", "image/png", "image/gif", "image/webp"];
|
|
44
|
-
readonly parseable: readonly ["application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "text/markdown", "text/csv", "application/json", "application/xml"];
|
|
45
|
-
readonly all: readonly ["image/jpeg", "image/jpg", "image/png", "image/gif", "image/webp", "application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "text/markdown", "text/csv", "application/json", "application/xml"];
|
|
46
|
-
};
|
|
47
|
-
export declare const MAX_FILE_SIZE_BYTES: number;
|
|
48
|
-
/**
|
|
49
|
-
* Check if file type is supported
|
|
50
|
-
*/
|
|
51
|
-
export declare function isFileTypeSupported(mimeType: string | undefined): boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Check if file type supports native LLM processing (vision API)
|
|
54
|
-
*/
|
|
55
|
-
export declare function supportsNativeFile(mimeType: string | undefined): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Check if file type can be parsed to markdown
|
|
58
|
-
*/
|
|
59
|
-
export declare function isParseableFile(mimeType: string | undefined): boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Validate file before processing
|
|
62
|
-
*/
|
|
63
|
-
export declare function validateFile(file: File): {
|
|
64
|
-
valid: boolean;
|
|
65
|
-
error?: string;
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Process attachment with dual-mode logic
|
|
69
|
-
*
|
|
70
|
-
* @param token - Agent-api access token
|
|
71
|
-
* @param file - File to process
|
|
72
|
-
* @param options - Processing options
|
|
73
|
-
* @returns Processed attachment metadata
|
|
74
|
-
*/
|
|
75
|
-
export declare function processAttachment(token: string, file: File, options: AttachmentProcessingOptions): Promise<ProcessedAttachment>;
|
|
76
|
-
/**
|
|
77
|
-
* Get attachment by ID
|
|
78
|
-
*
|
|
79
|
-
* @param token - Agent-api access token (enforces access control)
|
|
80
|
-
* @param attachmentId - Attachment ID
|
|
81
|
-
*/
|
|
82
|
-
export declare function getAttachment(token: string, attachmentId: string): Promise<Attachment | null>;
|
|
83
|
-
/**
|
|
84
|
-
* Delete attachment
|
|
85
|
-
*
|
|
86
|
-
* @param attachmentId - Attachment ID
|
|
87
|
-
* @param userId - User ID (must have access)
|
|
88
|
-
* @param deleteFile - Whether to delete file from storage (default: true)
|
|
89
|
-
*/
|
|
90
|
-
export declare function deleteAttachment(token: string, attachmentId: string, userId: string, deleteFile?: boolean): Promise<boolean>;
|
|
91
|
-
/**
|
|
92
|
-
* Get attachment download URL
|
|
93
|
-
*
|
|
94
|
-
* @param token - Agent-api access token
|
|
95
|
-
* @param attachmentId - Attachment ID
|
|
96
|
-
* @param userId - User ID (for presigned URL)
|
|
97
|
-
*/
|
|
98
|
-
export declare function getAttachmentDownloadUrl(token: string, attachmentId: string, userId: string): Promise<string | null>;
|
|
99
|
-
/**
|
|
100
|
-
* Format attachment for AI context
|
|
101
|
-
*
|
|
102
|
-
* Returns attachment in format suitable for AI prompt
|
|
103
|
-
*/
|
|
104
|
-
export declare function formatAttachmentForAI(attachment: Attachment, userId?: string): Promise<{
|
|
105
|
-
type: 'native' | 'parsed' | 'library';
|
|
106
|
-
content?: string;
|
|
107
|
-
url?: string;
|
|
108
|
-
filename: string;
|
|
109
|
-
}>;
|
|
110
|
-
/**
|
|
111
|
-
* Batch process multiple attachments
|
|
112
|
-
*
|
|
113
|
-
* @param token - Agent-api access token
|
|
114
|
-
* @param files - Files to process
|
|
115
|
-
* @param options - Processing options
|
|
116
|
-
*/
|
|
117
|
-
export declare function processAttachments(token: string, files: File[], options: AttachmentProcessingOptions): Promise<ProcessedAttachment[]>;
|
|
118
|
-
//# sourceMappingURL=attachments.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/lib/chat-server/attachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attachment Service
|
|
3
|
-
*
|
|
4
|
-
* Handles chat attachment processing.
|
|
5
|
-
*
|
|
6
|
-
* All attachments are uploaded to the user's personal library and processed
|
|
7
|
-
* asynchronously by the data service.
|
|
8
|
-
*
|
|
9
|
-
* Uses agent-api HTTP client for attachment records (no Prisma).
|
|
10
|
-
*/
|
|
11
|
-
import { createChatAttachment, getChatAttachment, deleteChatAttachment as agentDeleteChatAttachment, } from './agent-api-client';
|
|
12
|
-
import { uploadChatAttachment, getChatAttachmentUrl, deleteChatAttachment as deleteDataFile, } from '../data/app-client';
|
|
13
|
-
/**
|
|
14
|
-
* Supported file types for different processing modes
|
|
15
|
-
*/
|
|
16
|
-
export const SUPPORTED_FILE_TYPES = {
|
|
17
|
-
// Native LLM support (OpenAI Vision API)
|
|
18
|
-
native: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp'],
|
|
19
|
-
// Parseable documents
|
|
20
|
-
parseable: [
|
|
21
|
-
'application/pdf',
|
|
22
|
-
'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // DOCX
|
|
23
|
-
'text/plain',
|
|
24
|
-
'text/markdown',
|
|
25
|
-
'text/csv',
|
|
26
|
-
'application/json',
|
|
27
|
-
'application/xml',
|
|
28
|
-
],
|
|
29
|
-
// All supported types (union)
|
|
30
|
-
all: [
|
|
31
|
-
'image/jpeg',
|
|
32
|
-
'image/jpg',
|
|
33
|
-
'image/png',
|
|
34
|
-
'image/gif',
|
|
35
|
-
'image/webp',
|
|
36
|
-
'application/pdf',
|
|
37
|
-
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
38
|
-
'text/plain',
|
|
39
|
-
'text/markdown',
|
|
40
|
-
'text/csv',
|
|
41
|
-
'application/json',
|
|
42
|
-
'application/xml',
|
|
43
|
-
],
|
|
44
|
-
};
|
|
45
|
-
export const MAX_FILE_SIZE_BYTES = 25 * 1024 * 1024; // 25MB
|
|
46
|
-
/**
|
|
47
|
-
* Check if file type is supported
|
|
48
|
-
*/
|
|
49
|
-
export function isFileTypeSupported(mimeType) {
|
|
50
|
-
if (!mimeType)
|
|
51
|
-
return false;
|
|
52
|
-
return SUPPORTED_FILE_TYPES.all.includes(mimeType);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Check if file type supports native LLM processing (vision API)
|
|
56
|
-
*/
|
|
57
|
-
export function supportsNativeFile(mimeType) {
|
|
58
|
-
if (!mimeType)
|
|
59
|
-
return false;
|
|
60
|
-
return SUPPORTED_FILE_TYPES.native.includes(mimeType);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Check if file type can be parsed to markdown
|
|
64
|
-
*/
|
|
65
|
-
export function isParseableFile(mimeType) {
|
|
66
|
-
if (!mimeType)
|
|
67
|
-
return false;
|
|
68
|
-
return SUPPORTED_FILE_TYPES.parseable.includes(mimeType);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Validate file before processing
|
|
72
|
-
*/
|
|
73
|
-
export function validateFile(file) {
|
|
74
|
-
// Check file size
|
|
75
|
-
if (file.size > MAX_FILE_SIZE_BYTES) {
|
|
76
|
-
return {
|
|
77
|
-
valid: false,
|
|
78
|
-
error: `File size exceeds maximum of ${MAX_FILE_SIZE_BYTES / 1024 / 1024}MB`,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
// Check file type
|
|
82
|
-
if (!isFileTypeSupported(file.type)) {
|
|
83
|
-
return {
|
|
84
|
-
valid: false,
|
|
85
|
-
error: `File type "${file.type}" is not supported. Supported types: ${SUPPORTED_FILE_TYPES.all.join(', ')}`,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return { valid: true };
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Process attachment with dual-mode logic
|
|
92
|
-
*
|
|
93
|
-
* @param token - Agent-api access token
|
|
94
|
-
* @param file - File to process
|
|
95
|
-
* @param options - Processing options
|
|
96
|
-
* @returns Processed attachment metadata
|
|
97
|
-
*/
|
|
98
|
-
export async function processAttachment(token, file, options) {
|
|
99
|
-
const { userId } = options;
|
|
100
|
-
// Validate file
|
|
101
|
-
const validation = validateFile(file);
|
|
102
|
-
if (!validation.valid) {
|
|
103
|
-
throw new Error(validation.error);
|
|
104
|
-
}
|
|
105
|
-
// 1. Upload file to MinIO via data service
|
|
106
|
-
const uploadResult = await uploadChatAttachment(file, userId);
|
|
107
|
-
// 2. Construct file download URL
|
|
108
|
-
// The data service provides a download endpoint at /files/{fileId}/download
|
|
109
|
-
// Use DATA_API_HOST for consistency with other services
|
|
110
|
-
const dataHost = process.env.DATA_API_HOST || 'localhost';
|
|
111
|
-
const dataPort = process.env.DATA_API_PORT || '8002';
|
|
112
|
-
const dataServiceUrl = process.env.DATA_SERVICE_URL || `http://${dataHost}:${dataPort}`;
|
|
113
|
-
const fileUrl = `${dataServiceUrl}/files/${uploadResult.fileId}/download`;
|
|
114
|
-
// 3. Create attachment record via agent-api
|
|
115
|
-
const attachment = await createChatAttachment(token, {
|
|
116
|
-
filename: file.name,
|
|
117
|
-
file_url: fileUrl,
|
|
118
|
-
file_id: uploadResult.fileId,
|
|
119
|
-
mime_type: file.type,
|
|
120
|
-
size_bytes: file.size,
|
|
121
|
-
added_to_library: true,
|
|
122
|
-
});
|
|
123
|
-
return {
|
|
124
|
-
id: attachment.id,
|
|
125
|
-
fileId: attachment.file_id ?? uploadResult.fileId,
|
|
126
|
-
filename: attachment.filename,
|
|
127
|
-
mimeType: attachment.mime_type ?? file.type,
|
|
128
|
-
sizeBytes: attachment.size_bytes ?? file.size,
|
|
129
|
-
fileUrl: attachment.file_url,
|
|
130
|
-
addedToLibrary: attachment.added_to_library,
|
|
131
|
-
libraryDocumentId: attachment.library_document_id ?? undefined,
|
|
132
|
-
parsedContent: attachment.parsed_content ?? undefined,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
function agentAttachmentToAttachment(a) {
|
|
136
|
-
return {
|
|
137
|
-
id: a.id,
|
|
138
|
-
fileId: a.file_id,
|
|
139
|
-
filename: a.filename,
|
|
140
|
-
fileUrl: a.file_url,
|
|
141
|
-
mimeType: a.mime_type ?? 'application/octet-stream',
|
|
142
|
-
sizeBytes: a.size_bytes ?? 0,
|
|
143
|
-
addedToLibrary: a.added_to_library,
|
|
144
|
-
libraryDocumentId: a.library_document_id,
|
|
145
|
-
parsedContent: a.parsed_content,
|
|
146
|
-
messageId: a.message_id,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Get attachment by ID
|
|
151
|
-
*
|
|
152
|
-
* @param token - Agent-api access token (enforces access control)
|
|
153
|
-
* @param attachmentId - Attachment ID
|
|
154
|
-
*/
|
|
155
|
-
export async function getAttachment(token, attachmentId) {
|
|
156
|
-
try {
|
|
157
|
-
const attachment = await getChatAttachment(token, attachmentId);
|
|
158
|
-
return agentAttachmentToAttachment(attachment);
|
|
159
|
-
}
|
|
160
|
-
catch {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Delete attachment
|
|
166
|
-
*
|
|
167
|
-
* @param attachmentId - Attachment ID
|
|
168
|
-
* @param userId - User ID (must have access)
|
|
169
|
-
* @param deleteFile - Whether to delete file from storage (default: true)
|
|
170
|
-
*/
|
|
171
|
-
export async function deleteAttachment(token, attachmentId, userId, deleteFile = true) {
|
|
172
|
-
const attachment = await getAttachment(token, attachmentId);
|
|
173
|
-
if (!attachment) {
|
|
174
|
-
return false;
|
|
175
|
-
}
|
|
176
|
-
if (attachment.addedToLibrary && attachment.libraryDocumentId) {
|
|
177
|
-
await agentDeleteChatAttachment(token, attachmentId);
|
|
178
|
-
return true;
|
|
179
|
-
}
|
|
180
|
-
if (deleteFile && attachment.fileUrl) {
|
|
181
|
-
try {
|
|
182
|
-
const fileId = attachment.fileUrl.match(/\/files\/([^/]+)\/download/)?.[1];
|
|
183
|
-
if (fileId) {
|
|
184
|
-
await deleteDataFile(fileId, userId);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
catch (error) {
|
|
188
|
-
console.error('Failed to delete file from storage:', error);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
await agentDeleteChatAttachment(token, attachmentId);
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Get attachment download URL
|
|
196
|
-
*
|
|
197
|
-
* @param token - Agent-api access token
|
|
198
|
-
* @param attachmentId - Attachment ID
|
|
199
|
-
* @param userId - User ID (for presigned URL)
|
|
200
|
-
*/
|
|
201
|
-
export async function getAttachmentDownloadUrl(token, attachmentId, userId) {
|
|
202
|
-
const attachment = await getAttachment(token, attachmentId);
|
|
203
|
-
if (!attachment) {
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
|
-
if (attachment.addedToLibrary && attachment.libraryDocumentId) {
|
|
207
|
-
return `/api/documents/${attachment.libraryDocumentId}/download`;
|
|
208
|
-
}
|
|
209
|
-
if (!attachment.fileUrl) {
|
|
210
|
-
return null;
|
|
211
|
-
}
|
|
212
|
-
try {
|
|
213
|
-
const fileId = attachment.fileUrl.match(/\/files\/([^/]+)\/download/)?.[1];
|
|
214
|
-
if (fileId) {
|
|
215
|
-
return await getChatAttachmentUrl(fileId, userId);
|
|
216
|
-
}
|
|
217
|
-
return attachment.fileUrl;
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
console.error('Failed to get attachment URL:', error);
|
|
221
|
-
return attachment.fileUrl;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Format attachment for AI context
|
|
226
|
-
*
|
|
227
|
-
* Returns attachment in format suitable for AI prompt
|
|
228
|
-
*/
|
|
229
|
-
export async function formatAttachmentForAI(attachment, userId) {
|
|
230
|
-
if (attachment.addedToLibrary && attachment.libraryDocumentId) {
|
|
231
|
-
return {
|
|
232
|
-
type: 'library',
|
|
233
|
-
filename: attachment.filename,
|
|
234
|
-
// Library documents are referenced by ID in search
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
if (attachment.parsedContent) {
|
|
238
|
-
return {
|
|
239
|
-
type: 'parsed',
|
|
240
|
-
content: attachment.parsedContent,
|
|
241
|
-
filename: attachment.filename,
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
if (supportsNativeFile(attachment.mimeType) && attachment.fileUrl) {
|
|
245
|
-
// Get presigned URL from data service (MinIO)
|
|
246
|
-
// This URL is directly accessible by vLLM without authentication
|
|
247
|
-
try {
|
|
248
|
-
// Extract file ID from fileUrl
|
|
249
|
-
// Format: http://10.96.200.206:8002/files/{fileId}/download
|
|
250
|
-
const fileIdMatch = attachment.fileUrl.match(/\/files\/([^/]+)\/download/);
|
|
251
|
-
if (!fileIdMatch || !userId) {
|
|
252
|
-
console.error('[Attachment] Cannot extract file ID or missing userId', {
|
|
253
|
-
fileUrl: attachment.fileUrl,
|
|
254
|
-
hasUserId: !!userId,
|
|
255
|
-
});
|
|
256
|
-
throw new Error('Cannot extract file ID or missing userId');
|
|
257
|
-
}
|
|
258
|
-
const fileId = fileIdMatch[1];
|
|
259
|
-
console.log('[Attachment] Requesting presigned URL', {
|
|
260
|
-
attachmentId: attachment.id,
|
|
261
|
-
fileId,
|
|
262
|
-
filename: attachment.filename,
|
|
263
|
-
mimeType: attachment.mimeType,
|
|
264
|
-
userId: userId.substring(0, 8) + '...',
|
|
265
|
-
});
|
|
266
|
-
const presignedUrl = await getChatAttachmentUrl(fileId, userId, 7200); // 2 hour expiry
|
|
267
|
-
console.log('[Attachment] Presigned URL received', {
|
|
268
|
-
attachmentId: attachment.id,
|
|
269
|
-
filename: attachment.filename,
|
|
270
|
-
urlLength: presignedUrl.length,
|
|
271
|
-
urlPreview: presignedUrl.substring(0, 100) + '...',
|
|
272
|
-
fullUrl: presignedUrl,
|
|
273
|
-
});
|
|
274
|
-
return {
|
|
275
|
-
type: 'native',
|
|
276
|
-
url: presignedUrl,
|
|
277
|
-
filename: attachment.filename,
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
catch (error) {
|
|
281
|
-
console.error(`[Attachment] Failed to get presigned URL for attachment:`, error);
|
|
282
|
-
// Fallback to parsed content
|
|
283
|
-
return {
|
|
284
|
-
type: 'parsed',
|
|
285
|
-
content: `[Image attachment: ${attachment.filename}]\nNote: Could not generate accessible URL for image.`,
|
|
286
|
-
filename: attachment.filename,
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
// Fallback
|
|
291
|
-
return {
|
|
292
|
-
type: 'parsed',
|
|
293
|
-
content: `[File: ${attachment.filename}]`,
|
|
294
|
-
filename: attachment.filename,
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
/**
|
|
298
|
-
* Batch process multiple attachments
|
|
299
|
-
*
|
|
300
|
-
* @param token - Agent-api access token
|
|
301
|
-
* @param files - Files to process
|
|
302
|
-
* @param options - Processing options
|
|
303
|
-
*/
|
|
304
|
-
export async function processAttachments(token, files, options) {
|
|
305
|
-
const results = [];
|
|
306
|
-
for (const file of files) {
|
|
307
|
-
try {
|
|
308
|
-
const processed = await processAttachment(token, file, options);
|
|
309
|
-
results.push(processed);
|
|
310
|
-
}
|
|
311
|
-
catch (error) {
|
|
312
|
-
console.error(`Failed to process attachment ${file.name}:`, error);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
return results;
|
|
316
|
-
}
|
|
317
|
-
//# sourceMappingURL=attachments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/lib/chat-server/attachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attachment Cleanup Utilities
|
|
3
|
-
*
|
|
4
|
-
* Handles cleanup of attachment files when conversations or messages are deleted.
|
|
5
|
-
* Uses agent-api HTTP client for conversation/message data (no Prisma).
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Cleanup attachments for a conversation
|
|
9
|
-
*
|
|
10
|
-
* Deletes non-library attachment files from storage when conversation is deleted.
|
|
11
|
-
* Library attachments are preserved as they're managed separately.
|
|
12
|
-
*
|
|
13
|
-
* @param token - Agent-api access token
|
|
14
|
-
* @param conversationId - Conversation ID
|
|
15
|
-
*/
|
|
16
|
-
export declare function cleanupConversationAttachments(token: string, conversationId: string): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* Cleanup attachments for a message
|
|
19
|
-
*
|
|
20
|
-
* @param token - Agent-api access token
|
|
21
|
-
* @param messageId - Message ID
|
|
22
|
-
*/
|
|
23
|
-
export declare function cleanupMessageAttachments(token: string, messageId: string): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* Cleanup orphaned attachments (attachments without messages)
|
|
26
|
-
*
|
|
27
|
-
* This can happen if message creation fails after attachment upload.
|
|
28
|
-
*
|
|
29
|
-
* @param token - Agent-api access token
|
|
30
|
-
* @param olderThanHours - Only cleanup attachments older than this (default: 24)
|
|
31
|
-
* @param userId - Optional user ID to filter attachments
|
|
32
|
-
*/
|
|
33
|
-
export declare function cleanupOrphanedAttachments(token: string, olderThanHours?: number, userId?: string): Promise<number>;
|
|
34
|
-
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/lib/chat-server/cleanup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,MAAW,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAiCjB"}
|