@arbidocs/react 0.5.105 → 0.5.107

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.
Files changed (54) hide show
  1. package/README.md +9 -1
  2. package/dist/artifacts/index.cjs +13 -13
  3. package/dist/artifacts/index.js +3 -3
  4. package/dist/calls/livekit/index.cjs +48 -48
  5. package/dist/calls/livekit/index.js +3 -3
  6. package/dist/{chunk-XOS7ISIR.cjs → chunk-5HDKL6XB.cjs} +57 -57
  7. package/dist/chunk-5HDKL6XB.cjs.map +1 -0
  8. package/dist/{chunk-M74JCOXW.js → chunk-6H3O63TQ.js} +7 -4
  9. package/dist/chunk-6H3O63TQ.js.map +1 -0
  10. package/dist/{chunk-Q2GNEVG2.cjs → chunk-7LIMHY56.cjs} +7 -4
  11. package/dist/chunk-7LIMHY56.cjs.map +1 -0
  12. package/dist/{chunk-4UUZ67JL.js → chunk-CPQ3CU4B.js} +18 -6
  13. package/dist/chunk-CPQ3CU4B.js.map +1 -0
  14. package/dist/{chunk-PJMCBB6E.js → chunk-DQALOQPI.js} +5 -4
  15. package/dist/chunk-DQALOQPI.js.map +1 -0
  16. package/dist/{chunk-RKTBXAS4.js → chunk-FZJMA32S.js} +4 -4
  17. package/dist/{chunk-RKTBXAS4.js.map → chunk-FZJMA32S.js.map} +1 -1
  18. package/dist/{chunk-AXKIOI2U.js → chunk-H5M7FXLB.js} +4 -4
  19. package/dist/chunk-H5M7FXLB.js.map +1 -0
  20. package/dist/{chunk-TV4QQVZM.cjs → chunk-HD5H2PPP.cjs} +67 -66
  21. package/dist/chunk-HD5H2PPP.cjs.map +1 -0
  22. package/dist/{chunk-MAUZSNQY.js → chunk-P6WLV5UY.js} +3 -3
  23. package/dist/{chunk-MAUZSNQY.js.map → chunk-P6WLV5UY.js.map} +1 -1
  24. package/dist/{chunk-DM4KTNKI.cjs → chunk-QF2BW6HZ.cjs} +38 -38
  25. package/dist/{chunk-DM4KTNKI.cjs.map → chunk-QF2BW6HZ.cjs.map} +1 -1
  26. package/dist/{chunk-IXE7HCCA.cjs → chunk-RVUGSM65.cjs} +44 -44
  27. package/dist/{chunk-IXE7HCCA.cjs.map → chunk-RVUGSM65.cjs.map} +1 -1
  28. package/dist/{chunk-XBYVYPU5.cjs → chunk-W2FATOTX.cjs} +19 -7
  29. package/dist/chunk-W2FATOTX.cjs.map +1 -0
  30. package/dist/document-tools/core.cjs +98 -98
  31. package/dist/document-tools/core.d.cts +4 -3
  32. package/dist/document-tools/core.d.ts +4 -3
  33. package/dist/document-tools/core.js +3 -3
  34. package/dist/document-tools/index.cjs +100 -100
  35. package/dist/document-tools/index.d.cts +1 -1
  36. package/dist/document-tools/index.d.ts +1 -1
  37. package/dist/document-tools/index.js +4 -4
  38. package/dist/index.cjs +1724 -1320
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.cts +315 -14
  41. package/dist/index.d.ts +315 -14
  42. package/dist/index.js +414 -23
  43. package/dist/index.js.map +1 -1
  44. package/dist/{query-keys.d-Bpb7R_lB.d.cts → query-keys.d-ChgpJLPF.d.cts} +5 -2
  45. package/dist/{query-keys.d-Bpb7R_lB.d.ts → query-keys.d-ChgpJLPF.d.ts} +5 -2
  46. package/package.json +3 -3
  47. package/dist/chunk-4UUZ67JL.js.map +0 -1
  48. package/dist/chunk-AXKIOI2U.js.map +0 -1
  49. package/dist/chunk-M74JCOXW.js.map +0 -1
  50. package/dist/chunk-PJMCBB6E.js.map +0 -1
  51. package/dist/chunk-Q2GNEVG2.cjs.map +0 -1
  52. package/dist/chunk-TV4QQVZM.cjs.map +0 -1
  53. package/dist/chunk-XBYVYPU5.cjs.map +0 -1
  54. package/dist/chunk-XOS7ISIR.cjs.map +0 -1
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { AudioViewer, ImageViewer, VideoViewer } from './chunk-HDCRPPBW.js';
2
- import { createRecordStore, useUserSettings, patchConversation, invalidateConversationDetails, removeConversationFromLists, addConversationToList, findConversation, isConversationShared, patchConversationList, invalidateConversationLists, getRecord, openBytes, touchRecord, notifyOfflineMailChange, putRecord, sealJson, blind, deleteRecords, useFeature, useAccountClient, useUpdateUserSettings, useIsEntitled, claimOfflineMail, onOfflineMailChange, getOfflineMailSettings, setOfflineMailSettings, myChatId, upsertChat, appendToThread, dropFromThread, deleteChatMessage, removeChat, getOpenChat, cachedChat, inOfflineWindow, recordsInBucket, openJson, offlineWindowStart, recordsOfKind, SCOPE_DAYS, allRecordSizes, setMeta, OFFLINE_MAIL_DB, applyChatEvent, applyCallEvent, getMeta, hasRecord, sealBytes } from './chunk-PJMCBB6E.js';
3
- export { AUDIENCE_CHOICES, CALL_CAPTION_TOPIC, CALL_CHAT_MAX_CHARS, CALL_CHAT_TOPIC, CALL_MODERATION_TOPIC, CALL_RECORDING_TOPIC, CALL_TRANSCRIPTION_TOPIC, CALL_WEBINAR_TOPIC, CAPTION_MAX_CHARS, COMPOSITE_AUDIO_BITS_PER_SECOND, COMPOSITE_VIDEO_BITS_PER_SECOND, DEFAULT_JOIN_CHOICES, EMPTY_CALL_SESSION, EXPORT_SAMPLE_RATE, HISTORY_LIMIT, LIVE_SEGMENTER, MAX_AVATAR_FILE_BYTES, MUTED_DEDUPE_MS, PLAYBACK_LOOKAHEAD_MS, READ_ONLY_MEETING_TEXT, RECORDING_CHUNK_MS, RECORDING_SEGMENTER, SEGMENT_FRAME_MS, SEGMENT_ID_PATTERN, SEGMENT_PRE_ROLL_MS, SHORT_PIECE_MERGE_GAP_MS, SPEAKER_AUDIO_BITS_PER_SECOND, TrackUploader, UPLOAD_ATTEMPTS, UPLOAD_BACKOFF_MS, acceptRing, addConversationToList, appendToThread, applyAgentDmStatus, applyCallEvent, applyChatEvent, applyChatMessage, applyChatRead, applyChatUpdated, arbiAccountClient, buildMeetingChatBody, cachedChat, cachedChats, callLink, callMemberKeys, callSession, chatByExtId, chatHasLiveCall, chatLiveCallId, chatTranscriptRef, clearMeetingChatCache, clearTrackUploaders, clockTime, compositeFiles, compositeTrack, conversationKeyForCall, createLocalFeatureStore, createMutedNotifier, createTrackCutter, cutAtPauses, declineRing, decodeCallChatPacket, decodeCaptionPacket, decodeMono16k, decryptPart, encodeCallChatPacket, encodeCaptionPacket, encodeWav, encryptPart, ensureMeetingChat, entitlementRefusal, extensionFor, fetchPart, fileSafe, findConversation, floatToWav, formatTranscriptMarkdown, getOpenChat, hasRecordingTranscript, invalidateCall, invalidateConversationDetails, invalidateConversationLists, isConversationListKey, isConversationShared, isRecordingOver, isRecordingSegmentId, isRetryable, isWorkspaceGuestOf, joinFromPreJoin, knownMeetingChat, loadMeetingHistory, markRejoining, meetingChatRefFrom, meetingRefForCall, mergeChatLines, mutedNoticeFromEvent, mutedNoticeFromPacket, mutedNoticeText, myChatId, newPacketId, newSegmentId, newTrackKey, nextSeqAfter, onCallEvent, openCall, openQuestion, openRecording, parseWebinarPacket, partKey, partOffsetMs, partsDue, patchConversation, patchConversationList, persistMeetingMessage, persistTranscriptSegment, playheadAt, postRecordingDocsToThread, postTranscriptToThread, readLocalFeature, recordingFiles, recordingWindowsOf, rejoinAsAudience, removeChat, removeConversationFromLists, resetCallSession, resolveMeetingChat, saveRecordingFilesToThread, schedulePart, sealQuestionText, serverCallsExperimental, setOpenChat, sortTranscriptMessages, sortedParts, speakerTracks, speakerWav, splitIntoFiles, standalone, startChatCall, startContactsCall, startDmCall, startThreadCall, startsMediaFile, storeTranscriptSegment, stripSpeakerPrefix, supersedeLiveTranscript, supersededTranscriptLines, threadHasLiveCall, threadLiveCallId, threadTranscriptLines, threadTranscriptRef, threadTranscriptText, timelineDurationMs, timelineOf, toProfileView, trackUploaderFor, transcribeRecording, transcriptPersistRole, transcriptSegmentOf, unwrapTrackKey, upsertChat, useAccountClient, useAvatarCrop, useCall, useCallInviteLinks, useCallRecording, useCallRecordings, useCallSession, useCallTranscriptionAvailable, useCallsConfig, useCallsEnabled, useCanHostCalls, useEntitlements, useFeature, useFeatureCheck, useFeatureSwitch, useInvalidateEntitlements, useIsEntitled, useMeetingReadOnly, useNameEditor, useOpenCallMeetingChat, useProfile, useRecordingActions, useRecordingWindows, useRevokeCallInviteLink, useSaveToThread, useServerCallsEnabled, useServerCallsExperimental, useUpdateProfile, useUpdateUserSettings, useUserSettings, wipeOfflineMail, wrapTrackKey, writeSamples } from './chunk-PJMCBB6E.js';
4
- import { replayableTagMutations, inWorkspace, primeOnClient, patchDocuments, setCachedDocument, adjustTagCounts, patchCachedDocument, FINISHED_DOCUMENT_STATUSES, refreshDocuments, getCachedDocuments, useArbiWsStore, IN_FLIGHT_DOCUMENT_STATUSES, useCapturingWorkspace, QUEUED_WRITE_RETRY, isWorkspaceUnavailable, primeOnArbi, forgetDocuments, useDocument, useSimilarDocuments, SIMILARITY_THRESHOLD, QUEUED_WRITE_BLOCKED_MESSAGE, isBlockedOnWorkspace, useDocuments, finishEntityExtraction } from './chunk-MAUZSNQY.js';
5
- export { DISMISSED_TASK_TTL_MS, DOCUMENTS_FIRST_PAGE_MEASURE, DOCUMENTS_FIRST_PAGE_SIZE, DOCUMENTS_PAGE_SIZE, FINISHED_DOCUMENT_STATUSES, IN_FLIGHT_DOCUMENT_STATUSES, SIMILARITY_THRESHOLD, adjustTagCounts, dropTagFromCachedDocuments, finishEntityExtraction, forgetDocuments, getCachedDocuments, invalidateTagData, invalidateTagTables, isDocumentsLoading, isRowNewer, isStaleTaskUpdate, patchCachedDocument, patchDocuments, patchWorkspaceTags, refreshDocuments, resolveDocumentStatus, setCachedDocument, settledByRows, startEntityExtraction, stopDocumentsLoading, subscribeDocumentRows, upsertDocuments, useArbiWsStore, useCreateTag, useDeleteTag, useDocument, useDocuments, useDocumentsLoading, useEntityExtractionDocIds, useExtractEntities, useInvalidateTagData, useIsCreatingTag, useRefreshDocuments, useSetTagValues, useSimilarDocuments, useTagKindSchema, useUpdateTag, useUpdateTagKindSchema } from './chunk-MAUZSNQY.js';
6
- import { useArbiSessionState, useArbiSession, useWorkspaces, useConversations, useConfig, useArbiSessionStore, useAvailableModels, useParsedDocument, useTags, selectDraft, useConversationThreads, createArbiSessionStore, useTransientView, useProjects, useAgents, useAssistantQuery, useActivity, queuedMessages, MIN_QUEUED_MESSAGE_VISIBILITY_MS } from './chunk-AXKIOI2U.js';
7
- export { DEFAULT_DOCUMENT_VIEWER_STATE, DOCUMENT_VIEWER_PANEL, EMPTY_CHAT_STATE, EMPTY_DOCUMENT_STATE, EMPTY_SESSION_STATE, MAX_THREAD_TABS, MIN_QUEUED_MESSAGE_VISIBILITY_MS, PROJECT_CREATION_DENIED_REASON, WORKSPACE_LAST_OPENED_KEY, WORKSPACE_STORAGE_KEY, agentControl, browserWorkspaceStorage, clearSealedDrafts, closePanelIn, composeArbiSessionStore, conversationKey, createArbiChatStore, createArbiDocumentSessionStore, createArbiLayoutStore, createArbiSessionStore, createArbiWorkspaceStore, createDebouncedWriter, createSealedDraftStorage, createStoragePersist, createUiStateStorage, defaultLayoutState, dmTabId, flushOnPageExit, isPanelOpen, isUsageMetered, layoutActionsOf, nextViewingDocument, openPanelIn, panelPlace, parseSavedChat, parseSavedDocuments, parseSavedLayout, queuedMessages, readWorkspaceLastOpened, restoreLayout, restoreSavedDocuments, savedChatOf, savedDocumentsOf, savedLayoutOf, selectDraft, selectIsGenerating, selectViewingDocumentId, threadTabId, useActivity, useAgents, useArbiSession, useArbiSessionState, useArbiSessionStore, useAssistantQuery, useAvailableModels, useBoxRole, useBuiltinCommands, useCanCreateProjects, useConfig, useConfigs, useConversationThreads, useConversations, useCurrentUser, useDeleteAgents, useDocumentVersionList, useHealth, useMessageDetails, useParsedDocument, useProjectInvoices, useProjectUsage, useProjects, useSessionPageTab, useSessionView, useSignedInSession, useTags, useThumbnails, useTransientView, useUserUsageToday, useWorkspaceActivity, useWorkspaces } from './chunk-AXKIOI2U.js';
8
- import { fetchDocumentFile, downloadBlob, fetchMarkupPdf, fetchDocumentPdf } from './chunk-4UUZ67JL.js';
9
- import { arbiMutationKeys, arbiQueryKeys, useArbi, useArbiHost, mailQueryKeys, isUnderQueryKey, connectorQueryKeys, calendarQueryKeys } from './chunk-M74JCOXW.js';
10
- export { arbiMutationKeys, arbiQueryKeys, calendarQueryKeys, callQueryKeys, connectorQueryKeys, isUnderQueryKey, mailQueryKeys, useArbi, useArbiHost, useDeploymentDomain } from './chunk-M74JCOXW.js';
2
+ import { createRecordStore, useUserSettings, patchConversation, invalidateConversationDetails, removeConversationFromLists, addConversationToList, findConversation, isConversationShared, patchConversationList, invalidateConversationLists, getRecord, openBytes, touchRecord, notifyOfflineMailChange, putRecord, sealJson, blind, deleteRecords, useFeature, useAccountClient, useUpdateUserSettings, useIsEntitled, claimOfflineMail, onOfflineMailChange, getOfflineMailSettings, setOfflineMailSettings, myChatId, upsertChat, appendToThread, dropFromThread, deleteChatMessage, removeChat, getOpenChat, cachedChat, inOfflineWindow, recordsInBucket, openJson, offlineWindowStart, recordsOfKind, SCOPE_DAYS, allRecordSizes, setMeta, OFFLINE_MAIL_DB, applyChatEvent, applyCallEvent, getMeta, hasRecord, sealBytes } from './chunk-DQALOQPI.js';
3
+ export { AUDIENCE_CHOICES, CALL_CAPTION_TOPIC, CALL_CHAT_MAX_CHARS, CALL_CHAT_TOPIC, CALL_MODERATION_TOPIC, CALL_RECORDING_TOPIC, CALL_TRANSCRIPTION_TOPIC, CALL_WEBINAR_TOPIC, CAPTION_MAX_CHARS, COMPOSITE_AUDIO_BITS_PER_SECOND, COMPOSITE_VIDEO_BITS_PER_SECOND, DEFAULT_JOIN_CHOICES, EMPTY_CALL_SESSION, EXPORT_SAMPLE_RATE, HISTORY_LIMIT, LIVE_SEGMENTER, MAX_AVATAR_FILE_BYTES, MUTED_DEDUPE_MS, PLAYBACK_LOOKAHEAD_MS, READ_ONLY_MEETING_TEXT, RECORDING_CHUNK_MS, RECORDING_SEGMENTER, SEGMENT_FRAME_MS, SEGMENT_ID_PATTERN, SEGMENT_PRE_ROLL_MS, SHORT_PIECE_MERGE_GAP_MS, SPEAKER_AUDIO_BITS_PER_SECOND, TrackUploader, UPLOAD_ATTEMPTS, UPLOAD_BACKOFF_MS, acceptRing, addConversationToList, appendToThread, applyAgentDmStatus, applyCallEvent, applyChatEvent, applyChatMessage, applyChatRead, applyChatUpdated, arbiAccountClient, buildMeetingChatBody, cachedChat, cachedChats, callLink, callMemberKeys, callSession, chatByExtId, chatHasLiveCall, chatLiveCallId, chatTranscriptRef, clearMeetingChatCache, clearTrackUploaders, clockTime, compositeFiles, compositeTrack, conversationKeyForCall, createLocalFeatureStore, createMutedNotifier, createTrackCutter, cutAtPauses, declineRing, decodeCallChatPacket, decodeCaptionPacket, decodeMono16k, decryptPart, encodeCallChatPacket, encodeCaptionPacket, encodeWav, encryptPart, ensureMeetingChat, entitlementRefusal, extensionFor, fetchPart, fileSafe, findConversation, floatToWav, formatTranscriptMarkdown, getOpenChat, hasRecordingTranscript, invalidateCall, invalidateConversationDetails, invalidateConversationLists, isConversationListKey, isConversationShared, isRecordingOver, isRecordingSegmentId, isRetryable, isWorkspaceGuestOf, joinFromPreJoin, knownMeetingChat, loadMeetingHistory, markRejoining, meetingChatRefFrom, meetingRefForCall, mergeChatLines, mutedNoticeFromEvent, mutedNoticeFromPacket, mutedNoticeText, myChatId, newPacketId, newSegmentId, newTrackKey, nextSeqAfter, onCallEvent, openCall, openQuestion, openRecording, parseWebinarPacket, partKey, partOffsetMs, partsDue, patchConversation, patchConversationList, persistMeetingMessage, persistTranscriptSegment, playheadAt, postRecordingDocsToThread, postTranscriptToThread, readLocalFeature, recordingFiles, recordingWindowsOf, rejoinAsAudience, removeChat, removeConversationFromLists, resetCallSession, resolveMeetingChat, saveRecordingFilesToThread, schedulePart, sealQuestionText, serverCallsExperimental, setOpenChat, sortTranscriptMessages, sortedParts, speakerTracks, speakerWav, splitIntoFiles, standalone, startChatCall, startContactsCall, startDmCall, startThreadCall, startsMediaFile, storeTranscriptSegment, stripSpeakerPrefix, supersedeLiveTranscript, supersededTranscriptLines, threadHasLiveCall, threadLiveCallId, threadTranscriptLines, threadTranscriptRef, threadTranscriptText, timelineDurationMs, timelineOf, toProfileView, trackUploaderFor, transcribeRecording, transcriptPersistRole, transcriptSegmentOf, unwrapTrackKey, upsertChat, useAccountClient, useAvatarCrop, useCall, useCallInviteLinks, useCallRecording, useCallRecordings, useCallSession, useCallTranscriptionAvailable, useCallsConfig, useCallsEnabled, useCanHostCalls, useEntitlements, useFeature, useFeatureCheck, useFeatureSwitch, useInvalidateEntitlements, useIsEntitled, useMeetingReadOnly, useNameEditor, useOpenCallMeetingChat, useProfile, useRecordingActions, useRecordingWindows, useRevokeCallInviteLink, useSaveToThread, useServerCallsEnabled, useServerCallsExperimental, useUpdateProfile, useUpdateUserSettings, useUserSettings, wipeOfflineMail, wrapTrackKey, writeSamples } from './chunk-DQALOQPI.js';
4
+ import { replayableTagMutations, inWorkspace, primeOnClient, patchDocuments, setCachedDocument, adjustTagCounts, patchCachedDocument, FINISHED_DOCUMENT_STATUSES, refreshDocuments, getCachedDocuments, useArbiWsStore, IN_FLIGHT_DOCUMENT_STATUSES, useCapturingWorkspace, QUEUED_WRITE_RETRY, isWorkspaceUnavailable, primeOnArbi, forgetDocuments, useDocument, useSimilarDocuments, SIMILARITY_THRESHOLD, QUEUED_WRITE_BLOCKED_MESSAGE, isBlockedOnWorkspace, useDocuments, finishEntityExtraction } from './chunk-P6WLV5UY.js';
5
+ export { DISMISSED_TASK_TTL_MS, DOCUMENTS_FIRST_PAGE_MEASURE, DOCUMENTS_FIRST_PAGE_SIZE, DOCUMENTS_PAGE_SIZE, FINISHED_DOCUMENT_STATUSES, IN_FLIGHT_DOCUMENT_STATUSES, SIMILARITY_THRESHOLD, adjustTagCounts, dropTagFromCachedDocuments, finishEntityExtraction, forgetDocuments, getCachedDocuments, invalidateTagData, invalidateTagTables, isDocumentsLoading, isRowNewer, isStaleTaskUpdate, patchCachedDocument, patchDocuments, patchWorkspaceTags, refreshDocuments, resolveDocumentStatus, setCachedDocument, settledByRows, startEntityExtraction, stopDocumentsLoading, subscribeDocumentRows, upsertDocuments, useArbiWsStore, useCreateTag, useDeleteTag, useDocument, useDocuments, useDocumentsLoading, useEntityExtractionDocIds, useExtractEntities, useInvalidateTagData, useIsCreatingTag, useRefreshDocuments, useSetTagValues, useSimilarDocuments, useTagKindSchema, useUpdateTag, useUpdateTagKindSchema } from './chunk-P6WLV5UY.js';
6
+ import { useArbiSessionState, useArbiSession, useWorkspaces, useConversations, useConfig, useArbiSessionStore, useAvailableModels, useParsedDocument, useTags, selectDraft, useConversationThreads, createArbiSessionStore, useTransientView, useWorkspaceActivity, useProjects, useCurrentUser, useAgents, useAssistantQuery, useActivity, queuedMessages, MIN_QUEUED_MESSAGE_VISIBILITY_MS } from './chunk-H5M7FXLB.js';
7
+ export { DEFAULT_DOCUMENT_VIEWER_STATE, DOCUMENT_VIEWER_PANEL, EMPTY_CHAT_STATE, EMPTY_DOCUMENT_STATE, EMPTY_SESSION_STATE, MAX_THREAD_TABS, MIN_QUEUED_MESSAGE_VISIBILITY_MS, PROJECT_CREATION_DENIED_REASON, WORKSPACE_LAST_OPENED_KEY, WORKSPACE_STORAGE_KEY, agentControl, browserWorkspaceStorage, clearSealedDrafts, closePanelIn, composeArbiSessionStore, conversationKey, createArbiChatStore, createArbiDocumentSessionStore, createArbiLayoutStore, createArbiSessionStore, createArbiWorkspaceStore, createDebouncedWriter, createSealedDraftStorage, createStoragePersist, createUiStateStorage, defaultLayoutState, dmTabId, flushOnPageExit, isPanelOpen, isUsageMetered, layoutActionsOf, nextViewingDocument, openPanelIn, panelPlace, parseSavedChat, parseSavedDocuments, parseSavedLayout, queuedMessages, readWorkspaceLastOpened, restoreLayout, restoreSavedDocuments, savedChatOf, savedDocumentsOf, savedLayoutOf, selectDraft, selectIsGenerating, selectViewingDocumentId, threadTabId, useActivity, useAgents, useArbiSession, useArbiSessionState, useArbiSessionStore, useAssistantQuery, useAvailableModels, useBoxRole, useBuiltinCommands, useCanCreateProjects, useConfig, useConfigs, useConversationThreads, useConversations, useCurrentUser, useDeleteAgents, useDocumentVersionList, useHealth, useMessageDetails, useParsedDocument, useProjectInvoices, useProjectUsage, useProjects, useSessionPageTab, useSessionView, useSignedInSession, useTags, useThumbnails, useTransientView, useUserUsageToday, useWorkspaceActivity, useWorkspaces } from './chunk-H5M7FXLB.js';
8
+ import { fetchDocumentFile, downloadBlob, fetchMarkupPdf, fetchDocumentPdf } from './chunk-CPQ3CU4B.js';
9
+ import { arbiMutationKeys, arbiQueryKeys, useArbi, useArbiHost, mailQueryKeys, isUnderQueryKey, connectorQueryKeys, calendarQueryKeys } from './chunk-6H3O63TQ.js';
10
+ export { arbiMutationKeys, arbiQueryKeys, calendarQueryKeys, callQueryKeys, connectorQueryKeys, isUnderQueryKey, mailQueryKeys, useArbi, useArbiHost, useDeploymentDomain } from './chunk-6H3O63TQ.js';
11
11
  import { ArbiHost, useAssistantName, linkMentions, extractMentions, UNBOUND, bindingOfRow, readLegacyThreadDocuments, forgetLegacyThreadDocuments, toMessageMentions, takeDocumentForTurn, hasMessageBody, createSearchSession, clearSearchSession } from './chunk-OYPKKHXY.js';
