@arbidocs/blocks 0.5.38 → 0.5.39

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 (147) hide show
  1. package/README.md +10 -0
  2. package/dist/{ConnectedCallDock-V7DPSE6X.cjs → ConnectedCallDock-NGHSDLJS.cjs} +4 -4
  3. package/dist/{ConnectedCallDock-V7DPSE6X.cjs.map → ConnectedCallDock-NGHSDLJS.cjs.map} +1 -1
  4. package/dist/{ConnectedCallDock-CT3D6LLI.js → ConnectedCallDock-YJSO52N4.js} +4 -4
  5. package/dist/{ConnectedCallDock-CT3D6LLI.js.map → ConnectedCallDock-YJSO52N4.js.map} +1 -1
  6. package/dist/{ConnectedCallRoom-TNOCSTX2.cjs → ConnectedCallRoom-4XGFFYHE.cjs} +4 -4
  7. package/dist/{ConnectedCallRoom-TNOCSTX2.cjs.map → ConnectedCallRoom-4XGFFYHE.cjs.map} +1 -1
  8. package/dist/{ConnectedCallRoom-A27AM7IQ.js → ConnectedCallRoom-T6NS2MY4.js} +4 -4
  9. package/dist/{ConnectedCallRoom-A27AM7IQ.js.map → ConnectedCallRoom-T6NS2MY4.js.map} +1 -1
  10. package/dist/{ConnectedNativeDocxComparison-RWKFPJPJ.js → ConnectedNativeDocxComparison-52KQKJGY.js} +7 -7
  11. package/dist/{ConnectedNativeDocxComparison-RWKFPJPJ.js.map → ConnectedNativeDocxComparison-52KQKJGY.js.map} +1 -1
  12. package/dist/{ConnectedNativeDocxComparison-H2OZMWHT.cjs → ConnectedNativeDocxComparison-UVLZGS2V.cjs} +8 -8
  13. package/dist/{ConnectedNativeDocxComparison-H2OZMWHT.cjs.map → ConnectedNativeDocxComparison-UVLZGS2V.cjs.map} +1 -1
  14. package/dist/{ConnectedNativeDocxEditor-43BI5LN6.js → ConnectedNativeDocxEditor-BRBL3MOV.js} +6 -6
  15. package/dist/{ConnectedNativeDocxEditor-43BI5LN6.js.map → ConnectedNativeDocxEditor-BRBL3MOV.js.map} +1 -1
  16. package/dist/{ConnectedNativeDocxEditor-6DQEM6SD.cjs → ConnectedNativeDocxEditor-KHR5I7W6.cjs} +8 -8
  17. package/dist/{ConnectedNativeDocxEditor-6DQEM6SD.cjs.map → ConnectedNativeDocxEditor-KHR5I7W6.cjs.map} +1 -1
  18. package/dist/{ConnectedStreamedWordArtifact-3VKYIG6C.cjs → ConnectedStreamedWordArtifact-DSVFI7BX.cjs} +8 -8
  19. package/dist/ConnectedStreamedWordArtifact-DSVFI7BX.cjs.map +1 -0
  20. package/dist/{ConnectedStreamedWordArtifact-TEB332E3.js → ConnectedStreamedWordArtifact-EQUE6WT5.js} +7 -7
  21. package/dist/ConnectedStreamedWordArtifact-EQUE6WT5.js.map +1 -0
  22. package/dist/{WorkspaceTableView-KG546U7M.cjs → WorkspaceTableView-2CGEO5KK.cjs} +6 -6
  23. package/dist/{WorkspaceTableView-KG546U7M.cjs.map → WorkspaceTableView-2CGEO5KK.cjs.map} +1 -1
  24. package/dist/{WorkspaceTableView-OSFIWJ5C.js → WorkspaceTableView-3ARFQYNO.js} +4 -4
  25. package/dist/{WorkspaceTableView-OSFIWJ5C.js.map → WorkspaceTableView-3ARFQYNO.js.map} +1 -1
  26. package/dist/agents/index.cjs +376 -376
  27. package/dist/agents/index.js +2 -2
  28. package/dist/calls/index.cjs +35 -35
  29. package/dist/calls/index.js +7 -7
  30. package/dist/chat/index.cjs +89 -89
  31. package/dist/chat/index.js +2 -2
  32. package/dist/{chunk-BRYRZOS3.cjs → chunk-3YZ3RUSB.cjs} +4 -4
  33. package/dist/{chunk-BRYRZOS3.cjs.map → chunk-3YZ3RUSB.cjs.map} +1 -1
  34. package/dist/{chunk-VPWCARVO.js → chunk-4DDPMLGU.js} +4 -4
  35. package/dist/{chunk-VPWCARVO.js.map → chunk-4DDPMLGU.js.map} +1 -1
  36. package/dist/{chunk-24H5WTGM.js → chunk-4U4NXFV5.js} +4 -4
  37. package/dist/{chunk-24H5WTGM.js.map → chunk-4U4NXFV5.js.map} +1 -1
  38. package/dist/{chunk-6EQSP77K.cjs → chunk-5ZHAHJ4H.cjs} +5 -5
  39. package/dist/{chunk-6EQSP77K.cjs.map → chunk-5ZHAHJ4H.cjs.map} +1 -1
  40. package/dist/{chunk-BIWPXSGS.cjs → chunk-6AJJJ5HR.cjs} +7 -7
  41. package/dist/{chunk-BIWPXSGS.cjs.map → chunk-6AJJJ5HR.cjs.map} +1 -1
  42. package/dist/{chunk-2YCCCXYV.js → chunk-7LN3ISPG.js} +3 -3
  43. package/dist/{chunk-2YCCCXYV.js.map → chunk-7LN3ISPG.js.map} +1 -1
  44. package/dist/{chunk-5NTSJV5H.cjs → chunk-BY2EW2QU.cjs} +16 -91
  45. package/dist/chunk-BY2EW2QU.cjs.map +1 -0
  46. package/dist/{chunk-FHB4G77H.js → chunk-CEO7YI7I.js} +3 -3
  47. package/dist/{chunk-FHB4G77H.js.map → chunk-CEO7YI7I.js.map} +1 -1
  48. package/dist/{chunk-LTO4JYU3.cjs → chunk-DWWRLKEZ.cjs} +188 -2
  49. package/dist/chunk-DWWRLKEZ.cjs.map +1 -0
  50. package/dist/chunk-E3IEZMRK.cjs +507 -0
  51. package/dist/chunk-E3IEZMRK.cjs.map +1 -0
  52. package/dist/{chunk-MLHOG7YH.js → chunk-EFDZRAW6.js} +3 -3
  53. package/dist/{chunk-MLHOG7YH.js.map → chunk-EFDZRAW6.js.map} +1 -1
  54. package/dist/chunk-FOIDBAZB.js +497 -0
  55. package/dist/chunk-FOIDBAZB.js.map +1 -0
  56. package/dist/{chunk-MB3S2ETI.cjs → chunk-G2BKHCI2.cjs} +2 -2
  57. package/dist/chunk-G2BKHCI2.cjs.map +1 -0
  58. package/dist/{chunk-EFSL4O3B.cjs → chunk-GT5FCYV5.cjs} +7 -7
  59. package/dist/{chunk-EFSL4O3B.cjs.map → chunk-GT5FCYV5.cjs.map} +1 -1
  60. package/dist/{chunk-QWKT4DO6.cjs → chunk-GX5MKJ3F.cjs} +433 -2
  61. package/dist/chunk-GX5MKJ3F.cjs.map +1 -0
  62. package/dist/{chunk-C3YIVBTU.cjs → chunk-HDEOORSV.cjs} +9 -9
  63. package/dist/{chunk-C3YIVBTU.cjs.map → chunk-HDEOORSV.cjs.map} +1 -1
  64. package/dist/{chunk-T4P237N6.js → chunk-ILBBV2ZY.js} +2 -2
  65. package/dist/chunk-ILBBV2ZY.js.map +1 -0
  66. package/dist/{chunk-XFSEPGF7.cjs → chunk-K53QRFPJ.cjs} +4 -4
  67. package/dist/{chunk-XFSEPGF7.cjs.map → chunk-K53QRFPJ.cjs.map} +1 -1
  68. package/dist/{chunk-NOKTUWTN.cjs → chunk-K7S5BMAB.cjs} +7 -7
  69. package/dist/{chunk-NOKTUWTN.cjs.map → chunk-K7S5BMAB.cjs.map} +1 -1
  70. package/dist/{chunk-FY4C7HU5.cjs → chunk-O3MRE2HL.cjs} +2233 -8
  71. package/dist/chunk-O3MRE2HL.cjs.map +1 -0
  72. package/dist/{chunk-N3HVTMQK.js → chunk-OPZBIGW4.js} +3 -3
  73. package/dist/{chunk-N3HVTMQK.js.map → chunk-OPZBIGW4.js.map} +1 -1
  74. package/dist/{chunk-JVXHVFUA.cjs → chunk-P6HVJP6Z.cjs} +4 -4
  75. package/dist/{chunk-JVXHVFUA.cjs.map → chunk-P6HVJP6Z.cjs.map} +1 -1
  76. package/dist/{chunk-PXYP3DM5.js → chunk-PD4AKBYZ.js} +432 -6
  77. package/dist/chunk-PD4AKBYZ.js.map +1 -0
  78. package/dist/{chunk-VKY4SQMH.js → chunk-REHG7VRQ.js} +5 -5
  79. package/dist/{chunk-VKY4SQMH.js.map → chunk-REHG7VRQ.js.map} +1 -1
  80. package/dist/{chunk-M4MZPH2S.js → chunk-SEZEEHLU.js} +190 -6
  81. package/dist/chunk-SEZEEHLU.js.map +1 -0
  82. package/dist/{chunk-5JEM3BWT.js → chunk-SYP2A4GQ.js} +4 -4
  83. package/dist/{chunk-5JEM3BWT.js.map → chunk-SYP2A4GQ.js.map} +1 -1
  84. package/dist/{chunk-QFYRXQTD.js → chunk-TTPXMCJL.js} +6 -80
  85. package/dist/chunk-TTPXMCJL.js.map +1 -0
  86. package/dist/{chunk-VMLEISRZ.cjs → chunk-UZVXVTTB.cjs} +17 -17
  87. package/dist/{chunk-VMLEISRZ.cjs.map → chunk-UZVXVTTB.cjs.map} +1 -1
  88. package/dist/{chunk-YDY4GIC2.cjs → chunk-V7JDMKNQ.cjs} +4 -4
  89. package/dist/{chunk-YDY4GIC2.cjs.map → chunk-V7JDMKNQ.cjs.map} +1 -1
  90. package/dist/{chunk-YPR4FSDJ.js → chunk-VA3YYR7R.js} +8 -192
  91. package/dist/chunk-VA3YYR7R.js.map +1 -0
  92. package/dist/{chunk-NUV5F6MM.js → chunk-WAIHNFUH.js} +3 -3
  93. package/dist/{chunk-NUV5F6MM.js.map → chunk-WAIHNFUH.js.map} +1 -1
  94. package/dist/{chunk-H5BFOVVL.cjs → chunk-WRERJFEV.cjs} +2 -188
  95. package/dist/chunk-WRERJFEV.cjs.map +1 -0
  96. package/dist/{chunk-4DKI37QQ.js → chunk-YAGSGBVM.js} +2213 -13
  97. package/dist/chunk-YAGSGBVM.js.map +1 -0
  98. package/dist/{chunk-K6W2GWCN.js → chunk-ZAYUJFPI.js} +3 -3
  99. package/dist/{chunk-K6W2GWCN.js.map → chunk-ZAYUJFPI.js.map} +1 -1
  100. package/dist/connect/docx.cjs +10 -10
  101. package/dist/connect/docx.js +6 -6
  102. package/dist/connect/index.cjs +1237 -591
  103. package/dist/connect/index.cjs.map +1 -1
  104. package/dist/connect/index.d.ts +3 -0
  105. package/dist/connect/index.js +665 -23
  106. package/dist/connect/index.js.map +1 -1
  107. package/dist/connect/viewer.cjs +27 -27
  108. package/dist/connect/viewer.js +10 -10
  109. package/dist/connection/panels/ConnectedPanelHost.d.ts +48 -0
  110. package/dist/connection/panels/useSessionPanelMode.d.ts +18 -0
  111. package/dist/connection/threads-page/ConnectedThreadsPage.d.ts +14 -0
  112. package/dist/connection/threads-page/ThreadSearch.d.ts +24 -0
  113. package/dist/connection/workflows/index.d.ts +1 -0
  114. package/dist/connection/workflows/useWorkflowsPageState.d.ts +134 -0
  115. package/dist/index.cjs +601 -585
  116. package/dist/index.js +8 -8
  117. package/dist/provider/host.d.ts +3 -0
  118. package/dist/shell/PanelPortal.d.ts +30 -0
  119. package/dist/shell/index.cjs +78 -61
  120. package/dist/shell/index.d.ts +3 -0
  121. package/dist/shell/index.js +3 -2
  122. package/dist/shell/panel-host.d.ts +8 -0
  123. package/dist/shell/panel-windows.d.ts +33 -0
  124. package/dist/studio/index.cjs +5 -5
  125. package/dist/studio/index.js +3 -3
  126. package/dist/workflow-canvas/index.cjs +21 -21
  127. package/dist/workflow-canvas/index.js +5 -5
  128. package/node_modules/@arbidocs/coedit/package.json +1 -1
  129. package/package.json +5 -5
  130. package/dist/ConnectedStreamedWordArtifact-3VKYIG6C.cjs.map +0 -1
  131. package/dist/ConnectedStreamedWordArtifact-TEB332E3.js.map +0 -1
  132. package/dist/chunk-4DKI37QQ.js.map +0 -1
  133. package/dist/chunk-5NTSJV5H.cjs.map +0 -1
  134. package/dist/chunk-EZSYYENN.js +0 -2700
  135. package/dist/chunk-EZSYYENN.js.map +0 -1
  136. package/dist/chunk-FY4C7HU5.cjs.map +0 -1
  137. package/dist/chunk-H5BFOVVL.cjs.map +0 -1
  138. package/dist/chunk-LTO4JYU3.cjs.map +0 -1
  139. package/dist/chunk-M4MZPH2S.js.map +0 -1
  140. package/dist/chunk-MB3S2ETI.cjs.map +0 -1
  141. package/dist/chunk-PUX4M22Q.cjs +0 -2735
  142. package/dist/chunk-PUX4M22Q.cjs.map +0 -1
  143. package/dist/chunk-PXYP3DM5.js.map +0 -1
  144. package/dist/chunk-QFYRXQTD.js.map +0 -1
  145. package/dist/chunk-QWKT4DO6.cjs.map +0 -1
  146. package/dist/chunk-T4P237N6.js.map +0 -1
  147. package/dist/chunk-YPR4FSDJ.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { DEFAULT_SPEND_CAP_PENCE, useBillingSupport, findProPrices, packPrice, calcSavingsPercent, parseBudgetPounds, formatMoney, isProProject, useSelfExtId, addonCharge, formatPeriodEnd, quoteParts, taxDetail, money2, ANNUAL_PREMIUM_AI_NOTE, totalWithTaxWord, planBadgeView, isAddonBudgetZero, useRewardBalance, getQuotaItems, aiUsageResetTimestamp, formatResetDate, ZERO_BUDGET_MESSAGE, CAP_REACHED_MESSAGE, quoteError, POSTCODE_COUNTRIES, addonPrice, checkoutBlockPriceText, ADDON_BLOCK_AI_GBP, STORAGE_BLOCK_GB, quoteTotalLine, PRO_PACKS, apiErrorDetail, checkoutItemsLabel, planNameForPacks, proTierName, projectGroupBilling, SUGGESTED_DAILY_CAP_PER_USER, TAX_LOCATION_INVALID, FREE_COLLABORATORS, FREE_AI_GBP, FREE_STORAGE_MB, MAX_CHECKOUT_BLOCKS, PRO_AI_GBP, PRO_STORAGE_GB, plusVat, planPreviewLines, PAY_TODAY_UNPRICED, PLAN_CHOICE_PACKS, reduceBounds, splitBlocks, autoRoom, nextRemovedBlockSize, stepLabel, addStepCaption, blocksLabel, MIN_AUTO_TOPUP_THRESHOLD_GBP, USAGE_CAP_LABEL, USAGE_CAP_HELP, nextPeriodBody, addonSettingsBody, budgetSavedMessage } from '../chunk-K6W2GWCN.js';
