@arbidocs/react 0.5.111 → 0.5.112
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/account/client.js +96 -0
- package/dist/account/client.js.map +7 -0
- package/dist/account/delete.js +70 -0
- package/dist/account/delete.js.map +7 -0
- package/dist/account/didit.js +34 -0
- package/dist/account/didit.js.map +7 -0
- package/dist/account/dismissed-tips.js +33 -0
- package/dist/account/dismissed-tips.js.map +7 -0
- package/dist/account/email.js +84 -0
- package/dist/account/email.js.map +7 -0
- package/dist/account/entitlements.js +47 -0
- package/dist/account/entitlements.js.map +7 -0
- package/dist/account/identity.js +270 -0
- package/dist/account/identity.js.map +7 -0
- package/dist/account/index.js +93 -0
- package/dist/account/index.js.map +7 -0
- package/dist/account/notifications.js +59 -0
- package/dist/account/notifications.js.map +7 -0
- package/dist/account/password.js +103 -0
- package/dist/account/password.js.map +7 -0
- package/dist/account/profile.js +116 -0
- package/dist/account/profile.js.map +7 -0
- package/dist/account/recovery.js +13 -0
- package/dist/account/recovery.js.map +7 -0
- package/dist/account/relevance.js +82 -0
- package/dist/account/relevance.js.map +7 -0
- package/dist/account/sessions.js +37 -0
- package/dist/account/sessions.js.map +7 -0
- package/dist/account/settings.js +39 -0
- package/dist/account/settings.js.map +7 -0
- package/dist/account/table-views.js +16 -0
- package/dist/account/table-views.js.map +7 -0
- package/dist/ai/AiAnswer.js +83 -0
- package/dist/ai/AiAnswer.js.map +7 -0
- package/dist/ai/AiMarkdown.js +40 -0
- package/dist/ai/AiMarkdown.js.map +7 -0
- package/dist/ai/ArtifactCanvas.js +193 -0
- package/dist/ai/ArtifactCanvas.js.map +7 -0
- package/dist/ai/CitationRenderer.js +413 -0
- package/dist/ai/CitationRenderer.js.map +7 -0
- package/dist/{chunk-WL2Y2T47.js → ai/MarkdownRenderer.js} +35 -101
- package/dist/ai/MarkdownRenderer.js.map +7 -0
- package/dist/ai/MessageArtifactCard.js +75 -0
- package/dist/ai/MessageArtifactCard.js.map +7 -0
- package/dist/ai/PassageCard.js +79 -0
- package/dist/ai/PassageCard.js.map +7 -0
- package/dist/ai/engine.js +110 -0
- package/dist/ai/engine.js.map +7 -0
- package/dist/ai/index.js +63 -0
- package/dist/ai/index.js.map +7 -0
- package/dist/ai/markdown-base-components.js +37 -0
- package/dist/ai/markdown-base-components.js.map +7 -0
- package/dist/ai/markdown-streaming-context.js +6 -0
- package/dist/ai/markdown-streaming-context.js.map +7 -0
- package/dist/{chunk-VSCU7K4V.js → ai/normalize-citations.js} +12 -19
- package/dist/ai/normalize-citations.js.map +7 -0
- package/dist/ai/redline.js +41 -0
- package/dist/ai/redline.js.map +7 -0
- package/dist/ai/split-markdown-blocks.js +40 -0
- package/dist/ai/split-markdown-blocks.js.map +7 -0
- package/dist/{chunk-UW2SGTI5.js → ai/stored-markdown.js} +41 -93
- package/dist/ai/stored-markdown.js.map +7 -0
- package/dist/annotations/AnnotationPageOverlay.js +807 -0
- package/dist/annotations/AnnotationPageOverlay.js.map +7 -0
- package/dist/annotations/AnnotationToolbar.js +398 -0
- package/dist/annotations/AnnotationToolbar.js.map +7 -0
- package/dist/annotations/FreezeDialog.js +170 -0
- package/dist/annotations/FreezeDialog.js.map +7 -0
- package/dist/annotations/ProductionDialog.js +354 -0
- package/dist/annotations/ProductionDialog.js.map +7 -0
- package/dist/annotations/controller.js +49 -0
- package/dist/annotations/controller.js.map +7 -0
- package/dist/annotations/freeze/browser.js +21 -0
- package/dist/annotations/freeze/browser.js.map +7 -0
- package/dist/annotations/freeze/bundle.js +201 -0
- package/dist/annotations/freeze/bundle.js.map +7 -0
- package/dist/annotations/freeze/coords.js +37 -0
- package/dist/annotations/freeze/coords.js.map +7 -0
- package/dist/annotations/freeze/freeze.js +261 -0
- package/dist/annotations/freeze/freeze.js.map +7 -0
- package/dist/annotations/freeze/hash.js +28 -0
- package/dist/annotations/freeze/hash.js.map +7 -0
- package/dist/annotations/freeze/index-page.js +78 -0
- package/dist/annotations/freeze/index-page.js.map +7 -0
- package/dist/annotations/freeze/index.js +28 -22
- package/dist/annotations/freeze/index.js.map +7 -1
- package/dist/annotations/freeze/raster.js +208 -0
- package/dist/annotations/freeze/raster.js.map +7 -0
- package/dist/annotations/freeze/stamp.js +117 -0
- package/dist/annotations/freeze/stamp.js.map +7 -0
- package/dist/annotations/freeze/types.js +14 -0
- package/dist/annotations/freeze/types.js.map +7 -0
- package/dist/annotations/freeze/vector.js +283 -0
- package/dist/annotations/freeze/vector.js.map +7 -0
- package/dist/annotations/geometry.js +81 -0
- package/dist/annotations/geometry.js.map +7 -0
- package/dist/annotations/index.js +125 -6
- package/dist/annotations/index.js.map +7 -1
- package/dist/annotations/merge.js +53 -0
- package/dist/annotations/merge.js.map +7 -0
- package/dist/{chunk-T3USOSVN.js → annotations/model.js} +23 -16
- package/dist/annotations/model.js.map +7 -0
- package/dist/annotations/overlay-geometry.js +41 -0
- package/dist/annotations/overlay-geometry.js.map +7 -0
- package/dist/annotations/redaction-log.js +33 -0
- package/dist/annotations/redaction-log.js.map +7 -0
- package/dist/annotations/selection-marks.js +122 -0
- package/dist/annotations/selection-marks.js.map +7 -0
- package/dist/annotations/state.js +140 -0
- package/dist/annotations/state.js.map +7 -0
- package/dist/annotations/store.js +49 -0
- package/dist/annotations/store.js.map +7 -0
- package/dist/annotations/useAnnotationLayer.js +306 -0
- package/dist/annotations/useAnnotationLayer.js.map +7 -0
- package/dist/annotations/useAnnotationShortcuts.js +31 -0
- package/dist/annotations/useAnnotationShortcuts.js.map +7 -0
- package/dist/annotations/useTextSelectionMarks.js +100 -0
- package/dist/annotations/useTextSelectionMarks.js.map +7 -0
- package/dist/artifacts/artifact-kind.js +19 -0
- package/dist/artifacts/artifact-kind.js.map +7 -0
- package/dist/artifacts/index.js +89 -571
- package/dist/artifacts/index.js.map +7 -1
- package/dist/{chunk-WUTL62MC.js → artifacts/normalize-markdown.js} +12 -14
- package/dist/artifacts/normalize-markdown.js.map +7 -0
- package/dist/artifacts/redline-core.js +12 -3
- package/dist/artifacts/redline-core.js.map +7 -1
- package/dist/{chunk-74N436VK.js → artifacts/redline-diff.js} +10 -9
- package/dist/artifacts/redline-diff.js.map +7 -0
- package/dist/artifacts/redline-engine.js +14 -0
- package/dist/artifacts/redline-engine.js.map +7 -0
- package/dist/artifacts/renderArtifactMarkdown.js +9 -0
- package/dist/artifacts/renderArtifactMarkdown.js.map +7 -0
- package/dist/artifacts/useArtifactEditSession.js +183 -0
- package/dist/artifacts/useArtifactEditSession.js.map +7 -0
- package/dist/artifacts/useArtifactSession.js +173 -0
- package/dist/artifacts/useArtifactSession.js.map +7 -0
- package/dist/artifacts/useArtifactSource.js +16 -0
- package/dist/artifacts/useArtifactSource.js.map +7 -0
- package/dist/artifacts/useArtifactText.js +78 -0
- package/dist/artifacts/useArtifactText.js.map +7 -0
- package/dist/artifacts/useRedline.js +65 -0
- package/dist/artifacts/useRedline.js.map +7 -0
- package/dist/artifacts/useStreamedArtifact.js +74 -0
- package/dist/artifacts/useStreamedArtifact.js.map +7 -0
- package/dist/artifacts/versions.js +68 -0
- package/dist/artifacts/versions.js.map +7 -0
- package/dist/billing.js +200 -0
- package/dist/billing.js.map +7 -0
- package/dist/boot-timeout.js +19 -0
- package/dist/boot-timeout.js.map +7 -0
- package/dist/calendar/accounts.js +213 -0
- package/dist/calendar/accounts.js.map +7 -0
- package/dist/calendar/hooks.js +409 -0
- package/dist/calendar/hooks.js.map +7 -0
- package/dist/calendar/index.js +31 -0
- package/dist/calendar/index.js.map +7 -0
- package/dist/calendar/keys.js +5 -0
- package/dist/calendar/keys.js.map +7 -0
- package/dist/calendar/offline/outbox.js +231 -0
- package/dist/calendar/offline/outbox.js.map +7 -0
- package/dist/calendar/offline/runtime.js +109 -0
- package/dist/calendar/offline/runtime.js.map +7 -0
- package/dist/calendar/offline/support.js +41 -0
- package/dist/calendar/offline/support.js.map +7 -0
- package/dist/calendar/support.js +34 -0
- package/dist/calendar/support.js.map +7 -0
- package/dist/calls/actions.js +226 -0
- package/dist/calls/actions.js.map +7 -0
- package/dist/calls/events.js +138 -0
- package/dist/calls/events.js.map +7 -0
- package/dist/calls/gate.js +19 -0
- package/dist/calls/gate.js.map +7 -0
- package/dist/calls/hooks.js +115 -0
- package/dist/calls/hooks.js.map +7 -0
- package/dist/calls/in-call-chat.js +132 -0
- package/dist/calls/in-call-chat.js.map +7 -0
- package/dist/calls/index.js +24 -0
- package/dist/calls/index.js.map +7 -0
- package/dist/calls/keys.js +17 -0
- package/dist/calls/keys.js.map +7 -0
- package/dist/calls/livekit/index.js +6 -958
- package/dist/calls/livekit/index.js.map +7 -1
- package/dist/calls/livekit/room.js +98 -0
- package/dist/calls/livekit/room.js.map +7 -0
- package/dist/calls/livekit/useCallRecorder.js +219 -0
- package/dist/calls/livekit/useCallRecorder.js.map +7 -0
- package/dist/calls/livekit/useCallTranscriber.js +309 -0
- package/dist/calls/livekit/useCallTranscriber.js.map +7 -0
- package/dist/calls/livekit/useHostMuteNotice.js +29 -0
- package/dist/calls/livekit/useHostMuteNotice.js.map +7 -0
- package/dist/calls/livekit/useInCallChat.js +161 -0
- package/dist/calls/livekit/useInCallChat.js.map +7 -0
- package/dist/calls/livekit/useWebinar.js +239 -0
- package/dist/calls/livekit/useWebinar.js.map +7 -0
- package/dist/calls/meeting-chat.js +149 -0
- package/dist/calls/meeting-chat.js.map +7 -0
- package/dist/calls/moderation.js +50 -0
- package/dist/calls/moderation.js.map +7 -0
- package/dist/calls/open-meeting-chat.js +29 -0
- package/dist/calls/open-meeting-chat.js.map +7 -0
- package/dist/calls/read-only.js +24 -0
- package/dist/calls/read-only.js.map +7 -0
- package/dist/calls/recording-media.js +218 -0
- package/dist/calls/recording-media.js.map +7 -0
- package/dist/calls/recording-playback.js +260 -0
- package/dist/calls/recording-playback.js.map +7 -0
- package/dist/calls/recording.js +268 -0
- package/dist/calls/recording.js.map +7 -0
- package/dist/calls/save-to-thread.js +80 -0
- package/dist/calls/save-to-thread.js.map +7 -0
- package/dist/calls/session.js +134 -0
- package/dist/calls/session.js.map +7 -0
- package/dist/calls/transcript-format.js +147 -0
- package/dist/calls/transcript-format.js.map +7 -0
- package/dist/calls/transcription.js +101 -0
- package/dist/calls/transcription.js.map +7 -0
- package/dist/calls/webinar.js +71 -0
- package/dist/calls/webinar.js.map +7 -0
- package/dist/charge-watch.js +71 -0
- package/dist/charge-watch.js.map +7 -0
- package/dist/chat/ChatBubble.js +146 -0
- package/dist/chat/ChatBubble.js.map +7 -0
- package/dist/chat/ConversationScope.js +30 -0
- package/dist/chat/ConversationScope.js.map +7 -0
- package/dist/chat/active-config.js +20 -0
- package/dist/chat/active-config.js.map +7 -0
- package/dist/chat/agent-chat-owner.js +25 -0
- package/dist/chat/agent-chat-owner.js.map +7 -0
- package/dist/chat/chat-artifacts.js +64 -0
- package/dist/chat/chat-artifacts.js.map +7 -0
- package/dist/chat/citations.js +32 -0
- package/dist/chat/citations.js.map +7 -0
- package/dist/chat/config-model.js +10 -0
- package/dist/chat/config-model.js.map +7 -0
- package/dist/chat/conversation-cache.js +676 -0
- package/dist/chat/conversation-cache.js.map +7 -0
- package/dist/chat/conversation-events.js +57 -0
- package/dist/chat/conversation-events.js.map +7 -0
- package/dist/chat/conversation-mentions.js +58 -0
- package/dist/chat/conversation-mentions.js.map +7 -0
- package/dist/chat/conversation-workspace.js +58 -0
- package/dist/chat/conversation-workspace.js.map +7 -0
- package/dist/chat/mentions.js +116 -0
- package/dist/chat/mentions.js.map +7 -0
- package/dist/chat/open-document.js +106 -0
- package/dist/chat/open-document.js.map +7 -0
- package/dist/chat/orphaned.js +44 -0
- package/dist/chat/orphaned.js.map +7 -0
- package/dist/chat/pendingFirstTurn.js +30 -0
- package/dist/chat/pendingFirstTurn.js.map +7 -0
- package/dist/chat/reply-target.js +12 -0
- package/dist/chat/reply-target.js.map +7 -0
- package/dist/chat/run-finished.js +28 -0
- package/dist/chat/run-finished.js.map +7 -0
- package/dist/chat/run-state.js +91 -0
- package/dist/chat/run-state.js.map +7 -0
- package/dist/chat/stream-handlers.js +419 -0
- package/dist/chat/stream-handlers.js.map +7 -0
- package/dist/chat/thread-binding.js +76 -0
- package/dist/chat/thread-binding.js.map +7 -0
- package/dist/chat/thread-document.js +53 -0
- package/dist/chat/thread-document.js.map +7 -0
- package/dist/chat/turn-control.js +79 -0
- package/dist/chat/turn-control.js.map +7 -0
- package/dist/chat/useAgentRunControl.js +36 -0
- package/dist/chat/useAgentRunControl.js.map +7 -0
- package/dist/chat/useAnswerAgentQuestion.js +19 -0
- package/dist/chat/useAnswerAgentQuestion.js.map +7 -0
- package/dist/chat/useAskAgain.js +32 -0
- package/dist/chat/useAskAgain.js.map +7 -0
- package/dist/chat/useAutoSendDraft.js +17 -0
- package/dist/chat/useAutoSendDraft.js.map +7 -0
- package/dist/chat/useBranchNavigation.js +97 -0
- package/dist/chat/useBranchNavigation.js.map +7 -0
- package/dist/chat/useConnectRunStream.js +169 -0
- package/dist/chat/useConnectRunStream.js.map +7 -0
- package/dist/chat/useConversation.js +431 -0
- package/dist/chat/useConversation.js.map +7 -0
- package/dist/chat/useConversationActions.js +662 -0
- package/dist/chat/useConversationActions.js.map +7 -0
- package/dist/chat/useConversationData.js +143 -0
- package/dist/chat/useConversationData.js.map +7 -0
- package/dist/chat/useConversationDocuments.js +41 -0
- package/dist/chat/useConversationDocuments.js.map +7 -0
- package/dist/chat/useConversationSettings.js +78 -0
- package/dist/chat/useConversationSettings.js.map +7 -0
- package/dist/chat/useConversationTurn.js +31 -0
- package/dist/chat/useConversationTurn.js.map +7 -0
- package/dist/chat/useConversationWorkspace.js +12 -0
- package/dist/chat/useConversationWorkspace.js.map +7 -0
- package/dist/chat/useDeleteMessage.js +15 -0
- package/dist/chat/useDeleteMessage.js.map +7 -0
- package/dist/chat/useDocumentAutoAdd.js +73 -0
- package/dist/chat/useDocumentAutoAdd.js.map +7 -0
- package/dist/chat/useMessageTimer.js +39 -0
- package/dist/chat/useMessageTimer.js.map +7 -0
- package/dist/chat/useThinkingContent.js +67 -0
- package/dist/chat/useThinkingContent.js.map +7 -0
- package/dist/chat/useThreadDocument.js +61 -0
- package/dist/chat/useThreadDocument.js.map +7 -0
- package/dist/chat/workflow-run-titles.js +50 -0
- package/dist/chat/workflow-run-titles.js.map +7 -0
- package/dist/{chunk-Z3W4XFWB.cjs → chunk-C72FSQUE.cjs} +3 -3
- package/dist/{chunk-Z3W4XFWB.cjs.map → chunk-C72FSQUE.cjs.map} +1 -1
- package/dist/{chunk-LBAG7KL7.cjs → chunk-FQVNZCTD.cjs} +3 -3
- package/dist/{chunk-LBAG7KL7.cjs.map → chunk-FQVNZCTD.cjs.map} +1 -1
- package/dist/{chunk-DI5KSVKY.cjs → chunk-UDDJIUHJ.cjs} +3 -3
- package/dist/{chunk-DI5KSVKY.cjs.map → chunk-UDDJIUHJ.cjs.map} +1 -1
- package/dist/config/config-hooks.js +209 -0
- package/dist/config/config-hooks.js.map +7 -0
- package/dist/connectivity.js +72 -0
- package/dist/connectivity.js.map +7 -0
- package/dist/connectors/hooks.js +263 -0
- package/dist/connectors/hooks.js.map +7 -0
- package/dist/connectors/index.js +28 -0
- package/dist/connectors/index.js.map +7 -0
- package/dist/contacts.js +100 -0
- package/dist/contacts.js.map +7 -0
- package/dist/conversation-list.js +65 -0
- package/dist/conversation-list.js.map +7 -0
- package/dist/databases.js +195 -0
- package/dist/databases.js.map +7 -0
- package/dist/datasets/aggregate.js +281 -0
- package/dist/datasets/aggregate.js.map +7 -0
- package/dist/datasets/index.js +122 -0
- package/dist/datasets/index.js.map +7 -0
- package/dist/datasets/members.js +27 -0
- package/dist/datasets/members.js.map +7 -0
- package/dist/datasets/panel.js +44 -0
- package/dist/datasets/panel.js.map +7 -0
- package/dist/datasets/registry.js +47 -0
- package/dist/datasets/registry.js.map +7 -0
- package/dist/datasets/rows-source.js +44 -0
- package/dist/datasets/rows-source.js.map +7 -0
- package/dist/datasets/sources/activity.js +83 -0
- package/dist/datasets/sources/activity.js.map +7 -0
- package/dist/datasets/sources/conversations.js +74 -0
- package/dist/datasets/sources/conversations.js.map +7 -0
- package/dist/datasets/sources/database.js +209 -0
- package/dist/datasets/sources/database.js.map +7 -0
- package/dist/datasets/sources/documents.js +93 -0
- package/dist/datasets/sources/documents.js.map +7 -0
- package/dist/datasets/sources/facts.js +56 -0
- package/dist/datasets/sources/facts.js.map +7 -0
- package/dist/datasets/sources/projects.js +117 -0
- package/dist/datasets/sources/projects.js.map +7 -0
- package/dist/datasets/sources/tags.js +67 -0
- package/dist/datasets/sources/tags.js.map +7 -0
- package/dist/datasets/sources/usage.js +268 -0
- package/dist/datasets/sources/usage.js.map +7 -0
- package/dist/datasets/sources/workflows.js +91 -0
- package/dist/datasets/sources/workflows.js.map +7 -0
- package/dist/datasets/sources/workspaces.js +67 -0
- package/dist/datasets/sources/workspaces.js.map +7 -0
- package/dist/datasets/store.js +194 -0
- package/dist/datasets/store.js.map +7 -0
- package/dist/datasets/types.js +14 -0
- package/dist/datasets/types.js.map +7 -0
- package/dist/directmessages/ConversationList.js +148 -0
- package/dist/directmessages/ConversationList.js.map +7 -0
- package/dist/directmessages/DateSeparator.js +8 -0
- package/dist/directmessages/DateSeparator.js.map +7 -0
- package/dist/directmessages/DmAvatar.js +29 -0
- package/dist/directmessages/DmAvatar.js.map +7 -0
- package/dist/directmessages/DmComposer.js +201 -0
- package/dist/directmessages/DmComposer.js.map +7 -0
- package/dist/directmessages/arrivals.js +29 -0
- package/dist/directmessages/arrivals.js.map +7 -0
- package/dist/directmessages/chat-cache.js +192 -0
- package/dist/directmessages/chat-cache.js.map +7 -0
- package/dist/directmessages/grouping.js +26 -0
- package/dist/directmessages/grouping.js.map +7 -0
- package/dist/directmessages/index.js +81 -0
- package/dist/directmessages/index.js.map +7 -0
- package/dist/directmessages/useChats.js +266 -0
- package/dist/directmessages/useChats.js.map +7 -0
- package/dist/directmessages/utils.js +23 -0
- package/dist/directmessages/utils.js.map +7 -0
- package/dist/document-tools/can-annotate.js +7 -0
- package/dist/document-tools/can-annotate.js.map +7 -0
- package/dist/document-tools/core.cjs +80 -80
- package/dist/document-tools/core.js +218 -12
- package/dist/document-tools/core.js.map +7 -1
- package/dist/document-tools/document-pdf.js +76 -0
- package/dist/document-tools/document-pdf.js.map +7 -0
- package/dist/document-tools/environment.js +136 -0
- package/dist/document-tools/environment.js.map +7 -0
- package/dist/document-tools/file-shares.js +112 -0
- package/dist/document-tools/file-shares.js.map +7 -0
- package/dist/document-tools/frozen-copy.js +27 -0
- package/dist/document-tools/frozen-copy.js.map +7 -0
- package/dist/document-tools/index.cjs +80 -80
- package/dist/document-tools/index.js +26 -148
- package/dist/document-tools/index.js.map +7 -1
- package/dist/document-tools/markup-download.js +51 -0
- package/dist/document-tools/markup-download.js.map +7 -0
- package/dist/document-tools/markup-store.js +138 -0
- package/dist/document-tools/markup-store.js.map +7 -0
- package/dist/document-tools/markup-transfer.js +88 -0
- package/dist/document-tools/markup-transfer.js.map +7 -0
- package/dist/document-tools/production.js +147 -0
- package/dist/document-tools/production.js.map +7 -0
- package/dist/document-tools/saved-signature.js +90 -0
- package/dist/document-tools/saved-signature.js.map +7 -0
- package/dist/document-tools/signature-requests.js +310 -0
- package/dist/document-tools/signature-requests.js.map +7 -0
- package/dist/document-tools/signing.js +127 -0
- package/dist/document-tools/signing.js.map +7 -0
- package/dist/document-tools/useDocumentBytes.js +38 -0
- package/dist/document-tools/useDocumentBytes.js.map +7 -0
- package/dist/document-tools/useDocumentMarkup.js +154 -0
- package/dist/document-tools/useDocumentMarkup.js.map +7 -0
- package/dist/document-tools/useIsOnline.js +13 -0
- package/dist/document-tools/useIsOnline.js.map +7 -0
- package/dist/document-tools/verification.js +60 -0
- package/dist/document-tools/verification.js.map +7 -0
- package/dist/documents/DocumentReview.js +220 -0
- package/dist/documents/DocumentReview.js.map +7 -0
- package/dist/documents/DraftTitleControls.js +41 -0
- package/dist/documents/DraftTitleControls.js.map +7 -0
- package/dist/documents/InlineMicButton.js +90 -0
- package/dist/documents/InlineMicButton.js.map +7 -0
- package/dist/documents/MicRecordingOverlay.js +29 -0
- package/dist/documents/MicRecordingOverlay.js.map +7 -0
- package/dist/documents/MicWaveformIndicator.js +68 -0
- package/dist/documents/MicWaveformIndicator.js.map +7 -0
- package/dist/documents/PhotoCapture.js +120 -0
- package/dist/documents/PhotoCapture.js.map +7 -0
- package/dist/documents/VideoCapture.js +129 -0
- package/dist/documents/VideoCapture.js.map +7 -0
- package/dist/documents/VoiceNoteRecorder.js +166 -0
- package/dist/documents/VoiceNoteRecorder.js.map +7 -0
- package/dist/documents/audio-segmenter.js +63 -0
- package/dist/documents/audio-segmenter.js.map +7 -0
- package/dist/documents/capture-frame.js +21 -0
- package/dist/documents/capture-frame.js.map +7 -0
- package/dist/documents/chunked-recorder.js +190 -0
- package/dist/documents/chunked-recorder.js.map +7 -0
- package/dist/documents/document-download.js +53 -0
- package/dist/documents/document-download.js.map +7 -0
- package/dist/documents/document-fields.js +109 -0
- package/dist/documents/document-fields.js.map +7 -0
- package/dist/documents/documents-cache.js +110 -0
- package/dist/documents/documents-cache.js.map +7 -0
- package/dist/documents/documents-data.js +128 -0
- package/dist/documents/documents-data.js.map +7 -0
- package/dist/documents/documents-loader.js +113 -0
- package/dist/documents/documents-loader.js.map +7 -0
- package/dist/documents/documents-writes.js +448 -0
- package/dist/documents/documents-writes.js.map +7 -0
- package/dist/documents/format-elapsed.js +10 -0
- package/dist/documents/format-elapsed.js.map +7 -0
- package/dist/documents/has-video-track.js +26 -0
- package/dist/documents/has-video-track.js.map +7 -0
- package/dist/documents/index.js +266 -0
- package/dist/documents/index.js.map +7 -0
- package/dist/documents/media-error.js +18 -0
- package/dist/documents/media-error.js.map +7 -0
- package/dist/documents/offline-documents.js +160 -0
- package/dist/documents/offline-documents.js.map +7 -0
- package/dist/documents/pending-sync.js +210 -0
- package/dist/documents/pending-sync.js.map +7 -0
- package/dist/documents/processing-live.js +122 -0
- package/dist/documents/processing-live.js.map +7 -0
- package/dist/documents/processing-order.js +59 -0
- package/dist/documents/processing-order.js.map +7 -0
- package/dist/documents/processing-settle.js +21 -0
- package/dist/documents/processing-settle.js.map +7 -0
- package/dist/documents/related-documents.js +133 -0
- package/dist/documents/related-documents.js.map +7 -0
- package/dist/documents/support.js +29 -0
- package/dist/documents/support.js.map +7 -0
- package/dist/documents/upload-files.js +169 -0
- package/dist/documents/upload-files.js.map +7 -0
- package/dist/documents/useAudioRecorder.js +315 -0
- package/dist/documents/useAudioRecorder.js.map +7 -0
- package/dist/documents/useCameraStream.js +35 -0
- package/dist/documents/useCameraStream.js.map +7 -0
- package/dist/documents/useDocumentThumbnails.js +71 -0
- package/dist/documents/useDocumentThumbnails.js.map +7 -0
- package/dist/documents/useDownloadDocuments.js +90 -0
- package/dist/documents/useDownloadDocuments.js.map +7 -0
- package/dist/documents/usePassageQuotes.js +37 -0
- package/dist/documents/usePassageQuotes.js.map +7 -0
- package/dist/documents/useUploadFiles.js +165 -0
- package/dist/documents/useUploadFiles.js.map +7 -0
- package/dist/documents/useUploadFromUrls.js +63 -0
- package/dist/documents/useUploadFromUrls.js.map +7 -0
- package/dist/documents/useVideoRecorder.js +62 -0
- package/dist/documents/useVideoRecorder.js.map +7 -0
- package/dist/entities/AgentMarkers.js +61 -0
- package/dist/entities/AgentMarkers.js.map +7 -0
- package/dist/entities/DocumentEntity.js +125 -0
- package/dist/entities/DocumentEntity.js.map +7 -0
- package/dist/entities/EntityPill.js +250 -0
- package/dist/entities/EntityPill.js.map +7 -0
- package/dist/entities/ProjectEntity.js +61 -0
- package/dist/entities/ProjectEntity.js.map +7 -0
- package/dist/entities/ShieldIcon.js +49 -0
- package/dist/entities/ShieldIcon.js.map +7 -0
- package/dist/entities/TagEntity.js +79 -0
- package/dist/entities/TagEntity.js.map +7 -0
- package/dist/entities/ThreadVisibilityIcon.js +15 -0
- package/dist/entities/ThreadVisibilityIcon.js.map +7 -0
- package/dist/entities/UserEntity.js +211 -0
- package/dist/entities/UserEntity.js.map +7 -0
- package/dist/entities/VerifiedBadge.js +19 -0
- package/dist/entities/VerifiedBadge.js.map +7 -0
- package/dist/entities/agent-avatar-colors.js +26 -0
- package/dist/entities/agent-avatar-colors.js.map +7 -0
- package/dist/entities/colors.js +64 -0
- package/dist/entities/colors.js.map +7 -0
- package/dist/entities/file-type.js +151 -0
- package/dist/entities/file-type.js.map +7 -0
- package/dist/entities/index.js +100 -0
- package/dist/entities/index.js.map +7 -0
- package/dist/entities/media-type.js +61 -0
- package/dist/entities/media-type.js.map +7 -0
- package/dist/entities/registry.js +385 -0
- package/dist/entities/registry.js.map +7 -0
- package/dist/entities/status.js +43 -0
- package/dist/entities/status.js.map +7 -0
- package/dist/entities/tag-kinds.js +23 -0
- package/dist/entities/tag-kinds.js.map +7 -0
- package/dist/entities/tag-types.js +44 -0
- package/dist/entities/tag-types.js.map +7 -0
- package/dist/entities/vocabulary.js +12 -0
- package/dist/entities/vocabulary.js.map +7 -0
- package/dist/entity-extraction.js +25 -0
- package/dist/entity-extraction.js.map +7 -0
- package/dist/facts-search.js +57 -0
- package/dist/facts-search.js.map +7 -0
- package/dist/facts.js +69 -0
- package/dist/facts.js.map +7 -0
- package/dist/hooks.js +320 -0
- package/dist/hooks.js.map +7 -0
- package/dist/host/ArbiHost.js +24 -0
- package/dist/host/ArbiHost.js.map +7 -0
- package/dist/host/assistant-copy.js +54 -0
- package/dist/host/assistant-copy.js.map +7 -0
- package/dist/host/config.js +9 -0
- package/dist/host/config.js.map +7 -0
- package/dist/host/context.js +10 -0
- package/dist/host/context.js.map +7 -0
- package/dist/host/features.js +144 -0
- package/dist/host/features.js.map +7 -0
- package/dist/host/index.js +12 -0
- package/dist/host/index.js.map +7 -0
- package/dist/{chunk-DPYBZDJB.js → host/merge.js} +7 -7
- package/dist/host/merge.js.map +7 -0
- package/dist/house-template.js +40 -0
- package/dist/house-template.js.map +7 -0
- package/dist/icons/AppleIcon.js +25 -0
- package/dist/icons/AppleIcon.js.map +7 -0
- package/dist/icons/ArbiBotHeadIcon.js +46 -0
- package/dist/icons/ArbiBotHeadIcon.js.map +7 -0
- package/dist/icons/ArbiIcon.js +24 -0
- package/dist/icons/ArbiIcon.js.map +7 -0
- package/dist/icons/AudIcon.js +56 -0
- package/dist/icons/AudIcon.js.map +7 -0
- package/dist/icons/ClaudeIcon.js +28 -0
- package/dist/icons/ClaudeIcon.js.map +7 -0
- package/dist/icons/DocIcon.js +56 -0
- package/dist/icons/DocIcon.js.map +7 -0
- package/dist/icons/EmlIcon.js +57 -0
- package/dist/icons/EmlIcon.js.map +7 -0
- package/dist/icons/FireworksIcon.js +47 -0
- package/dist/icons/FireworksIcon.js.map +7 -0
- package/dist/icons/GeminiIcon.js +37 -0
- package/dist/icons/GeminiIcon.js.map +7 -0
- package/dist/icons/GitHubIcon.js +32 -0
- package/dist/icons/GitHubIcon.js.map +7 -0
- package/dist/icons/GoogleIcon.js +53 -0
- package/dist/icons/GoogleIcon.js.map +7 -0
- package/dist/icons/HtmlIcon.js +56 -0
- package/dist/icons/HtmlIcon.js.map +7 -0
- package/dist/icons/ImgIcon.js +56 -0
- package/dist/icons/ImgIcon.js.map +7 -0
- package/dist/icons/LinkedInIcon.js +25 -0
- package/dist/icons/LinkedInIcon.js.map +7 -0
- package/dist/icons/OpenAIIcon.js +28 -0
- package/dist/icons/OpenAIIcon.js.map +7 -0
- package/dist/icons/PdfIcon.js +56 -0
- package/dist/icons/PdfIcon.js.map +7 -0
- package/dist/icons/ProviderIcon.js +42 -0
- package/dist/icons/ProviderIcon.js.map +7 -0
- package/dist/icons/TxtIcon.js +56 -0
- package/dist/icons/TxtIcon.js.map +7 -0
- package/dist/icons/VidIcon.js +56 -0
- package/dist/icons/VidIcon.js.map +7 -0
- package/dist/icons/XlsIcon.js +56 -0
- package/dist/icons/XlsIcon.js.map +7 -0
- package/dist/icons/arbi-mark.js +5 -0
- package/dist/icons/arbi-mark.js.map +7 -0
- package/dist/icons/colors.js +31 -0
- package/dist/icons/colors.js.map +7 -0
- package/dist/icons/file-type.js +105 -0
- package/dist/icons/file-type.js.map +7 -0
- package/dist/icons/index.js +55 -0
- package/dist/icons/index.js.map +7 -0
- package/dist/imagecrop/ImageCropModal.js +56 -0
- package/dist/imagecrop/ImageCropModal.js.map +7 -0
- package/dist/imagecrop/ImageCropper.js +100 -0
- package/dist/imagecrop/ImageCropper.js.map +7 -0
- package/dist/imagecrop/cropImage.js +43 -0
- package/dist/imagecrop/cropImage.js.map +7 -0
- package/dist/imagecrop/index.js +13 -0
- package/dist/imagecrop/index.js.map +7 -0
- package/dist/index.cjs +282 -282
- package/dist/index.js +702 -17116
- package/dist/index.js.map +7 -1
- package/dist/{chunk-SSXFVWCT.js → lazy-chunk.js} +8 -8
- package/dist/lazy-chunk.js.map +7 -0
- package/dist/lib/collision-padding.js +13 -0
- package/dist/lib/collision-padding.js.map +7 -0
- package/dist/lib/format-friendly-date.js +55 -0
- package/dist/lib/format-friendly-date.js.map +7 -0
- package/dist/lib/format-relative-time.js +52 -0
- package/dist/lib/format-relative-time.js.map +7 -0
- package/dist/lib/markdown-to-text.js +35 -0
- package/dist/lib/markdown-to-text.js.map +7 -0
- package/dist/lib/toast-interaction.js +9 -0
- package/dist/lib/toast-interaction.js.map +7 -0
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +7 -0
- package/dist/mail/client.js +103 -0
- package/dist/mail/client.js.map +7 -0
- package/dist/mail/document-attachment.js +38 -0
- package/dist/mail/document-attachment.js.map +7 -0
- package/dist/mail/filing.js +132 -0
- package/dist/mail/filing.js.map +7 -0
- package/dist/mail/hooks.js +393 -0
- package/dist/mail/hooks.js.map +7 -0
- package/dist/mail/index.js +120 -0
- package/dist/mail/index.js.map +7 -0
- package/dist/mail/offline/changes.js +258 -0
- package/dist/mail/offline/changes.js.map +7 -0
- package/dist/mail/offline/confirm-sign-out.js +37 -0
- package/dist/mail/offline/confirm-sign-out.js.map +7 -0
- package/dist/mail/offline/crypto.js +26 -0
- package/dist/mail/offline/crypto.js.map +7 -0
- package/dist/mail/offline/drafts.js +69 -0
- package/dist/mail/offline/drafts.js.map +7 -0
- package/dist/mail/offline/hooks.js +104 -0
- package/dist/mail/offline/hooks.js.map +7 -0
- package/dist/mail/offline/index.js +48 -0
- package/dist/mail/offline/index.js.map +7 -0
- package/dist/mail/offline/live.js +233 -0
- package/dist/mail/offline/live.js.map +7 -0
- package/dist/mail/offline/mailbox.js +191 -0
- package/dist/mail/offline/mailbox.js.map +7 -0
- package/dist/mail/offline/outbox.js +167 -0
- package/dist/mail/offline/outbox.js.map +7 -0
- package/dist/mail/offline/reads.js +159 -0
- package/dist/mail/offline/reads.js.map +7 -0
- package/dist/mail/offline/runtime.js +100 -0
- package/dist/mail/offline/runtime.js.map +7 -0
- package/dist/mail/offline/settings.js +84 -0
- package/dist/mail/offline/settings.js.map +7 -0
- package/dist/mail/offline/store.js +29 -0
- package/dist/mail/offline/store.js.map +7 -0
- package/dist/mail/offline/sync.js +251 -0
- package/dist/mail/offline/sync.js.map +7 -0
- package/dist/mail/offline/wipe.js +19 -0
- package/dist/mail/offline/wipe.js.map +7 -0
- package/dist/mail/thread-keys.js +53 -0
- package/dist/mail/thread-keys.js.map +7 -0
- package/dist/mail/threads.js +71 -0
- package/dist/mail/threads.js.map +7 -0
- package/dist/mail/useMailClient.js +42 -0
- package/dist/mail/useMailClient.js.map +7 -0
- package/dist/model-connections.js +58 -0
- package/dist/model-connections.js.map +7 -0
- package/dist/notifications/ActivityFeed.js +70 -0
- package/dist/notifications/ActivityFeed.js.map +7 -0
- package/dist/notifications/NotificationBell.js +200 -0
- package/dist/notifications/NotificationBell.js.map +7 -0
- package/dist/notifications/Toaster.js +24 -0
- package/dist/notifications/Toaster.js.map +7 -0
- package/dist/notifications/activity-types.js +65 -0
- package/dist/notifications/activity-types.js.map +7 -0
- package/dist/notifications/bell.js +24 -0
- package/dist/notifications/bell.js.map +7 -0
- package/dist/notifications/calendar-notifications.js +79 -0
- package/dist/notifications/calendar-notifications.js.map +7 -0
- package/dist/notifications/index.js +108 -0
- package/dist/notifications/index.js.map +7 -0
- package/dist/notifications/live.js +28 -0
- package/dist/notifications/live.js.map +7 -0
- package/dist/notifications/notification-types.js +127 -0
- package/dist/notifications/notification-types.js.map +7 -0
- package/dist/{chunk-BF5KW5ZI.js → notifications/notify-store.js} +24 -74
- package/dist/notifications/notify-store.js.map +7 -0
- package/dist/notifications/server-notifications.js +452 -0
- package/dist/notifications/server-notifications.js.map +7 -0
- package/dist/notifications/useNotifications.js +34 -0
- package/dist/notifications/useNotifications.js.map +7 -0
- package/dist/offline-store/network.js +11 -0
- package/dist/offline-store/network.js.map +7 -0
- package/dist/offline-store/store.js +136 -0
- package/dist/offline-store/store.js.map +7 -0
- package/dist/offline-store/wipe.js +8 -0
- package/dist/offline-store/wipe.js.map +7 -0
- package/dist/offline.js +58 -0
- package/dist/offline.js.map +7 -0
- package/dist/people.js +122 -0
- package/dist/people.js.map +7 -0
- package/dist/projects.js +30 -0
- package/dist/projects.js.map +7 -0
- package/dist/query-client.js +63 -0
- package/dist/query-client.js.map +7 -0
- package/dist/{chunk-ZM6N7YZH.js → query-keys.js} +18 -31
- package/dist/query-keys.js.map +7 -0
- package/dist/query-persist.js +66 -0
- package/dist/query-persist.js.map +7 -0
- package/dist/queued-writes.js +59 -0
- package/dist/queued-writes.js.map +7 -0
- package/dist/remote-control.js +67 -0
- package/dist/remote-control.js.map +7 -0
- package/dist/search/index.js +23 -0
- package/dist/search/index.js.map +7 -0
- package/dist/search/session.js +58 -0
- package/dist/search/session.js.map +7 -0
- package/dist/search/useSemanticSearch.js +82 -0
- package/dist/search/useSemanticSearch.js.map +7 -0
- package/dist/session/chat.js +512 -0
- package/dist/session/chat.js.map +7 -0
- package/dist/session/documents.js +196 -0
- package/dist/session/documents.js.map +7 -0
- package/dist/session/drafts.js +103 -0
- package/dist/session/drafts.js.map +7 -0
- package/dist/session/index.js +123 -0
- package/dist/session/index.js.map +7 -0
- package/dist/session/layout.js +339 -0
- package/dist/session/layout.js.map +7 -0
- package/dist/session/persist.js +106 -0
- package/dist/session/persist.js.map +7 -0
- package/dist/session/session-hooks.js +53 -0
- package/dist/session/session-hooks.js.map +7 -0
- package/dist/session/signed-in.js +36 -0
- package/dist/session/signed-in.js.map +7 -0
- package/dist/session/store.js +166 -0
- package/dist/session/store.js.map +7 -0
- package/dist/session/thread-tabs.js +121 -0
- package/dist/session/thread-tabs.js.map +7 -0
- package/dist/session/ui-state-storage.js +76 -0
- package/dist/session/ui-state-storage.js.map +7 -0
- package/dist/session/workspace.js +77 -0
- package/dist/session/workspace.js.map +7 -0
- package/dist/shell/index.cjs +37 -37
- package/dist/shell/index.js +43 -10
- package/dist/shell/index.js.map +7 -1
- package/dist/skill-pack.js +111 -0
- package/dist/skill-pack.js.map +7 -0
- package/dist/storage.js +186 -0
- package/dist/storage.js.map +7 -0
- package/dist/support/index.js +35 -0
- package/dist/support/index.js.map +7 -0
- package/dist/tags.js +204 -0
- package/dist/tags.js.map +7 -0
- package/dist/ui/DebouncedInput.js +109 -0
- package/dist/ui/DebouncedInput.js.map +7 -0
- package/dist/ui/DictateContext.js +8 -0
- package/dist/ui/DictateContext.js.map +7 -0
- package/dist/ui/IconToggle.js +79 -0
- package/dist/ui/IconToggle.js.map +7 -0
- package/dist/ui/VerifiedToggle.js +38 -0
- package/dist/ui/VerifiedToggle.js.map +7 -0
- package/dist/ui/VisibilityToggle.js +103 -0
- package/dist/ui/VisibilityToggle.js.map +7 -0
- package/dist/ui/avatar.js +40 -0
- package/dist/ui/avatar.js.map +7 -0
- package/dist/ui/badge.js +28 -0
- package/dist/ui/badge.js.map +7 -0
- package/dist/ui/button.js +48 -0
- package/dist/ui/button.js.map +7 -0
- package/dist/ui/card.js +90 -0
- package/dist/ui/card.js.map +7 -0
- package/dist/ui/checkbox.js +22 -0
- package/dist/ui/checkbox.js.map +7 -0
- package/dist/ui/collapsible.js +10 -0
- package/dist/ui/collapsible.js.map +7 -0
- package/dist/ui/command.js +103 -0
- package/dist/ui/command.js.map +7 -0
- package/dist/{chunk-YNNAJJ5Z.js → ui/dialog.js} +30 -68
- package/dist/ui/dialog.js.map +7 -0
- package/dist/{chunk-47CCGUWR.js → ui/dropdown-menu.js} +40 -45
- package/dist/ui/dropdown-menu.js.map +7 -0
- package/dist/ui/hover-card.js +36 -0
- package/dist/ui/hover-card.js.map +7 -0
- package/dist/ui/index.cjs +154 -154
- package/dist/ui/index.js +290 -10
- package/dist/ui/index.js.map +7 -1
- package/dist/ui/input.js +65 -0
- package/dist/ui/input.js.map +7 -0
- package/dist/ui/label.js +16 -0
- package/dist/ui/label.js.map +7 -0
- package/dist/ui/mark-menu.js +300 -0
- package/dist/ui/mark-menu.js.map +7 -0
- package/dist/ui/popover.js +40 -0
- package/dist/ui/popover.js.map +7 -0
- package/dist/ui/portal-container.js +17 -0
- package/dist/ui/portal-container.js.map +7 -0
- package/dist/ui/progress.js +24 -0
- package/dist/ui/progress.js.map +7 -0
- package/dist/ui/radio-group.js +29 -0
- package/dist/ui/radio-group.js.map +7 -0
- package/dist/ui/scroll-area.js +39 -0
- package/dist/ui/scroll-area.js.map +7 -0
- package/dist/ui/select.js +130 -0
- package/dist/ui/select.js.map +7 -0
- package/dist/ui/separator.js +23 -0
- package/dist/ui/separator.js.map +7 -0
- package/dist/ui/slider.js +23 -0
- package/dist/ui/slider.js.map +7 -0
- package/dist/ui/switch.js +28 -0
- package/dist/ui/switch.js.map +7 -0
- package/dist/ui/table.js +75 -0
- package/dist/ui/table.js.map +7 -0
- package/dist/ui/tabs.js +48 -0
- package/dist/ui/tabs.js.map +7 -0
- package/dist/ui/textarea.js +63 -0
- package/dist/ui/textarea.js.map +7 -0
- package/dist/ui/toggle-group.js +43 -0
- package/dist/ui/toggle-group.js.map +7 -0
- package/dist/ui/toggle.js +40 -0
- package/dist/ui/toggle.js.map +7 -0
- package/dist/ui/tooltip.js +215 -0
- package/dist/ui/tooltip.js.map +7 -0
- package/dist/usage-metered.js +8 -0
- package/dist/usage-metered.js.map +7 -0
- package/dist/useArbi.js +16 -0
- package/dist/useArbi.js.map +7 -0
- package/dist/useInstallSkillPack.js +81 -0
- package/dist/useInstallSkillPack.js.map +7 -0
- package/dist/usermenu/UserMenu.js +188 -0
- package/dist/usermenu/UserMenu.js.map +7 -0
- package/dist/usermenu/index.js +5 -0
- package/dist/usermenu/index.js.map +7 -0
- package/dist/users/index.js +15 -0
- package/dist/users/index.js.map +7 -0
- package/dist/users/user-display.js +60 -0
- package/dist/users/user-display.js.map +7 -0
- package/dist/viewers/AudioViewer.js +23 -0
- package/dist/viewers/AudioViewer.js.map +7 -0
- package/dist/viewers/DocxViewer.js +81 -0
- package/dist/viewers/DocxViewer.js.map +7 -0
- package/dist/viewers/ImageViewer.js +31 -0
- package/dist/viewers/ImageViewer.js.map +7 -0
- package/dist/viewers/PdfViewer.js +19 -3
- package/dist/viewers/PdfViewer.js.map +7 -1
- package/dist/{PdfViewerImpl-TEBYF2QI.js → viewers/PdfViewerImpl.js} +25 -19
- package/dist/viewers/PdfViewerImpl.js.map +7 -0
- package/dist/viewers/VideoViewer.js +31 -0
- package/dist/viewers/VideoViewer.js.map +7 -0
- package/dist/viewers/XlsxViewer.js +102 -0
- package/dist/viewers/XlsxViewer.js.map +7 -0
- package/dist/viewers/index.js +61 -271
- package/dist/viewers/index.js.map +7 -1
- package/dist/viewers/page-scroll.js +59 -0
- package/dist/viewers/page-scroll.js.map +7 -0
- package/dist/viewers/pdf-viewer-constants.js +9 -0
- package/dist/viewers/pdf-viewer-constants.js.map +7 -0
- package/dist/{chunk-PTOP7OHG.js → viewers/pdfjs-polyfills.js} +5 -6
- package/dist/viewers/pdfjs-polyfills.js.map +7 -0
- package/dist/viewers/selection-runs.js +38 -0
- package/dist/viewers/selection-runs.js.map +7 -0
- package/dist/viewers/usePageIntersectionObserver.js +68 -0
- package/dist/viewers/usePageIntersectionObserver.js.map +7 -0
- package/dist/viewers/useProcessedChunks.js +58 -0
- package/dist/viewers/useProcessedChunks.js.map +7 -0
- package/dist/viewers/viewer-zoom.js +163 -0
- package/dist/viewers/viewer-zoom.js.map +7 -0
- package/dist/websocket/ArbiWebSocketProvider.js +207 -0
- package/dist/websocket/ArbiWebSocketProvider.js.map +7 -0
- package/dist/websocket/context.js +14 -0
- package/dist/websocket/context.js.map +7 -0
- package/dist/websocket/hooks.js +30 -0
- package/dist/websocket/hooks.js.map +7 -0
- package/dist/websocket/index.js +22 -0
- package/dist/websocket/index.js.map +7 -0
- package/dist/websocket/live-updates.js +38 -0
- package/dist/websocket/live-updates.js.map +7 -0
- package/dist/websocket/reconnect.js +13 -0
- package/dist/websocket/reconnect.js.map +7 -0
- package/dist/websocket/store.js +58 -0
- package/dist/websocket/store.js.map +7 -0
- package/dist/workforce.js +607 -0
- package/dist/workforce.js.map +7 -0
- package/dist/workspaces/access-request.js +35 -0
- package/dist/workspaces/access-request.js.map +7 -0
- package/dist/workspaces/archive.js +59 -0
- package/dist/workspaces/archive.js.map +7 -0
- package/dist/workspaces/current.js +20 -0
- package/dist/workspaces/current.js.map +7 -0
- package/dist/workspaces/delete-workspaces.js +15 -0
- package/dist/workspaces/delete-workspaces.js.map +7 -0
- package/dist/workspaces/export-archive.js +40 -0
- package/dist/workspaces/export-archive.js.map +7 -0
- package/dist/workspaces/index.js +99 -0
- package/dist/workspaces/index.js.map +7 -0
- package/dist/workspaces/settings.js +45 -0
- package/dist/workspaces/settings.js.map +7 -0
- package/dist/workspaces/shell-workspaces.js +49 -0
- package/dist/workspaces/shell-workspaces.js.map +7 -0
- package/dist/workspaces/switch.js +234 -0
- package/dist/workspaces/switch.js.map +7 -0
- package/dist/workspaces/transfer.js +170 -0
- package/dist/workspaces/transfer.js.map +7 -0
- package/dist/workspaces/useShellWorkspaces.js +86 -0
- package/dist/workspaces/useShellWorkspaces.js.map +7 -0
- package/dist/workspaces/workspace-users.js +65 -0
- package/dist/workspaces/workspace-users.js.map +7 -0
- package/package.json +4 -4
- package/dist/PdfViewerImpl-TEBYF2QI.js.map +0 -1
- package/dist/PdfViewerImpl.d-B28hLEuj.d.cts +0 -62
- package/dist/ProductionDialog.d-CpzslFn0.d.cts +0 -51
- package/dist/annotations/freeze/index.d.cts +0 -205
- package/dist/annotations/index.d.cts +0 -360
- package/dist/artifacts/index.d.cts +0 -476
- package/dist/artifacts/redline-core.d.cts +0 -39
- package/dist/bundle-YNOX7VIL.js +0 -5
- package/dist/bundle-YNOX7VIL.js.map +0 -1
- package/dist/bundle.d-BnCSbHy2.d.cts +0 -85
- package/dist/calls/livekit/index.d.cts +0 -280
- package/dist/chunk-47CCGUWR.js.map +0 -1
- package/dist/chunk-4FL3X3LA.js +0 -2057
- package/dist/chunk-4FL3X3LA.js.map +0 -1
- package/dist/chunk-6QNBSXCE.js +0 -271
- package/dist/chunk-6QNBSXCE.js.map +0 -1
- package/dist/chunk-74N436VK.js.map +0 -1
- package/dist/chunk-APZZQZ6P.js +0 -147
- package/dist/chunk-APZZQZ6P.js.map +0 -1
- package/dist/chunk-BF5KW5ZI.js.map +0 -1
- package/dist/chunk-DPYBZDJB.js.map +0 -1
- package/dist/chunk-DZKRL5H3.js +0 -2766
- package/dist/chunk-DZKRL5H3.js.map +0 -1
- package/dist/chunk-HDCRPPBW.js +0 -75
- package/dist/chunk-HDCRPPBW.js.map +0 -1
- package/dist/chunk-L2IPPTVC.js +0 -20
- package/dist/chunk-L2IPPTVC.js.map +0 -1
- package/dist/chunk-LSU4UPS5.js +0 -1011
- package/dist/chunk-LSU4UPS5.js.map +0 -1
- package/dist/chunk-NIKPG4PW.js +0 -1128
- package/dist/chunk-NIKPG4PW.js.map +0 -1
- package/dist/chunk-NNAJLY6B.js +0 -4974
- package/dist/chunk-NNAJLY6B.js.map +0 -1
- package/dist/chunk-OYPKKHXY.js +0 -559
- package/dist/chunk-OYPKKHXY.js.map +0 -1
- package/dist/chunk-PTOP7OHG.js.map +0 -1
- package/dist/chunk-QMY2JKBI.js +0 -246
- package/dist/chunk-QMY2JKBI.js.map +0 -1
- package/dist/chunk-SN5YV6FF.js +0 -11
- package/dist/chunk-SN5YV6FF.js.map +0 -1
- package/dist/chunk-SSXFVWCT.js.map +0 -1
- package/dist/chunk-T3USOSVN.js.map +0 -1
- package/dist/chunk-T4CLW3DN.js +0 -2560
- package/dist/chunk-T4CLW3DN.js.map +0 -1
- package/dist/chunk-UW2SGTI5.js.map +0 -1
- package/dist/chunk-VSCU7K4V.js.map +0 -1
- package/dist/chunk-WL2Y2T47.js.map +0 -1
- package/dist/chunk-WUTL62MC.js.map +0 -1
- package/dist/chunk-XWPLOFDN.js +0 -644
- package/dist/chunk-XWPLOFDN.js.map +0 -1
- package/dist/chunk-Y3MTRA7D.js +0 -97
- package/dist/chunk-Y3MTRA7D.js.map +0 -1
- package/dist/chunk-YNNAJJ5Z.js.map +0 -1
- package/dist/chunk-ZM6N7YZH.js.map +0 -1
- package/dist/document-tools/core.d.cts +0 -883
- package/dist/document-tools/index.d.cts +0 -90
- package/dist/index.d-LArLnpI8.d.cts +0 -2036
- package/dist/index.d-oR5FKZpJ.d.cts +0 -579
- package/dist/index.d.cts +0 -15923
- package/dist/lazy-chunk.d-B6YDLMKI.d.cts +0 -31
- package/dist/model.d-CNtRWKVK.d.cts +0 -110
- package/dist/query-keys.d-B1Am9tIF.d.cts +0 -337
- package/dist/shell/index.d.cts +0 -6
- package/dist/store.d-GADDvC7w.d.cts +0 -35
- package/dist/stored-markdown.d-Bp18vrbr.d.cts +0 -125
- package/dist/ui/index.d.cts +0 -26
- package/dist/useAudioRecorder.d-B9rlMI_E.d.cts +0 -778
- package/dist/viewers/PdfViewer.d.cts +0 -9
- package/dist/viewers/index.d.cts +0 -262
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export * from "./hooks.js";
|
|
2
|
+
import {
|
|
3
|
+
MAILBOX_SYNC_VENDORS,
|
|
4
|
+
DRIVE_SYNC_VENDORS,
|
|
5
|
+
MICROSOFT_VENDORS,
|
|
6
|
+
GOOGLE_VENDORS,
|
|
7
|
+
IMANAGE_VENDORS,
|
|
8
|
+
SHAREPOINT_VENDORS,
|
|
9
|
+
isMailboxSyncVendor,
|
|
10
|
+
isDriveSyncVendor,
|
|
11
|
+
isSharePointVendor,
|
|
12
|
+
isConnectorVendorVisible,
|
|
13
|
+
connectErrorMessage
|
|
14
|
+
} from "@arbidocs/sdk/browser";
|
|
15
|
+
export {
|
|
16
|
+
DRIVE_SYNC_VENDORS,
|
|
17
|
+
GOOGLE_VENDORS,
|
|
18
|
+
IMANAGE_VENDORS,
|
|
19
|
+
MAILBOX_SYNC_VENDORS,
|
|
20
|
+
MICROSOFT_VENDORS,
|
|
21
|
+
SHAREPOINT_VENDORS,
|
|
22
|
+
connectErrorMessage,
|
|
23
|
+
isConnectorVendorVisible,
|
|
24
|
+
isDriveSyncVendor,
|
|
25
|
+
isMailboxSyncVendor,
|
|
26
|
+
isSharePointVendor
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/connectors/index.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './hooks'\nexport {\n MAILBOX_SYNC_VENDORS,\n DRIVE_SYNC_VENDORS,\n MICROSOFT_VENDORS,\n GOOGLE_VENDORS,\n IMANAGE_VENDORS,\n SHAREPOINT_VENDORS,\n isMailboxSyncVendor,\n isDriveSyncVendor,\n isSharePointVendor,\n isConnectorVendorVisible,\n connectErrorMessage,\n type ConnectorVendorKey,\n type ConnectorCatalogEntry,\n type UserConnectorEntry,\n type ConnectorSyncStatus,\n type ConnectorFolder,\n type ConnectorSyncProgress,\n type DriveSyncProgress,\n type DriveSyncSummary,\n type SyncTriggerResult,\n type SlackConnectionStatus,\n type ConnectorVisibilitySettings,\n type BridgeTokensOptions,\n} from '@arbidocs/sdk/browser'\n"],
|
|
5
|
+
"mappings": "AAAA,cAAc;AACd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAaK;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/contacts.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
3
|
+
import { useArbi } from "./useArbi.js";
|
|
4
|
+
import { arbiQueryKeys } from "./hooks.js";
|
|
5
|
+
function useContacts(options) {
|
|
6
|
+
const arbi = useArbi();
|
|
7
|
+
return useQuery({
|
|
8
|
+
queryKey: arbiQueryKeys.contacts(),
|
|
9
|
+
queryFn: () => arbi.contacts.list(),
|
|
10
|
+
enabled: (options?.enabled ?? true) && arbi.isLoggedIn,
|
|
11
|
+
staleTime: 3e4
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function useInvalidateContacts() {
|
|
15
|
+
const qc = useQueryClient();
|
|
16
|
+
return () => qc.invalidateQueries({ queryKey: arbiQueryKeys.contacts() });
|
|
17
|
+
}
|
|
18
|
+
function useInviteContacts() {
|
|
19
|
+
const arbi = useArbi();
|
|
20
|
+
const invalidate = useInvalidateContacts();
|
|
21
|
+
return useMutation({
|
|
22
|
+
mutationFn: (emails) => arbi.contacts.invite(emails),
|
|
23
|
+
onSuccess: () => invalidate()
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function useCreateContact() {
|
|
27
|
+
const arbi = useArbi();
|
|
28
|
+
const invalidate = useInvalidateContacts();
|
|
29
|
+
return useMutation({
|
|
30
|
+
mutationFn: (body) => arbi.contacts.create(body),
|
|
31
|
+
onSuccess: () => invalidate()
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function useUpdateContact() {
|
|
35
|
+
const arbi = useArbi();
|
|
36
|
+
const invalidate = useInvalidateContacts();
|
|
37
|
+
return useMutation({
|
|
38
|
+
mutationFn: ({ id, card }) => arbi.contacts.update(id, card),
|
|
39
|
+
onSuccess: () => invalidate()
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function useLinkContact() {
|
|
43
|
+
const arbi = useArbi();
|
|
44
|
+
const invalidate = useInvalidateContacts();
|
|
45
|
+
return useMutation({
|
|
46
|
+
mutationFn: ({
|
|
47
|
+
contact,
|
|
48
|
+
email,
|
|
49
|
+
card
|
|
50
|
+
}) => contact.external_id ? arbi.contacts.link(contact.external_id, email, card) : arbi.contacts.create({ email, card, invite: true }),
|
|
51
|
+
onSettled: () => invalidate()
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function useImportContacts() {
|
|
55
|
+
const arbi = useArbi();
|
|
56
|
+
const invalidate = useInvalidateContacts();
|
|
57
|
+
return useMutation({
|
|
58
|
+
mutationFn: (file) => arbi.contacts.import(file),
|
|
59
|
+
onSettled: () => invalidate()
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function useDeleteContact() {
|
|
63
|
+
const arbi = useArbi();
|
|
64
|
+
const invalidate = useInvalidateContacts();
|
|
65
|
+
return useMutation({
|
|
66
|
+
mutationFn: (contactId) => arbi.contacts.delete(contactId),
|
|
67
|
+
onSuccess: () => invalidate()
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function useSearchContacts(q, { debounceMs = 200 } = {}) {
|
|
71
|
+
const arbi = useArbi();
|
|
72
|
+
const term = useDebounced(q.trim(), debounceMs);
|
|
73
|
+
return useQuery({
|
|
74
|
+
queryKey: [...arbiQueryKeys.contacts(), "search", term],
|
|
75
|
+
queryFn: () => arbi.contacts.search(term),
|
|
76
|
+
enabled: term.length > 0 && arbi.isLoggedIn,
|
|
77
|
+
staleTime: 6e4,
|
|
78
|
+
placeholderData: (previous) => previous,
|
|
79
|
+
retry: false
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function useDebounced(value, ms) {
|
|
83
|
+
const [debounced, setDebounced] = useState(value);
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
const t = setTimeout(() => setDebounced(value), ms);
|
|
86
|
+
return () => clearTimeout(t);
|
|
87
|
+
}, [value, ms]);
|
|
88
|
+
return debounced;
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
useContacts,
|
|
92
|
+
useCreateContact,
|
|
93
|
+
useDeleteContact,
|
|
94
|
+
useImportContacts,
|
|
95
|
+
useInviteContacts,
|
|
96
|
+
useLinkContact,
|
|
97
|
+
useSearchContacts,
|
|
98
|
+
useUpdateContact
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=contacts.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/contacts.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Contacts: one address book \u2014 people on ARBI, invitations still out, and plain cards.\n *\n * Shares `arbiQueryKeys.contacts()` with the messenger's people, so a change made here refreshes\n * the conversation rail on its own. The parts that turn an email list into a request and the backend\n * outcome into a sentence live in `@arbidocs/blocks/collaboration` (`AddContactsForm`).\n */\n\nimport { useEffect, useState } from 'react'\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'\nimport type { contacts as contactsOps } from '@arbidocs/sdk/browser'\nimport { useArbi } from './useArbi'\nimport { arbiQueryKeys } from './hooks'\n\n/** Every contact: registered, invited and plain cards. */\nexport function useContacts(options?: { enabled?: boolean }) {\n const arbi = useArbi()\n return useQuery({\n queryKey: arbiQueryKeys.contacts(),\n queryFn: () => arbi.contacts.list(),\n enabled: (options?.enabled ?? true) && arbi.isLoggedIn,\n staleTime: 30_000,\n })\n}\n\nfunction useInvalidateContacts() {\n const qc = useQueryClient()\n return () => qc.invalidateQueries({ queryKey: arbiQueryKeys.contacts() })\n}\n\n/**\n * Invite (or link) people by email. An address not yet on ARBI gets an invitation. Resolves with one\n * row per address (`outcome`, `status`); map it with `toAddContactsRows` from `@arbidocs/blocks/collaboration`.\n */\nexport function useInviteContacts() {\n const arbi = useArbi()\n const invalidate = useInvalidateContacts()\n return useMutation({\n mutationFn: (emails: string[]) => arbi.contacts.invite(emails),\n onSuccess: () => invalidate(),\n })\n}\n\n/** Create a card, optionally linking `email` and inviting it (`invite: true`). */\nexport function useCreateContact() {\n const arbi = useArbi()\n const invalidate = useInvalidateContacts()\n return useMutation({\n mutationFn: (body: contactsOps.ContactCreate) => arbi.contacts.create(body),\n onSuccess: () => invalidate(),\n })\n}\n\n/** Replace a contact's card details. */\nexport function useUpdateContact() {\n const arbi = useArbi()\n const invalidate = useInvalidateContacts()\n return useMutation({\n mutationFn: ({ id, card }: { id: string; card: contactsOps.ContactCardWrite }) =>\n arbi.contacts.update(id, card),\n onSuccess: () => invalidate(),\n })\n}\n\n/**\n * Invite a contact to ARBI by `email`: a card-only contact is linked in place (its row and card kept);\n * without an id a new card is created and invited. Rejects with `DuplicateContactError` when `email`\n * already belongs to another contact. The list refreshes either way.\n */\nexport function useLinkContact() {\n const arbi = useArbi()\n const invalidate = useInvalidateContacts()\n return useMutation({\n mutationFn: ({\n contact,\n email,\n card,\n }: {\n contact: Pick<contactsOps.Contact, 'external_id'>\n email: string\n card: contactsOps.ContactCardWrite\n }) =>\n contact.external_id\n ? arbi.contacts.link(contact.external_id, email, card)\n : arbi.contacts.create({ email, card, invite: true }),\n onSettled: () => invalidate(),\n })\n}\n\n/** Import one .vcf file (Pro: 403 `pro_required` otherwise); the list refreshes after each file. */\nexport function useImportContacts() {\n const arbi = useArbi()\n const invalidate = useInvalidateContacts()\n return useMutation({\n mutationFn: (file: Blob) => arbi.contacts.import(file),\n onSettled: () => invalidate(),\n })\n}\n\n/** Delete a contact, or withdraw its invitation, by contact id. */\nexport function useDeleteContact() {\n const arbi = useArbi()\n const invalidate = useInvalidateContacts()\n return useMutation({\n mutationFn: (contactId: string) => arbi.contacts.delete(contactId),\n onSuccess: () => invalidate(),\n })\n}\n\n/**\n * People matching `q` (your contacts and the registered people you share a workspace with), for a\n * picker: debounced, nothing fetched for an empty query, the previous matches kept while typing.\n */\nexport function useSearchContacts(q: string, { debounceMs = 200 }: { debounceMs?: number } = {}) {\n const arbi = useArbi()\n const term = useDebounced(q.trim(), debounceMs)\n return useQuery({\n queryKey: [...arbiQueryKeys.contacts(), 'search', term] as const,\n queryFn: () => arbi.contacts.search(term),\n enabled: term.length > 0 && arbi.isLoggedIn,\n staleTime: 60_000,\n placeholderData: (previous) => previous,\n retry: false,\n })\n}\n\nfunction useDebounced<T>(value: T, ms: number): T {\n const [debounced, setDebounced] = useState(value)\n useEffect(() => {\n const t = setTimeout(() => setDebounced(value), ms)\n return () => clearTimeout(t)\n }, [value, ms])\n return debounced\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { arbiQueryKeys } from "./hooks.js";
|
|
2
|
+
function isConversationListKey(queryKey) {
|
|
3
|
+
return queryKey.length === 3 && queryKey[0] === "arbi" && queryKey[1] === "conversations";
|
|
4
|
+
}
|
|
5
|
+
const LISTS = {
|
|
6
|
+
predicate: (query) => isConversationListKey(query.queryKey)
|
|
7
|
+
};
|
|
8
|
+
function patchConversationList(queryClient, workspaceId, reducer) {
|
|
9
|
+
if (!workspaceId) return;
|
|
10
|
+
const key = arbiQueryKeys.conversations(workspaceId);
|
|
11
|
+
const current = queryClient.getQueryData(key) ?? [];
|
|
12
|
+
const next = reducer(current);
|
|
13
|
+
if (next !== current) queryClient.setQueryData(key, next);
|
|
14
|
+
}
|
|
15
|
+
function addConversationToList(queryClient, workspaceId, conversation) {
|
|
16
|
+
patchConversationList(queryClient, workspaceId, (old) => [
|
|
17
|
+
conversation,
|
|
18
|
+
...old.filter((c) => c.external_id !== conversation.external_id)
|
|
19
|
+
]);
|
|
20
|
+
}
|
|
21
|
+
function patchConversation(queryClient, conversationId, update) {
|
|
22
|
+
queryClient.setQueriesData(LISTS, (old) => {
|
|
23
|
+
if (!old?.some((c) => c.external_id === conversationId)) return old;
|
|
24
|
+
return old.map(
|
|
25
|
+
(c) => c.external_id === conversationId ? typeof update === "function" ? update(c) : { ...c, ...update } : c
|
|
26
|
+
);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function removeConversationFromLists(queryClient, conversationId) {
|
|
30
|
+
queryClient.setQueriesData(
|
|
31
|
+
LISTS,
|
|
32
|
+
(old) => old?.some((c) => c.external_id === conversationId) ? old.filter((c) => c.external_id !== conversationId) : old
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
function invalidateConversationLists(queryClient) {
|
|
36
|
+
return queryClient.invalidateQueries(LISTS);
|
|
37
|
+
}
|
|
38
|
+
function findConversation(queryClient, conversationId) {
|
|
39
|
+
if (!conversationId) return void 0;
|
|
40
|
+
for (const [, list] of queryClient.getQueriesData(LISTS)) {
|
|
41
|
+
const row = list?.find((c) => c.external_id === conversationId);
|
|
42
|
+
if (row) return row;
|
|
43
|
+
}
|
|
44
|
+
return void 0;
|
|
45
|
+
}
|
|
46
|
+
function isConversationShared(queryClient, conversationId) {
|
|
47
|
+
return findConversation(queryClient, conversationId)?.is_shared ?? false;
|
|
48
|
+
}
|
|
49
|
+
function invalidateConversationDetails(queryClient, conversationId) {
|
|
50
|
+
return queryClient.invalidateQueries({
|
|
51
|
+
predicate: ({ queryKey }) => queryKey[0] === "arbi" && queryKey[1] === "conversations" && queryKey[2] === conversationId && queryKey[3] !== "threads"
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
addConversationToList,
|
|
56
|
+
findConversation,
|
|
57
|
+
invalidateConversationDetails,
|
|
58
|
+
invalidateConversationLists,
|
|
59
|
+
isConversationListKey,
|
|
60
|
+
isConversationShared,
|
|
61
|
+
patchConversation,
|
|
62
|
+
patchConversationList,
|
|
63
|
+
removeConversationFromLists
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=conversation-list.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/conversation-list.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * The workspace's conversation list in the query cache (`arbiQueryKeys.conversations(ws)`).\n *\n * The list is kept current by its writers, not by re-reading it: the workspace open seeds it, every\n * write patches the rows it changed (with the server's version when the server returns one), and\n * the workspace's events invalidate it. These are the writers, for every host and kit, so that one\n * list serves the whole app.\n *\n * Conversation ids are unique across workspaces, so a row is patched (or looked up) by its id in\n * every cached list; only adding a row needs to name its workspace.\n */\n\nimport type { QueryClient, QueryKey } from '@tanstack/react-query'\nimport type { ConversationResponse } from '@arbidocs/sdk/browser'\nimport { arbiQueryKeys } from './hooks'\n\n/** Whether a query key is a workspace's conversation list (not its threads, activity or usage). */\nexport function isConversationListKey(queryKey: QueryKey): boolean {\n return queryKey.length === 3 && queryKey[0] === 'arbi' && queryKey[1] === 'conversations'\n}\n\nconst LISTS = {\n predicate: (query: { queryKey: QueryKey }) => isConversationListKey(query.queryKey),\n}\n\n/** Apply `reducer` to a workspace's cached list (an absent list counts as empty). */\nexport function patchConversationList(\n queryClient: QueryClient,\n workspaceId: string | null | undefined,\n reducer: (old: ConversationResponse[]) => ConversationResponse[]\n): void {\n if (!workspaceId) return\n const key = arbiQueryKeys.conversations(workspaceId)\n const current = queryClient.getQueryData<ConversationResponse[]>(key) ?? []\n const next = reducer(current)\n if (next !== current) queryClient.setQueryData(key, next)\n}\n\n/** Put a new conversation at the top of its workspace's list (replacing an earlier copy). */\nexport function addConversationToList(\n queryClient: QueryClient,\n workspaceId: string | null | undefined,\n conversation: ConversationResponse\n): void {\n patchConversationList(queryClient, workspaceId, (old) => [\n conversation,\n ...old.filter((c) => c.external_id !== conversation.external_id),\n ])\n}\n\n/** Change one conversation's row, wherever it is listed. */\nexport function patchConversation(\n queryClient: QueryClient,\n conversationId: string,\n update: Partial<ConversationResponse> | ((row: ConversationResponse) => ConversationResponse)\n): void {\n queryClient.setQueriesData<ConversationResponse[]>(LISTS, (old) => {\n if (!old?.some((c) => c.external_id === conversationId)) return old\n return old.map((c) =>\n c.external_id === conversationId\n ? typeof update === 'function'\n ? update(c)\n : { ...c, ...update }\n : c\n )\n })\n}\n\n/** Take a conversation out of every list. */\nexport function removeConversationFromLists(\n queryClient: QueryClient,\n conversationId: string\n): void {\n queryClient.setQueriesData<ConversationResponse[]>(LISTS, (old) =>\n old?.some((c) => c.external_id === conversationId)\n ? old.filter((c) => c.external_id !== conversationId)\n : old\n )\n}\n\n/** Read the lists again: a change the cache cannot know (the server shared a thread, a run ended). */\nexport function invalidateConversationLists(queryClient: QueryClient): Promise<void> {\n return queryClient.invalidateQueries(LISTS)\n}\n\n/** A conversation's row, from whichever cached list holds it. */\nexport function findConversation(\n queryClient: QueryClient,\n conversationId: string | null | undefined\n): ConversationResponse | undefined {\n if (!conversationId) return undefined\n for (const [, list] of queryClient.getQueriesData<ConversationResponse[]>(LISTS)) {\n const row = list?.find((c) => c.external_id === conversationId)\n if (row) return row\n }\n return undefined\n}\n\n/** Whether the conversation is shared with the workspace, from the cached lists (false when unknown). */\nexport function isConversationShared(\n queryClient: QueryClient,\n conversationId: string | null | undefined\n): boolean {\n return findConversation(queryClient, conversationId)?.is_shared ?? false\n}\n\n/**\n * Refresh what hangs off one conversation (its activity, usage, pending access): not the lists, and\n * not its threads, which the chat engine and the conversation's events keep current.\n */\nexport function invalidateConversationDetails(\n queryClient: QueryClient,\n conversationId: string\n): Promise<void> {\n return queryClient.invalidateQueries({\n predicate: ({ queryKey }) =>\n queryKey[0] === 'arbi' &&\n queryKey[1] === 'conversations' &&\n queryKey[2] === conversationId &&\n queryKey[3] !== 'threads',\n })\n}\n"],
|
|
5
|
+
"mappings": "AAcA,SAAS,qBAAqB;AAGvB,SAAS,sBAAsB,UAA6B;AACjE,SAAO,SAAS,WAAW,KAAK,SAAS,CAAC,MAAM,UAAU,SAAS,CAAC,MAAM;AAC5E;AAEA,MAAM,QAAQ;AAAA,EACZ,WAAW,CAAC,UAAkC,sBAAsB,MAAM,QAAQ;AACpF;AAGO,SAAS,sBACd,aACA,aACA,SACM;AACN,MAAI,CAAC,YAAa;AAClB,QAAM,MAAM,cAAc,cAAc,WAAW;AACnD,QAAM,UAAU,YAAY,aAAqC,GAAG,KAAK,CAAC;AAC1E,QAAM,OAAO,QAAQ,OAAO;AAC5B,MAAI,SAAS,QAAS,aAAY,aAAa,KAAK,IAAI;AAC1D;AAGO,SAAS,sBACd,aACA,aACA,cACM;AACN,wBAAsB,aAAa,aAAa,CAAC,QAAQ;AAAA,IACvD;AAAA,IACA,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,gBAAgB,aAAa,WAAW;AAAA,EACjE,CAAC;AACH;AAGO,SAAS,kBACd,aACA,gBACA,QACM;AACN,cAAY,eAAuC,OAAO,CAAC,QAAQ;AACjE,QAAI,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,gBAAgB,cAAc,EAAG,QAAO;AAChE,WAAO,IAAI;AAAA,MAAI,CAAC,MACd,EAAE,gBAAgB,iBACd,OAAO,WAAW,aAChB,OAAO,CAAC,IACR,EAAE,GAAG,GAAG,GAAG,OAAO,IACpB;AAAA,IACN;AAAA,EACF,CAAC;AACH;AAGO,SAAS,4BACd,aACA,gBACM;AACN,cAAY;AAAA,IAAuC;AAAA,IAAO,CAAC,QACzD,KAAK,KAAK,CAAC,MAAM,EAAE,gBAAgB,cAAc,IAC7C,IAAI,OAAO,CAAC,MAAM,EAAE,gBAAgB,cAAc,IAClD;AAAA,EACN;AACF;AAGO,SAAS,4BAA4B,aAAyC;AACnF,SAAO,YAAY,kBAAkB,KAAK;AAC5C;AAGO,SAAS,iBACd,aACA,gBACkC;AAClC,MAAI,CAAC,eAAgB,QAAO;AAC5B,aAAW,CAAC,EAAE,IAAI,KAAK,YAAY,eAAuC,KAAK,GAAG;AAChF,UAAM,MAAM,MAAM,KAAK,CAAC,MAAM,EAAE,gBAAgB,cAAc;AAC9D,QAAI,IAAK,QAAO;AAAA,EAClB;AACA,SAAO;AACT;AAGO,SAAS,qBACd,aACA,gBACS;AACT,SAAO,iBAAiB,aAAa,cAAc,GAAG,aAAa;AACrE;AAMO,SAAS,8BACd,aACA,gBACe;AACf,SAAO,YAAY,kBAAkB;AAAA,IACnC,WAAW,CAAC,EAAE,SAAS,MACrB,SAAS,CAAC,MAAM,UAChB,SAAS,CAAC,MAAM,mBAChB,SAAS,CAAC,MAAM,kBAChB,SAAS,CAAC,MAAM;AAAA,EACpB,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
3
|
+
import { useArbi } from "./useArbi.js";
|
|
4
|
+
import { arbiQueryKeys } from "./query-keys.js";
|
|
5
|
+
const DATABASE_ROWS_PAGE = 1e3;
|
|
6
|
+
const DATABASE_RELATION_PICK_LIMIT = 50;
|
|
7
|
+
function invalidateRelatedRows(queryClient, databaseId, includeSelf) {
|
|
8
|
+
return queryClient.invalidateQueries({
|
|
9
|
+
queryKey: arbiQueryKeys.databaseRows(),
|
|
10
|
+
// ['arbi', 'databases', 'rows', workspaceId, databaseId, params]
|
|
11
|
+
predicate: (query) => includeSelf || query.queryKey[4] !== databaseId
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function sameWorkspace(queryKey, workspaceId) {
|
|
15
|
+
return !!queryKey && queryKey[3] === workspaceId;
|
|
16
|
+
}
|
|
17
|
+
function useInvalidate() {
|
|
18
|
+
const queryClient = useQueryClient();
|
|
19
|
+
return {
|
|
20
|
+
list: () => queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseList() }),
|
|
21
|
+
rows: () => Promise.all([
|
|
22
|
+
queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseRows() }),
|
|
23
|
+
queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseAggregate() })
|
|
24
|
+
]),
|
|
25
|
+
all: () => queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databases() })
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function openWorkspaceId(arbi) {
|
|
29
|
+
return arbi.hasWorkspace ? arbi.getWorkspaceId() : "";
|
|
30
|
+
}
|
|
31
|
+
function useDatabases() {
|
|
32
|
+
const arbi = useArbi();
|
|
33
|
+
const workspaceId = openWorkspaceId(arbi);
|
|
34
|
+
return useQuery({
|
|
35
|
+
queryKey: arbiQueryKeys.databaseList(workspaceId),
|
|
36
|
+
queryFn: () => arbi.readInWorkspace(workspaceId, () => arbi.databases.list()),
|
|
37
|
+
enabled: !!workspaceId,
|
|
38
|
+
staleTime: 1e3 * 30
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function useDatabase(databaseId, options) {
|
|
42
|
+
const arbi = useArbi();
|
|
43
|
+
const workspaceId = options?.workspaceId ?? openWorkspaceId(arbi);
|
|
44
|
+
return useQuery({
|
|
45
|
+
queryKey: arbiQueryKeys.database(workspaceId, databaseId ?? ""),
|
|
46
|
+
queryFn: () => arbi.databases.get(databaseId),
|
|
47
|
+
enabled: !!workspaceId && Boolean(databaseId),
|
|
48
|
+
staleTime: 1e3 * 30
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function useDatabaseRows(databaseId, q, options) {
|
|
52
|
+
const arbi = useArbi();
|
|
53
|
+
const workspaceId = options?.workspaceId ?? openWorkspaceId(arbi);
|
|
54
|
+
const query = { q: q.trim() || void 0, limit: DATABASE_ROWS_PAGE };
|
|
55
|
+
return useQuery({
|
|
56
|
+
queryKey: arbiQueryKeys.databaseRows(workspaceId, databaseId ?? "", query),
|
|
57
|
+
queryFn: () => arbi.databases.rows(databaseId, query),
|
|
58
|
+
enabled: !!workspaceId && Boolean(databaseId),
|
|
59
|
+
staleTime: 1e3 * 15,
|
|
60
|
+
// What was shown stays while the next search loads, never another workspace's rows.
|
|
61
|
+
placeholderData: (previous, previousQuery) => sameWorkspace(previousQuery?.queryKey, workspaceId) ? previous : void 0
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function useDatabaseAggregate(databaseId, request, options) {
|
|
65
|
+
const arbi = useArbi();
|
|
66
|
+
const workspaceId = options?.workspaceId ?? openWorkspaceId(arbi);
|
|
67
|
+
return useQuery({
|
|
68
|
+
queryKey: arbiQueryKeys.databaseAggregate(workspaceId, databaseId ?? "", request),
|
|
69
|
+
queryFn: () => arbi.databases.aggregate(databaseId, request),
|
|
70
|
+
enabled: (options?.enabled ?? true) && !!workspaceId && Boolean(databaseId),
|
|
71
|
+
staleTime: 1e3 * 15,
|
|
72
|
+
placeholderData: (previous, previousQuery) => sameWorkspace(previousQuery?.queryKey, workspaceId) ? previous : void 0
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function useSearchDatabaseRows() {
|
|
76
|
+
const arbi = useArbi();
|
|
77
|
+
return useCallback(
|
|
78
|
+
(databaseId, q) => arbi.databases.rows(databaseId, { q: q.trim() || void 0, limit: DATABASE_RELATION_PICK_LIMIT }).then((page) => page.rows),
|
|
79
|
+
[arbi]
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
function useCreateDatabase() {
|
|
83
|
+
const arbi = useArbi();
|
|
84
|
+
const invalidate = useInvalidate();
|
|
85
|
+
return useMutation({
|
|
86
|
+
mutationFn: (body) => arbi.databases.create(body),
|
|
87
|
+
onSuccess: () => invalidate.list()
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function useUpdateDatabase() {
|
|
91
|
+
const arbi = useArbi();
|
|
92
|
+
const invalidate = useInvalidate();
|
|
93
|
+
return useMutation({
|
|
94
|
+
mutationFn: ({ databaseId, patch }) => arbi.databases.update(databaseId, patch),
|
|
95
|
+
onSuccess: () => invalidate.all()
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function useDeleteDatabase() {
|
|
99
|
+
const arbi = useArbi();
|
|
100
|
+
const invalidate = useInvalidate();
|
|
101
|
+
return useMutation({
|
|
102
|
+
mutationFn: (databaseId) => arbi.databases.delete(databaseId),
|
|
103
|
+
onSuccess: () => invalidate.list()
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function useAddDatabaseRows() {
|
|
107
|
+
const arbi = useArbi();
|
|
108
|
+
const invalidate = useInvalidate();
|
|
109
|
+
return useMutation({
|
|
110
|
+
mutationFn: ({
|
|
111
|
+
databaseId,
|
|
112
|
+
rows
|
|
113
|
+
}) => arbi.databases.addRows(databaseId, rows),
|
|
114
|
+
onSuccess: () => Promise.all([invalidate.rows(), invalidate.list()])
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
function useUpdateDatabaseRow() {
|
|
118
|
+
const arbi = useArbi();
|
|
119
|
+
const queryClient = useQueryClient();
|
|
120
|
+
const workspaceId = openWorkspaceId(arbi);
|
|
121
|
+
return useMutation({
|
|
122
|
+
mutationFn: ({
|
|
123
|
+
databaseId,
|
|
124
|
+
rowId,
|
|
125
|
+
values
|
|
126
|
+
}) => arbi.databases.updateRow(databaseId, rowId, values),
|
|
127
|
+
onSuccess: (saved, { databaseId, values }) => {
|
|
128
|
+
queryClient.setQueriesData(
|
|
129
|
+
{ queryKey: arbiQueryKeys.databaseRows() },
|
|
130
|
+
(page) => page && { ...page, rows: page.rows.map((row) => row.id === saved.id ? saved : row) }
|
|
131
|
+
);
|
|
132
|
+
const database = queryClient.getQueryData(
|
|
133
|
+
arbiQueryKeys.database(workspaceId, databaseId)
|
|
134
|
+
);
|
|
135
|
+
const selfLinked = !database?.columns || database.columns.some(
|
|
136
|
+
(column) => column.id in (values ?? {}) && column.type === "relation" && column.relation?.database_id === databaseId
|
|
137
|
+
);
|
|
138
|
+
void invalidateRelatedRows(queryClient, databaseId, selfLinked);
|
|
139
|
+
void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseAggregate() });
|
|
140
|
+
},
|
|
141
|
+
onError: () => {
|
|
142
|
+
void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseRows() });
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
function useDeleteDatabaseRows() {
|
|
147
|
+
const arbi = useArbi();
|
|
148
|
+
const invalidate = useInvalidate();
|
|
149
|
+
return useMutation({
|
|
150
|
+
mutationFn: ({ databaseId, ids }) => arbi.databases.deleteRows(databaseId, ids),
|
|
151
|
+
onSuccess: () => Promise.all([invalidate.rows(), invalidate.list()])
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
function useImportDatabase() {
|
|
155
|
+
const arbi = useArbi();
|
|
156
|
+
const invalidate = useInvalidate();
|
|
157
|
+
return useMutation({
|
|
158
|
+
mutationFn: ({ file, name }) => arbi.databases.import(file, name),
|
|
159
|
+
onSuccess: () => invalidate.list()
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
function useImportDatabaseRows() {
|
|
163
|
+
const arbi = useArbi();
|
|
164
|
+
const invalidate = useInvalidate();
|
|
165
|
+
return useMutation({
|
|
166
|
+
mutationFn: ({ databaseId, file }) => arbi.databases.importRows(databaseId, file),
|
|
167
|
+
onSuccess: () => invalidate.all()
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function useExportDatabase() {
|
|
171
|
+
const arbi = useArbi();
|
|
172
|
+
return useCallback(
|
|
173
|
+
(databaseId, format) => arbi.databases.export(databaseId, format),
|
|
174
|
+
[arbi]
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
export {
|
|
178
|
+
DATABASE_RELATION_PICK_LIMIT,
|
|
179
|
+
DATABASE_ROWS_PAGE,
|
|
180
|
+
useAddDatabaseRows,
|
|
181
|
+
useCreateDatabase,
|
|
182
|
+
useDatabase,
|
|
183
|
+
useDatabaseAggregate,
|
|
184
|
+
useDatabaseRows,
|
|
185
|
+
useDatabases,
|
|
186
|
+
useDeleteDatabase,
|
|
187
|
+
useDeleteDatabaseRows,
|
|
188
|
+
useExportDatabase,
|
|
189
|
+
useImportDatabase,
|
|
190
|
+
useImportDatabaseRows,
|
|
191
|
+
useSearchDatabaseRows,
|
|
192
|
+
useUpdateDatabase,
|
|
193
|
+
useUpdateDatabaseRow
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=databases.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/databases.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Databases: user-defined tables of the open workspace (a client database, billing records),\n * encrypted under the workspace key like facts. The list also carries databases of public\n * workspaces, which come back `editable: false` (read here, edited from their own workspace).\n *\n * Reads are keyed by the one key factory (`arbiQueryKeys.database*`); every write keeps those\n * entries current.\n */\n\nimport { useCallback } from 'react'\nimport { useMutation, useQuery, useQueryClient, type QueryClient } from '@tanstack/react-query'\nimport type {\n Database,\n DatabaseColumnWrite,\n DatabaseImportResult,\n DatabaseRow,\n DatabaseRowPage,\n} from '@arbidocs/sdk/browser'\nimport type { components } from '@arbidocs/client'\nimport { useArbi } from './useArbi'\nimport { arbiQueryKeys } from './query-keys'\n\nexport type { Database, DatabaseColumnWrite, DatabaseImportResult, DatabaseRow, DatabaseRowPage }\nexport type { DatabaseColumn } from '@arbidocs/sdk/browser'\n\ntype DatabaseCreate = components['schemas']['DatabaseCreate']\ntype DatabaseUpdate = components['schemas']['DatabaseUpdate']\ntype DatabaseRowValues = components['schemas']['DatabaseRowWrite']['values']\nexport type DatabaseAggregateRequest = components['schemas']['DatabaseAggregateRequest']\nexport type DatabaseAggregateResult = components['schemas']['DatabaseAggregateResult']\n\n/** The most rows the grid loads at once (the API's page limit). Search runs on the server. */\nexport const DATABASE_ROWS_PAGE = 1000\n\n/** The most rows a relation cell's picker lists for one search. */\nexport const DATABASE_RELATION_PICK_LIMIT = 50\n\n/**\n * After a relation cell changes, other databases' rows can have changed with it (the paired column\n * of a two-way relation, lookups and rollups reading through it): refetch them when next shown.\n * The edited database's own rows are left alone (the grid already holds the server's answer)\n * unless the relation links it to itself.\n */\nfunction invalidateRelatedRows(queryClient: QueryClient, databaseId: string, includeSelf: boolean) {\n return queryClient.invalidateQueries({\n queryKey: arbiQueryKeys.databaseRows(),\n // ['arbi', 'databases', 'rows', workspaceId, databaseId, params]\n predicate: (query) => includeSelf || query.queryKey[4] !== databaseId,\n })\n}\n\n/** Whether a cached key (`['arbi', 'databases', kind, workspaceId, \u2026]`) is this workspace's. */\nfunction sameWorkspace(queryKey: readonly unknown[] | undefined, workspaceId: string): boolean {\n return !!queryKey && queryKey[3] === workspaceId\n}\n\nfunction useInvalidate() {\n const queryClient = useQueryClient()\n return {\n list: () => queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseList() }),\n rows: () =>\n Promise.all([\n queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseRows() }),\n queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseAggregate() }),\n ]),\n all: () => queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databases() }),\n }\n}\n\n/** The open workspace's id, or '' with none open. */\nfunction openWorkspaceId(arbi: ReturnType<typeof useArbi>): string {\n return arbi.hasWorkspace ? arbi.getWorkspaceId() : ''\n}\n\n/**\n * The open workspace's databases, then those of public workspaces (read-only here). Kept per\n * workspace, and read only while that workspace stays open on the server (the list is the open\n * workspace's there): a read that crosses a switch is dropped, never cached as the other's.\n */\nexport function useDatabases() {\n const arbi = useArbi()\n const workspaceId = openWorkspaceId(arbi)\n return useQuery({\n queryKey: arbiQueryKeys.databaseList(workspaceId),\n queryFn: () => arbi.readInWorkspace(workspaceId, () => arbi.databases.list()),\n enabled: !!workspaceId,\n staleTime: 1000 * 30,\n })\n}\n\n/** `workspaceId`: the database's own workspace (a by-id read acts there), else the open one. */\nexport function useDatabase(databaseId: string | null, options?: { workspaceId?: string }) {\n const arbi = useArbi()\n const workspaceId = options?.workspaceId ?? openWorkspaceId(arbi)\n return useQuery({\n queryKey: arbiQueryKeys.database(workspaceId, databaseId ?? ''),\n queryFn: () => arbi.databases.get(databaseId as string),\n enabled: !!workspaceId && Boolean(databaseId),\n staleTime: 1000 * 30,\n })\n}\n\n/** A database's rows: searched (any cell) on the server, the first `DATABASE_ROWS_PAGE`. */\nexport function useDatabaseRows(\n databaseId: string | null,\n q: string,\n options?: { workspaceId?: string }\n) {\n const arbi = useArbi()\n const workspaceId = options?.workspaceId ?? openWorkspaceId(arbi)\n const query = { q: q.trim() || undefined, limit: DATABASE_ROWS_PAGE }\n return useQuery({\n queryKey: arbiQueryKeys.databaseRows(workspaceId, databaseId ?? '', query),\n queryFn: () => arbi.databases.rows(databaseId as string, query),\n enabled: !!workspaceId && Boolean(databaseId),\n staleTime: 1000 * 15,\n // What was shown stays while the next search loads, never another workspace's rows.\n placeholderData: (previous, previousQuery) =>\n sameWorkspace(previousQuery?.queryKey, workspaceId) ? previous : undefined,\n })\n}\n\n/**\n * A database's rows grouped and measured on the server (over every row): the labels and series a\n * chart or a metric tile draws. Row writes here refresh it.\n */\nexport function useDatabaseAggregate(\n databaseId: string | null,\n request: Partial<DatabaseAggregateRequest>,\n options?: { enabled?: boolean; workspaceId?: string }\n) {\n const arbi = useArbi()\n const workspaceId = options?.workspaceId ?? openWorkspaceId(arbi)\n return useQuery({\n queryKey: arbiQueryKeys.databaseAggregate(workspaceId, databaseId ?? '', request),\n queryFn: () => arbi.databases.aggregate(databaseId as string, request),\n enabled: (options?.enabled ?? true) && !!workspaceId && Boolean(databaseId),\n staleTime: 1000 * 15,\n placeholderData: (previous, previousQuery) =>\n sameWorkspace(previousQuery?.queryKey, workspaceId) ? previous : undefined,\n })\n}\n\n/**\n * Search a database's rows (any cell, on the server) for a relation cell's picker. Read once per\n * search rather than cached: the picker debounces its typing.\n */\nexport function useSearchDatabaseRows() {\n const arbi = useArbi()\n return useCallback(\n (databaseId: string, q: string): Promise<DatabaseRow[]> =>\n arbi.databases\n .rows(databaseId, { q: q.trim() || undefined, limit: DATABASE_RELATION_PICK_LIMIT })\n .then((page) => page.rows),\n [arbi]\n )\n}\n\nexport function useCreateDatabase() {\n const arbi = useArbi()\n const invalidate = useInvalidate()\n return useMutation({\n mutationFn: (body: DatabaseCreate) => arbi.databases.create(body),\n onSuccess: () => invalidate.list(),\n })\n}\n\n/** Rename, describe, or change columns (`columns` is the full new list). */\nexport function useUpdateDatabase() {\n const arbi = useArbi()\n const invalidate = useInvalidate()\n return useMutation({\n mutationFn: ({ databaseId, patch }: { databaseId: string; patch: DatabaseUpdate }) =>\n arbi.databases.update(databaseId, patch),\n onSuccess: () => invalidate.all(),\n })\n}\n\nexport function useDeleteDatabase() {\n const arbi = useArbi()\n const invalidate = useInvalidate()\n return useMutation({\n mutationFn: (databaseId: string) => arbi.databases.delete(databaseId),\n onSuccess: () => invalidate.list(),\n })\n}\n\nexport function useAddDatabaseRows() {\n const arbi = useArbi()\n const invalidate = useInvalidate()\n return useMutation({\n mutationFn: ({\n databaseId,\n rows,\n }: {\n databaseId: string\n rows: { values: DatabaseRowValues }[]\n }) => arbi.databases.addRows(databaseId, rows),\n onSuccess: () => Promise.all([invalidate.rows(), invalidate.list()]),\n })\n}\n\n/**\n * Change cells of one row (`null` empties a cell). The server's (normalised) row replaces the row in\n * every cached page of rows. Other databases are marked stale for relation/lookups/rollups;\n * the edited database is re-read for a self-relation or unknown column metadata. Failed edits\n * re-read rows to reconcile.\n */\nexport function useUpdateDatabaseRow() {\n const arbi = useArbi()\n const queryClient = useQueryClient()\n const workspaceId = openWorkspaceId(arbi)\n return useMutation({\n mutationFn: ({\n databaseId,\n rowId,\n values,\n }: {\n databaseId: string\n rowId: string\n values: DatabaseRowValues\n }) => arbi.databases.updateRow(databaseId, rowId, values),\n onSuccess: (saved, { databaseId, values }) => {\n queryClient.setQueriesData<DatabaseRowPage>(\n { queryKey: arbiQueryKeys.databaseRows() },\n (page) =>\n page && { ...page, rows: page.rows.map((row) => (row.id === saved.id ? saved : row)) }\n )\n const database = queryClient.getQueryData<Database>(\n arbiQueryKeys.database(workspaceId, databaseId)\n )\n const selfLinked =\n !database?.columns ||\n database.columns.some(\n (column) =>\n column.id in (values ?? {}) &&\n column.type === 'relation' &&\n column.relation?.database_id === databaseId\n )\n void invalidateRelatedRows(queryClient, databaseId, selfLinked)\n // Every chart over a database can read through the edited cell (relations, lookups).\n void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseAggregate() })\n },\n onError: () => {\n void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.databaseRows() })\n },\n })\n}\n\nexport function useDeleteDatabaseRows() {\n const arbi = useArbi()\n const invalidate = useInvalidate()\n return useMutation({\n mutationFn: ({ databaseId, ids }: { databaseId: string; ids: string[] }) =>\n arbi.databases.deleteRows(databaseId, ids),\n onSuccess: () => Promise.all([invalidate.rows(), invalidate.list()]),\n })\n}\n\n/** Create a database from a .csv / .xlsx file (column types are inferred). */\nexport function useImportDatabase() {\n const arbi = useArbi()\n const invalidate = useInvalidate()\n return useMutation({\n mutationFn: ({ file, name }: { file: File; name?: string }) =>\n arbi.databases.import(file, name),\n onSuccess: () => invalidate.list(),\n })\n}\n\n/** Append a spreadsheet's rows; headers match column names, unknown ones become new columns. */\nexport function useImportDatabaseRows() {\n const arbi = useArbi()\n const invalidate = useInvalidate()\n return useMutation({\n mutationFn: ({ databaseId, file }: { databaseId: string; file: File }) =>\n arbi.databases.importRows(databaseId, file),\n onSuccess: () => invalidate.all(),\n })\n}\n\n/** Download a database as .xlsx or .csv. */\nexport function useExportDatabase() {\n const arbi = useArbi()\n return useCallback(\n (databaseId: string, format: 'csv' | 'xlsx') => arbi.databases.export(databaseId, format),\n [arbi]\n )\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|