12
12
  export { DEFAULT_ASSISTANT_NAME, LEGACY_THREAD_DOCUMENTS_KEY, MENTION_HREF_PREFIX, NotificationBell, Toaster, UNBOUND, assistantCopy, bindingOfRow, clearSearchSession, createSearchSession, extractMentions, filterMentionCandidates, findMentionQuery, forgetLegacyThreadDocuments, hasMessageBody, insertMention, latestThreadOfDocument, linkMentions, mentionFromHref, openDocumentId, opensInWord, persistSearchSession, readLegacyThreadDocuments, requestSearch, savedDocumentIdFor, sharedSearchSession, takeDocumentForTurn, takePendingSearch, toMessageMentions, useAssistantCopy, useAssistantName, useOpenDocumentId, useRegisterOpenDocument, useTurnDocumentId } from './chunk-OYPKKHXY.js';
13
13
  import { notify, recordChatArtifact } from './chunk-BF5KW5ZI.js';
@@ -9502,14 +9502,20 @@ function useInvalidateAfterTransfer() {
9502
9502
  [queryClient]
9503
9503
  );
9504
9504
  }
9505
- function useWorkspaceExportDownload({ workspaceName } = {}) {
9505
+ function useWorkspaceExportDownload({
9506
+ workspaceName,
9507
+ workspaceId
9508
+ } = {}) {
9506
9509
  const arbi = useArbi();
9507
9510
  const [progress, setProgress] = useState(null);
9508
9511
  const download = useCallback(
9509
9512
  async ({ scope, documents: documents2 = [], csvColumns }) => {
9510
9513
  setProgress({ done: 0, total: 0 });
9511
9514
  try {
9512
- const data = await arbi.workspaces.transfer.exportData(scope);
9515
+ const data = await arbi.workspaces.transfer.exportData(
9516
+ scope,
9517
+ workspaceId ? { workspaceId } : void 0
9518
+ );
9513
9519
  let metadataCsv = null;
9514
9520
  if (csvColumns === void 0 || csvColumns.length > 0) {
9515
9521
  const exported = new Set(
@@ -9524,7 +9530,7 @@ function useWorkspaceExportDownload({ workspaceName } = {}) {
9524
9530
  const client = arbi.getClient().fetch;
9525
9531
  const archive = await buildWorkspaceArchive({
9526
9532
  exportData: data,
9527
- fetchFile: async (docExtId, version, kind) => kind === "markup" ? (await fetchMarkupPdf(client, docExtId, version)).blob : fetchDocumentFile(client, docExtId, { version }),
9533
+ fetchFile: async (docExtId, version, kind) => kind === "markup" ? (await fetchMarkupPdf(client, docExtId, version, workspaceId)).blob : fetchDocumentFile(client, docExtId, { version, workspaceExtId: workspaceId }),
9528
9534
  metadataCsv,
9529
9535
  onProgress: (done, total) => setProgress({ done, total })
9530
9536
  });
@@ -9547,7 +9553,7 @@ function useWorkspaceExportDownload({ workspaceName } = {}) {
9547
9553
  setProgress(null);
9548
9554
  }
9549
9555
  },
9550
- [arbi, workspaceName]
9556
+ [arbi, workspaceName, workspaceId]
9551
9557
  );
9552
9558
  return { download, isDownloading: progress !== null, progress };
9553
9559
  }
@@ -10284,8 +10290,156 @@ function useNames(enabled = true) {
10284
10290
  return (id) => id ? names.get(id) ?? id : null;
10285
10291
  }, [data]);
10286
10292
  }
10293
+ var DEFAULT_WORKFLOWS_SOURCE_LABELS = {
10294
+ source: "Workflows",
10295
+ description: "Your workflows: what starts them, how their last run ended, and when they run next.",
10296
+ name: "Workflow",
10297
+ trigger: "Starts",
10298
+ triggers: {
10299
+ manual: "By hand",
10300
+ after: "After a task",
10301
+ event: "On an event",
10302
+ schedule: "On a schedule",
10303
+ once: "Once"
10304
+ },
10305
+ active: "On",
10306
+ lastRun: "Last run",
10307
+ lastResult: "Last result",
10308
+ results: {
10309
+ completed: "Success",
10310
+ success: "Success",
10311
+ failed: "Failed",
10312
+ running: "In progress",
10313
+ awaiting_authorization: "Awaiting access"
10314
+ },
10315
+ nextRun: "Next run",
10316
+ owner: "Owner",
10317
+ shared: "Shared",
10318
+ created: "Created"
10319
+ };
10320
+ function triggerOf(w) {
10321
+ if (w.on_demand) return "manual";
10322
+ if (w.after_conversation_ext_id) return "after";
10323
+ if (w.event_kind) return "event";
10324
+ if (w.rrule) return "schedule";
10325
+ if (w.run_at) return "once";
10326
+ return "manual";
10327
+ }
10328
+ function createWorkflowsSource(labels) {
10329
+ const l = { ...DEFAULT_WORKFLOWS_SOURCE_LABELS, ...labels };
10330
+ const fields = [
10331
+ { id: "name", label: l.name, type: "string" },
10332
+ { id: "trigger", label: l.trigger, type: "string", options: Object.values(l.triggers) },
10333
+ { id: "active", label: l.active, type: "boolean" },
10334
+ { id: "lastRun", label: l.lastRun, type: "date" },
10335
+ { id: "lastResult", label: l.lastResult, type: "string" },
10336
+ { id: "nextRun", label: l.nextRun, type: "date" },
10337
+ { id: "owner", label: l.owner, type: "string" },
10338
+ { id: "shared", label: l.shared, type: "boolean" },
10339
+ { id: "created", label: l.created, type: "date" }
10340
+ ];
10341
+ return defineRowsSource({
10342
+ id: "workflows",
10343
+ label: l.source,
10344
+ description: l.description,
10345
+ useFields: staticFields(fields),
10346
+ useRows(_params, enabled) {
10347
+ const on = useFeature("workflows");
10348
+ const workspaceId = useArbiSessionState((s) => s.workspaceId);
10349
+ const query = useWorkflows({ enabled: enabled && on });
10350
+ const nameOf = useNames(enabled);
10351
+ const rows = useMemo(
10352
+ () => query.data?.filter((w) => !!workspaceId && w.workspace_ext_id === workspaceId).map((w) => {
10353
+ const result = w.last_run_status;
10354
+ return {
10355
+ name: w.name,
10356
+ trigger: l.triggers[triggerOf(w)],
10357
+ active: w.active,
10358
+ lastRun: w.last_fired_at ?? null,
10359
+ lastResult: result ? l.results[result] ?? result.replaceAll("_", " ") : null,
10360
+ nextRun: w.next_fire_at ?? null,
10361
+ owner: nameOf(w.owner_ext_id),
10362
+ shared: w.shared,
10363
+ created: w.created_at
10364
+ };
10365
+ }),
10366
+ [query.data, nameOf, workspaceId]
10367
+ );
10368
+ return { rows, isLoading: query.isLoading, error: query.error };
10369
+ }
10370
+ });
10371
+ }
10287
10372
 
10288
- // src/datasets/sources/conversations.ts
10373
+ // src/datasets/sources/activity.ts
10374
+ var ENTRIES = 100;
10375
+ var DEFAULT_ACTIVITY_SOURCE_LABELS = {
10376
+ source: "Recent activity",
10377
+ description: "The latest activity of the open workspace: threads, messages, documents and workflow runs.",
10378
+ when: "When",
10379
+ area: "Area",
10380
+ areas: { thread: "Threads", message: "Messages", document: "Documents", workflow: "Workflows" },
10381
+ kind: "What happened",
10382
+ kinds: {
10383
+ message_posted: "Message posted",
10384
+ document_uploaded: "Document uploaded",
10385
+ document_version: "New version",
10386
+ document_signed: "Document signed",
10387
+ workflow_run: "Workflow run"
10388
+ },
10389
+ person: "Person",
10390
+ item: "Item",
10391
+ status: "Status",
10392
+ statuses: DEFAULT_WORKFLOWS_SOURCE_LABELS.results
10393
+ };
10394
+ var inWords = (name) => {
10395
+ const words = name.replaceAll("_", " ");
10396
+ return words.charAt(0).toUpperCase() + words.slice(1);
10397
+ };
10398
+ function createActivitySource(labels) {
10399
+ const l = { ...DEFAULT_ACTIVITY_SOURCE_LABELS, ...labels };
10400
+ const fields = [
10401
+ { id: "when", label: l.when, type: "date" },
10402
+ { id: "area", label: l.area, type: "string", options: Object.values(l.areas) },
10403
+ { id: "kind", label: l.kind, type: "string" },
10404
+ { id: "person", label: l.person, type: "string" },
10405
+ { id: "item", label: l.item, type: "string" },
10406
+ { id: "status", label: l.status, type: "string" }
10407
+ ];
10408
+ return defineRowsSource({
10409
+ id: "activity",
10410
+ label: l.source,
10411
+ description: l.description,
10412
+ useFields: staticFields(fields),
10413
+ useRows(_params, enabled) {
10414
+ const arbi = useArbi();
10415
+ const workspaceId = useArbiSessionState((s) => s.workspaceId) ?? void 0;
10416
+ const { settled, openSelectedWorkspace } = useSwitchWorkspace();
10417
+ const feed = useWorkspaceActivity(workspaceId, {
10418
+ enabled: enabled && arbi.isLoggedIn,
10419
+ limit: ENTRIES,
10420
+ beforeFetch: async () => {
10421
+ await settled();
10422
+ await openSelectedWorkspace();
10423
+ }
10424
+ });
10425
+ const nameOf = useNames(enabled);
10426
+ const rows = useMemo(
10427
+ () => feed.data?.pages.flatMap(
10428
+ (page) => page.items.map((e) => ({
10429
+ when: e.created_at,
10430
+ area: l.areas[e.source] ?? e.source,
10431
+ kind: l.kinds[e.kind] ?? inWords(e.kind),
10432
+ person: nameOf(e.actor_ext_id),
10433
+ item: e.conversation_title || e.document_name || e.workflow_name || null,
10434
+ status: e.status ? l.statuses[e.status] ?? inWords(e.status) : null
10435
+ }))
10436
+ ),
10437
+ [feed.data, nameOf]
10438
+ );
10439
+ return { rows, isLoading: feed.isLoading && !!workspaceId, error: feed.error };
10440
+ }
10441
+ });
10442
+ }
10289
10443
  var DEFAULT_CONVERSATIONS_SOURCE_LABELS = {
10290
10444
  source: "Threads",
10291
10445
  description: "The threads and tasks of the open workspace: activity, status, owners, due dates.",
@@ -10523,6 +10677,19 @@ var DEFAULT_DOCUMENTS_SOURCE_LABELS = {
10523
10677
  updated: "Updated",
10524
10678
  documentDate: "Document date",
10525
10679
  status: "Status",
10680
+ statuses: {
10681
+ completed: "Ready",
10682
+ "low-content": "Little text",
10683
+ failed: "Failed",
10684
+ skipped: "Skipped",
10685
+ empty: "Empty",
10686
+ queued: "Queued",
10687
+ uploading: "Uploading",
10688
+ parsing: "Processing",
10689
+ encrypting: "Processing",
10690
+ indexing: "Processing",
10691
+ analysing: "Processing"
10692
+ },
10526
10693
  type: "Type",
10527
10694
  folder: "Folder",
10528
10695
  nature: "Kind of document",
@@ -10540,7 +10707,12 @@ function createDocumentsSource(labels) {
10540
10707
  { id: "created", label: l.created, type: "date" },
10541
10708
  { id: "updated", label: l.updated, type: "date" },
10542
10709
  { id: "documentDate", label: l.documentDate, type: "date" },
10543
- { id: "status", label: l.status, type: "string" },
10710
+ {
10711
+ id: "status",
10712
+ label: l.status,
10713
+ type: "string",
10714
+ options: [...new Set(Object.values(l.statuses))]
10715
+ },
10544
10716
  { id: "type", label: l.type, type: "string" },
10545
10717
  { id: "folder", label: l.folder, type: "string" },
10546
10718
  { id: "nature", label: l.nature, type: "string" },
@@ -10564,7 +10736,7 @@ function createDocumentsSource(labels) {
10564
10736
  created: d.created_at ?? null,
10565
10737
  updated: d.updated_at ?? null,
10566
10738
  documentDate: d.doc_metadata?.doc_date ?? null,
10567
- status: d.status ?? null,
10739
+ status: d.status ? l.statuses[d.status] ?? d.status : null,
10568
10740
  type: friendlyFileType(d.file_type, d.file_name) || null,
10569
10741
  folder: d.folder || null,
10570
10742
  nature: d.doc_metadata?.doc_nature ?? null,
@@ -10580,6 +10752,52 @@ function createDocumentsSource(labels) {
10580
10752
  }
10581
10753
  });
10582
10754
  }
10755
+ var DEFAULT_FACTS_SOURCE_LABELS = {
10756
+ source: "Facts",
10757
+ description: "The facts of the open workspace: their tags, dates, and whether they are confirmed.",
10758
+ text: "Fact",
10759
+ tags: "Tags",
10760
+ confirmed: "Confirmed",
10761
+ shared: "Shared",
10762
+ date: "Date",
10763
+ created: "Added",
10764
+ createdBy: "Added by"
10765
+ };
10766
+ function createFactsSource(labels) {
10767
+ const l = { ...DEFAULT_FACTS_SOURCE_LABELS, ...labels };
10768
+ const fields = [
10769
+ { id: "text", label: l.text, type: "string" },
10770
+ { id: "tags", label: l.tags, type: "string", multiple: true },
10771
+ { id: "confirmed", label: l.confirmed, type: "boolean" },
10772
+ { id: "shared", label: l.shared, type: "boolean" },
10773
+ { id: "date", label: l.date, type: "date" },
10774
+ { id: "created", label: l.created, type: "date" },
10775
+ { id: "createdBy", label: l.createdBy, type: "string" }
10776
+ ];
10777
+ return defineRowsSource({
10778
+ id: "facts",
10779
+ label: l.source,
10780
+ description: l.description,
10781
+ useFields: staticFields(fields),
10782
+ useRows(_params, enabled) {
10783
+ const query = useFacts(void 0, { enabled });
10784
+ const nameOf = useNames(enabled);
10785
+ const rows = useMemo(
10786
+ () => query.data?.map((f) => ({
10787
+ text: f.text,
10788
+ tags: f.tags.map((t) => t.name),
10789
+ confirmed: f.confirmed,
10790
+ shared: f.shared,
10791
+ date: f.date_start ?? null,
10792
+ created: f.created_at,
10793
+ createdBy: nameOf(f.created_by_ext_id)
10794
+ })),
10795
+ [query.data, nameOf]
10796
+ );
10797
+ return { rows, isLoading: query.isLoading, error: query.error };
10798
+ }
10799
+ });
10800
+ }
10583
10801
  var DEFAULT_PROJECTS_SOURCE_LABELS = {
10584
10802
  source: "Projects",
10585
10803
  description: "Your projects: stage, lead, client and their own fields; opened and closed.",
@@ -10688,6 +10906,63 @@ function createProjectsSource(options = {}) {
10688
10906
  }
10689
10907
  });
10690
10908
  }
10909
+ var DEFAULT_TAGS_SOURCE_LABELS = {
10910
+ source: "Tags",
10911
+ description: "The tags of the open workspace: their kind, and the documents, facts and threads carrying them.",
10912
+ name: "Tag",
10913
+ kind: "Kind",
10914
+ kinds: {
10915
+ label: "Label",
10916
+ annotation: "Annotation",
10917
+ search: "Search",
10918
+ issue: "Issue",
10919
+ person: "Person",
10920
+ organisation: "Organisation"
10921
+ },
10922
+ documents: "Documents",
10923
+ facts: "Facts",
10924
+ threads: "Threads",
10925
+ shared: "Shared",
10926
+ created: "Created",
10927
+ createdBy: "Created by"
10928
+ };
10929
+ function createTagsSource(labels) {
10930
+ const l = { ...DEFAULT_TAGS_SOURCE_LABELS, ...labels };
10931
+ const fields = [
10932
+ { id: "name", label: l.name, type: "string" },
10933
+ { id: "kind", label: l.kind, type: "string", options: Object.values(l.kinds) },
10934
+ { id: "documents", label: l.documents, type: "number" },
10935
+ { id: "facts", label: l.facts, type: "number" },
10936
+ { id: "threads", label: l.threads, type: "number" },
10937
+ { id: "shared", label: l.shared, type: "boolean" },
10938
+ { id: "created", label: l.created, type: "date" },
10939
+ { id: "createdBy", label: l.createdBy, type: "string" }
10940
+ ];
10941
+ return defineRowsSource({
10942
+ id: "tags",
10943
+ label: l.source,
10944
+ description: l.description,
10945
+ useFields: staticFields(fields),
10946
+ useRows(_params, enabled) {
10947
+ const query = useTags(void 0, { enabled });
10948
+ const nameOf = useNames(enabled);
10949
+ const rows = useMemo(
10950
+ () => query.data?.map((t) => ({
10951
+ name: t.name,
10952
+ kind: l.kinds[t.kind] ?? t.kind,
10953
+ documents: t.doctag_count,
10954
+ facts: t.facttag_count,
10955
+ threads: t.convotag_count,
10956
+ shared: t.shared,
10957
+ created: t.created_at,
10958
+ createdBy: nameOf(t.created_by_ext_id)
10959
+ })),
10960
+ [query.data, nameOf]
10961
+ );
10962
+ return { rows, isLoading: query.isLoading, error: query.error };
10963
+ }
10964
+ });
10965
+ }
10691
10966
  var MODEL_GROUP_LABELS = {
10692
10967
  "arbi-transcribe-diarized": "Transcription (diarized)",
10693
10968
  "arbi-transcribe": "Transcription"
@@ -10751,25 +11026,34 @@ function createUsageSource(labels) {
10751
11026
  const arbi = useArbi();
10752
11027
  const monthsBack = monthsBackOf(params);
10753
11028
  const projects = useProjects({ enabled });
10754
- const list = projects.data ?? [];
11029
+ const user = useCurrentUser({ enabled: enabled && arbi.isLoggedIn });
11030
+ const me = user.data?.external_id;
11031
+ const list = useMemo(
11032
+ () => (projects.data ?? []).filter(
11033
+ (p) => !!me && p.created_by === me
11034
+ ),
11035
+ [projects.data, me]
11036
+ );
10755
11037
  const results = useQueries({
10756
11038
  queries: list.map((p) => ({
10757
11039
  queryKey: arbiQueryKeys.projectUsage(p.external_id, monthsBack),
10758
11040
  queryFn: () => arbi.projects.usage(p.external_id, monthsBack),
10759
- enabled: enabled && arbi.isLoggedIn
11041
+ enabled: enabled && arbi.isLoggedIn,
11042
+ retry: false
10760
11043
  }))
10761
11044
  });
10762
11045
  const signature = results.map((r) => `${r.status}:${r.dataUpdatedAt}`).join("|");
10763
11046
  const rows = useMemo(() => {
10764
- if (!projects.data || results.some((r) => r.isLoading)) return void 0;
11047
+ if (!projects.data || !me || results.some((r) => r.isLoading)) return void 0;
10765
11048
  return results.flatMap(
10766
11049
  (r, i) => r.data ? usageRows(r.data, list[i].name) : []
10767
11050
  );
10768
- }, [projects.data, signature]);
11051
+ }, [projects.data, me, signature]);
10769
11052
  return {
10770
11053
  rows,
10771
- isLoading: projects.isLoading || results.some((r) => r.isLoading),
10772
- error: projects.error ?? results.find((r) => r.error)?.error ?? null
11054
+ isLoading: projects.isLoading || user.isLoading || results.some((r) => r.isLoading),
11055
+ // One project's usage failing (not its owner after all, a hiccup) leaves it out.
11056
+ error: projects.error ?? user.error ?? null
10773
11057
  };
10774
11058
  }
10775
11059
  });