3
- export { CAP_REACHED_MESSAGE, ZERO_BUDGET_MESSAGE, aiUsageResetTimestamp, formatMoney, formatResetDate, getQuotaItems, isAddonBudgetZero, isProProject, planBadgeView, planName, projectGroupBilling, useBillingSupport, useRewardBalance } from '../chunk-K6W2GWCN.js';
2
+ import { DEFAULT_SPEND_CAP_PENCE, useBillingSupport, findProPrices, packPrice, calcSavingsPercent, parseBudgetPounds, formatMoney, isProProject, useSelfExtId, addonCharge, formatPeriodEnd, quoteParts, taxDetail, money2, ANNUAL_PREMIUM_AI_NOTE, totalWithTaxWord, planBadgeView, isAddonBudgetZero, useRewardBalance, getQuotaItems, aiUsageResetTimestamp, formatResetDate, ZERO_BUDGET_MESSAGE, CAP_REACHED_MESSAGE, quoteError, POSTCODE_COUNTRIES, addonPrice, checkoutBlockPriceText, ADDON_BLOCK_AI_GBP, STORAGE_BLOCK_GB, quoteTotalLine, PRO_PACKS, apiErrorDetail, checkoutItemsLabel, planNameForPacks, proTierName, projectGroupBilling, SUGGESTED_DAILY_CAP_PER_USER, TAX_LOCATION_INVALID, FREE_COLLABORATORS, FREE_AI_GBP, FREE_STORAGE_MB, MAX_CHECKOUT_BLOCKS, PRO_AI_GBP, PRO_STORAGE_GB, plusVat, planPreviewLines, PAY_TODAY_UNPRICED, PLAN_CHOICE_PACKS, reduceBounds, splitBlocks, autoRoom, nextRemovedBlockSize, stepLabel, addStepCaption, blocksLabel, MIN_AUTO_TOPUP_THRESHOLD_GBP, USAGE_CAP_LABEL, USAGE_CAP_HELP, nextPeriodBody, addonSettingsBody, budgetSavedMessage } from '../chunk-ZAYUJFPI.js';
3
+ export { CAP_REACHED_MESSAGE, ZERO_BUDGET_MESSAGE, aiUsageResetTimestamp, formatMoney, formatResetDate, getQuotaItems, isAddonBudgetZero, isProProject, planBadgeView, planName, projectGroupBilling, useBillingSupport, useRewardBalance } from '../chunk-ZAYUJFPI.js';
4
4
  import { getRoleBadgeClass, formatRole, getRoleDescription, PageLoading, WorkspacePageFrame, WorkspaceIdentityPanel, WorkspaceProjectSlot, WorkspaceAudienceLine, CommonWorkspaceToggle, ExpandableSection, LeaveFooter, WorkspaceTypeBadge, ProjectPicker, ProjectOptionRow, WorkspaceFormModal, FormErrorBanner, WorkspaceFieldsView, FormActions, WorkspaceList, WorkspaceGroup, WorkspaceCard } from '../chunk-PPHUOWCJ.js';
5
5
  import { isAgentAccount, workspaceConversationCount, workspaceDocumentCount, isListedWorkspace, WORKSPACE_CATEGORY_FILTERS, projectFilterId, workspaceFilterAttributes, groupWorkspacesByProject, workspaceGroupStats, byRecentUpdate } from '../chunk-57CG33XJ.js';
6
6
  import { SharedFileView, SharedFilesInbox } from '../chunk-4ML5AMMO.js';