@@ -10841,6 +11125,10 @@ var BUILTIN_DATA_SOURCES = [
10841
11125
  createConversationsSource(),
10842
11126
  createProjectsSource(),
10843
11127
  createWorkspacesSource(),
11128
+ createTagsSource(),
11129
+ createFactsSource(),
11130
+ createWorkflowsSource(),
11131
+ createActivitySource(),
10844
11132
  createDatabaseSource()
10845
11133
  ];
10846
11134
  function createDataSourceRegistry(sources) {
@@ -14971,6 +15259,10 @@ function getNotificationTypeMeta(type) {
14971
15259
  return { Icon: PartyPopper, iconClassName: "text-green-600", label: "Signup bonus" };
14972
15260
  case "referral_reward":
14973
15261
  return { Icon: Gift, iconClassName: "text-green-600", label: "Reward earned" };
15262
+ case "project_quota_warning":
15263
+ return { Icon: Gauge, iconClassName: "text-orange-500", label: "Usage warning" };
15264
+ case "project_retention":
15265
+ return { Icon: Gauge, iconClassName: "text-orange-500", label: "Project retention" };
14974
15266
  case "quota_threshold_50":
14975
15267
  return { Icon: Gauge, iconClassName: "text-blue-500", label: "Usage 50%" };
14976
15268
  case "quota_threshold_90":
@@ -15530,6 +15822,48 @@ function describeServerNotification(n, options = {}) {
15530
15822
  // "grant" action could never be right here.
15531
15823
  target: { kind: "access-request", notification: n }
15532
15824
  };
15825
+ case "project_quota_warning": {
15826
+ let resource = "usage";
15827
+ let percentage = null;
15828
+ let upgrade = "";
15829
+ let impending = false;
15830
+ try {
15831
+ const data = JSON.parse(n.content ?? "{}");
15832
+ resource = data.resource === "storage_gb" ? "storage" : "AI credits";
15833
+ if (data.limit > 0) percentage = Math.round(data.used / data.limit * 100);
15834
+ if (data.stage === "before_upgrade") {
15835
+ impending = true;
15836
+ const charge = new Intl.NumberFormat("en-GB", {
15837
+ style: "currency",
15838
+ currency: data.currency || "GBP"
15839
+ }).format(data.charge_ex_vat_pence / 100);
15840
+ upgrade = `An automatic ${resource} upgrade will now be attempted: ${charge} ex VAT.`;
15841
+ } else if (data.automatic_upgrade === true) {
15842
+ upgrade = " An automatic upgrade is available within your limit and will be attempted when needed, subject to payment.";
15843
+ } else if (data.automatic_upgrade === false) {
15844
+ upgrade = data.upgrade_reason === "limit" ? " No automatic upgrade fits your remaining limit. Increase it or add allowances to keep working." : data.upgrade_reason === "payment" ? " Automatic upgrades are paused. Resolve your payment issue to keep working." : " Automatic upgrades are unavailable. Upgrade your plan or reduce usage to keep working.";
15845
+ }
15846
+ } catch {
15847
+ }
15848
+ return {
15849
+ title: impending ? upgrade : `Your project is approaching its ${resource} limit${percentage != null ? ` (${percentage}% used)` : ""}.${upgrade}`,
15850
+ variant: "warning",
15851
+ target: { kind: "projects" }
15852
+ };
15853
+ }
15854
+ case "project_retention": {
15855
+ let deadline = "";
15856
+ try {
15857
+ const data = JSON.parse(n.content ?? "{}");
15858
+ if (data.deletion_at) deadline = new Date(data.deletion_at).toLocaleDateString("en-GB");
15859
+ } catch {
15860
+ }
15861
+ return {
15862
+ title: `Your project subscription has ended. Export or resubscribe${deadline ? ` before ${deadline}` : ""} to keep its data.`,
15863
+ variant: "warning",
15864
+ target: { kind: "projects" }
15865
+ };
15866
+ }
15533
15867
  case "storage_quota_exceeded":
15534
15868
  return {
15535
15869
  title: "Your storage is full. Mail still arrives, but new uploads and attachments are paused until you free space or add storage.",
@@ -16467,6 +16801,63 @@ function ImageCropModal({
16467
16801
  ] })
16468
16802
  ] }) });
16469
16803
  }
16804
+ var REMOTE_CONTROL_VIEW = "actions.remoteControl";
16805
+ var OFF = { enabled: false, pending: null, controllingAgent: null };
16806
+ var remoteControlStateOf = (state) => state.views.transient[REMOTE_CONTROL_VIEW] ?? OFF;
16807
+ function useRemoteControl(selector) {
16808
+ return useArbiSessionState((state) => selector(remoteControlStateOf(state)));
16809
+ }
16810
+ function remoteControlActions(session) {
16811
+ const update2 = (change) => {
16812
+ const state = remoteControlStateOf(session.getState());
16813
+ session.setTransientView(REMOTE_CONTROL_VIEW, { ...state, ...change(state) });
16814
+ };
16815
+ return {
16816
+ /** Stash a requested run and open the consent prompt (`pending` set). */
16817
+ request: (req) => update2(() => ({ pending: req })),
16818
+ /** Resolve the pending request: `forSession` enables it for the whole session; either way
16819
+ * the pending request is cleared. Running it is the caller's job. */
16820
+ grant: ({ forSession }) => update2((state) => ({ enabled: forSession || state.enabled, pending: null })),
16821
+ /** Reject the pending request — clears it, changes nothing else. */
16822
+ deny: () => update2(() => ({ pending: null })),
16823
+ /** Directly set the session enabled flag. Turning it OFF revokes immediately: clears any
16824
+ * pending prompt and the controlling banner (GUARANTEE #5). */
16825
+ setEnabled: (enabled) => update2(() => enabled ? { enabled } : { enabled, pending: null, controllingAgent: null }),
16826
+ /** Set (or clear) the agent whose run is currently executing. */
16827
+ setControllingAgent: (agent) => update2(() => ({ controllingAgent: agent })),
16828
+ /** Back to the session start: off, nothing pending, nobody driving (a sign-in or sign-out). */
16829
+ reset: () => session.setTransientView(REMOTE_CONTROL_VIEW, void 0)
16830
+ };
16831
+ }
16832
+ function hasRunnableSteps(steps) {
16833
+ return Array.isArray(steps) && steps.length > 0 && steps.every((s) => typeof s?.target === "string" && s.target.length > 0);
16834
+ }
16835
+ function toGuidedSteps(steps) {
16836
+ return steps.map((s) => ({
16837
+ target: s.target,
16838
+ do: s.do ?? void 0,
16839
+ value: s.value ?? void 0,
16840
+ note: s.note ?? void 0,
16841
+ pauseMs: s.pauseMs ?? void 0,
16842
+ waitMs: s.waitMs ?? void 0
16843
+ }));
16844
+ }
16845
+ function toRemoteControlRequest(msg, isSequenceId) {
16846
+ const steps = hasRunnableSteps(msg.steps) ? toGuidedSteps(msg.steps) : void 0;
16847
+ const sequenceId = typeof msg.sequence_id === "string" && isSequenceId(msg.sequence_id) ? msg.sequence_id : void 0;
16848
+ if (!steps && !sequenceId) {
16849
+ logger.warn("[RemoteControl] Ignoring message with no runnable action", msg.sequence_id);
16850
+ return null;
16851
+ }
16852
+ return {
16853
+ // The agent is always named in the prompt; fall back to a neutral label rather than leaving
16854
+ // the consent dialog anonymous.
16855
+ agentName: msg.agent_name.trim() || "An assistant",
16856
+ agentExtId: msg.agent_ext_id ?? void 0,
16857
+ sequenceId,
16858
+ steps
16859
+ };
16860
+ }
16470
16861
  function useSupportTickets(options = {}) {
16471
16862
  const arbi = useArbi();
16472
16863
  return useQuery({
@@ -16494,6 +16885,6 @@ function useRateSupportTicket() {
16494
16885
  });
16495
16886
  }
16496
16887
 
16497
- export { AGENT_CONTROL_COMMANDS, AGGREGATE_FIELDS, ALLOWED_PORTAL_ORIGINS, ARCHIVE_POLL_MS, ASSISTANT_MENTION_LABEL, AUTO_CHAT_MODEL, ActivityFeed, AiAnswer, AppleIcon, ArbiHost2 as ArbiHost, ArbiWebSocketProvider, ArtifactCanvas, BOOT_GATE_TIMEOUT_MS, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_ACTION, BOX_SEAT_REFUSED_TITLE, BUILTIN_DATA_SOURCES, CONVERSATION_SWITCH_MEASURE, ChatBubble, CitationRenderer, ConversationList, ConversationScope, DATABASE_RELATION_PICK_LIMIT, DATABASE_ROWS_PAGE, DEFAULT_ASPECT_OPTIONS, DEFAULT_CONVERSATIONS_SOURCE_LABELS, DEFAULT_DATABASE_SOURCE_LABELS, DEFAULT_DOCUMENTS_SOURCE_LABELS, DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES, DEFAULT_PROJECTS_SOURCE_LABELS, DEFAULT_USAGE_SOURCE_LABELS, DEFAULT_WORKSPACES_SOURCE_LABELS, DateSeparator, DmAvatar, DmComposer, DocumentReview, DraftTitleControls, EMPTY_GROUP_LABEL, FACTS_SEARCH_VIEW, FIRST_TOKEN_MEASURE, GitHubIcon, ImageCropModal, ImageCropper, LIVE_UPDATE_TYPES, LinkedInIcon, MAIL_DRAFT_REPLACED_EVENT, MAX_DASHBOARD_SPEC_CHARS, MAX_SERIES, MIN_NARRATION_DWELL_MS, MODEL_GROUP_LABELS, MailOfflineUnavailableError, MessageArtifactCard, OUTBOX_FOLDER, PENDING_SYNC_PREDICATE, POLL_EVERY_MS, PhotoCapture, RUN_WINDOW_MS, SIGNATURE_NOTIFICATION_TYPES, SLOW_AFTER_MS, STILL_WORKING, StorageActionError, TRANSFER_POLL_MS, TaskThreadPendingError, TypingIndicator, UPLOAD_ACCEPT, UPLOAD_MAX_FILE_SIZE, VideoCapture, VoiceNoteRecorder, WORK_NOTIFICATION_LABELS, WORK_OFFLINE_VIEW, __resetPendingFinalCommitsForTests, __resetStreamingTokenBufferForTests, accountPath, addAssistantMessageToCache, addUserMessageToCache, adoptNewChatDocument, aggregateDataset, aliasTakenMessage, allConversationThreads, annotateThread, announceMailDraftReplaced, appendTokenToMessage, applyConversationEvent, applyFinalContextToMessage, applyLiveUpdate, applyNotificationRow, applyOptimisticDocumentEdit, applyOutputItemToMessage, applyTaskEvent, arbiMailClient, archiveName, archivedWorkspaceMessage, assistantLabels, bindThreadDocument, boundDocumentOf, bucketOf2 as bucketOf, bucketRange, buildDocumentMetadataRows, buildMentionCandidates, buildPendingFirstTurn, buildPendingSyncItem, buildWorkspaceArchive, cacheThreadBinding, cachedAssistantMode, cachedMentionCandidates, cachedQuotaUsedUp, calendarNotificationMeta, calendarOfflineSupport, callNotificationMeta, captureFrameAsBlob, claimOfflineQueue, clearLoadingState, clearUserInputRequest, commitFinalMessage, completeQueuedUserMessageByContent, computeOnline, confirmLosingOfflineMail, connectOAuthCalendarAccount, connectorErrorStatus, connectorReturnTo, conversationsPath, createArbiQueryClient, createConversationsSource, createDataSourceRegistry, createDatabaseSource, createDocumentsSource, createMailClient, createMemoryDashboardStore, createProjectsSource, createSkillPack, createStreamHandlers, createUsageSource, createWorkspaceSwitch, createWorkspacesSource, cropImage, dayKey, defaultMailAlias, defineRowsSource, defineSkillPack, deleteLocalDraft, deleteOutboxItem, deploymentUserMeta, describeActivity, describeCalendarNotification, describeServerNotification, discardStreamingTokensForMessage, disconnectAttachedRun, documentActivityMeta, documentActivityPhrase, documentDisplayName, documentMailAttachment, docxMentionMeta, downloadRecoveryFile, enqueueOutbox, ensureAssistantMessageLoading, extractZipFile, fallbackFileName, fileAttachment, filesFromDrop, fillTimeGaps, filterRows, flushStreamingTokens, forgetUploadedDocumentFolder, formatConfigValidationError, formatIdentityPrice, getInterjectionText, getNotificationTypeMeta, getOfflineDocument, getOrphanedLastMessage, getRelatedLabels, getRelatedTotal, getRunStartedAt, getThreadsQueryKey, getWorkspaceActionText, getWorkspaceKind, getWorkspaceSentPhrase, groupMailConversations, hasPendingFinalCommit, hasPendingMailChange, hasVideoTrack, identityStepFor, inputRequestTitle, invalidateCalendarEvents, invalidateCalendars, invalidateConversationActivity, isActivityKey, isAliasTakenError, isArchiveMoving, isCommentToPeople, isDeploymentAdmin, isDeploymentUserNotification, isFullConfig, isMessageRunning, isNetworkFailure, isNotificationRow, isOrphanedUserMessage, isQueuedCalendarWrite, isReplayableArbiMutation, isSignatureNotificationType, isTableViewOf, isTransferFinished, isTransferResumable, isWorkingOffline, isWorkspaceArchivedError, isWorkspaceNotificationType, isZipFile, loadOfflineDocument, loadAttachment as loadOfflineMailAttachment, mailConversationKey, mailDraftIdFromContent, mailJson, mailThreadRoot, markMessageAsFailed, markNarrationSettled, migrateLegacyThreadDocuments, mountDiditVerification, nativeThreadKeys, nextAliasSuggestion, notificationUserName, offlineMailReads, openAccessRequest, parseActivityContent, parseDashboardSpec, parseDeleteAccountBlockers, pendingChatModelSave, peopleDirectory, personOfUser, pickRecentWorkspaces, prepareUploadFiles, queryOfChart, queueMailChange, recordsOf, redlineStats, refuseChatWhenOffline, registerArbiMutationDefaults, registerAttachedRun, removeSettledNarration, requestPersistentStorage, resetCalendarAccountSyncState, resetMessageContent, resolveActiveWorkspace, resolveConfigModel, resolveReplyTarget, retryOutboxItem, rollbackOptimisticDocumentEdit, safePortalUrl, saveLocalDraft, sendMailFile, serializeDashboardSpec, serverNotificationBellEntry, setMessageContent, setUserInputRequest, setWorkOfflineIn, signatureNotificationPhrase, signatureRequestMeta, skillPackPrompt, subscribeDocumentReads, supportsHouseTemplates, textToArtifact, threadBinding, threadEndingAtContains, threadPath, titleFromQuestion, toChatCitations, toMailConversation, toNotificationPreferences, toRedlineMarkdown, toShellWorkspace, updateMessageWithMetadata, updateUserMessageInCache, updateUserMessageStateInCache, uploadFolderOf, uploadedDocumentFolder, useActOnStep, useActiveConfigId, useAddChatMembers, useAddDatabaseRows, useAddHolidayCalendar, useAddProjectAddonBlock, useAddWorkspaceMembers, useAddonQuote, useAgentChats, useAgentConfig, useAgentDmStatus, useAgentModels, useAgentRunControl, useAgentSession, useAgentWorkspaces, useAiTask, useAnswerAgentQuestion, useApplyChatModel, useArbiWebSocket, useArbiWsContext, useArbiWsMessage, useArbiWsStatus, useArchiveProgressPolling, useArchiveWorkspace, useAskAgain, useAssignDocTags, useAuthorizeLimits, useAutoSendDraft, useBookingPages, useBootTimeout, useBranchNavigation, useCalDavProfiles, useCalendarAccounts, useCalendarEvent, useCalendarEventByUid, useCalendarEvents, useCalendarInvitations, useCalendarOfflineRuntime, useCalendarOutbox, useCalendarOverlays, useCalendarSettings, useCalendarShares, useCalendarSupport, useCalendars, useCameraStream, useCanEditShared, useCancelDriveSync, useCancelMailboxSync, useCancelManyPendingSync, useCancelProjectSubscription, useCancelWorkspaceTransfer, useChangeProjectPlan, useChargeWatch, useChatArrivals, useChatPost, useChatSummaries, useChatThread, useChatUnreadTotal, useChats, useClaimNativeAlias, useClaimSecureMail, useCloseAgentSession, useConfigSchema, useConfirmEmailChange, useConnectCalDavAccount, useConnectMailAccount, useConnectOAuthAccount, useConnectRunStream, useConnectedMailFiling, useConnectorAutoSync, useConnectorCatalog, useConnectorVendorVisibility, useContacts, useConversation, useConversationActions, useConversationActivity, useConversationData, useConversationDocuments, useConversationIsShared, useConversationItems, useConversationPendingAuth, useConversationSearch, useConversationSettings, useConversationTurn, useConversationWorkspace, useCreateAgent, useCreateCalendar, useCreateContact, useCreateDatabase, useCreateEvent, useCreateFact, useCreateFacts, useCreateGroupChat, useCreateProject, useCreateProjectCheckout, useCreateRoom, useCreateWork, useCreateWorkflow, useCreateWorkspace, useCurrentSessionId, useCurrentWorkspace, useDashboardStore, useDataSources, useDatabase, useDatabaseAggregate, useDatabaseDashboardStore, useDatabaseRows, useDatabases, useDecideCounter, useDeleteAccount, useDeleteAccountFlow, useDeleteBookingPage, useDeleteCalendar, useDeleteChatMessage, useDeleteConfig, useDeleteContact, useDeleteConversation, useDeleteDashboard, useDeleteDatabase, useDeleteDatabaseRows, useDeleteDocuments, useDeleteEvent, useDeleteFact, useDeleteMessage, useDeleteNotifications, useDeleteProject, useDeleteSkill, useDeleteWorkflow, useDeleteWorkspaces, useDirectModelUsage, useDisconnectCalendarAccount, useDisconnectConnector, useDisconnectMailAccount, useDisconnectSlack, useDismissedTips, useDocumentAutoAdd, useDocumentHostActions, useDocumentPendingSync, useDocumentThumbnails, useDocumentsSupport, useDownloadDocuments, useDriveFolderChildren, useDriveFolderDocCount, useDriveFolders, useDriveSyncEstimate, useDriveSyncProgress, useEmailChange, useEnableDriveSync, useEnableMailboxSync, useExportDatabase, useFacts, useFactsSearch, useFetchCalendarEvent, useFileWaitingNativeMail, useFinaliseTranslation, useFindTime, useFlushOutbox, useFollowThread, useFreeBusy, useGenerateAgentAvatar, useGenerateDocTags, useGrantAgentAccess, useHolidayCountries, useHouseTemplateCandidates, useIdentityVerification, useIdentityVerificationFlow, useImportCalendar, useImportContacts, useImportDatabase, useImportDatabaseRows, useInstallSkillPack, useInvalidateAfterTransfer, useInvalidateProjects, useInvalidateStorage, useInviteContacts, useIsSlow, useIsWorkspaceOwner, useKeepDocumentsOffline, useLinkContact, useLinkMentions, useLocalDrafts, useMailAccounts, useMailAttachmentText, useMailCache, useMailClient, useMailConversations, useMailDraftCompose, useMailDraftEditor, useMailDraftReplaced, useMailFiling, useMailFolders, useMailMessage, useMailMessages, useMailOnline, useMailPolicy, useMailProjects, useMailThread, useMailUnlock, useMailWorkspacePrimer, useMailboxFolders, useMailboxSyncProgress, useMarkChatRead, useMarkDocumentShared, useMarkNotificationsRead, useMcpTools, useMessageTimer, useModelConnections, useMoveEvent, useMoveWorkspaceToProject, useMyConnectors, useNativeMailFiling, useNativeThreadKeys, useNotificationPreferences, useNotifications, useOfflineDocumentIds, useOfflineMailActive, useOfflineMailRuntime, useOfflineMailSettings, useOfflineMailStatus, useOpenSelectedWorkspace, useOpenViewerDocumentId, useOutbox, usePanelDataset, usePassageQuotes, usePasswordChange, usePasswordChangeForm, usePendingMailChanges, usePendingSyncCounts, usePendingSyncItems, usePeople, usePeopleSearch, usePlanQuote, usePlanWork, usePlanWorkspaceTransfer, usePreviewProjectPlanChange, useProcessingTask, useProcessingTasks, useProducts, useProjectBillingPortal, useProjectConversationUsage, usePublishCalendar, useRateSupportTicket, useReadMailMessage, useReconnect, useRefreshCalendar, useRefreshConnectorsOnRunEnd, useRefreshProject, useRelatedDocuments, useRemoveChatMember, useRemoveDocTags, useRemoveDocumentsOffline, useRemoveModelConnection, useRemoveWorkspaceMembers, useRenameChat, useRenameFolder, useRequestEmailChange, useRequestWorkspaceAccess, useRespondToEvent, useResumeCalendarAccountConnect, useResumeWorkspaceTransfer, useRevokeAgentAccess, useRooms, useRunConversation, useRunWorkflow, useSaveAgentConfig, useSaveBookingPage, useSaveCalendarSettings, useSaveConfig, useSaveConfigField, useSaveDashboard, useSaveMailDraft, useSaveModelConnection, useSaveSkill, useSavedDashboards, useSearchContacts, useSearchDatabaseRows, useSearchFacts, useSemanticSearch, useSendMail, useSessions, useSetDeploymentHouseTemplate, useSetNativeMailFiling, useSetSkillVisibility, useSetWorkspaceHouseTemplate, useSetWorkspaceMemberRoles, useShareCalendar, useShellWorkspaces, useSignOut, useSkillSource, useSkills, useSlackConnection, useStartAgentSession, useStartCalendarAccountOAuth, useStartTaskQuery, useStartWorkspaceTransfer, useStopMailFilingRule, useStorageActions, useStorageItemNames, useStorageItems, useStorageProjects, useStorageSnapshots, useStreamHandlers, useSubscribeCalendar, useSupportTicket, useSupportTickets, useSwitchWorkspace, useSyncAccountsOnOpen, useSyncCalendarAccount, useSyncOfflineMailbox, useTerminateSession, useThinkingContent, useThreadDocument, useTriggerDriveSync, useTriggerMailboxSync, useUnarchiveWorkspace, useUnlockModelConnections, useUnreadByPeer, useUnshareCalendar, useUpdateCalendar, useUpdateCalendarAccount, useUpdateContact, useUpdateConversation, useUpdateDatabase, useUpdateDatabaseRow, useUpdateDocTag, useUpdateDocuments, useUpdateEvent, useUpdateFact, useUpdateProjectAddonSettings, useUpdateProjectFields, useUpdateProjectNextPeriodAddons, useUpdateWorkflow, useUpdateWorkspace, useUploadDocuments, useUploadFiles, useUploadFromUrls, useUploadSkillFiles, useUploadUrls, useVideoRecorder, useWorkItems, useWorkOffline, useWorkflowRuns, useWorkflows, useWorkspaceArchive, useWorkspaceDocs, useWorkspaceExportDownload, useWorkspaceNotificationLevel, useWorkspaceProcessing, useWorkspaceRole, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceTrash, useWorkspaceUsers, userDisplayName, userInitials, viewsOfTable, waitForResponseId, wipeCalendarOffline, wipeOfflineDocuments, withRelativePath, workflowRunTitle, workflowStepOf, workspaceHouseTemplateId };
16888
+ export { AGENT_CONTROL_COMMANDS, AGGREGATE_FIELDS, ALLOWED_PORTAL_ORIGINS, ARCHIVE_POLL_MS, ASSISTANT_MENTION_LABEL, AUTO_CHAT_MODEL, ActivityFeed, AiAnswer, AppleIcon, ArbiHost2 as ArbiHost, ArbiWebSocketProvider, ArtifactCanvas, BOOT_GATE_TIMEOUT_MS, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_ACTION, BOX_SEAT_REFUSED_TITLE, BUILTIN_DATA_SOURCES, CONVERSATION_SWITCH_MEASURE, ChatBubble, CitationRenderer, ConversationList, ConversationScope, DATABASE_RELATION_PICK_LIMIT, DATABASE_ROWS_PAGE, DEFAULT_ACTIVITY_SOURCE_LABELS, DEFAULT_ASPECT_OPTIONS, DEFAULT_CONVERSATIONS_SOURCE_LABELS, DEFAULT_DATABASE_SOURCE_LABELS, DEFAULT_DOCUMENTS_SOURCE_LABELS, DEFAULT_FACTS_SOURCE_LABELS, DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES, DEFAULT_PROJECTS_SOURCE_LABELS, DEFAULT_TAGS_SOURCE_LABELS, DEFAULT_USAGE_SOURCE_LABELS, DEFAULT_WORKFLOWS_SOURCE_LABELS, DEFAULT_WORKSPACES_SOURCE_LABELS, DateSeparator, DmAvatar, DmComposer, DocumentReview, DraftTitleControls, EMPTY_GROUP_LABEL, FACTS_SEARCH_VIEW, FIRST_TOKEN_MEASURE, GitHubIcon, ImageCropModal, ImageCropper, LIVE_UPDATE_TYPES, LinkedInIcon, MAIL_DRAFT_REPLACED_EVENT, MAX_DASHBOARD_SPEC_CHARS, MAX_SERIES, MIN_NARRATION_DWELL_MS, MODEL_GROUP_LABELS, MailOfflineUnavailableError, MessageArtifactCard, OUTBOX_FOLDER, PENDING_SYNC_PREDICATE, POLL_EVERY_MS, PhotoCapture, REMOTE_CONTROL_VIEW, RUN_WINDOW_MS, SIGNATURE_NOTIFICATION_TYPES, SLOW_AFTER_MS, STILL_WORKING, StorageActionError, TRANSFER_POLL_MS, TaskThreadPendingError, TypingIndicator, UPLOAD_ACCEPT, UPLOAD_MAX_FILE_SIZE, VideoCapture, VoiceNoteRecorder, WORK_NOTIFICATION_LABELS, WORK_OFFLINE_VIEW, __resetPendingFinalCommitsForTests, __resetStreamingTokenBufferForTests, accountPath, addAssistantMessageToCache, addUserMessageToCache, adoptNewChatDocument, aggregateDataset, aliasTakenMessage, allConversationThreads, annotateThread, announceMailDraftReplaced, appendTokenToMessage, applyConversationEvent, applyFinalContextToMessage, applyLiveUpdate, applyNotificationRow, applyOptimisticDocumentEdit, applyOutputItemToMessage, applyTaskEvent, arbiMailClient, archiveName, archivedWorkspaceMessage, assistantLabels, bindThreadDocument, boundDocumentOf, bucketOf2 as bucketOf, bucketRange, buildDocumentMetadataRows, buildMentionCandidates, buildPendingFirstTurn, buildPendingSyncItem, buildWorkspaceArchive, cacheThreadBinding, cachedAssistantMode, cachedMentionCandidates, cachedQuotaUsedUp, calendarNotificationMeta, calendarOfflineSupport, callNotificationMeta, captureFrameAsBlob, claimOfflineQueue, clearLoadingState, clearUserInputRequest, commitFinalMessage, completeQueuedUserMessageByContent, computeOnline, confirmLosingOfflineMail, connectOAuthCalendarAccount, connectorErrorStatus, connectorReturnTo, conversationsPath, createActivitySource, createArbiQueryClient, createConversationsSource, createDataSourceRegistry, createDatabaseSource, createDocumentsSource, createFactsSource, createMailClient, createMemoryDashboardStore, createProjectsSource, createSkillPack, createStreamHandlers, createTagsSource, createUsageSource, createWorkflowsSource, createWorkspaceSwitch, createWorkspacesSource, cropImage, dayKey, defaultMailAlias, defineRowsSource, defineSkillPack, deleteLocalDraft, deleteOutboxItem, deploymentUserMeta, describeActivity, describeCalendarNotification, describeServerNotification, discardStreamingTokensForMessage, disconnectAttachedRun, documentActivityMeta, documentActivityPhrase, documentDisplayName, documentMailAttachment, docxMentionMeta, downloadRecoveryFile, enqueueOutbox, ensureAssistantMessageLoading, extractZipFile, fallbackFileName, fileAttachment, filesFromDrop, fillTimeGaps, filterRows, flushStreamingTokens, forgetUploadedDocumentFolder, formatConfigValidationError, formatIdentityPrice, getInterjectionText, getNotificationTypeMeta, getOfflineDocument, getOrphanedLastMessage, getRelatedLabels, getRelatedTotal, getRunStartedAt, getThreadsQueryKey, getWorkspaceActionText, getWorkspaceKind, getWorkspaceSentPhrase, groupMailConversations, hasPendingFinalCommit, hasPendingMailChange, hasVideoTrack, identityStepFor, inputRequestTitle, invalidateCalendarEvents, invalidateCalendars, invalidateConversationActivity, isActivityKey, isAliasTakenError, isArchiveMoving, isCommentToPeople, isDeploymentAdmin, isDeploymentUserNotification, isFullConfig, isMessageRunning, isNetworkFailure, isNotificationRow, isOrphanedUserMessage, isQueuedCalendarWrite, isReplayableArbiMutation, isSignatureNotificationType, isTableViewOf, isTransferFinished, isTransferResumable, isWorkingOffline, isWorkspaceArchivedError, isWorkspaceNotificationType, isZipFile, loadOfflineDocument, loadAttachment as loadOfflineMailAttachment, mailConversationKey, mailDraftIdFromContent, mailJson, mailThreadRoot, markMessageAsFailed, markNarrationSettled, migrateLegacyThreadDocuments, mountDiditVerification, nativeThreadKeys, nextAliasSuggestion, notificationUserName, offlineMailReads, openAccessRequest, parseActivityContent, parseDashboardSpec, parseDeleteAccountBlockers, pendingChatModelSave, peopleDirectory, personOfUser, pickRecentWorkspaces, prepareUploadFiles, queryOfChart, queueMailChange, recordsOf, redlineStats, refuseChatWhenOffline, registerArbiMutationDefaults, registerAttachedRun, remoteControlActions, remoteControlStateOf, removeSettledNarration, requestPersistentStorage, resetCalendarAccountSyncState, resetMessageContent, resolveActiveWorkspace, resolveConfigModel, resolveReplyTarget, retryOutboxItem, rollbackOptimisticDocumentEdit, safePortalUrl, saveLocalDraft, sendMailFile, serializeDashboardSpec, serverNotificationBellEntry, setMessageContent, setUserInputRequest, setWorkOfflineIn, signatureNotificationPhrase, signatureRequestMeta, skillPackPrompt, subscribeDocumentReads, supportsHouseTemplates, textToArtifact, threadBinding, threadEndingAtContains, threadPath, titleFromQuestion, toChatCitations, toMailConversation, toNotificationPreferences, toRedlineMarkdown, toRemoteControlRequest, toShellWorkspace, updateMessageWithMetadata, updateUserMessageInCache, updateUserMessageStateInCache, uploadFolderOf, uploadedDocumentFolder, useActOnStep, useActiveConfigId, useAddChatMembers, useAddDatabaseRows, useAddHolidayCalendar, useAddProjectAddonBlock, useAddWorkspaceMembers, useAddonQuote, useAgentChats, useAgentConfig, useAgentDmStatus, useAgentModels, useAgentRunControl, useAgentSession, useAgentWorkspaces, useAiTask, useAnswerAgentQuestion, useApplyChatModel, useArbiWebSocket, useArbiWsContext, useArbiWsMessage, useArbiWsStatus, useArchiveProgressPolling, useArchiveWorkspace, useAskAgain, useAssignDocTags, useAuthorizeLimits, useAutoSendDraft, useBookingPages, useBootTimeout, useBranchNavigation, useCalDavProfiles, useCalendarAccounts, useCalendarEvent, useCalendarEventByUid, useCalendarEvents, useCalendarInvitations, useCalendarOfflineRuntime, useCalendarOutbox, useCalendarOverlays, useCalendarSettings, useCalendarShares, useCalendarSupport, useCalendars, useCameraStream, useCanEditShared, useCancelDriveSync, useCancelMailboxSync, useCancelManyPendingSync, useCancelProjectSubscription, useCancelWorkspaceTransfer, useChangeProjectPlan, useChargeWatch, useChatArrivals, useChatPost, useChatSummaries, useChatThread, useChatUnreadTotal, useChats, useClaimNativeAlias, useClaimSecureMail, useCloseAgentSession, useConfigSchema, useConfirmEmailChange, useConnectCalDavAccount, useConnectMailAccount, useConnectOAuthAccount, useConnectRunStream, useConnectedMailFiling, useConnectorAutoSync, useConnectorCatalog, useConnectorVendorVisibility, useContacts, useConversation, useConversationActions, useConversationActivity, useConversationData, useConversationDocuments, useConversationIsShared, useConversationItems, useConversationPendingAuth, useConversationSearch, useConversationSettings, useConversationTurn, useConversationWorkspace, useCreateAgent, useCreateCalendar, useCreateContact, useCreateDatabase, useCreateEvent, useCreateFact, useCreateFacts, useCreateGroupChat, useCreateProject, useCreateProjectCheckout, useCreateRoom, useCreateWork, useCreateWorkflow, useCreateWorkspace, useCurrentSessionId, useCurrentWorkspace, useDashboardStore, useDataSources, useDatabase, useDatabaseAggregate, useDatabaseDashboardStore, useDatabaseRows, useDatabases, useDecideCounter, useDeleteAccount, useDeleteAccountFlow, useDeleteBookingPage, useDeleteCalendar, useDeleteChatMessage, useDeleteConfig, useDeleteContact, useDeleteConversation, useDeleteDashboard, useDeleteDatabase, useDeleteDatabaseRows, useDeleteDocuments, useDeleteEvent, useDeleteFact, useDeleteMessage, useDeleteNotifications, useDeleteProject, useDeleteSkill, useDeleteWorkflow, useDeleteWorkspaces, useDirectModelUsage, useDisconnectCalendarAccount, useDisconnectConnector, useDisconnectMailAccount, useDisconnectSlack, useDismissedTips, useDocumentAutoAdd, useDocumentHostActions, useDocumentPendingSync, useDocumentThumbnails, useDocumentsSupport, useDownloadDocuments, useDriveFolderChildren, useDriveFolderDocCount, useDriveFolders, useDriveSyncEstimate, useDriveSyncProgress, useEmailChange, useEnableDriveSync, useEnableMailboxSync, useExportDatabase, useFacts, useFactsSearch, useFetchCalendarEvent, useFileWaitingNativeMail, useFinaliseTranslation, useFindTime, useFlushOutbox, useFollowThread, useFreeBusy, useGenerateAgentAvatar, useGenerateDocTags, useGrantAgentAccess, useHolidayCountries, useHouseTemplateCandidates, useIdentityVerification, useIdentityVerificationFlow, useImportCalendar, useImportContacts, useImportDatabase, useImportDatabaseRows, useInstallSkillPack, useInvalidateAfterTransfer, useInvalidateProjects, useInvalidateStorage, useInviteContacts, useIsSlow, useIsWorkspaceOwner, useKeepDocumentsOffline, useLinkContact, useLinkMentions, useLocalDrafts, useMailAccounts, useMailAttachmentText, useMailCache, useMailClient, useMailConversations, useMailDraftCompose, useMailDraftEditor, useMailDraftReplaced, useMailFiling, useMailFolders, useMailMessage, useMailMessages, useMailOnline, useMailPolicy, useMailProjects, useMailThread, useMailUnlock, useMailWorkspacePrimer, useMailboxFolders, useMailboxSyncProgress, useMarkChatRead, useMarkDocumentShared, useMarkNotificationsRead, useMcpTools, useMessageTimer, useModelConnections, useMoveEvent, useMoveWorkspaceToProject, useMyConnectors, useNativeMailFiling, useNativeThreadKeys, useNotificationPreferences, useNotifications, useOfflineDocumentIds, useOfflineMailActive, useOfflineMailRuntime, useOfflineMailSettings, useOfflineMailStatus, useOpenSelectedWorkspace, useOpenViewerDocumentId, useOutbox, usePanelDataset, usePassageQuotes, usePasswordChange, usePasswordChangeForm, usePendingMailChanges, usePendingSyncCounts, usePendingSyncItems, usePeople, usePeopleSearch, usePlanQuote, usePlanWork, usePlanWorkspaceTransfer, usePreviewProjectPlanChange, useProcessingTask, useProcessingTasks, useProducts, useProjectBillingPortal, useProjectConversationUsage, usePublishCalendar, useRateSupportTicket, useReadMailMessage, useReconnect, useRefreshCalendar, useRefreshConnectorsOnRunEnd, useRefreshProject, useRelatedDocuments, useRemoteControl, useRemoveChatMember, useRemoveDocTags, useRemoveDocumentsOffline, useRemoveModelConnection, useRemoveWorkspaceMembers, useRenameChat, useRenameFolder, useRequestEmailChange, useRequestWorkspaceAccess, useRespondToEvent, useResumeCalendarAccountConnect, useResumeWorkspaceTransfer, useRevokeAgentAccess, useRooms, useRunConversation, useRunWorkflow, useSaveAgentConfig, useSaveBookingPage, useSaveCalendarSettings, useSaveConfig, useSaveConfigField, useSaveDashboard, useSaveMailDraft, useSaveModelConnection, useSaveSkill, useSavedDashboards, useSearchContacts, useSearchDatabaseRows, useSearchFacts, useSemanticSearch, useSendMail, useSessions, useSetDeploymentHouseTemplate, useSetNativeMailFiling, useSetSkillVisibility, useSetWorkspaceHouseTemplate, useSetWorkspaceMemberRoles, useShareCalendar, useShellWorkspaces, useSignOut, useSkillSource, useSkills, useSlackConnection, useStartAgentSession, useStartCalendarAccountOAuth, useStartTaskQuery, useStartWorkspaceTransfer, useStopMailFilingRule, useStorageActions, useStorageItemNames, useStorageItems, useStorageProjects, useStorageSnapshots, useStreamHandlers, useSubscribeCalendar, useSupportTicket, useSupportTickets, useSwitchWorkspace, useSyncAccountsOnOpen, useSyncCalendarAccount, useSyncOfflineMailbox, useTerminateSession, useThinkingContent, useThreadDocument, useTriggerDriveSync, useTriggerMailboxSync, useUnarchiveWorkspace, useUnlockModelConnections, useUnreadByPeer, useUnshareCalendar, useUpdateCalendar, useUpdateCalendarAccount, useUpdateContact, useUpdateConversation, useUpdateDatabase, useUpdateDatabaseRow, useUpdateDocTag, useUpdateDocuments, useUpdateEvent, useUpdateFact, useUpdateProjectAddonSettings, useUpdateProjectFields, useUpdateProjectNextPeriodAddons, useUpdateWorkflow, useUpdateWorkspace, useUploadDocuments, useUploadFiles, useUploadFromUrls, useUploadSkillFiles, useUploadUrls, useVideoRecorder, useWorkItems, useWorkOffline, useWorkflowRuns, useWorkflows, useWorkspaceArchive, useWorkspaceDocs, useWorkspaceExportDownload, useWorkspaceNotificationLevel, useWorkspaceProcessing, useWorkspaceRole, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceTrash, useWorkspaceUsers, userDisplayName, userInitials, viewsOfTable, waitForResponseId, wipeCalendarOffline, wipeOfflineDocuments, withRelativePath, workflowRunTitle, workflowStepOf, workspaceHouseTemplateId };
16498
16889
  //# sourceMappingURL=index.js.map
16499
16890
  //# sourceMappingURL=index.js.map