@@ -8,12 +8,12 @@ import { buildFactCitations, citedVersionRef, chronologyFactBodies, docIdsOf, to
8
8
  import { HomeLoadError, HomeFrame, HomeMain, HomeCenteredScroll, HomeCenteredColumn, DashboardRoot, DashboardBand, DashboardColumns, RecentList, DashboardAction, FactsStrip, FactMark, CreateTile } from '../chunk-RH4XIABH.js';
9
9
  import { ProjectBandTitle, PlainBandTitle } from '../chunk-RQKWYKZY.js';
10
10
  import '../chunk-WZ63HE2C.js';
11
- import { MessageJsonTree, DraggableHeader, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, PasswordChangeDialog, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, DeleteAccountDialog, toDeleteBlockerViews, PremiumModelsFrame, ConnectionsLoading, ConnectionsError, ConnectionsEmpty, UsageToggle, SettingsPage, UsageSummary, AppearanceSettings, UsageLineChart, PlanStack, PlanNotice, PlanPickerCard, PlanPickerHeader, PricingToggle, PromoCodeInput, PlanActionButton, SyncDialogBody, SyncField, SyncSelect, SyncSmallNote, SyncLoading, SyncReconnectNotice, SyncNote, SyncTreeFrame, SyncLinkRow, SyncLinkButton, SyncOptions, SyncOptionToggle, SyncDialogFooter, InvoicesDialog, PlanDialogFrame, ProjectList, RenameDialog, SharedProjectsSection, SharedProjectRow, MoreInfo, MoreInfoList, UsagePanel, UsageQuotaHint, UsageSection, UsageLegend, UsageProportionBar, UsageActionButton, ProjectDetailHeader, PlanBadge, ProjectDetailSection, QuotaExceededDialogView, InviteContactsDialog, WelcomeDialog, applyTriStateFilters, PanelFrame, PanelAddButton, PanelFrameBody, PanelScroll, PanelActionsRow, applyInvertedIndexFilter, ConfigSwitcherBar, PanelNote, ProjectRow, QuotaMeter, FilterChip, buildInvertedIndex, serverConnectionView, ServerConnectionButton, ModelProviderLabel, PlanInfoPopover, PlanCardGrid, ReferralRewardSummary, CheckoutDialogFrame, SyncFolderRow, SyncFolderStatus, PlanTierOption, PlanActionRow, SubscriptionStatusView, DailyCapField, ConnectionCard, ReferralRewardNote } from '../chunk-ICCBNHPU.js';
12
- export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-N3HVTMQK.js';
13
- import { useConnectedWorkspaceRole, ConnectedWorkflowLauncher, useConnectedWorkflowScopeSource, ConnectedWorkflowDocumentsField, ConnectedNativeDocxEditor, toWorkflowFieldDocument } from '../chunk-VKY4SQMH.js';
14
- export { ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedWorkflowsTable, DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, toWorkflowFieldDocument, useConnectedAgentOptions, useConnectedWorkflowScopeSource, useConnectedWorkspaceRole, useDocxCommentTarget, useNativeDocxSupport } from '../chunk-VKY4SQMH.js';
15
- import { ConnectedMarkdown, InternalDocLink, ExternalLink, DocumentWorkspaceContext } from '../chunk-VPWCARVO.js';
16
- export { ConnectedDocumentToolsProvider, ConnectedMarkdown, DocumentChip, DocumentWorkspaceContext, ExternalLink, InternalDocLink, MailChip, MermaidDiagram, WorkspaceDocumentReference, useDocumentViewerSupport, useDocumentWorkspace, useViewerDraftDocument, useViewerIsDetached, useViewerPassageCitation, useViewerStreamingDocument } from '../chunk-VPWCARVO.js';
11
+ import { MessageJsonTree, DraggableHeader, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, PasswordChangeDialog, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, DeleteAccountDialog, toDeleteBlockerViews, PremiumModelsFrame, ConnectionsLoading, ConnectionsError, ConnectionsEmpty, UsageToggle, SettingsPage, UsageSummary, AppearanceSettings, UsageLineChart, PlanStack, PlanNotice, PlanPickerCard, PlanPickerHeader, PricingToggle, PromoCodeInput, PlanActionButton, SyncDialogBody, SyncField, SyncSelect, SyncSmallNote, SyncLoading, SyncReconnectNotice, SyncNote, SyncTreeFrame, SyncLinkRow, SyncLinkButton, SyncOptions, SyncOptionToggle, SyncDialogFooter, InvoicesDialog, PlanDialogFrame, ProjectList, RenameDialog, SharedProjectsSection, SharedProjectRow, MoreInfo, MoreInfoList, UsagePanel, UsageQuotaHint, UsageSection, UsageLegend, UsageProportionBar, UsageActionButton, ProjectDetailHeader, PlanBadge, ProjectDetailSection, QuotaExceededDialogView, InviteContactsDialog, WelcomeDialog, applyTriStateFilters, PanelFrame, PanelAddButton, PanelFrameBody, PanelScroll, PanelActionsRow, applyInvertedIndexFilter, ConfigSwitcherBar, PanelNote, FloatingPanel, ProjectRow, QuotaMeter, FilterChip, buildInvertedIndex, serverConnectionView, ServerConnectionButton, ModelProviderLabel, PlanInfoPopover, PlanCardGrid, ReferralRewardSummary, CheckoutDialogFrame, SyncFolderRow, SyncFolderStatus, PlanTierOption, PlanActionRow, SubscriptionStatusView, DailyCapField, ConnectionCard, ReferralRewardNote } from '../chunk-ICCBNHPU.js';
12
+ export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-OPZBIGW4.js';
13
+ import { useConnectedWorkspaceRole, ConnectedWorkflowLauncher, useConnectedWorkflowScopeSource, ConnectedWorkflowDocumentsField, ConnectedNativeDocxEditor, toWorkflowFieldDocument } from '../chunk-REHG7VRQ.js';
14
+ export { ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedWorkflowsTable, DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, toWorkflowFieldDocument, useConnectedAgentOptions, useConnectedWorkflowScopeSource, useConnectedWorkspaceRole, useDocxCommentTarget, useNativeDocxSupport } from '../chunk-REHG7VRQ.js';
15
+ import { ConnectedMarkdown, InternalDocLink, ExternalLink, DocumentWorkspaceContext } from '../chunk-4DDPMLGU.js';
16
+ export { ConnectedDocumentToolsProvider, ConnectedMarkdown, DocumentChip, DocumentWorkspaceContext, ExternalLink, InternalDocLink, MailChip, MermaidDiagram, WorkspaceDocumentReference, useDocumentViewerSupport, useDocumentWorkspace, useViewerDraftDocument, useViewerIsDetached, useViewerPassageCitation, useViewerStreamingDocument } from '../chunk-4DDPMLGU.js';
17
17
  import { ExplorerFileTile, formatFolderSegment, hasFolderProviderIcon, FolderProviderIcon, ExplorerFolderTile, StatusPill, FailedStageIcon, DocumentNameCellFrame, DocumentRowMenu, visibilityToggleTooltip, FolderCell, FolderCommandList, RelatedDocsCell, FilterButton, DOCUMENTS_ROW_HEIGHT_INITIAL, searchExplorerDocuments, buildExplorerEntries, collectFolderDocs, joinFolderPath, getExplorerDisplayName, RECENTLY_DELETED_HINT, RECENTLY_DELETED_HINT_PLURAL, canDeleteDocument, ExplorerFrame, ExplorerStage, ExplorerScroller, ExplorerLoadingTiles, ExplorerEmpty, ExplorerMarquee, ExplorerDropOverlay, ExplorerDragPreview, CheckboxCell, TagColumnHeader, ExplorerFileTooltip, visibilityAudience, TagFormRoot, TagFormNameField, TagFormSelectField, TagFormNote, TagFormOptionsEditor, TagFormInstructionField, TagFormMeta, TagFormFooter, TagFormSharedToggle, FilesViewCenter, FilesFilterBar, TransferProgressView, TransferResumeBanner, ExportResultsReport, TransferScopeChooser, TransferKindsPicker, TransferReferencesChooser, ExportMethodChooser, ExportWorkspacePicker, TransferConflictChooser, TransferPlanSummary, ExportFooter, ExportModalTitle, ROW_MIN, rowHeightForLines, linesForRowHeight, RowDensityControl, VendorLogo, FolderFilterButton, FolderPickerRow, UploadFrame, UploadContainer, SelectedFilesList, RejectedFilesList, UploadErrorMessage, UploadProgress, PrivacyExplainerModal, MultiSelectCellEditor, DOCUMENT_TYPE_OPTIONS, DEFAULT_DOCUMENT_COLUMNS, shareStateOf, BulkActionsBar, shareTooltipFor, parseFolderSegments, AiReviewDialogView, MoveToFolderDialog, sortFields, filterFieldsByName, fieldsApplyBarCopy, FieldsEditorRoot, FieldsEditorToolbar, FieldsEditorList, FieldRow, FieldsEmptyState, fieldsEmptyText, FieldsApplyBar, FieldsManagerDefinition, FieldsManagerBody, FieldsManagerTitle, BulkTagEditorDialog, BulkReplaceDialog, FieldValue, FieldFolderSelect, FieldFolderValue, FieldNativeSelect, FieldWithAttribution, EMAIL_VIEW_COLUMNS, useGridViews, ViewSelectorMenu, FilesAddMenu, applyColumnLayout, applyViewColumns, sortExplorerFiles, FilesPage, UrlInputDialog, FilesPageHeader, FilesToolbar, ExplorerFileNavigator, NavigatorPickerBar, FilesPageMain, DocumentGrid, resolveDocumentGridLayout, FilesModalFooter, BulkLabelSelectView, confirmHideFromMembers, DocumentsFolderButton, FilesTagsButton, UploadSourceSection, UploadSourcePicker, UploadBrowseButtons, canEditDocumentFields, FieldLabelsSelect, ShareToggle, FieldAttribution, UploadDropArea, canChangeVisibility, UploadUrlButton } from '../chunk-P6MVDOCL.js';
18
18
  import { ViewToggle, DocumentViewToggle } from '../chunk-JJA6GQKH.js';
19
19
  import { ModalBreadcrumbHeader, ModalCrumbs } from '../chunk-RC6VTY2H.js';
@@ -25,7 +25,7 @@ import '../chunk-MTSKK3BN.js';
25
25
  import '../chunk-BTTUZZN3.js';
26
26
  import { FactSourcesPanel, FactPassageItem } from '../chunk-HFZ45FD3.js';
27
27
  import '../chunk-IA5BYEO7.js';
28
- import { EntityTooltip, EntityTooltipHeader, EntityTooltipSection, EntityTooltipHint, SharedCell, WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, TagPicker, tagsPageNouns, entitiesPhrase, ExtractEntitiesDialog, GridRowNavigator, LoadingIndicator, EntityIdentityBar, IDENTITY_NAME_MAX_LENGTH, EntityTooltipStats, documentCount, tagTableDocx, tagTableLabels, TagDetail, tagDetailLabels, tagNoteLabel, tagKindDescription, Toolbar, glossaryEntries, glossaryDocx, glossaryMarkdown, glossaryFileName } from '../chunk-FHB4G77H.js';
28
+ import { EntityTooltip, EntityTooltipHeader, EntityTooltipSection, EntityTooltipHint, SharedCell, WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, TagPicker, tagsPageNouns, entitiesPhrase, ExtractEntitiesDialog, GridRowNavigator, LoadingIndicator, EntityIdentityBar, IDENTITY_NAME_MAX_LENGTH, EntityTooltipStats, documentCount, tagTableDocx, tagTableLabels, TagDetail, tagDetailLabels, tagNoteLabel, tagKindDescription, Toolbar, glossaryEntries, glossaryDocx, glossaryMarkdown, glossaryFileName } from '../chunk-CEO7YI7I.js';
29
29
  import { MemberAvatarStack } from '../chunk-FUPAGAZB.js';
30
30
  import { renderSearchSnippet, SearchGroupHeader, isMeaningMatch, extractHighlightTerms, passesRelevanceCutoff, groupSearchResults, SearchPillToggle, SearchPagination, SearchPageFrame, SearchPageHeader, ApplyLabelDialog, SearchPageBody, SearchToolbarRow, SearchBar, SearchControlsBar, RelevanceThreshold, SearchTotalsHeadline, ApplyLabelButton, getSearchMatchHint, SearchResultsMain, SearchResultsInner, SearchErrorBanner, SearchResultList, SearchGroupCard, SearchNoResults, SearchEmptyState } from '../chunk-G4IYES7G.js';
31
31
  import { SearchHit } from '../chunk-XJA6TS6D.js';
@@ -39,13 +39,13 @@ import { PlainMailBodyEditor, MemberNameCell, MemberMutedText, MemberRoleCell, M
39
39
  import '../chunk-NBV56SGU.js';
40
40
  import { ErrorBoundary } from '../chunk-EQ3WRY2N.js';
41
41
  import { LabelMultiSelectView } from '../chunk-JMQLTMJ7.js';
42
- import { workspaceKindColor, WorkspaceIdentity, SidebarBadgeRow, ActionCluster, prefetchChunk } from '../chunk-PXYP3DM5.js';
42
+ import { workspaceKindColor, WorkspaceIdentity, SidebarBadgeRow, ActionCluster, usePanelHostSupport, PanelPortal, PanelModeSwitcher, prefetchChunk } from '../chunk-PD4AKBYZ.js';
43
43
  import { PassagePill, useCopyText } from '../chunk-QG7XCD5U.js';
44
44
  import '../chunk-K4BGOPGG.js';
45
45
  import '../chunk-ZCOVDK2E.js';
46
46
  import { isDefinitionsLabel, DOCX_MIME_TYPE, toDefinitionSource, definitionLabels } from '../chunk-IYUKJESY.js';
47
47
  import { decodeWhitespaceEntities } from '../chunk-AF6RDAJF.js';
48
- import { EntityChip, StepTraceSummary, StepTrace, getCurrentAgentStepPresentation, AssistantEntity, ThreadActivity, SubAgentLane, getAgentStepPresentation, stepAccent, MODEL_TIER_ICON_MAP, StepRow, StepNarration, StepSummary, StepDetail, StepOutcome, StepParams, GoalCriteria, SubStepGroup, MODEL_TIER_LABELS, fromPlanSteps, latestMessageTime, isSupersededStop, compactThreadActivity, unnotifiedMentions, notifiedLabel, linkedRunsFromActivity, getModelIcon, SubagentRoster, buildLibrarySkills, filterLibrarySkills, SKILL_SOURCE_LABELS, SKILL_TYPE_LABELS, SkillViewToggle, SkillFilterChips, SkillTile, SkillGenerateForm, SkillLibraryDetail, parseSkillFrontmatter, SKILL_MAIN_FILENAME, SkillEditForm, DEFAULT_AGENT_CAPABILITIES, stripPersonaPreamble, AgentCreator, DEFAULT_AGENT_TYPES, DEFAULT_AGENT_TEMPLATES, AgentAvatarField, isValidAgentName, AgentConnectInstructions, TaskRunsDialog, TaskActivityDialog, WorkflowStepBar, ConsentPage, ConsentCard, ConsentHeader, ConsentNotice, ConsentSection, ConsentBulletList, ConsentStrong, ConsentText, ConfigForm, AgentEditView, AgentMainView, AgentCreatedView, AgentCreateView, GENERATE_IMAGE_ID, IMAGE_ASPECT_AUTO, taskComposerToCreateRequest, taskComposerToUpdateRequest, composerToWorkflowUpdate, deriveAnnotationName, ANNOTATE_ID, recordWorkflowUse, renderWorkflowIcon, useWorkflowUsage, WEB_WORKFLOWS, DASHBOARD_PINNED, CUSTOM_TASK, REMIND_TASK, DASHBOARD_OPERATIONS, sortByRecentUse, openWorkflowLaunch, useWorkflowLaunchRequest, WorkflowRunStatus, ThreadStatusLine, WorkflowThreadStrip, WorkflowStepAction, WorkflowThreadStartedBy, TaskFlow, moveTargets, workflowToComposerValues, REMIND_TASK_ID, CUSTOM_TASK_ID, taskToComposerValues, TaskComposer, AUTOMATION_EVENTS, TaskPlan, TaskStartDialog, ThreadLauncher, NewThreadDialog, AgentBar, AgentBarNotes, AgentBarQueuedNote, AgentBarProbeAnswer, BUILTIN_SKILLS, TaskEmptyState, ConsentMessage, CopyableUrl, ConsentPermissionList, ConsentActions, ConsentFootnote, AgentBarStatus, AgentBarIconButton, AgentBarMenu, composePersona, newThreadToRequest, importSkillFile, importSkillFromUrl, WorkflowRunner, skillSlug, serializeSkill, toPlanSteps, useWorkflowView, STATUS_LABELS, asTaskStatus, workflowToSkillMarkdown, closeWorkflowLaunch } from '../chunk-4DKI37QQ.js';
48
+ import { EntityChip, StepTraceSummary, StepTrace, getCurrentAgentStepPresentation, AssistantEntity, ThreadActivity, SubAgentLane, getAgentStepPresentation, stepAccent, MODEL_TIER_ICON_MAP, StepRow, StepNarration, StepSummary, StepDetail, StepOutcome, StepParams, GoalCriteria, SubStepGroup, MODEL_TIER_LABELS, fromPlanSteps, latestMessageTime, isSupersededStop, compactThreadActivity, unnotifiedMentions, notifiedLabel, linkedRunsFromActivity, getModelIcon, SubagentRoster, buildLibrarySkills, filterLibrarySkills, SKILL_SOURCE_LABELS, SKILL_TYPE_LABELS, SkillViewToggle, SkillFilterChips, SkillTile, SkillGenerateForm, SkillLibraryDetail, parseSkillFrontmatter, SKILL_MAIN_FILENAME, SkillEditForm, DEFAULT_AGENT_CAPABILITIES, stripPersonaPreamble, AgentCreator, DEFAULT_AGENT_TYPES, DEFAULT_AGENT_TEMPLATES, AgentAvatarField, isValidAgentName, AgentConnectInstructions, TaskRunsDialog, TaskActivityDialog, WorkflowStepBar, ConsentPage, ConsentCard, ConsentHeader, ConsentNotice, ConsentSection, ConsentBulletList, ConsentStrong, ConsentText, ConfigForm, AgentEditView, AgentMainView, AgentCreatedView, AgentCreateView, GENERATE_IMAGE_ID, IMAGE_ASPECT_AUTO, taskComposerToCreateRequest, taskComposerToUpdateRequest, composerToWorkflowUpdate, deriveAnnotationName, ANNOTATE_ID, recordWorkflowUse, renderWorkflowIcon, useWorkflowUsage, WEB_WORKFLOWS, DASHBOARD_PINNED, CUSTOM_TASK, REMIND_TASK, DASHBOARD_OPERATIONS, sortByRecentUse, openWorkflowLaunch, useWorkflowLaunchRequest, WorkflowRunStatus, ThreadStatusLine, WorkflowThreadStrip, WorkflowStepAction, WorkflowThreadStartedBy, TaskFlow, moveTargets, workflowToComposerValues, REMIND_TASK_ID, CUSTOM_TASK_ID, taskToComposerValues, TaskComposer, AUTOMATION_EVENTS, TaskPlan, TaskStartDialog, ThreadLauncher, NewThreadDialog, AgentBar, AgentBarNotes, AgentBarQueuedNote, AgentBarProbeAnswer, BUILTIN_SKILLS, TaskEmptyState, ConsentMessage, CopyableUrl, ConsentPermissionList, ConsentActions, ConsentFootnote, ConversationListView, ConversationTurnSpeaker, TaskInbox, AgentBarStatus, AgentBarIconButton, AgentBarMenu, composePersona, newThreadToRequest, importSkillFile, importSkillFromUrl, WorkflowRunner, skillSlug, serializeSkill, toPlanSteps, useWorkflowView, STATUS_LABELS, asTaskStatus, workflowToSkillMarkdown, closeWorkflowLaunch } from '../chunk-YAGSGBVM.js';
49
49
  import { MultiSelect } from '../chunk-CQCC7LE7.js';
50
50
  import { PersonPill, documentScopeLabels, matchWorkflowScope } from '../chunk-7CHI36EP.js';
51
51
  import { SectionLabel } from '../chunk-2C3I27VI.js';
@@ -63,18 +63,18 @@ import { PasswordStrengthInput } from '../chunk-P6OLZGQA.js';
63
63
  import { attendeeKey, upcomingOf, conferenceUrl, isWebinarConference, canJoinEvent, calendarToListItem, buildGridEvents, pendingCreateToGrid, newEventDraft, MiniMonth, CalendarList, CalendarGrid, printCalendar, EventDetails, ScopeDialog, CalendarFormDialog, ProposeTimeDialog, isCalendarAttachment, parseIcsInvite, formatEventWhen, groupSlotsByDay, publicBookingMessage, formatSlotRange, zoneOptions, buildTimeChangeRequest, eventToDraft, needsScope, validateDraft, CALENDAR_DEFAULT_LABELS, buildCreateBody, buildDeleteTarget, EventEditor, toSettingsValue, CalendarSettingsForm, describeCalendarError, normalizeFeedUrl, parseOverlayLink, isAllDayDraft, draftRangeUtc, freeBusyToRows, SchedulingAssistant, applySuggestion, toSuggestionViews, bookingLink, defaultRoomWindow, bookingToForm, emptyBookingForm, slugify, WeeklyHoursEditor, validateBookingForm, formToBookingBody, WEEKDAY_NAMES, formatBusy, buildEditRequest } from '../chunk-AWVGKHJT.js';
64
64
  import { detectTimeZone, utcToDate, formatPlainDate, formatInZone, safeZone, todayInZone, addDays, listTimeZones, wallToUtc } from '../chunk-OJIX5NBN.js';
65
65
  import { DocumentPicker } from '../chunk-WNDIVNPT.js';
66
- import { useTranscriptRuns, TranscriptEntry, ThreadCallLogCard, RecordingCard, useMeetingThreadMessages, threadTranscriptRuns, useProvisionalSpeakers, TranscriptRunsContext, ProvisionalSpeakers, CallConversationEmpty } from '../chunk-24H5WTGM.js';
67
- export { useMeetingThreadMessages } from '../chunk-24H5WTGM.js';
66
+ import { useTranscriptRuns, TranscriptEntry, ThreadCallLogCard, RecordingCard, useMeetingThreadMessages, threadTranscriptRuns, useProvisionalSpeakers, TranscriptRunsContext, ProvisionalSpeakers, CallConversationEmpty } from '../chunk-4U4NXFV5.js';
67
+ export { useMeetingThreadMessages } from '../chunk-4U4NXFV5.js';
68
68
  import { parseCallLogDetail } from '../chunk-S3YRRD54.js';
69
- import { useDocumentFilter, useConnectedTags, useConnectedDocuments, useConnectedConversations, useListedDocuments, listedDocuments } from '../chunk-5JEM3BWT.js';
70
- export { isListedDocument, useConnectedConversations, useConnectedDocuments, useConnectedTags, useDocumentFilter, useListedDocuments } from '../chunk-5JEM3BWT.js';
71
- import { useConnectedWorkspace, useConnection, useOptionalConnection, ConnectionProvider } from '../chunk-2YCCCXYV.js';
72
- export { SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnectedWorkspace, useConnection } from '../chunk-2YCCCXYV.js';
69
+ import { useDocumentFilter, useConnectedTags, useConnectedDocuments, useConnectedConversations, useListedDocuments, listedDocuments } from '../chunk-SYP2A4GQ.js';
70
+ export { isListedDocument, useConnectedConversations, useConnectedDocuments, useConnectedTags, useDocumentFilter, useListedDocuments } from '../chunk-SYP2A4GQ.js';
71
+ import { useConnectedWorkspace, useConnection, useOptionalConnection, ConnectionProvider } from '../chunk-7LN3ISPG.js';
72
+ export { SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnectedWorkspace, useConnection } from '../chunk-7LN3ISPG.js';
73
73
  import { DmThreadHeader, DmInviteChip } from '../chunk-2S3LT5KE.js';
74
- import { useHost, ArbiHost } from '../chunk-T4P237N6.js';
74
+ import { useHost, ArbiHost } from '../chunk-ILBBV2ZY.js';
75
75
  import { TabHeader } from '../chunk-ABEKUV6L.js';
76
76
  import { EmptyState } from '../chunk-P6GHJSLR.js';
77
- import { useLongPaste, useRecipientDraft, SlashMenu, ContextUsageBar, findMessageDocument, getParticipantTints, flashMessage, parseSlashTokenInProgress, buildSlashItems, filterSlashItems, copyMessageToClipboard, BranchControls, ThreadVisualizer, downloadTableAsCsv, useOpenCitation, ModelAutoIcon, ModelTierIcon, ModelDot, ModelPricingTip, ModelPickerPopover, ModelOption, ModelMenuDivider, ModelTierOption, ModelConfigureButton, ModelMenuMessage, ModelPickerTrigger, ModelTriggerContent, ModelOptionLabel, ConversationBody, ConversationMain, ConversationLoading, PendingAnswerBar, ComposerTools, PaModeBadge, ComposerAccessories, DraftingDocChip } from '../chunk-M4MZPH2S.js';
77
+ import { useLongPaste, useRecipientDraft, SlashMenu, ContextUsageBar, findMessageDocument, getParticipantTints, flashMessage, parseSlashTokenInProgress, buildSlashItems, filterSlashItems, copyMessageToClipboard, BranchControls, ThreadVisualizer, downloadTableAsCsv, useOpenCitation, ModelAutoIcon, ModelTierIcon, ModelDot, ModelPricingTip, ModelPickerPopover, ModelOption, ModelMenuDivider, ModelTierOption, ModelConfigureButton, ModelMenuMessage, ModelPickerTrigger, ModelTriggerContent, ModelOptionLabel, ConversationBody, ConversationMain, ConversationLoading, PendingAnswerBar, ComposerTools, PaModeBadge, ComposerAccessories, DraftingDocChip, groupOutputsByConversation, ConversationSearchView } from '../chunk-SEZEEHLU.js';
78
78
  import { ComposerSend, ComposerVoiceButton, Composer, MessageActionMenu, MessageActionButton, MessageFooter, MessageRoot, MessageContent, MessageAuthor, MessageBubble, MessageByline, MessageSubagentBadge, MessageBody, MessageNarration, useStreamAnnouncement, MessageList, WorkflowStepChip, MessageSources, ChatPage, ConversationEmpty, MessageAlert, ComposerDock, ComposerContainer, ScrollToBottom } from '../chunk-AL7EXOX5.js';
79
79
  import { workspaceDocIdFromHref } from '../chunk-DDCMLHXF.js';
80
80
  import '../chunk-7XF5SFJ2.js';
@@ -94,11 +94,11 @@ import { ModalSection, ModalHeader, ModalScaffold, ModalSectionTitle } from '../
94
94
  import '../chunk-7F6CBP3Z.js';
95
95
  import '../chunk-VUNV25KB.js';
96
96
  import { QueryClient, useQueryClient, QueryClientProvider } from '@tanstack/react-query';
97
- import { useWorkspaces, ArbiBotHeadIcon, IN_FLIGHT_DOCUMENT_STATUSES, useOfflineDocumentIds, useOpenViewerDocumentId, FINISHED_DOCUMENT_STATUSES, useMailPolicy, useProcessingTasks, resolveDocumentStatus, useArbi, useIsCreatingTag, useUpdateDocuments, useDeleteDocuments, useRenameFolder, useDownloadDocuments, useTags, useDocumentHostActions, useDocumentThumbnails, HtmlIcon, useArbiSessionState, selectDraft, useArbiSessionStore, useAudioRecorder, MicRecordingOverlay, useArbiWsStatus, useArbiWsStore, useUserSettings, useProcessingTask, useDocumentPendingSync, useWorkspaceUsers, useMessageTimer, useDocuments, useAvailableModels, formatGbp, CitationRenderer, useArbiSession, buildMentionCandidates, useConversations, ASSISTANT_MENTION_LABEL, useConversationItems, useDeleteMessage, useArbiHost, transcriptSegmentOf, useConfig, useThinkingContent, useCreateFact, useCreateFacts, workflowStepOf, stripSpeakerPrefix, MessageArtifactCard, useConversationData, useBranchNavigation, useSkills, useBuiltinCommands, useDocumentsSupport, useConversationActivity, useMessageDetails, useWorkflows, getWorkspaceKind, resolveConfigModel, useRunConversation, useWorkspaceActivity, callLink, openCall, startDmCall, calendarQueryKeys, mailQueryKeys, arbiQueryKeys, invalidateConversationLists, isWorkspaceNotificationType, useNotifications, useDeleteNotifications, useMarkNotificationsRead, useCallsEnabled, serverNotificationBellEntry, documentDisplayName, useArbiWebSocket, isNotificationRow, usePendingSyncItems, useCancelManyPendingSync, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, useSaveSkill, useSetSkillVisibility, useDeleteSkill, useSkillSource, useAgentModels, useMcpTools, useAgentConfig, useAgentWorkspaces, useCreateAgent, useSaveAgentConfig, useGrantAgentAccess, useRevokeAgentAccess, useGenerateAgentAvatar, useWorkflowRuns, useAgents, ArtifactCanvas, ConversationScope, useConversation, useTagKindSchema, useCreateTag, useSetTagValues, useUpdateTagKindSchema, useUpdateTag, useFacts, useDeleteTag, useExtractEntities, useEntityExtractionDocIds, useStartWorkspaceTransfer, useResumeWorkspaceTransfer, useCancelWorkspaceTransfer, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceExportDownload, usePlanWorkspaceTransfer, isTransferResumable, isTransferFinished, useShellWorkspaces, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailAccounts, useUpdateUserSettings, useDismissedTips, useConnectorVendorVisibility, useConnectorCatalog, useMyConnectors, useDisconnectConnector, useSlackConnection, useDisconnectSlack, isMailboxSyncVendor, isSharePointVendor, useWorkspaceTrash, useInvalidateStorage, useStorageActions, useStorageItems, useStorageItemNames, useStorageProjects, useUserUsageToday, useStorageSnapshots, useUpdateWorkspace, useAddWorkspaceMembers, useRemoveWorkspaceMembers, useSetWorkspaceMemberRoles, toShellWorkspace, useIsSlow, useProducts, useCreateProject, useDeleteProject, useCanCreateProjects, PROJECT_CREATION_DENIED_REASON, useEnableMailboxSync, useMailboxFolders, useEnableDriveSync, useDriveFolderChildren, connectorErrorStatus, useProjectInvoices, useProjects, useUpdateProjectFields, useChargeWatch, useAddonQuote, STILL_WORKING, useProjectBillingPortal, useProjectUsage, useRefreshProject, useBoxRole, useContacts, useInviteContacts, useDeleteWorkspaces, useCreateContact, useUpdateContact, useLinkContact, useEntitlements, useImportContacts, entitlementRefusal, useDeleteContact, MAX_RETRIEVE_DOC_IDS, useSemanticSearch, useAssignDocTags, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useCalendarEvents, useCalendars, useCanHostCalls, useOpenCallMeetingChat, usePeople, useFetchCalendarEvent, useCalendarSettings, useCalendarOverlays, useCalendarOutbox, useCalendarAccounts, useSyncAccountsOnOpen, useResumeCalendarAccountConnect, useCreateEvent, useUpdateEvent, useDeleteEvent, useMoveEvent, useRespondToEvent, useCreateCalendar, useUpdateCalendar, useDeleteCalendar, useImportCalendar, useSaveCalendarSettings, useRefreshCalendar, useCalendarEvent, useMailAttachmentText, useCalendarEventByUid, getPublicBookingPage, bookPublicSlot, PublicBookingError, isZipFile, prepareUploadFiles, UPLOAD_MAX_FILE_SIZE, filesFromDrop, UPLOAD_ACCEPT, useUploadFromUrls, useUploadFiles, useUpdateDocTag, useRemoveDocTags, useKeepDocumentsOffline, useRemoveDocumentsOffline, subscribeDocumentRows, useGenerateDocTags, useRefreshDocuments, useDocumentsLoading, selectViewingDocumentId, useRelatedDocuments, useDatabases, useCreateDatabase, useImportDatabase, myChatId, useChatThread, useChatPost, useDeleteChatMessage, useMarkChatRead, setOpenChat, useAgentDmStatus, annotateThread, userDisplayName, DmComposer, TypingIndicator, useRenameChat, useAddChatMembers, useRemoveChatMember, useChats, useChatSummaries, useCreateGroupChat, useChatArrivals, useApplyChatModel, AUTO_CHAT_MODEL, formatGbpPerMillionTokens, useConfigSchema, useSaveConfig, useConversationPendingAuth, openAccessRequest, useRequestWorkspaceAccess, useIsEntitled, ImageCropper, useCreateWork, useRunWorkflow, useStartTaskQuery, useCreateWorkflow, useUpdateConversation, useUpdateWorkflow, threadTabId, useCanEditShared, useActOnStep, usePlanWork, useWorkItems, TaskThreadPendingError, useMentionCandidates, useAgentRunControl, useConnectRunStream, useAnswerAgentQuestion, useConversationIsShared, useWorkspaceRole, buildPendingFirstTurn, useConversationTurn, useAskAgain, getOrphanedLastMessage, refuseChatWhenOffline, useThreadDocument, useDocumentAutoAdd, useAutoSendDraft, READ_ONLY_MEETING_TEXT, useAgentSession, useStartAgentSession, useCloseAgentSession, downloadRecoveryFile, LinkedInIcon, GoogleIcon, AppleIcon, useCurrentUser, isQueuedCalendarWrite, DateSeparator, ChatBubble, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, connectorReturnTo, DmAvatar, ConversationList, GitHubIcon, cropImage, getRelatedTotal, isDeploymentUserNotification, describeServerNotification, getWorkspaceActionText, getWorkspaceSentPhrase, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_TITLE, documentActivityPhrase, isSignatureNotificationType, inputRequestTitle, WORK_NOTIFICATION_LABELS, useConversationThreads, usePassageQuotes, useUpdateFact, useDeleteFact, useAccountClient, usePlanQuote, useCreateProjectCheckout, useInvalidateProjects, useCreateWorkspace, useDriveFolderDocCount, useChangeProjectPlan, useCancelProjectSubscription, usePreviewProjectPlanChange, useAddProjectAddonBlock, useSwitchWorkspace, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, useCalendarInvitations, useDecideCounter, useSearchContacts, usePublishCalendar, useCalendarShares, useShareCalendar, useUnshareCalendar, useSubscribeCalendar, useHolidayCountries, useAddHolidayCalendar, cancelPublicBooking, useDatabase, useDatabaseRows, useUpdateDatabase, useDeleteDatabase, useAddDatabaseRows, useUpdateDatabaseRow, useDeleteDatabaseRows, useImportDatabaseRows, useExportDatabase, DATABASE_ROWS_PAGE, useInvalidateAfterTransfer, useConfigs, useSaveConfigField, useDeleteConfig, isFullConfig, useChatUnreadTotal, useUnreadByPeer, useProjectConversationUsage, AiAnswer, ArbiWebSocketProvider, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useBookingPages, useDeleteBookingPage, useRooms, useSearchDatabaseRows, isReplayableArbiMutation, SHAREPOINT_VENDORS, useUpdateProjectNextPeriodAddons, useUpdateProjectAddonSettings, useSyncCalendarAccount, useUpdateCalendarAccount, useDisconnectCalendarAccount, ACCOUNT_VENDOR, useCalDavProfiles, useConnectCalDavAccount, useSaveBookingPage, useCreateRoom } from '@arbidocs/react';
97
+ import { useWorkspaces, ArbiBotHeadIcon, IN_FLIGHT_DOCUMENT_STATUSES, useOfflineDocumentIds, useOpenViewerDocumentId, FINISHED_DOCUMENT_STATUSES, useMailPolicy, useProcessingTasks, resolveDocumentStatus, useArbi, useIsCreatingTag, useUpdateDocuments, useDeleteDocuments, useRenameFolder, useDownloadDocuments, useTags, useDocumentHostActions, useDocumentThumbnails, HtmlIcon, useArbiSessionState, selectDraft, useArbiSessionStore, useAudioRecorder, MicRecordingOverlay, useArbiWsStatus, useArbiWsStore, useUserSettings, useProcessingTask, useDocumentPendingSync, useWorkspaceUsers, useMessageTimer, useDocuments, useAvailableModels, formatGbp, CitationRenderer, useArbiSession, buildMentionCandidates, useConversations, ASSISTANT_MENTION_LABEL, useConversationItems, useDeleteMessage, useArbiHost, transcriptSegmentOf, useConfig, useThinkingContent, useCreateFact, useCreateFacts, workflowStepOf, stripSpeakerPrefix, MessageArtifactCard, useConversationData, useBranchNavigation, useSkills, useBuiltinCommands, useDocumentsSupport, useConversationActivity, useMessageDetails, useWorkflows, getWorkspaceKind, resolveConfigModel, useRunConversation, useWorkspaceActivity, callLink, openCall, startDmCall, calendarQueryKeys, mailQueryKeys, arbiQueryKeys, invalidateConversationLists, isWorkspaceNotificationType, useNotifications, useDeleteNotifications, useMarkNotificationsRead, useCallsEnabled, serverNotificationBellEntry, documentDisplayName, useArbiWebSocket, isNotificationRow, usePendingSyncItems, useCancelManyPendingSync, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, useSaveSkill, useSetSkillVisibility, useDeleteSkill, useSkillSource, useAgentModels, useMcpTools, useAgentConfig, useAgentWorkspaces, useCreateAgent, useSaveAgentConfig, useGrantAgentAccess, useRevokeAgentAccess, useGenerateAgentAvatar, useWorkflowRuns, useAgents, ArtifactCanvas, ConversationScope, useConversation, useTagKindSchema, useCreateTag, useSetTagValues, useUpdateTagKindSchema, useUpdateTag, useFacts, useDeleteTag, useExtractEntities, useEntityExtractionDocIds, useStartWorkspaceTransfer, useResumeWorkspaceTransfer, useCancelWorkspaceTransfer, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceExportDownload, usePlanWorkspaceTransfer, isTransferResumable, isTransferFinished, useShellWorkspaces, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailAccounts, useUpdateUserSettings, useDismissedTips, useConnectorVendorVisibility, useConnectorCatalog, useMyConnectors, useDisconnectConnector, useSlackConnection, useDisconnectSlack, isMailboxSyncVendor, isSharePointVendor, useWorkspaceTrash, useInvalidateStorage, useStorageActions, useStorageItems, useStorageItemNames, useStorageProjects, useUserUsageToday, useStorageSnapshots, useUpdateWorkspace, useAddWorkspaceMembers, useRemoveWorkspaceMembers, useSetWorkspaceMemberRoles, toShellWorkspace, useIsSlow, useProducts, useCreateProject, useDeleteProject, useCanCreateProjects, PROJECT_CREATION_DENIED_REASON, useEnableMailboxSync, useMailboxFolders, useEnableDriveSync, useDriveFolderChildren, connectorErrorStatus, useProjectInvoices, useProjects, useUpdateProjectFields, useChargeWatch, useAddonQuote, STILL_WORKING, useProjectBillingPortal, useProjectUsage, useRefreshProject, useBoxRole, useContacts, useInviteContacts, useDeleteWorkspaces, useCreateContact, useUpdateContact, useLinkContact, useEntitlements, useImportContacts, entitlementRefusal, useDeleteContact, MAX_RETRIEVE_DOC_IDS, useSemanticSearch, useAssignDocTags, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useCalendarEvents, useCalendars, useCanHostCalls, useOpenCallMeetingChat, usePeople, useFetchCalendarEvent, useCalendarSettings, useCalendarOverlays, useCalendarOutbox, useCalendarAccounts, useSyncAccountsOnOpen, useResumeCalendarAccountConnect, useCreateEvent, useUpdateEvent, useDeleteEvent, useMoveEvent, useRespondToEvent, useCreateCalendar, useUpdateCalendar, useDeleteCalendar, useImportCalendar, useSaveCalendarSettings, useRefreshCalendar, useCalendarEvent, useMailAttachmentText, useCalendarEventByUid, getPublicBookingPage, bookPublicSlot, PublicBookingError, isZipFile, prepareUploadFiles, UPLOAD_MAX_FILE_SIZE, filesFromDrop, UPLOAD_ACCEPT, useUploadFromUrls, useUploadFiles, useUpdateDocTag, useRemoveDocTags, useKeepDocumentsOffline, useRemoveDocumentsOffline, subscribeDocumentRows, useGenerateDocTags, useRefreshDocuments, useDocumentsLoading, selectViewingDocumentId, useRelatedDocuments, useDatabases, useCreateDatabase, useImportDatabase, myChatId, useChatThread, useChatPost, useDeleteChatMessage, useMarkChatRead, setOpenChat, useAgentDmStatus, annotateThread, userDisplayName, DmComposer, TypingIndicator, useRenameChat, useAddChatMembers, useRemoveChatMember, useChats, useChatSummaries, useCreateGroupChat, useChatArrivals, useApplyChatModel, AUTO_CHAT_MODEL, formatGbpPerMillionTokens, useConfigSchema, useSaveConfig, useConversationPendingAuth, openAccessRequest, useRequestWorkspaceAccess, useIsEntitled, ImageCropper, useCreateWork, useRunWorkflow, useStartTaskQuery, useCreateWorkflow, useUpdateConversation, useUpdateWorkflow, threadTabId, useCanEditShared, useActOnStep, usePlanWork, useWorkItems, TaskThreadPendingError, useMentionCandidates, useAgentRunControl, useConnectRunStream, useAnswerAgentQuestion, useConversationIsShared, useWorkspaceRole, buildPendingFirstTurn, useConversationTurn, useAskAgain, getOrphanedLastMessage, refuseChatWhenOffline, useThreadDocument, useDocumentAutoAdd, useAutoSendDraft, READ_ONLY_MEETING_TEXT, useAgentSession, useStartAgentSession, useCloseAgentSession, downloadRecoveryFile, LinkedInIcon, GoogleIcon, AppleIcon, useCurrentUser, useTransientView, useDeleteConversation, useIsWorkspaceOwner, isQueuedCalendarWrite, DateSeparator, ChatBubble, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, connectorReturnTo, DmAvatar, ConversationList, GitHubIcon, cropImage, getRelatedTotal, isDeploymentUserNotification, describeServerNotification, getWorkspaceActionText, getWorkspaceSentPhrase, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_TITLE, documentActivityPhrase, isSignatureNotificationType, inputRequestTitle, WORK_NOTIFICATION_LABELS, useConversationThreads, usePassageQuotes, useUpdateFact, useDeleteFact, useAccountClient, usePlanQuote, useCreateProjectCheckout, useInvalidateProjects, useCreateWorkspace, useDriveFolderDocCount, useChangeProjectPlan, useCancelProjectSubscription, usePreviewProjectPlanChange, useAddProjectAddonBlock, useSwitchWorkspace, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, useCalendarInvitations, useDecideCounter, useSearchContacts, usePublishCalendar, useCalendarShares, useShareCalendar, useUnshareCalendar, useSubscribeCalendar, useHolidayCountries, useAddHolidayCalendar, cancelPublicBooking, useDatabase, useDatabaseRows, useUpdateDatabase, useDeleteDatabase, useAddDatabaseRows, useUpdateDatabaseRow, useDeleteDatabaseRows, useImportDatabaseRows, useExportDatabase, DATABASE_ROWS_PAGE, useInvalidateAfterTransfer, useConfigs, useSaveConfigField, useDeleteConfig, isFullConfig, useChatUnreadTotal, useUnreadByPeer, useConversationSearch, useProjectConversationUsage, AiAnswer, ArbiWebSocketProvider, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useBookingPages, useDeleteBookingPage, useRooms, useSearchDatabaseRows, isReplayableArbiMutation, SHAREPOINT_VENDORS, useUpdateProjectNextPeriodAddons, useUpdateProjectAddonSettings, useSyncCalendarAccount, useUpdateCalendarAccount, useDisconnectCalendarAccount, ACCOUNT_VENDOR, useCalDavProfiles, useConnectCalDavAccount, useSaveBookingPage, useCreateRoom } from '@arbidocs/react';
98
98
  import { mergeAgentSteps, extractSubagentLanes, getCurrentStep, computeRunStats, formatTokens, isNearAiUsageBudget, getSubagentBranchRecord, buildCitationChunkData, topLevelAgentSteps, findMainSiblingLeaf, sliceToSubagentThread, getAgentStepLabel, subagentJobLabel, getStepDisplay, getStepTool, findLeafForTaskMessage, Arbi, FLAT_TAG_KINDS, getEligibleParentTags, canTagHaveParent, isFlatKind, TAG_NESTING_MAX_DEPTH, TAG_KINDS, formatFileSize, filterDocumentTags, isLabelTag, refusalReason, isPresenceTag, isAnnotationTag, flattenTagTree, tagsForScope, tagsOfGroup, chats, buildRetrievalFullContextTool, buildRetrievalChunkTool, getChildTags, tagUseCount, ArbiApiError, PRESENCE_KINDS, isEntityTag, DuplicateContactError, wouldCreateTagCycle, getTagDescendantIds } from '@arbidocs/sdk/browser';
99
99
  import { isAbortError, browserSessionStateStorage, parseCallFragment, isMessageType, validateRecoveryKeyFile, RECOVERY_KEY_ERRORS, parseRecoveryUrl, prewarmKeyPairs, decryptRecoveryKey, unlockIdentityWithPassword, createRecoveryUrl, bytesToBase64, initSodium } from '@arbidocs/client';
100
100
  import React9, { memo, useMemo, lazy, useRef, useEffect, useCallback, useState, forwardRef, useLayoutEffect, useImperativeHandle, createContext, useContext, Suspense, useSyncExternalStore, createElement, Fragment as Fragment$1, useId } from 'react';
101
- import { Users, MessageCircleMore, SquarePen, BookOpen, MessagesSquare, Pencil, Download, Mail, FolderInput, Trash2, Eye, Sparkles, Play, ArrowDownToLine, RefreshCw, Zap, AlertTriangle, FileX, SkipForward, Loader2, Clock, CheckCircle, ArrowUpRight, Send, Settings, Edit3, Copy, Link, Share2, Check, Milestone, RotateCcw, FileText, Network, ChevronRight, Bell, Activity, Info, UserCheck, WifiOff, CircleCheck, Upload, Link2, Search, Plus, ArrowLeft, ExternalLink as ExternalLink$1, Tags, CheckCircle2, Monitor, UserCircle, KeyRound, Radio, LogOut, Wifi, Lock, HardDrive, User, HatGlasses, MessageSquare, PlugZap, Gauge, Cloud, XCircle, Building2, Palette, Type, Printer, SquareStack, Table, FolderKanban, Cake, X, UserRound, Star, Tag, Video, CalendarDays, MapPin, Globe, Calendar, Hash, File as File$1, FileType, FolderOpen, Fingerprint, Paperclip, TriangleAlert, LoaderCircle, NotebookPen, Columns3, EyeOff, ArrowUp, ArrowDown, ZoomOut, Camera, FilePlus2, UserMinus, UserPlus, UsersRound, Code2, Infinity, Bug, Crop, Undo2, ImageUp, ChevronDown, MoreHorizontal, Wrench, RotateCw, Square, BadgeCheck, Shield, ClipboardList, Table2, ArrowUpCircle, Contact, Scale, BookA, Quote, Inbox, CalendarX, CalendarCheck, Phone, LogIn, Pause, Workflow, Minimize2, Maximize2, Minus, CalendarSearch, DoorOpen, AlertCircle } from 'lucide-react';
101
+ import { Users, MessageCircleMore, SquarePen, BookOpen, MessagesSquare, Pencil, Download, Mail, FolderInput, Trash2, Eye, Sparkles, Play, ArrowDownToLine, RefreshCw, Zap, AlertTriangle, FileX, SkipForward, Loader2, Clock, CheckCircle, ArrowUpRight, Send, Settings, Edit3, Copy, Link, Share2, Check, Milestone, RotateCcw, FileText, Network, ChevronRight, Bell, Activity, Info, UserCheck, WifiOff, CircleCheck, Upload, Link2, Search, Plus, ArrowLeft, ExternalLink as ExternalLink$1, Tags, CheckCircle2, Monitor, UserCircle, KeyRound, Radio, LogOut, Wifi, Lock, HardDrive, User, HatGlasses, MessageSquare, PlugZap, Gauge, Cloud, XCircle, Building2, Palette, Type, Printer, SquareStack, Table, FolderKanban, Cake, X, UserRound, Star, Tag, Video, CalendarDays, MapPin, Globe, Calendar, Hash, File as File$1, FileType, FolderOpen, Fingerprint, Paperclip, TriangleAlert, LoaderCircle, NotebookPen, Columns3, EyeOff, ArrowUp, ArrowDown, ZoomOut, Camera, FilePlus2, UserMinus, UserPlus, UsersRound, Code2, Infinity, Bug, Crop, Undo2, ImageUp, ChevronDown, MoreHorizontal, Wrench, RotateCw, Square, BadgeCheck, Shield, ClipboardList, Table2, CheckCheck, FolderUp, ArrowUpCircle, Contact, Scale, BookA, Quote, Inbox, CalendarX, CalendarCheck, Phone, LogIn, Pause, Workflow, Minimize2, Maximize2, Minus, CalendarSearch, DoorOpen, AlertCircle } from 'lucide-react';
102
102
  import { isAgent, UserEntity, getUserInitials, getUserDisplayName, getUserAvatarColor, agentAvatarColors, Avatar, AvatarImage, AvatarFallback, cn, ShieldIcon, getWorkspaceColor, getFileTypeIcon, DocumentEntity, getDocumentTitle, formatFolderLabel, getEntityLabel, getEntityColor, VisibilityIcon, formatFriendlyDate, getDocumentSubject, Badge, getTagTypeIcon, getTagTypeLabel, VisibilityToggle, TagEntity, ThreadVisibilityIcon, Button, isImageDocument, Tooltip, TooltipTrigger, TooltipContent, Dialog, DialogContent, formatRelativeTime, ProviderIcon, EntityIcon, createUserAvatarIcon, DialogHeader, DialogTitle, DialogDescription, DialogFooter, Label, Input, Textarea, tagKindNouns, tagKindTitle, IconToggle, Switch, Checkbox, entityNoun, DialogTrigger, EntityPill, ProjectEntity, Tabs, TabsList, TabsTrigger, TabsContent, getDocIcon, getDocumentNature, getDocumentAuthor, markdownToPlainText, formatDocDate, getDocumentDate, friendlyFileType, canonicalFolderPath, DebouncedInput, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Slider, AgentBadge, PresenceLabel, TooltipProvider, UserMenu, Popover, PopoverAnchor, PopoverTrigger, PopoverContent, Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, ScrollArea, ArbiIcon, ARBI_MARK_SRC, Card, CardHeader, CardTitle, CardContent, VerifiedToggle, Progress } from '@arbidocs/react/ui';
103
103
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
104
104
  import { hasMessageBody, notify, linkMentions, useNotify, sharedSearchSession, takePendingSearch, selectUnread, NotificationBell, useTurnDocumentId, useOpenDocumentId, useRegisterOpenDocument } from '@arbidocs/react/shell';
@@ -15261,7 +15261,7 @@ function useConnectedWorkspaceList({
15261
15261
  };
15262
15262
  }
15263
15263
  var WorkspaceTableView = lazy(
15264
- () => import('../WorkspaceTableView-OSFIWJ5C.js').then((m) => ({ default: m.WorkspaceTableView }))
15264
+ () => import('../WorkspaceTableView-3ARFQYNO.js').then((m) => ({ default: m.WorkspaceTableView }))
15265
15265
  );
15266
15266
  var WORKSPACES_TAB_ID = "workspaces";
15267
15267
  var defaultRenderMember2 = (user, size) => {
@@ -34729,6 +34729,55 @@ function useSlashSkillWorkflows({ landing }) {
34729
34729
  );
34730
34730
  return { openFor, openForDraft, launcher };
34731
34731
  }
34732
+ function useWorkflowsPageState({
34733
+ initialBuilder,
34734
+ historyWorkflowId,
34735
+ onHistoryWorkflowConsumed
34736
+ } = {}) {
34737
+ const { data: workflows = [] } = useWorkflows({ live: true });
34738
+ const [builder, setBuilder] = useState(initialBuilder ?? null);
34739
+ const [builderKey, setBuilderKey] = useState(0);
34740
+ const [historyIds, setHistoryIds] = useState([]);
34741
+ const [activeHistoryId, setActiveHistoryId] = useState(null);
34742
+ const historyFor = workflows.find((workflow) => workflow.external_id === activeHistoryId) ?? null;
34743
+ const historyTabs = historyIds.flatMap((id) => {
34744
+ const workflow = workflows.find((item) => item.external_id === id);
34745
+ return workflow ? [workflow] : [];
34746
+ });
34747
+ const openHistory = useCallback((workflow) => {
34748
+ const id = workflow?.external_id ?? null;
34749
+ if (id) setHistoryIds((ids) => ids.includes(id) ? ids : [...ids, id]);
34750
+ setActiveHistoryId(id);
34751
+ }, []);
34752
+ const closeHistoryTab = useCallback((id) => {
34753
+ setHistoryIds((ids) => ids.filter((item) => item !== id));
34754
+ setActiveHistoryId((active) => active === id ? null : active);
34755
+ }, []);
34756
+ const openBuilder = useCallback((selection) => {
34757
+ setBuilder(selection);
34758
+ setBuilderKey((key) => key + 1);
34759
+ }, []);
34760
+ useEffect(() => {
34761
+ const workflow = workflows.find((item) => item.external_id === historyWorkflowId);
34762
+ if (!workflow) return;
34763
+ openHistory(workflow);
34764
+ onHistoryWorkflowConsumed?.();
34765
+ }, [historyWorkflowId, onHistoryWorkflowConsumed, openHistory, workflows]);
34766
+ return {
34767
+ workflows,
34768
+ builder,
34769
+ builderKey,
34770
+ openBuilder,
34771
+ closeBuilder: () => setBuilder(null),
34772
+ builderSaved: (id) => setBuilder({ kind: "saved", id }),
34773
+ historyFor,
34774
+ historyTabs,
34775
+ activeHistoryId,
34776
+ openHistory,
34777
+ closeHistoryTab,
34778
+ selectHistoryTab: setActiveHistoryId
34779
+ };
34780
+ }
34732
34781
  function MessageLiveSecondsComponent({
34733
34782
  conversationId,
34734
34783
  messageId,
@@ -40989,7 +41038,600 @@ function ConnectedAccountAccessBadge() {
40989
41038
  /* @__PURE__ */ jsx(PopoverContent, { className: "max-w-xs text-sm", align: "end", children: explanation })
40990
41039
  ] });
40991
41040
  }
41041
+ function ThreadSearch({ children, ResultsBoundary = ErrorBoundary }) {
41042
+ const [query, setQuery] = useState("");
41043
+ const [submitted, setSubmitted] = useState("");
41044
+ const selectedWorkspaceId = useArbiSessionState((s) => s.workspaceId);
41045
+ const { notify: notify18, openConversation } = useBlocksEnvironment();
41046
+ const search = useConversationSearch();
41047
+ const isSearching = search.isPending;
41048
+ const groups = useMemo(
41049
+ () => search.isError ? [] : (search.data?.results ?? []).map((g) => ({
41050
+ id: g.conversation_ext_id,
41051
+ title: g.title,
41052
+ matches: g.messages.map((m) => ({
41053
+ id: m.message_ext_id,
41054
+ role: m.role,
41055
+ score: m.score,
41056
+ snippet: m.snippet
41057
+ }))
41058
+ })),
41059
+ [search.data, search.isError]
41060
+ );
41061
+ const handleSearch = useCallback(() => {
41062
+ const q = query.trim();
41063
+ if (!q || !selectedWorkspaceId || isSearching) return;
41064
+ setSubmitted(q);
41065
+ search.mutate(
41066
+ { query: q, search_mode: "hybrid", limit: 20 },
41067
+ {
41068
+ onError: (err) => {
41069
+ console.error("Conversation search failed", err);
41070
+ notify18("Conversation search failed", "error");
41071
+ }
41072
+ }
41073
+ );
41074
+ }, [query, selectedWorkspaceId, isSearching, search, notify18]);
41075
+ const clearSearch = useCallback(() => {
41076
+ setQuery("");
41077
+ setSubmitted("");
41078
+ }, []);
41079
+ const openHit = useCallback(
41080
+ (conversationId, messageId) => {
41081
+ openConversation(conversationId, messageId ? { messageId } : void 0);
41082
+ },
41083
+ [openConversation]
41084
+ );
41085
+ return /* @__PURE__ */ jsx(
41086
+ ConversationSearchView,
41087
+ {
41088
+ query,
41089
+ onQueryChange: setQuery,
41090
+ onSubmit: handleSearch,
41091
+ canSubmit: !!query.trim() && !!selectedWorkspaceId && !isSearching,
41092
+ isSearching,
41093
+ submittedQuery: submitted,
41094
+ groups,
41095
+ onOpenConversation: openHit,
41096
+ onClear: clearSearch,
41097
+ ResultsBoundary,
41098
+ children
41099
+ }
41100
+ );
41101
+ }
41102
+ var DEFAULT_THREAD_VISIBILITY = { me: null, workspace: null };
41103
+ var relativeTime2 = (iso) => formatRelativeTime(iso, { style: "short" });
41104
+ var LIST_LABELS = {
41105
+ emptyTitle: "Nothing here yet",
41106
+ emptyMessage: "Use New: just type what you need, or fill in an owner and a due date. You always decide when a thread is done.",
41107
+ untitled: `Untitled ${getEntityLabel("CONVERSATION").toLowerCase()}`,
41108
+ noMatches: `No ${getEntityLabel("CONVERSATION", "PLURAL").toLowerCase()} match.`,
41109
+ selectAll: "Select all"
41110
+ };
41111
+ var RENAME_DIALOG = { testId: "rename-conversation-modal" };
41112
+ function useStableRecencyOrder(rows) {
41113
+ const orderRef = useRef([]);
41114
+ return useMemo(() => {
41115
+ const byRecency = [...rows].sort(
41116
+ (a, b) => new Date(b.updated_at || b.created_at || 0).getTime() - new Date(a.updated_at || a.created_at || 0).getTime()
41117
+ );
41118
+ const present = new Set(byRecency.map((r) => r.external_id));
41119
+ const known = new Set(orderRef.current);
41120
+ const added = byRecency.map((r) => r.external_id).filter((id) => !known.has(id));
41121
+ orderRef.current = [...added, ...orderRef.current.filter((id) => present.has(id))];
41122
+ const byId = new Map(byRecency.map((r) => [r.external_id, r]));
41123
+ return orderRef.current.flatMap((id) => byId.get(id) ?? []);
41124
+ }, [rows]);
41125
+ }
41126
+ function ConnectedThreadsPage({
41127
+ showHeader = true,
41128
+ search = false,
41129
+ ResultsBoundary,
41130
+ focusLauncher,
41131
+ layout = "list",
41132
+ workflowActions
41133
+ }) {
41134
+ const mode = layout === "inbox" ? "tasks" : "threads";
41135
+ const { confirm, notify: notify18, openConversation, openDocument } = useBlocksEnvironment();
41136
+ const { conversations: all, isLoading } = useConversationItems();
41137
+ const [doneFilter] = useTransientView("threads.done", "exclude");
41138
+ const [visibilityFilters] = useTransientView("threads.visibility", DEFAULT_THREAD_VISIBILITY);
41139
+ const [meetingFilter] = useTransientView("threads.meetings", null);
41140
+ const [topbarFilterQuery, setTopbarFilterQuery] = useTransientView("topbar.filter", "");
41141
+ const currentUserExtId = useArbiSession().user?.external_id;
41142
+ const listed = useMemo(
41143
+ () => all.filter((c) => mode === "threads" || c.status != null),
41144
+ [all, mode]
41145
+ );
41146
+ const tasks = useStableRecencyOrder(listed);
41147
+ const updateConversation = useUpdateConversation();
41148
+ const deleteConversation = useDeleteConversation();
41149
+ const people = useTaskPeople();
41150
+ const renderPerson = useRenderTaskPerson();
41151
+ const canEditShared = useCanEditShared();
41152
+ const isWorkspaceOwner = useIsWorkspaceOwner();
41153
+ const { data: agents = [] } = useAgents();
41154
+ const { data: workflows = [] } = useWorkflows();
41155
+ const agentNames = useMemo(
41156
+ () => Object.fromEntries(agents.map((a) => [a.external_id, a.given_name || a.email])),
41157
+ [agents]
41158
+ );
41159
+ const workflowNames = useMemo(
41160
+ () => Object.fromEntries(workflows.map((w) => [w.external_id, w.name])),
41161
+ [workflows]
41162
+ );
41163
+ const runConversation = useRunConversation();
41164
+ const [busyId, setBusyId] = useState(null);
41165
+ const [editorOpen, setEditorOpen] = useState(false);
41166
+ const [editing, setEditing] = useState(null);
41167
+ const [startOpen, setStartOpen] = useState(false);
41168
+ const [parentForNew, setParentForNew] = useState(void 0);
41169
+ const nameOf = (task) => task.title?.trim() || task.workflow_ext_id && workflowNames[task.workflow_ext_id] || "Untitled task";
41170
+ const openCreate = () => {
41171
+ setParentForNew(void 0);
41172
+ setStartOpen(true);
41173
+ };
41174
+ const openAddSubtask = (parent) => {
41175
+ setParentForNew(parent.external_id);
41176
+ setStartOpen(true);
41177
+ };
41178
+ const [renaming, setRenaming] = useState(null);
41179
+ const [newTitle, setNewTitle] = useState("");
41180
+ const [isExportOpen, setIsExportOpen] = useState(false);
41181
+ const [exportRows, setExportRows] = useState([]);
41182
+ const openEdit = (task) => {
41183
+ if (mode === "threads" || !task.status) {
41184
+ setRenaming(task);
41185
+ setNewTitle(task.title ?? "");
41186
+ return;
41187
+ }
41188
+ setEditing(task);
41189
+ setEditorOpen(true);
41190
+ };
41191
+ const act = async (task, action, success, failure) => {
41192
+ setBusyId(task.external_id);
41193
+ try {
41194
+ await action();
41195
+ if (success) notify18(success, "success");
41196
+ } catch (error) {
41197
+ notify18(
41198
+ error instanceof ArbiApiError && error.detail ? `${failure}: ${error.detail}` : failure,
41199
+ "error"
41200
+ );
41201
+ } finally {
41202
+ setBusyId(null);
41203
+ }
41204
+ };
41205
+ const patch = (task, body) => updateConversation.mutateAsync({ conversationId: task.external_id, patch: body });
41206
+ const setStatus = (task, status, success) => act(task, () => patch(task, { status }), success, "Failed to update task");
41207
+ const handleToggleShared = (task, shouldShare) => act(
41208
+ task,
41209
+ () => patch(task, { shared: shouldShare }),
41210
+ shouldShare ? `Shared \u201C${nameOf(task)}\u201D with the workspace` : `Made \u201C${nameOf(task)}\u201D private`,
41211
+ "Failed to change who can see the task"
41212
+ );
41213
+ const handleMove = (task, parentId) => act(
41214
+ task,
41215
+ () => patch(task, { parent_conversation_ext_id: parentId }),
41216
+ parentId ? `Moved \u201C${nameOf(task)}\u201D` : `Moved \u201C${nameOf(task)}\u201D to the top level`,
41217
+ "Failed to move task"
41218
+ );
41219
+ const handleDelete = async (task) => {
41220
+ const subtasks = tasks.filter((t) => t.parent_conversation_ext_id === task.external_id).length;
41221
+ const confirmed = await confirm({
41222
+ message: `Delete \u201C${nameOf(task)}\u201D? This can't be undone from here.${subtasks ? ` Its ${subtasks === 1 ? "sub-task stays" : `${subtasks} sub-tasks stay`} and ${subtasks === 1 ? "moves" : "move"} to the top level.` : ""}`,
41223
+ title: "Delete task"
41224
+ });
41225
+ if (!confirmed) return;
41226
+ await act(
41227
+ task,
41228
+ () => deleteConversation.mutateAsync(task.external_id),
41229
+ `Deleted \u201C${nameOf(task)}\u201D`,
41230
+ "Failed to delete task"
41231
+ );
41232
+ };
41233
+ const forEach = async (rows, one, done) => {
41234
+ let failed = 0;
41235
+ for (const task of rows) {
41236
+ try {
41237
+ await one(task);
41238
+ } catch {
41239
+ failed += 1;
41240
+ }
41241
+ }
41242
+ notify18(
41243
+ failed ? `${failed} of ${rows.length} could not be changed: you may not be allowed to change them` : done,
41244
+ failed ? "error" : "success"
41245
+ );
41246
+ };
41247
+ const handleMarkDoneMany = (rows) => forEach(rows, (task) => patch(task, { status: "done" }), `Marked ${rows.length} done`);
41248
+ const handleDeleteMany = async (rows) => {
41249
+ const named = rows.slice(0, 3).map((task) => `"${nameOf(task)}"`).join(", ");
41250
+ const more = rows.length - 3;
41251
+ const confirmed = await confirm({
41252
+ message: `Delete ${more > 0 ? `${named} and ${more} more` : named}? This cannot be undone.`,
41253
+ title: `Delete ${rows.length} item${rows.length === 1 ? "" : "s"}`
41254
+ });
41255
+ if (!confirmed) return;
41256
+ await forEach(
41257
+ rows,
41258
+ (task) => deleteConversation.mutateAsync(task.external_id),
41259
+ `Deleted ${rows.length}`
41260
+ );
41261
+ };
41262
+ const handleSaveRename = useCallback(() => {
41263
+ if (!renaming || !newTitle.trim()) return;
41264
+ updateConversation.mutate(
41265
+ { conversationId: renaming.external_id, patch: { title: newTitle.trim() } },
41266
+ {
41267
+ onSuccess: () => {
41268
+ notify18("Conversation renamed successfully", "success");
41269
+ setRenaming(null);
41270
+ setNewTitle("");
41271
+ },
41272
+ onError: (error) => {
41273
+ console.error("Failed to rename conversation:", error);
41274
+ notify18("Failed to rename conversation", "error");
41275
+ }
41276
+ }
41277
+ );
41278
+ }, [renaming, newTitle, updateConversation, notify18]);
41279
+ const handleBulkShare = async (rows) => {
41280
+ const unshared = rows.filter((c) => !c.is_shared);
41281
+ if (unshared.length === 0) {
41282
+ await confirm({
41283
+ message: "All selected conversations are already shared",
41284
+ title: "Info",
41285
+ kind: "alert"
41286
+ });
41287
+ return;
41288
+ }
41289
+ const noun = getEntityLabel("CONVERSATION", unshared.length > 1 ? "PLURAL" : "SINGULAR");
41290
+ const confirmed = await confirm({
41291
+ message: `Are you sure you want to share ${unshared.length} ${noun.toLowerCase()} with everyone in the current ${getEntityLabel("WORKSPACE").toLowerCase()}? You can make them private again later.`,
41292
+ title: `Share ${getEntityLabel("CONVERSATION", "PLURAL")}`
41293
+ });
41294
+ if (!confirmed) return;
41295
+ try {
41296
+ await Promise.all(
41297
+ unshared.map(
41298
+ (c) => updateConversation.mutateAsync({ conversationId: c.external_id, patch: { shared: true } })
41299
+ )
41300
+ );
41301
+ notify18(`${unshared.length} ${noun.toLowerCase()} shared successfully`, "success");
41302
+ } catch (error) {
41303
+ console.error("Failed to share conversations:", error);
41304
+ notify18("Failed to share some conversations", "error");
41305
+ }
41306
+ };
41307
+ const { data: workspaceDocs } = useDocuments();
41308
+ const outputsByTask = useMemo(() => {
41309
+ const out = {};
41310
+ for (const [conversationId, docs] of Object.entries(
41311
+ groupOutputsByConversation(workspaceDocs ?? [])
41312
+ )) {
41313
+ out[conversationId] = docs.map((d) => ({
41314
+ id: d.external_id,
41315
+ name: getDocumentTitle(d, d.external_id)
41316
+ }));
41317
+ }
41318
+ return out;
41319
+ }, [workspaceDocs]);
41320
+ const handleOpenOutput = (documentId) => openDocument(documentId);
41321
+ const handleGrantAccess = (task) => act(
41322
+ task,
41323
+ () => runConversation.mutateAsync(task.external_id),
41324
+ `Running \u201C${nameOf(task)}\u201D`,
41325
+ "Failed to run task"
41326
+ );
41327
+ const threadLabels = useThreadLabels(canEditShared);
41328
+ const selectionActions = (selected, isCompact) => {
41329
+ const mine = selected.every((c) => c.created_by_ext_id === currentUserExtId);
41330
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
41331
+ mode === "threads" && selected.every((row2) => row2.is_owner || row2.is_shared && canEditShared) && selected.some((row2) => row2.status !== "done") && !selected.some((row2) => row2.in_progress || row2.status === "generating") && /* @__PURE__ */ jsx(
41332
+ SelectionBarAction,
41333
+ {
41334
+ icon: CheckCheck,
41335
+ label: "Mark Done",
41336
+ onClick: () => void handleMarkDoneMany(selected),
41337
+ isCompact,
41338
+ testId: "threads-bulk-done"
41339
+ }
41340
+ ),
41341
+ threadLabels.renderBulkLabels(selected, isCompact),
41342
+ mine && selected.some((c) => !c.is_shared) && /* @__PURE__ */ jsx(
41343
+ VisibilityToggle,
41344
+ {
41345
+ items: selected,
41346
+ onToggle: () => void handleBulkShare(selected),
41347
+ disablePrivate: true,
41348
+ showLabel: false,
41349
+ tooltipInactive: "Share all with workspace members",
41350
+ tooltipMixed: "Share all with workspace members (some already shared)",
41351
+ "data-testid": "bulk-shared-toggle"
41352
+ }
41353
+ ),
41354
+ /* @__PURE__ */ jsx(
41355
+ SelectionBarAction,
41356
+ {
41357
+ icon: FolderUp,
41358
+ label: "Export",
41359
+ onClick: () => {
41360
+ setExportRows(selected);
41361
+ setIsExportOpen(true);
41362
+ },
41363
+ isCompact,
41364
+ tooltip: `Export the selected ${getEntityLabel("CONVERSATION", "PLURAL").toLowerCase()} to another ${getEntityLabel("WORKSPACE").toLowerCase()}`,
41365
+ testId: "export-chats-button"
41366
+ }
41367
+ ),
41368
+ mode === "threads" && selected.every((row2) => row2.is_owner || isWorkspaceOwner) && /* @__PURE__ */ jsx(
41369
+ SelectionBarAction,
41370
+ {
41371
+ icon: Trash2,
41372
+ label: "Delete",
41373
+ className: "text-red-text hover:bg-red-bg hover:text-red-text",
41374
+ onClick: () => void handleDeleteMany(selected),
41375
+ isCompact,
41376
+ testId: "threads-bulk-delete"
41377
+ }
41378
+ )
41379
+ ] });
41380
+ };
41381
+ const page = /* @__PURE__ */ jsxs(
41382
+ "div",
41383
+ {
41384
+ className: "flex h-full min-h-0 flex-col",
41385
+ "data-testid": mode === "tasks" ? "tasks-page" : "threads-page",
41386
+ children: [
41387
+ /* @__PURE__ */ jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: mode === "threads" ? /* @__PURE__ */ jsx(
41388
+ ConversationListView,
41389
+ {
41390
+ showHeader,
41391
+ conversations: tasks,
41392
+ doneFilter,
41393
+ visibilityFilters,
41394
+ meetingFilter,
41395
+ renderThread: (row2) => /* @__PURE__ */ jsx(
41396
+ ConversationEntity,
41397
+ {
41398
+ conversation: row2,
41399
+ showRePrefix: false,
41400
+ labelMaxWidth: "max-w-full",
41401
+ className: "w-full max-w-full [&_.truncate]:line-clamp-2 [&_.truncate]:whitespace-normal [&_.truncate]:break-words [&_.truncate]:text-left",
41402
+ "data-testid": `thread-open-${row2.external_id}`
41403
+ }
41404
+ ),
41405
+ renderLabels: threadLabels.renderLabels,
41406
+ labelText: threadLabels.labelText,
41407
+ renderBy: (row2) => /* @__PURE__ */ jsx(
41408
+ ConversationTurnSpeaker,
41409
+ {
41410
+ variant: "icon",
41411
+ role: row2.last_message_role,
41412
+ actor: row2.last_message_actor,
41413
+ currentUserId: currentUserExtId,
41414
+ colorClass: row2.last_message_actor ? getUserAvatarColor(row2.last_message_actor.external_id) : void 0
41415
+ }
41416
+ ),
41417
+ renderStatus: (row2) => /* @__PURE__ */ jsx(ConversationStatusCell, { conversation: row2 }),
41418
+ isLoading,
41419
+ filterText: topbarFilterQuery ?? "",
41420
+ formatDate: relativeTime2,
41421
+ onOpen: (c) => openConversation(c.external_id),
41422
+ onRename: openEdit,
41423
+ onDelete: handleDelete,
41424
+ canEditShared,
41425
+ isWorkspaceOwner,
41426
+ selectionActions,
41427
+ footer: /* @__PURE__ */ jsx(ConnectedThreadLauncher, { autoFocus: focusLauncher })
41428
+ }
41429
+ ) : /* @__PURE__ */ jsx(
41430
+ TaskInbox,
41431
+ {
41432
+ tasks,
41433
+ isLoading,
41434
+ ...workflowActions,
41435
+ onCreate: openCreate,
41436
+ filterText: topbarFilterQuery ?? "",
41437
+ labels: LIST_LABELS,
41438
+ gridId: "conversation-list-grid-v4",
41439
+ onFilterTextChange: (text2) => setTopbarFilterQuery(text2),
41440
+ outputsByTask,
41441
+ onOpenActivity: (task) => openConversation(task.external_id),
41442
+ formatRelative: relativeTime2,
41443
+ onOpenOutput: handleOpenOutput,
41444
+ busyId,
41445
+ formatDate: formatFriendlyDate,
41446
+ onOpenThread: (conversationId) => openConversation(conversationId),
41447
+ onMarkDone: (task) => setStatus(task, "done", `Marked \u201C${nameOf(task)}\u201D done`),
41448
+ onReopen: (task) => setStatus(task, "todo", `Reopened \u201C${nameOf(task)}\u201D`),
41449
+ people,
41450
+ agentNames,
41451
+ workflowNames,
41452
+ canEditShared,
41453
+ isWorkspaceOwner,
41454
+ renderPerson,
41455
+ onToggleShared: handleToggleShared,
41456
+ onEdit: openEdit,
41457
+ onDelete: handleDelete,
41458
+ onAddSubtask: openAddSubtask,
41459
+ onMove: handleMove,
41460
+ onMarkDoneMany: handleMarkDoneMany,
41461
+ onDeleteMany: handleDeleteMany,
41462
+ onGrantAccess: handleGrantAccess,
41463
+ selectionActions
41464
+ }
41465
+ ) }),
41466
+ /* @__PURE__ */ jsx(
41467
+ ConnectedTaskStartDialog,
41468
+ {
41469
+ open: startOpen,
41470
+ onOpenChange: setStartOpen,
41471
+ initialParentId: parentForNew
41472
+ }
41473
+ ),
41474
+ /* @__PURE__ */ jsx(ConnectedTaskComposer, { open: editorOpen, onOpenChange: setEditorOpen, task: editing }),
41475
+ /* @__PURE__ */ jsx(
41476
+ ConnectedExportDialog,
41477
+ {
41478
+ open: isExportOpen,
41479
+ onOpenChange: setIsExportOpen,
41480
+ items: exportRows.map((c) => ({ extId: c.external_id, label: nameOf(c) })),
41481
+ entityType: "CONVERSATION",
41482
+ testId: "export-chats-modal"
41483
+ }
41484
+ ),
41485
+ /* @__PURE__ */ jsx(
41486
+ RenameDialog,
41487
+ {
41488
+ open: !!renaming,
41489
+ onClose: () => {
41490
+ setRenaming(null);
41491
+ setNewTitle("");
41492
+ },
41493
+ title: `Rename ${getEntityLabel("CONVERSATION")}`,
41494
+ labels: { description: "Rename the conversation title" },
41495
+ fieldLabel: `${getEntityLabel("CONVERSATION")} Title`,
41496
+ placeholder: "Enter title",
41497
+ value: newTitle,
41498
+ onChange: setNewTitle,
41499
+ onSave: handleSaveRename,
41500
+ canSave: !!newTitle.trim(),
41501
+ dialogTestId: RENAME_DIALOG.testId
41502
+ }
41503
+ )
41504
+ ]
41505
+ }
41506
+ );
41507
+ return search ? /* @__PURE__ */ jsx(ThreadSearch, { ResultsBoundary, children: page }) : page;
41508
+ }
41509
+ function useSessionPanelMode(panelId, defaultMode = "docked", isOpen = true) {
41510
+ const panelModes = useArbiSessionState((s) => s.shell.panels.modes);
41511
+ const setPanelModeStore = useArbiSessionStore().setPanelMode;
41512
+ const isSmallScreen = useIsPhone();
41513
+ const prevOpenRef = useRef(false);
41514
+ const mode = isSmallScreen ? "overlay" : panelModes[panelId] || defaultMode;
41515
+ useEffect(() => {
41516
+ if (isOpen && !prevOpenRef.current) {
41517
+ setPanelModeStore(panelId, isSmallScreen ? "overlay" : defaultMode);
41518
+ }
41519
+ prevOpenRef.current = isOpen;
41520
+ }, [isOpen, panelId, defaultMode, isSmallScreen, setPanelModeStore]);
41521
+ useEffect(() => {
41522
+ if (isSmallScreen && isOpen && panelModes[panelId] && panelModes[panelId] !== "overlay") {
41523
+ setPanelModeStore(panelId, "overlay");
41524
+ }
41525
+ }, [isSmallScreen, isOpen, panelId, panelModes, setPanelModeStore]);
41526
+ const setPanelMode = useCallback(
41527
+ (newMode) => {
41528
+ if (isSmallScreen) return;
41529
+ setPanelModeStore(panelId, newMode);
41530
+ },
41531
+ [panelId, isSmallScreen, setPanelModeStore]
41532
+ );
41533
+ return { mode, setPanelMode };
41534
+ }
41535
+ function ConnectedPanelHost({
41536
+ panelId,
41537
+ isOpen,
41538
+ onClose,
41539
+ headerIcon,
41540
+ title,
41541
+ subtitle,
41542
+ headerActions,
41543
+ children,
41544
+ footer,
41545
+ defaultMode = "docked",
41546
+ tabLabel,
41547
+ disablePopout,
41548
+ closeTestId,
41549
+ defaultWidth
41550
+ }) {
41551
+ const { mode, setPanelMode } = useSessionPanelMode(panelId, defaultMode, isOpen);
41552
+ useEffect(() => {
41553
+ if (disablePopout && mode === "popout") {
41554
+ setPanelMode(defaultMode);
41555
+ }
41556
+ }, [disablePopout, mode, defaultMode, setPanelMode]);
41557
+ const handlePopupClosed = useCallback(() => {
41558
+ onClose();
41559
+ }, [onClose]);
41560
+ const setFocusedArea = useArbiSessionStore().setFocusedArea;
41561
+ const { popoutTitle } = usePanelHostSupport();
41562
+ const focusedArea = useArbiSessionState((s) => s.shell.focusedArea);
41563
+ const handlePanelFocus = useCallback(() => {
41564
+ setFocusedArea(panelId);
41565
+ }, [panelId, setFocusedArea]);
41566
+ useEffect(() => {
41567
+ if (!isOpen || mode === "popout" || focusedArea !== panelId) return;
41568
+ const onKeyDown = (e) => {
41569
+ if (e.key !== "Escape" || e.defaultPrevented) return;
41570
+ const active = document.activeElement;
41571
+ if (active?.matches('input, textarea, select, [contenteditable="true"]')) return;
41572
+ if (document.querySelector(
41573
+ '[role="dialog"][data-state="open"], [data-radix-popper-content-wrapper]'
41574
+ ))
41575
+ return;
41576
+ onClose();
41577
+ };
41578
+ window.addEventListener("keydown", onKeyDown);
41579
+ return () => window.removeEventListener("keydown", onKeyDown);
41580
+ }, [isOpen, mode, focusedArea, panelId, onClose]);
41581
+ const [isExiting, setIsExiting] = useState(false);
41582
+ const prevOpenRef = useRef(isOpen);
41583
+ if (prevOpenRef.current !== isOpen) {
41584
+ prevOpenRef.current = isOpen;
41585
+ setIsExiting(!isOpen && mode === "overlay");
41586
+ }
41587
+ useEffect(() => {
41588
+ if (!isExiting) return;
41589
+ const timeout = setTimeout(() => setIsExiting(false), 200);
41590
+ return () => clearTimeout(timeout);
41591
+ }, [isExiting]);
41592
+ if (!isOpen && !isExiting) return null;
41593
+ const modeSwitcher = /* @__PURE__ */ jsx(
41594
+ PanelModeSwitcher,
41595
+ {
41596
+ mode,
41597
+ onModeChange: setPanelMode,
41598
+ onClose,
41599
+ disablePopout,
41600
+ closeTestId
41601
+ }
41602
+ );
41603
+ const panelElement = /* @__PURE__ */ jsx(
41604
+ FloatingPanel,
41605
+ {
41606
+ panelId,
41607
+ mode,
41608
+ title,
41609
+ subtitle,
41610
+ headerIcon,
41611
+ headerActions,
41612
+ tabLabel,
41613
+ modeSwitcher,
41614
+ footer,
41615
+ onPanelClick: mode === "popout" ? void 0 : handlePanelFocus,
41616
+ children
41617
+ }
41618
+ );
41619
+ return /* @__PURE__ */ jsx(
41620
+ PanelPortal,
41621
+ {
41622
+ defaultWidth,
41623
+ panelId,
41624
+ mode,
41625
+ isOpen,
41626
+ isExiting,
41627
+ onClose,
41628
+ onPopupClosed: handlePopupClosed,
41629
+ popoutTitle: popoutTitle(title),
41630
+ children: panelElement
41631
+ }
41632
+ );
41633
+ }
40992
41634
 
40993
- export { AddAddonDialog, AddFromAccountsButton, AgentBarShell, AgentControlBar, AgentSteps, AnswerTable, AskAgainContext, BACKFILL_OPTIONS, BUILTIN_GLOBAL_DIALOGS, BULK_REPROCESS_LIMIT, BillingProjectEntity, CaptureBar, ChangePlanDialog, ChatAttachmentList, ConnectedAccountAccessBadge, ConnectedAccountCluster, ConnectedAccountSettings, ConnectedAddContacts, ConnectedAgentChat, ConnectedAgentChatPanel, ConnectedAgentConfigForm, ConnectedAgentCreator, ConnectedAiReview, ConnectedAppRuntime, ConnectedAppsSettings, ConnectedAuthorizeAgent, ConnectedBranchControls, ConnectedBulkTagEditor, ConnectedCalendar, ConnectedChatThread, ConnectedCitationRenderer, ConnectedCompactConversation, ConnectedConfigForm, ConnectedContactCardForm, ConnectedContactToggle, ConnectedContactsDirectory, ConnectedConversation, ConnectedConversationDocumentPicker, ConnectedConversationEmpty, ConnectedConversationStart, ConnectedDangerZone, ConnectedDatabasesPage, ConnectedDeploymentStorage, ConnectedDeveloperConfig, ConnectedDriveSyncDialog, ConnectedExportDialog, ConnectedExportPanel, ConnectedFactsPage, ConnectedFieldsEditor, ConnectedFieldsManager, ConnectedFilesBulkActions, ConnectedFilesExplorer, ConnectedFilesPage, ConnectedForgotPassword, ConnectedGlobalDialogs, ConnectedGrantWorkspaceAccessDialog, ConnectedGridView, ConnectedGroupMembers, ConnectedIdentityVerification, ConnectedLoginPage, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailInviteCard, ConnectedMailMessage, ConnectedMailSettings, ConnectedMailSetup, ConnectedMailbox, ConnectedMailboxSyncDialog, ConnectedMessage, ConnectedMessageArea, ConnectedMessageList, ConnectedMessenger, ConnectedModelSelector, ConnectedMoveToFolder, ConnectedNewThreadDialog, ConnectedNotificationCenter, ConnectedNotificationPreferences, ConnectedOAuthConsentPage, ConnectedPasswordChangeDialog, ConnectedPendingSyncDialog, ConnectedPremiumModels, ConnectedPrivacySettings, ConnectedProfileCard, ConnectedProjectEntity, ConnectedProjectPage, ConnectedProjectSelector, ConnectedProjectStorage, ConnectedProjectsPanel, ConnectedPublicBooking, ConnectedQuotaDialog, ConnectedRecentlyDeletedButton, ConnectedRecoveryKeyDialog, ConnectedReportProblem, ConnectedRequestWorkspaceAccess, ConnectedRequireVerified, ConnectedSearchPage, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSettingsPage, ConnectedSharePointAdminConsentPage, ConnectedSharedFilesPage, ConnectedSignatureVerifyPage, ConnectedSkillUpload, ConnectedSkillsLibrary, ConnectedSsoCallback, ConnectedStorageProjectCard, ConnectedStorageSettings, ConnectedTagEditorDialog, ConnectedTagEntity, ConnectedTagForm, ConnectedTagTable, ConnectedTagsPage, ConnectedTaskAccessRequest, ConnectedTaskActivityDialog, ConnectedTaskComposer, ConnectedTaskStartDialog, ConnectedThreadFollow, ConnectedThreadLauncher, ConnectedThreadTabs, ConnectedThreadTaskBar, ConnectedThreadsPreview, ConnectedTransferWatcher, ConnectedUpcomingEvents, ConnectedUpload, ConnectedUploadDropzone, ConnectedUserEntity, ConnectedWelcomeDialog, ConnectedWorkflowHistory, ConnectedWorkflowRunner, ConnectedWorkflowStart, ConnectedWorkspaceActivity, ConnectedWorkspaceDashboard, ConnectedWorkspaceEntity, ConnectedWorkspaceFormModal, ConnectedWorkspaceList, ConnectedWorkspaceMembers, ConnectedWorkspaceNotificationMenu, ConnectedWorkspaceSettings, ConnectedWorkspaceTrash, ConversationAlert, ConversationComposer2 as ConversationComposer, ConversationEntity, ConversationSendButton, ConversationStatusCell, DEFAULT_CONNECTED_SEARCH_PAGE_LABELS, DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, DEFAULT_OAUTH_PERMISSIONS, DEFAULT_PROJECTS_LIST_LABELS, DEFAULT_PROJECT_DETAILS_LABELS, DEFAULT_PROJECT_DETAIL_FIELDS, DEFAULT_PROJECT_LIST_COLUMNS, DEFAULT_PROJECT_PAGE_LABELS, DEFAULT_SEARCH_FIELDS, DEFAULT_SEARCH_ROW_LABELS, DEFAULT_SETTINGS_SECTIONS, DEFAULT_TIMELINE_LABEL_WIDTH, DEFAULT_WORKSPACE_LIST_LABELS, DeveloperFooter, DocumentFolderCell, DocumentLabelsCell, DocumentNameCell, DocumentSharedCell, DocumentStatusGlyph, DocumentSyncGlyph, DocumentUser, DocumentsFilterBarActions, DocumentsUploadButton, EmptyWorkspaceUpload, FACTS_GRID_ID, FILES_PREFS_KEY, FileTooltipContent, ImportVcfButton, ImportVcfSummary, InvoicesModal, LOOK_AGAIN_LABEL, MessageDetailsModal, MessageLiveSeconds, MicButton, NewProjectFlow, NotificationCenter, NotificationEvent, PENDING_LOOKUP_MS, PENDING_RECOVERY_KEY, PENDING_TASK_MESSAGE, PREMIUM_TIER_TAG, PROJECTS_BASE_TAB_ID, PROMPT_BINDINGS, PersistedGridView, ProgressiveLoadingChip, ProjectDetail, ProjectUsageContent, ProjectsTable, REFERRAL_OFFER, RecoveryKeyDownload, RelatedDocumentsCell, ReportProblemDialog, RunStatsBadges, RunningSubagents, SEARCH_FIELD_OPTIONS, SETTINGS_SECTION_IDS, STANDARD_TIER_TAG, SessionStatusIcon, SharedProjects, SourceChips, SsoResendVerificationButton, StatusCell2 as StatusCell, StorageBreakdown, StorageItemsTable, StorageTiers, StreamedArtifact, TILE_DEFAULT, TILE_MAX, TILE_MIN, ThreadSwitcher, UserAvatar, ViewSelector, WORKSPACES_TAB_ID, WorkflowLaunchHost, WorkflowRunStatusCell, WorkflowRunThread, WorkflowStepMessage, accountSettingsSection, appearanceSettingsSection, backUpOnSignup, bookingCancelLink, buildNotificationCenterItems, buildProjectSummaries, chatSettingsSection, closeAccessRequestReview, connectedAppsSettingsSection, connectionSettingsSection, countNotificationTypes, createDocumentColumns, createEventCall, createNotificationTargetOpener, createTagColumn, deduplicateByContentHash, defaultHost, describePlan, distinctPeers, documentFamilyMeta, documentFieldContent, filesViewMode, filterNotificationCenterItems, formatStorageGb, groupFallbackName, identifyOAuthClient, isActiveDocumentStatus, joinEventMeeting, loadEventWebinar, mailSettingsSection, openMeetingLink, openPendingSyncDialog, openSsoPopup, organisationSettingsSection, parseArbiCallUrl, parseOAuthConsentRequest, parseQuotaError, parseTypedSkill, primaryProjectWorkspace, privacySettingsSection, renderConnectedUser, renderSessionStatusIcon, requestProjectBillingFocus, resolveAttendeeUsers, resolveAttendeeUsersRemote, resolveCallPeers, resolveCallPeersRemote, resolveLaunchInputs, resolveMailbox, resolveSsoName, reviewAccessRequest, reviewProgress, shareEventCall, startMenuItem, storageSettingsSection, suppliedKinds, threadStateOf, toWorkspaceSummary, transferOutcome, updateEventWebinarRoles, usageSettingsSection, useAccessRequestUnderReview, useAddFromUrls, useAiReviewLiveUpdates, useAiReviewStore, useAuthPages, useAutoRefreshPendingProjects, useBatchCompleteToasts, useChatMessageToasts, useConnectedCalendarCalls, useConnectedNotificationBell, useConnectedShellWorkspaces, useConnectedThreadActivity, useConnectedWorkspaceList, useConnectedWorkspaceSettings, useDocumentBulkActions, useDocumentFilters, useDocumentFolders, useDocumentGridSync, useDocumentNavigation, useDocumentTable, useExportStore, useFilesDialogs, useFilesGridStates, useFilesPrefs, useFilesStore, useLaunchWorkflow, useMemberLookup, useMessengerRows, useModelPicker, useNotificationBellEntry, useNotificationToasts, useOpenBillingPortal, useOpenChunk, useOpenNotificationTarget, useOpenWorkspaceActivityTarget, useOpenWorkspaceIcon, usePendingFolders, usePendingTaskThread, useProjectBillingFocus, useProjectSummaries, useProjectSummary, useReferralReward, useRenderTaskPerson, useReportProblem, useResolvedDocStatus, useSessionSidebar, useSkillsEnabled, useSlashItems, useSlashSkillWorkflows, useSsoSignIn, useStartRequestedDraft, useTableViews, useTaskPeople, useTaskStart, useThreadLabels, useThreadTabs, useWorkflowDefinitions, useWorkflowLaunch, useWorkflowTasks, useWorkspaceDocTitles, viewsOfTable, webinarRolesByUser, windowLabel, withMissingTableViews, withTableView, withoutTableView, workflowRunView };
41635
+ export { AddAddonDialog, AddFromAccountsButton, AgentBarShell, AgentControlBar, AgentSteps, AnswerTable, AskAgainContext, BACKFILL_OPTIONS, BUILTIN_GLOBAL_DIALOGS, BULK_REPROCESS_LIMIT, BillingProjectEntity, CaptureBar, ChangePlanDialog, ChatAttachmentList, ConnectedAccountAccessBadge, ConnectedAccountCluster, ConnectedAccountSettings, ConnectedAddContacts, ConnectedAgentChat, ConnectedAgentChatPanel, ConnectedAgentConfigForm, ConnectedAgentCreator, ConnectedAiReview, ConnectedAppRuntime, ConnectedAppsSettings, ConnectedAuthorizeAgent, ConnectedBranchControls, ConnectedBulkTagEditor, ConnectedCalendar, ConnectedChatThread, ConnectedCitationRenderer, ConnectedCompactConversation, ConnectedConfigForm, ConnectedContactCardForm, ConnectedContactToggle, ConnectedContactsDirectory, ConnectedConversation, ConnectedConversationDocumentPicker, ConnectedConversationEmpty, ConnectedConversationStart, ConnectedDangerZone, ConnectedDatabasesPage, ConnectedDeploymentStorage, ConnectedDeveloperConfig, ConnectedDriveSyncDialog, ConnectedExportDialog, ConnectedExportPanel, ConnectedFactsPage, ConnectedFieldsEditor, ConnectedFieldsManager, ConnectedFilesBulkActions, ConnectedFilesExplorer, ConnectedFilesPage, ConnectedForgotPassword, ConnectedGlobalDialogs, ConnectedGrantWorkspaceAccessDialog, ConnectedGridView, ConnectedGroupMembers, ConnectedIdentityVerification, ConnectedLoginPage, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailInviteCard, ConnectedMailMessage, ConnectedMailSettings, ConnectedMailSetup, ConnectedMailbox, ConnectedMailboxSyncDialog, ConnectedMessage, ConnectedMessageArea, ConnectedMessageList, ConnectedMessenger, ConnectedModelSelector, ConnectedMoveToFolder, ConnectedNewThreadDialog, ConnectedNotificationCenter, ConnectedNotificationPreferences, ConnectedOAuthConsentPage, ConnectedPanelHost, ConnectedPasswordChangeDialog, ConnectedPendingSyncDialog, ConnectedPremiumModels, ConnectedPrivacySettings, ConnectedProfileCard, ConnectedProjectEntity, ConnectedProjectPage, ConnectedProjectSelector, ConnectedProjectStorage, ConnectedProjectsPanel, ConnectedPublicBooking, ConnectedQuotaDialog, ConnectedRecentlyDeletedButton, ConnectedRecoveryKeyDialog, ConnectedReportProblem, ConnectedRequestWorkspaceAccess, ConnectedRequireVerified, ConnectedSearchPage, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSettingsPage, ConnectedSharePointAdminConsentPage, ConnectedSharedFilesPage, ConnectedSignatureVerifyPage, ConnectedSkillUpload, ConnectedSkillsLibrary, ConnectedSsoCallback, ConnectedStorageProjectCard, ConnectedStorageSettings, ConnectedTagEditorDialog, ConnectedTagEntity, ConnectedTagForm, ConnectedTagTable, ConnectedTagsPage, ConnectedTaskAccessRequest, ConnectedTaskActivityDialog, ConnectedTaskComposer, ConnectedTaskStartDialog, ConnectedThreadFollow, ConnectedThreadLauncher, ConnectedThreadTabs, ConnectedThreadTaskBar, ConnectedThreadsPage, ConnectedThreadsPreview, ConnectedTransferWatcher, ConnectedUpcomingEvents, ConnectedUpload, ConnectedUploadDropzone, ConnectedUserEntity, ConnectedWelcomeDialog, ConnectedWorkflowHistory, ConnectedWorkflowRunner, ConnectedWorkflowStart, ConnectedWorkspaceActivity, ConnectedWorkspaceDashboard, ConnectedWorkspaceEntity, ConnectedWorkspaceFormModal, ConnectedWorkspaceList, ConnectedWorkspaceMembers, ConnectedWorkspaceNotificationMenu, ConnectedWorkspaceSettings, ConnectedWorkspaceTrash, ConversationAlert, ConversationComposer2 as ConversationComposer, ConversationEntity, ConversationSendButton, ConversationStatusCell, DEFAULT_CONNECTED_SEARCH_PAGE_LABELS, DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, DEFAULT_OAUTH_PERMISSIONS, DEFAULT_PROJECTS_LIST_LABELS, DEFAULT_PROJECT_DETAILS_LABELS, DEFAULT_PROJECT_DETAIL_FIELDS, DEFAULT_PROJECT_LIST_COLUMNS, DEFAULT_PROJECT_PAGE_LABELS, DEFAULT_SEARCH_FIELDS, DEFAULT_SEARCH_ROW_LABELS, DEFAULT_SETTINGS_SECTIONS, DEFAULT_TIMELINE_LABEL_WIDTH, DEFAULT_WORKSPACE_LIST_LABELS, DeveloperFooter, DocumentFolderCell, DocumentLabelsCell, DocumentNameCell, DocumentSharedCell, DocumentStatusGlyph, DocumentSyncGlyph, DocumentUser, DocumentsFilterBarActions, DocumentsUploadButton, EmptyWorkspaceUpload, FACTS_GRID_ID, FILES_PREFS_KEY, FileTooltipContent, ImportVcfButton, ImportVcfSummary, InvoicesModal, LOOK_AGAIN_LABEL, MessageDetailsModal, MessageLiveSeconds, MicButton, NewProjectFlow, NotificationCenter, NotificationEvent, PENDING_LOOKUP_MS, PENDING_RECOVERY_KEY, PENDING_TASK_MESSAGE, PREMIUM_TIER_TAG, PROJECTS_BASE_TAB_ID, PROMPT_BINDINGS, PersistedGridView, ProgressiveLoadingChip, ProjectDetail, ProjectUsageContent, ProjectsTable, REFERRAL_OFFER, RecoveryKeyDownload, RelatedDocumentsCell, ReportProblemDialog, RunStatsBadges, RunningSubagents, SEARCH_FIELD_OPTIONS, SETTINGS_SECTION_IDS, STANDARD_TIER_TAG, SessionStatusIcon, SharedProjects, SourceChips, SsoResendVerificationButton, StatusCell2 as StatusCell, StorageBreakdown, StorageItemsTable, StorageTiers, StreamedArtifact, TILE_DEFAULT, TILE_MAX, TILE_MIN, ThreadSwitcher, UserAvatar, ViewSelector, WORKSPACES_TAB_ID, WorkflowLaunchHost, WorkflowRunStatusCell, WorkflowRunThread, WorkflowStepMessage, accountSettingsSection, appearanceSettingsSection, backUpOnSignup, bookingCancelLink, buildNotificationCenterItems, buildProjectSummaries, chatSettingsSection, closeAccessRequestReview, connectedAppsSettingsSection, connectionSettingsSection, countNotificationTypes, createDocumentColumns, createEventCall, createNotificationTargetOpener, createTagColumn, deduplicateByContentHash, defaultHost, describePlan, distinctPeers, documentFamilyMeta, documentFieldContent, filesViewMode, filterNotificationCenterItems, formatStorageGb, groupFallbackName, identifyOAuthClient, isActiveDocumentStatus, joinEventMeeting, loadEventWebinar, mailSettingsSection, openMeetingLink, openPendingSyncDialog, openSsoPopup, organisationSettingsSection, parseArbiCallUrl, parseOAuthConsentRequest, parseQuotaError, parseTypedSkill, primaryProjectWorkspace, privacySettingsSection, renderConnectedUser, renderSessionStatusIcon, requestProjectBillingFocus, resolveAttendeeUsers, resolveAttendeeUsersRemote, resolveCallPeers, resolveCallPeersRemote, resolveLaunchInputs, resolveMailbox, resolveSsoName, reviewAccessRequest, reviewProgress, shareEventCall, startMenuItem, storageSettingsSection, suppliedKinds, threadStateOf, toWorkspaceSummary, transferOutcome, updateEventWebinarRoles, usageSettingsSection, useAccessRequestUnderReview, useAddFromUrls, useAiReviewLiveUpdates, useAiReviewStore, useAuthPages, useAutoRefreshPendingProjects, useBatchCompleteToasts, useChatMessageToasts, useConnectedCalendarCalls, useConnectedNotificationBell, useConnectedShellWorkspaces, useConnectedThreadActivity, useConnectedWorkspaceList, useConnectedWorkspaceSettings, useDocumentBulkActions, useDocumentFilters, useDocumentFolders, useDocumentGridSync, useDocumentNavigation, useDocumentTable, useExportStore, useFilesDialogs, useFilesGridStates, useFilesPrefs, useFilesStore, useLaunchWorkflow, useMemberLookup, useMessengerRows, useModelPicker, useNotificationBellEntry, useNotificationToasts, useOpenBillingPortal, useOpenChunk, useOpenNotificationTarget, useOpenWorkspaceActivityTarget, useOpenWorkspaceIcon, usePendingFolders, usePendingTaskThread, useProjectBillingFocus, useProjectSummaries, useProjectSummary, useReferralReward, useRenderTaskPerson, useReportProblem, useResolvedDocStatus, useSessionPanelMode, useSessionSidebar, useSkillsEnabled, useSlashItems, useSlashSkillWorkflows, useSsoSignIn, useStartRequestedDraft, useTableViews, useTaskPeople, useTaskStart, useThreadLabels, useThreadTabs, useWorkflowDefinitions, useWorkflowLaunch, useWorkflowTasks, useWorkflowsPageState, useWorkspaceDocTitles, viewsOfTable, webinarRolesByUser, windowLabel, withMissingTableViews, withTableView, withoutTableView, workflowRunView };
40994
41636
  //# sourceMappingURL=index.js.map
40995
41637
  //# sourceMappingURL=index.js.map