@arbidocs/blocks 0.5.37 → 0.5.38

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 (153) hide show
  1. package/dist/{ConnectedCallDock-2NYM46HU.js → ConnectedCallDock-CT3D6LLI.js} +8 -8
  2. package/dist/{ConnectedCallDock-2NYM46HU.js.map → ConnectedCallDock-CT3D6LLI.js.map} +1 -1
  3. package/dist/{ConnectedCallDock-2LMIR4ID.cjs → ConnectedCallDock-V7DPSE6X.cjs} +17 -17
  4. package/dist/{ConnectedCallDock-2LMIR4ID.cjs.map → ConnectedCallDock-V7DPSE6X.cjs.map} +1 -1
  5. package/dist/{ConnectedCallRoom-QJ2UV6GV.js → ConnectedCallRoom-A27AM7IQ.js} +8 -8
  6. package/dist/{ConnectedCallRoom-QJ2UV6GV.js.map → ConnectedCallRoom-A27AM7IQ.js.map} +1 -1
  7. package/dist/{ConnectedCallRoom-26PBMTCC.cjs → ConnectedCallRoom-TNOCSTX2.cjs} +9 -9
  8. package/dist/{ConnectedCallRoom-26PBMTCC.cjs.map → ConnectedCallRoom-TNOCSTX2.cjs.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-5MN7PVRE.cjs → ConnectedNativeDocxComparison-H2OZMWHT.cjs} +13 -13
  10. package/dist/{ConnectedNativeDocxComparison-5MN7PVRE.cjs.map → ConnectedNativeDocxComparison-H2OZMWHT.cjs.map} +1 -1
  11. package/dist/{ConnectedNativeDocxComparison-GHOEFJUN.js → ConnectedNativeDocxComparison-RWKFPJPJ.js} +12 -12
  12. package/dist/{ConnectedNativeDocxComparison-GHOEFJUN.js.map → ConnectedNativeDocxComparison-RWKFPJPJ.js.map} +1 -1
  13. package/dist/{ConnectedNativeDocxEditor-HWPSWU2A.js → ConnectedNativeDocxEditor-43BI5LN6.js} +11 -11
  14. package/dist/{ConnectedNativeDocxEditor-HWPSWU2A.js.map → ConnectedNativeDocxEditor-43BI5LN6.js.map} +1 -1
  15. package/dist/{ConnectedNativeDocxEditor-VA7476NF.cjs → ConnectedNativeDocxEditor-6DQEM6SD.cjs} +13 -13
  16. package/dist/{ConnectedNativeDocxEditor-VA7476NF.cjs.map → ConnectedNativeDocxEditor-6DQEM6SD.cjs.map} +1 -1
  17. package/dist/{ConnectedStreamedWordArtifact-UMSTUZBY.cjs → ConnectedStreamedWordArtifact-3VKYIG6C.cjs} +13 -13
  18. package/dist/ConnectedStreamedWordArtifact-3VKYIG6C.cjs.map +1 -0
  19. package/dist/{ConnectedStreamedWordArtifact-KZUZB47X.js → ConnectedStreamedWordArtifact-TEB332E3.js} +12 -12
  20. package/dist/ConnectedStreamedWordArtifact-TEB332E3.js.map +1 -0
  21. package/dist/{WorkspaceTableView-DYXHUIRA.cjs → WorkspaceTableView-KG546U7M.cjs} +9 -9
  22. package/dist/{WorkspaceTableView-DYXHUIRA.cjs.map → WorkspaceTableView-KG546U7M.cjs.map} +1 -1
  23. package/dist/{WorkspaceTableView-HXSBJY42.js → WorkspaceTableView-OSFIWJ5C.js} +7 -7
  24. package/dist/{WorkspaceTableView-HXSBJY42.js.map → WorkspaceTableView-OSFIWJ5C.js.map} +1 -1
  25. package/dist/agents/index.cjs +401 -401
  26. package/dist/agents/index.js +10 -10
  27. package/dist/calls/index.cjs +131 -131
  28. package/dist/calls/index.js +9 -9
  29. package/dist/chat/index.cjs +81 -81
  30. package/dist/chat/index.js +3 -3
  31. package/dist/{chunk-3ON5DJLR.js → chunk-24H5WTGM.js} +4 -4
  32. package/dist/{chunk-3ON5DJLR.js.map → chunk-24H5WTGM.js.map} +1 -1
  33. package/dist/{chunk-EHRT5M5F.js → chunk-2C3I27VI.js} +3 -3
  34. package/dist/{chunk-EHRT5M5F.js.map → chunk-2C3I27VI.js.map} +1 -1
  35. package/dist/{chunk-UKG4DDLI.cjs → chunk-2QDNQM63.cjs} +10 -10
  36. package/dist/{chunk-UKG4DDLI.cjs.map → chunk-2QDNQM63.cjs.map} +1 -1
  37. package/dist/{chunk-EZJOJFY2.cjs → chunk-3ZLNI7ZA.cjs} +3 -3
  38. package/dist/{chunk-EZJOJFY2.cjs.map → chunk-3ZLNI7ZA.cjs.map} +1 -1
  39. package/dist/{chunk-JYASRZUQ.js → chunk-4DKI37QQ.js} +7 -7
  40. package/dist/{chunk-JYASRZUQ.js.map → chunk-4DKI37QQ.js.map} +1 -1
  41. package/dist/{chunk-OXIGJYMO.cjs → chunk-5NTSJV5H.cjs} +3 -3
  42. package/dist/{chunk-OXIGJYMO.cjs.map → chunk-5NTSJV5H.cjs.map} +1 -1
  43. package/dist/{chunk-7P2IL7RX.cjs → chunk-6EQSP77K.cjs} +5 -5
  44. package/dist/{chunk-7P2IL7RX.cjs.map → chunk-6EQSP77K.cjs.map} +1 -1
  45. package/dist/{chunk-T7O73MX2.js → chunk-7CHI36EP.js} +5 -5
  46. package/dist/{chunk-T7O73MX2.js.map → chunk-7CHI36EP.js.map} +1 -1
  47. package/dist/{chunk-CXY2ELL5.js → chunk-AL7EXOX5.js} +3 -3
  48. package/dist/{chunk-CXY2ELL5.js.map → chunk-AL7EXOX5.js.map} +1 -1
  49. package/dist/{chunk-YRWMYVHU.cjs → chunk-BIWPXSGS.cjs} +20 -20
  50. package/dist/{chunk-YRWMYVHU.cjs.map → chunk-BIWPXSGS.cjs.map} +1 -1
  51. package/dist/{chunk-ZZ76AUGX.cjs → chunk-BRYRZOS3.cjs} +4 -4
  52. package/dist/{chunk-ZZ76AUGX.cjs.map → chunk-BRYRZOS3.cjs.map} +1 -1
  53. package/dist/{chunk-ABKRLMWN.cjs → chunk-EFSL4O3B.cjs} +5 -5
  54. package/dist/{chunk-ABKRLMWN.cjs.map → chunk-EFSL4O3B.cjs.map} +1 -1
  55. package/dist/{chunk-32ZIHUXE.cjs → chunk-EGSSLWNZ.cjs} +3 -3
  56. package/dist/{chunk-32ZIHUXE.cjs.map → chunk-EGSSLWNZ.cjs.map} +1 -1
  57. package/dist/{chunk-ZXU2TKUV.js → chunk-EZSYYENN.js} +6 -6
  58. package/dist/{chunk-ZXU2TKUV.js.map → chunk-EZSYYENN.js.map} +1 -1
  59. package/dist/{chunk-LPGFODB4.cjs → chunk-FEVJA4BP.cjs} +3 -3
  60. package/dist/{chunk-LPGFODB4.cjs.map → chunk-FEVJA4BP.cjs.map} +1 -1
  61. package/dist/{chunk-IC2BXIUT.js → chunk-FHB4G77H.js} +3 -3
  62. package/dist/{chunk-IC2BXIUT.js.map → chunk-FHB4G77H.js.map} +1 -1
  63. package/dist/{chunk-UCCYCT3R.cjs → chunk-FY4C7HU5.cjs} +16 -16
  64. package/dist/{chunk-UCCYCT3R.cjs.map → chunk-FY4C7HU5.cjs.map} +1 -1
  65. package/dist/{chunk-RVCQE66I.cjs → chunk-H5BFOVVL.cjs} +5 -5
  66. package/dist/{chunk-RVCQE66I.cjs.map → chunk-H5BFOVVL.cjs.map} +1 -1
  67. package/dist/{chunk-WDMWWBPB.cjs → chunk-H6K7EWL2.cjs} +7 -7
  68. package/dist/{chunk-WDMWWBPB.cjs.map → chunk-H6K7EWL2.cjs.map} +1 -1
  69. package/dist/{chunk-NNUNS47F.js → chunk-ICCBNHPU.js} +3 -3
  70. package/dist/{chunk-NNUNS47F.js.map → chunk-ICCBNHPU.js.map} +1 -1
  71. package/dist/{chunk-U7IEC2EM.cjs → chunk-JKMV4QNV.cjs} +74 -74
  72. package/dist/{chunk-U7IEC2EM.cjs.map → chunk-JKMV4QNV.cjs.map} +1 -1
  73. package/dist/{chunk-GMECFWVT.js → chunk-K6W2GWCN.js} +3 -3
  74. package/dist/{chunk-GMECFWVT.js.map → chunk-K6W2GWCN.js.map} +1 -1
  75. package/dist/{chunk-7W7TPWSZ.cjs → chunk-LNYEYR7W.cjs} +3 -3
  76. package/dist/{chunk-7W7TPWSZ.cjs.map → chunk-LNYEYR7W.cjs.map} +1 -1
  77. package/dist/{chunk-VWX5UECZ.js → chunk-MLHOG7YH.js} +3 -3
  78. package/dist/{chunk-VWX5UECZ.js.map → chunk-MLHOG7YH.js.map} +1 -1
  79. package/dist/{chunk-L7IBURSP.js → chunk-N3HVTMQK.js} +3 -3
  80. package/dist/{chunk-L7IBURSP.js.map → chunk-N3HVTMQK.js.map} +1 -1
  81. package/dist/{chunk-OJTXFIXU.cjs → chunk-NOKTUWTN.cjs} +4 -4
  82. package/dist/{chunk-OJTXFIXU.cjs.map → chunk-NOKTUWTN.cjs.map} +1 -1
  83. package/dist/{chunk-2VEBUYEJ.js → chunk-NUV5F6MM.js} +3 -3
  84. package/dist/{chunk-2VEBUYEJ.js.map → chunk-NUV5F6MM.js.map} +1 -1
  85. package/dist/{chunk-MJYGHJ4Y.js → chunk-P6MVDOCL.js} +3 -3
  86. package/dist/{chunk-MJYGHJ4Y.js.map → chunk-P6MVDOCL.js.map} +1 -1
  87. package/dist/{chunk-GI5ITZ53.js → chunk-PRY52BW5.js} +4 -4
  88. package/dist/{chunk-GI5ITZ53.js.map → chunk-PRY52BW5.js.map} +1 -1
  89. package/dist/chunk-PTYERKEU.js +2132 -0
  90. package/dist/chunk-PTYERKEU.js.map +1 -0
  91. package/dist/{chunk-IYW6Q33D.cjs → chunk-PUX4M22Q.cjs} +50 -50
  92. package/dist/{chunk-IYW6Q33D.cjs.map → chunk-PUX4M22Q.cjs.map} +1 -1
  93. package/dist/{chunk-ORBXJ4IT.js → chunk-QFYRXQTD.js} +3 -3
  94. package/dist/{chunk-ORBXJ4IT.js.map → chunk-QFYRXQTD.js.map} +1 -1
  95. package/dist/{chunk-UHYO2E25.js → chunk-RH4XIABH.js} +3 -3
  96. package/dist/{chunk-UHYO2E25.js.map → chunk-RH4XIABH.js.map} +1 -1
  97. package/dist/{chunk-GMZ2XFQQ.js → chunk-S3YRRD54.js} +3 -3
  98. package/dist/{chunk-GMZ2XFQQ.js.map → chunk-S3YRRD54.js.map} +1 -1
  99. package/dist/chunk-TQSU3I4C.cjs +2180 -0
  100. package/dist/chunk-TQSU3I4C.cjs.map +1 -0
  101. package/dist/{chunk-LXF22VRI.js → chunk-VKY4SQMH.js} +4 -4
  102. package/dist/{chunk-LXF22VRI.js.map → chunk-VKY4SQMH.js.map} +1 -1
  103. package/dist/{chunk-H3JKC55K.cjs → chunk-VMLEISRZ.cjs} +9 -9
  104. package/dist/{chunk-H3JKC55K.cjs.map → chunk-VMLEISRZ.cjs.map} +1 -1
  105. package/dist/{chunk-VP5TGUBY.js → chunk-VPWCARVO.js} +5 -5
  106. package/dist/{chunk-VP5TGUBY.js.map → chunk-VPWCARVO.js.map} +1 -1
  107. package/dist/{chunk-N2SUDWY2.cjs → chunk-WALADS2S.cjs} +3 -3
  108. package/dist/{chunk-N2SUDWY2.cjs.map → chunk-WALADS2S.cjs.map} +1 -1
  109. package/dist/{chunk-ME3R44JN.cjs → chunk-XFSEPGF7.cjs} +4 -4
  110. package/dist/{chunk-ME3R44JN.cjs.map → chunk-XFSEPGF7.cjs.map} +1 -1
  111. package/dist/{chunk-K7OF4KGP.cjs → chunk-YDY4GIC2.cjs} +5 -5
  112. package/dist/{chunk-K7OF4KGP.cjs.map → chunk-YDY4GIC2.cjs.map} +1 -1
  113. package/dist/{chunk-APPHGHMM.js → chunk-YPR4FSDJ.js} +3 -3
  114. package/dist/{chunk-APPHGHMM.js.map → chunk-YPR4FSDJ.js.map} +1 -1
  115. package/dist/collaboration/index.cjs +1 -1
  116. package/dist/collaboration/index.js +1 -1
  117. package/dist/connect/docx.cjs +15 -15
  118. package/dist/connect/docx.js +11 -11
  119. package/dist/connect/index.cjs +1433 -928
  120. package/dist/connect/index.cjs.map +1 -1
  121. package/dist/connect/index.d.ts +1 -0
  122. package/dist/connect/index.js +563 -59
  123. package/dist/connect/index.js.map +1 -1
  124. package/dist/connect/viewer.cjs +63 -63
  125. package/dist/connect/viewer.js +16 -16
  126. package/dist/connection/databases/ConnectedDatabasesPage.d.ts +1 -0
  127. package/dist/connection/databases/DatabaseViewsMenu.d.ts +10 -0
  128. package/dist/connection/databases/index.d.ts +1 -0
  129. package/dist/connection/databases/useDatabaseCellSources.d.ts +6 -0
  130. package/dist/databases/index.cjs +193 -2173
  131. package/dist/databases/index.cjs.map +1 -1
  132. package/dist/databases/index.js +4 -2129
  133. package/dist/databases/index.js.map +1 -1
  134. package/dist/facts/index.cjs +2 -2
  135. package/dist/facts/index.js +2 -2
  136. package/dist/files/index.cjs +223 -223
  137. package/dist/files/index.js +3 -3
  138. package/dist/home/index.cjs +29 -29
  139. package/dist/home/index.js +4 -4
  140. package/dist/index.cjs +1656 -1656
  141. package/dist/index.js +22 -22
  142. package/dist/settings/index.cjs +156 -156
  143. package/dist/settings/index.js +3 -3
  144. package/dist/shell/index.cjs +72 -72
  145. package/dist/shell/index.js +4 -4
  146. package/dist/studio/index.cjs +8 -8
  147. package/dist/studio/index.js +7 -7
  148. package/dist/workflow-canvas/index.cjs +23 -23
  149. package/dist/workflow-canvas/index.js +10 -10
  150. package/node_modules/@arbidocs/coedit/package.json +1 -1
  151. package/package.json +5 -5
  152. package/dist/ConnectedStreamedWordArtifact-KZUZB47X.js.map +0 -1
  153. package/dist/ConnectedStreamedWordArtifact-UMSTUZBY.cjs.map +0 -1
@@ -1,22 +1,23 @@
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-GMECFWVT.js';
3
- export { CAP_REACHED_MESSAGE, ZERO_BUDGET_MESSAGE, aiUsageResetTimestamp, formatMoney, formatResetDate, getQuotaItems, isAddonBudgetZero, isProProject, planBadgeView, planName, projectGroupBilling, useBillingSupport, useRewardBalance } from '../chunk-GMECFWVT.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-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';
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';
7
7
  import { buildFactCitations, citedVersionRef, chronologyFactBodies, docIdsOf, toFactCitations, FactsToolbar, FactsFieldsButton, FactComposer, FactDateInput, FactSourcesRow, FactsLoading, FactsLoadError, FactsEmptyState, FactsCalendar, FactsGanttPane, FactsBulkBar, FactSourceGroup, EMPTY_FACT_DATE_FIELDS, withoutChunk, factDateSpanToFields, FactFieldRow, FactLabelsCell, enableFactTableColumnResize, withChunk, factDateFieldsToSpan, createFactColumns, FactRowActions, withoutDoc, withDoc, sourceDocCount, DEFAULT_FACT_COLUMN_LABELS } from '../chunk-75Z5AUMM.js';
8
- import { HomeLoadError, HomeFrame, HomeMain, HomeCenteredScroll, HomeCenteredColumn, DashboardRoot, DashboardBand, DashboardColumns, RecentList, DashboardAction, FactsStrip, FactMark, CreateTile } from '../chunk-UHYO2E25.js';
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-NNUNS47F.js';
12
- export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-L7IBURSP.js';
13
- import { useConnectedWorkspaceRole, ConnectedWorkflowLauncher, useConnectedWorkflowScopeSource, ConnectedWorkflowDocumentsField, ConnectedNativeDocxEditor, toWorkflowFieldDocument } from '../chunk-LXF22VRI.js';
14
- export { ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedWorkflowsTable, DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, toWorkflowFieldDocument, useConnectedAgentOptions, useConnectedWorkflowScopeSource, useConnectedWorkspaceRole, useDocxCommentTarget, useNativeDocxSupport } from '../chunk-LXF22VRI.js';
15
- import { ConnectedMarkdown, InternalDocLink, ExternalLink, DocumentWorkspaceContext } from '../chunk-VP5TGUBY.js';
16
- export { ConnectedDocumentToolsProvider, ConnectedMarkdown, DocumentChip, DocumentWorkspaceContext, ExternalLink, InternalDocLink, MailChip, MermaidDiagram, WorkspaceDocumentReference, useDocumentViewerSupport, useDocumentWorkspace, useViewerDraftDocument, useViewerIsDetached, useViewerPassageCitation, useViewerStreamingDocument } from '../chunk-VP5TGUBY.js';
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-MJYGHJ4Y.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';
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';
20
+ import { DatabaseList, NewDatabaseDialog, DatabaseToolbar, DatabaseTable, DatabaseRowDetail, DatabaseColumnDialog, rowTitle, OPEN_ROW_COL_ID, ADD_COLUMN_COL_ID } from '../chunk-PTYERKEU.js';
20
21
  import { SignatureCertificate, SignDocumentDialog } from '../chunk-PQU6LE7U.js';
21
22
  import '../chunk-6HKLTYNN.js';
22
23
  import { SettingsSection, SettingsCard, SettingsActionRow, SettingsRow, SettingsDangerZone, SettingsPanel, SettingsDisclosure } from '../chunk-MZA7GMOH.js';
@@ -24,7 +25,7 @@ import '../chunk-MTSKK3BN.js';
24
25
  import '../chunk-BTTUZZN3.js';
25
26
  import { FactSourcesPanel, FactPassageItem } from '../chunk-HFZ45FD3.js';
26
27
  import '../chunk-IA5BYEO7.js';
27
- 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-IC2BXIUT.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
29
  import { MemberAvatarStack } from '../chunk-FUPAGAZB.js';
29
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';
30
31
  import { SearchHit } from '../chunk-XJA6TS6D.js';
@@ -34,58 +35,58 @@ import { ThemeEditor } from '../chunk-5ZBXFHZW.js';
34
35
  import { TimelineZoomControl } from '../chunk-4EZVCGRL.js';
35
36
  import '../chunk-UJE32SST.js';
36
37
  import '../chunk-NHZK64TQ.js';
37
- 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';
38
- 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-CXY2ELL5.js';
39
38
  import { PlainMailBodyEditor, MemberNameCell, MemberMutedText, MemberRoleCell, MemberListLoading, MemberBulkActions, buildMailFolderTree, MailFolderTree, AddContactsResults, AddContactsForm, emailTokens, EMPTY_CONTACT_FORM, contactToForm, contactStatusLabel, summarizeImport, matchesContact, contactName, primaryEmail, draftMailCompose, replyMailCompose, emptyMailCompose, MailGrid, MailMessageView, DmThreadFrame, DmAccessRequestBanner, planContactInvites, MAX_INVITE_EMAILS, summarizeUnsentInvites, applyContactInviteResults, summarizeContactInvites, failContactInvites, validateContactForm, inviteEmail, formToContactCard, DEFAULT_CONTACT_OUTCOME_LABELS, contactOutcomeMessage, MailDocumentPicker, parseMailRecipients } from '../chunk-46WCQ4F3.js';
40
39
  import '../chunk-NBV56SGU.js';
41
40
  import { ErrorBoundary } from '../chunk-EQ3WRY2N.js';
42
41
  import { LabelMultiSelectView } from '../chunk-JMQLTMJ7.js';
43
42
  import { workspaceKindColor, WorkspaceIdentity, SidebarBadgeRow, ActionCluster, prefetchChunk } from '../chunk-PXYP3DM5.js';
44
- import { workspaceDocIdFromHref } from '../chunk-DDCMLHXF.js';
45
- import '../chunk-7XF5SFJ2.js';
43
+ import { PassagePill, useCopyText } from '../chunk-QG7XCD5U.js';
46
44
  import '../chunk-K4BGOPGG.js';
47
45
  import '../chunk-ZCOVDK2E.js';
48
46
  import { isDefinitionsLabel, DOCX_MIME_TYPE, toDefinitionSource, definitionLabels } from '../chunk-IYUKJESY.js';
49
47
  import { decodeWhitespaceEntities } from '../chunk-AF6RDAJF.js';
50
- 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-JYASRZUQ.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';
51
49
  import { MultiSelect } from '../chunk-CQCC7LE7.js';
52
- import { useMentionAutocomplete, stepStatesFromActivity, stepDocuments, splitDocRef, stepPhase, stepKindOf, STEP_KIND_ICONS, stepLevels, canAssign, assigneeName, runFieldsOf, initialRunInputs, workflowSteps, runThreadTitle, stepFields } from '../chunk-THNTNAYI.js';
53
- import { PersonPill, documentScopeLabels, matchWorkflowScope } from '../chunk-T7O73MX2.js';
54
- import { SectionLabel } from '../chunk-EHRT5M5F.js';
50
+ import { PersonPill, documentScopeLabels, matchWorkflowScope } from '../chunk-7CHI36EP.js';
51
+ import { SectionLabel } from '../chunk-2C3I27VI.js';
55
52
  import { TriStateFilterMenu } from '../chunk-G4GLDQLY.js';
56
- import { mergeSkillWorkflows, composeWorkflowPrompt, isEmptyWorkflowScope, inputsFromContext, workflowsAccepting, promptFieldName, validateInputs, defaultInputs, buildLaunch } from '../chunk-TZGBRLPK.js';
57
53
  import '../chunk-M4S75AEJ.js';
58
54
  import '../chunk-5LXQPP2K.js';
59
55
  import { SelectionBar, SelectionBarAction } from '../chunk-NUNKSZKU.js';
60
56
  import '../chunk-RLWIUUQ5.js';
61
57
  import { FilterInput } from '../chunk-YU2KUMGE.js';
62
58
  import '../chunk-73DANGPH.js';
63
- import '../chunk-AUS3KBHJ.js';
64
59
  import { GridView } from '../chunk-7F5Z4K5W.js';
65
- import { useIsPhone, useMediaQuery } from '../chunk-SLSBJRWW.js';
66
- import { useListKeyNav, MentionMenu } from '../chunk-GAGYAHYO.js';
67
60
  import { StreamedArtifactFrame } from '../chunk-LOJVUGBJ.js';
68
61
  import { DEFAULT_PASSWORD_RULES, AccountRecoveryDialog, promptSaveCredential, useFragmentCredentials, AuthLayout, AuthHeading, AuthField, AuthInput, AuthFieldBadge, AuthLink, AuthNote, RevealablePasswordInput, AuthConsent, AuthSubmitButton, AuthDivider, AuthAlert, RecoveryKeyDialog, parseAuthError, AuthOfflineBadge, AuthTabs, splitAuthHash, withTrailingFragment } from '../chunk-VN4FSGBR.js';
69
62
  import { PasswordStrengthInput } from '../chunk-P6OLZGQA.js';
70
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';
71
64
  import { detectTimeZone, utcToDate, formatPlainDate, formatInZone, safeZone, todayInZone, addDays, listTimeZones, wallToUtc } from '../chunk-OJIX5NBN.js';
72
65
  import { DocumentPicker } from '../chunk-WNDIVNPT.js';
73
- import { useTranscriptRuns, TranscriptEntry, ThreadCallLogCard, RecordingCard, useMeetingThreadMessages, threadTranscriptRuns, useProvisionalSpeakers, TranscriptRunsContext, ProvisionalSpeakers, CallConversationEmpty } from '../chunk-3ON5DJLR.js';
74
- export { useMeetingThreadMessages } from '../chunk-3ON5DJLR.js';
75
- import { parseCallLogDetail } from '../chunk-GMZ2XFQQ.js';
66
+ import { useTranscriptRuns, TranscriptEntry, ThreadCallLogCard, RecordingCard, useMeetingThreadMessages, threadTranscriptRuns, useProvisionalSpeakers, TranscriptRunsContext, ProvisionalSpeakers, CallConversationEmpty } from '../chunk-24H5WTGM.js';
67
+ export { useMeetingThreadMessages } from '../chunk-24H5WTGM.js';
68
+ import { parseCallLogDetail } from '../chunk-S3YRRD54.js';
76
69
  import { useDocumentFilter, useConnectedTags, useConnectedDocuments, useConnectedConversations, useListedDocuments, listedDocuments } from '../chunk-5JEM3BWT.js';
77
70
  export { isListedDocument, useConnectedConversations, useConnectedDocuments, useConnectedTags, useDocumentFilter, useListedDocuments } from '../chunk-5JEM3BWT.js';
78
71
  import { useConnectedWorkspace, useConnection, useOptionalConnection, ConnectionProvider } from '../chunk-2YCCCXYV.js';
79
72
  export { SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnectedWorkspace, useConnection } from '../chunk-2YCCCXYV.js';
80
- import { ConversationFilter } from '../chunk-6AMCMKTF.js';
81
73
  import { DmThreadHeader, DmInviteChip } from '../chunk-2S3LT5KE.js';
82
74
  import { useHost, ArbiHost } from '../chunk-T4P237N6.js';
83
- import { buildDeepLinkPath, buildDeepLinkUrl } from '../chunk-7Q5INDUS.js';
84
75
  import { TabHeader } from '../chunk-ABEKUV6L.js';
85
76
  import { EmptyState } from '../chunk-P6GHJSLR.js';
86
- import '../chunk-NPLYHR2E.js';
87
- import { PassagePill, useCopyText } from '../chunk-QG7XCD5U.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';
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
+ import { workspaceDocIdFromHref } from '../chunk-DDCMLHXF.js';
80
+ import '../chunk-7XF5SFJ2.js';
81
+ import { useMentionAutocomplete, stepStatesFromActivity, stepDocuments, splitDocRef, stepPhase, stepKindOf, STEP_KIND_ICONS, stepLevels, canAssign, assigneeName, runFieldsOf, initialRunInputs, workflowSteps, runThreadTitle, stepFields } from '../chunk-THNTNAYI.js';
82
+ import { mergeSkillWorkflows, composeWorkflowPrompt, isEmptyWorkflowScope, inputsFromContext, workflowsAccepting, promptFieldName, validateInputs, defaultInputs, buildLaunch } from '../chunk-TZGBRLPK.js';
83
+ import '../chunk-AUS3KBHJ.js';
88
84
  import { fmtDate, initials } from '../chunk-5VYJP6XD.js';
85
+ import { useIsPhone, useMediaQuery } from '../chunk-SLSBJRWW.js';
86
+ import { useListKeyNav, MentionMenu } from '../chunk-GAGYAHYO.js';
87
+ import { ConversationFilter } from '../chunk-6AMCMKTF.js';
88
+ import { buildDeepLinkPath, buildDeepLinkUrl } from '../chunk-7Q5INDUS.js';
89
+ import '../chunk-NPLYHR2E.js';
89
90
  import { useBlocksEnvironment, useOpenWorkflow, openDialog, closeDialog, useDialogProps, useRequestedSettingsSection, useIntentRequest, mailDraftRequest, useCalendarViewStore, conversationStartRequest } from '../chunk-QZUZPC4J.js';
90
91
  export { requestCalendarComposer, requestCalendarEvent, useCalendarViewStore } from '../chunk-QZUZPC4J.js';
91
92
  import { ConfirmDialog } from '../chunk-U4HWVCRN.js';
@@ -93,7 +94,7 @@ import { ModalSection, ModalHeader, ModalScaffold, ModalSectionTitle } from '../
93
94
  import '../chunk-7F6CBP3Z.js';
94
95
  import '../chunk-VUNV25KB.js';
95
96
  import { QueryClient, useQueryClient, QueryClientProvider } from '@tanstack/react-query';
96
- 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, 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, useInvalidateAfterTransfer, useConfigs, useSaveConfigField, useDeleteConfig, isFullConfig, useChatUnreadTotal, useUnreadByPeer, useProjectConversationUsage, AiAnswer, ArbiWebSocketProvider, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useBookingPages, useDeleteBookingPage, useRooms, 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, 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
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';
98
99
  import { isAbortError, browserSessionStateStorage, parseCallFragment, isMessageType, validateRecoveryKeyFile, RECOVERY_KEY_ERRORS, parseRecoveryUrl, prewarmKeyPairs, decryptRecoveryKey, unlockIdentityWithPassword, createRecoveryUrl, bytesToBase64, initSodium } from '@arbidocs/client';
99
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';
@@ -3486,7 +3487,7 @@ function ConnectedTagTable({
3486
3487
  )
3487
3488
  };
3488
3489
  }, [schema.data, rows.data, filter, linksLimit, allTags]);
3489
- const fail = (fallback) => (e) => notify18(refusalReason(e, fallback), "error");
3490
+ const fail2 = (fallback) => (e) => notify18(refusalReason(e, fallback), "error");
3490
3491
  const snapshot2 = (data) => {
3491
3492
  const title = exportTitle ?? tagKindTitle(kind, { plural: true });
3492
3493
  const bytes = tagTableDocx(data, {
@@ -3505,11 +3506,11 @@ function ConnectedTagTable({
3505
3506
  isLoading: schema.isLoading || rows.isLoading,
3506
3507
  people,
3507
3508
  tags: tagOptions,
3508
- onChangeValue: readOnly ? void 0 : (tagId, fieldId, value) => setValues.mutateAsync({ tagId, values: { [fieldId]: value } }).catch(fail("Could not save the value")),
3509
+ onChangeValue: readOnly ? void 0 : (tagId, fieldId, value) => setValues.mutateAsync({ tagId, values: { [fieldId]: value } }).catch(fail2("Could not save the value")),
3509
3510
  onChangeColumns: readOnly || !editColumns ? void 0 : (fields) => (
3510
3511
  // A refusal (two columns of one name, a type change) keeps the editor open.
3511
3512
  updateSchema.mutateAsync({ kind, fields }).catch((e) => {
3512
- fail("Could not save the columns")(e);
3513
+ fail2("Could not save the columns")(e);
3513
3514
  throw e;
3514
3515
  })
3515
3516
  ),
@@ -3517,7 +3518,7 @@ function ConnectedTagTable({
3517
3518
  name,
3518
3519
  kind,
3519
3520
  ...parentId && !FLAT_TAG_KINDS.includes(kind) ? { parentId } : {}
3520
- }).catch(fail(`Could not add "${name}"`)),
3521
+ }).catch(fail2(`Could not add "${name}"`)),
3521
3522
  onExport: onExported && table ? async () => {
3522
3523
  try {
3523
3524
  const { blob, name } = snapshot2(table);
@@ -3525,7 +3526,7 @@ function ConnectedTagTable({
3525
3526
  const id = uploaded?.doc_ext_ids?.[0];
3526
3527
  if (id) onExported(id);
3527
3528
  } catch (e) {
3528
- fail("Could not file the table")(e);
3529
+ fail2("Could not file the table")(e);
3529
3530
  }
3530
3531
  } : void 0,
3531
3532
  onDownload: downloadable && table ? () => {
@@ -13614,7 +13615,7 @@ function ReduceAddonDialog({
13614
13615
  const addons = project.addons;
13615
13616
  if (!addons) return null;
13616
13617
  const { min, next } = reduceBounds(kind, addons);
13617
- const keep = Math.max(min, next - 1);
13618
+ const keep2 = Math.max(min, next - 1);
13618
13619
  const size = nextRemovedBlockSize(kind, addons);
13619
13620
  const what = stepLabel(kind, size);
13620
13621
  const from = formatPeriodEnd(addons.period_end ?? project.current_period_end) ?? "your next renewal";
@@ -13625,7 +13626,7 @@ function ReduceAddonDialog({
13625
13626
  const save = () => update.mutate(
13626
13627
  {
13627
13628
  projectExtId: project.external_id,
13628
- body: nextPeriodBody(kind, keep)
13629
+ body: nextPeriodBody(kind, keep2)
13629
13630
  },
13630
13631
  {
13631
13632
  onSuccess: () => {
@@ -13682,7 +13683,7 @@ function ReduceAddonDialog({
13682
13683
  Button,
13683
13684
  {
13684
13685
  onClick: save,
13685
- disabled: keep >= next || update.isPending,
13686
+ disabled: keep2 >= next || update.isPending,
13686
13687
  "data-testid": "confirm-reduce-addon-button",
13687
13688
  children: update.isPending ? "Saving\u2026" : `Remove ${what}`
13688
13689
  }
@@ -15260,7 +15261,7 @@ function useConnectedWorkspaceList({
15260
15261
  };
15261
15262
  }
15262
15263
  var WorkspaceTableView = lazy(
15263
- () => import('../WorkspaceTableView-HXSBJY42.js').then((m) => ({ default: m.WorkspaceTableView }))
15264
+ () => import('../WorkspaceTableView-OSFIWJ5C.js').then((m) => ({ default: m.WorkspaceTableView }))
15264
15265
  );
15265
15266
  var WORKSPACES_TAB_ID = "workspaces";
15266
15267
  var defaultRenderMember2 = (user, size) => {
@@ -20444,7 +20445,7 @@ function AccountRow({ account }) {
20444
20445
  const update = useUpdateCalendarAccount();
20445
20446
  const disconnect = useDisconnectCalendarAccount();
20446
20447
  const [confirming, setConfirming] = useState(false);
20447
- const fail = (what) => (err) => notify18(`${what}: ${describeCalendarError(err)}`, "error");
20448
+ const fail2 = (what) => (err) => notify18(`${what}: ${describeCalendarError(err)}`, "error");
20448
20449
  const reconnect = !!startOAuth && account.status === "needs_reauth" && (account.kind === "google" || account.kind === "microsoft");
20449
20450
  return /* @__PURE__ */ jsxs(
20450
20451
  "li",
@@ -20475,7 +20476,7 @@ function AccountRow({ account }) {
20475
20476
  onClick: () => void startOAuth?.(
20476
20477
  account.kind,
20477
20478
  account.background_sync
20478
- ).catch(fail("Could not reconnect")),
20479
+ ).catch(fail2("Could not reconnect")),
20479
20480
  children: "Reconnect"
20480
20481
  }
20481
20482
  ),
@@ -20487,7 +20488,7 @@ function AccountRow({ account }) {
20487
20488
  disabled: sync.isPending,
20488
20489
  onClick: () => sync.mutate(account.id, {
20489
20490
  onSuccess: (r) => r?.error ? notify18(`Sync failed: ${describeCalendarError(r.error)}`, "error") : notify18("Calendar synced", "success"),
20490
- onError: fail("Sync failed")
20491
+ onError: fail2("Sync failed")
20491
20492
  }),
20492
20493
  "data-testid": `calendar-account-sync-${account.id}`,
20493
20494
  children: [
@@ -20504,7 +20505,7 @@ function AccountRow({ account }) {
20504
20505
  variant: "destructive",
20505
20506
  disabled: disconnect.isPending,
20506
20507
  onClick: () => disconnect.mutate(account.id, {
20507
- onError: fail("Could not disconnect"),
20508
+ onError: fail2("Could not disconnect"),
20508
20509
  onSettled: () => setConfirming(false)
20509
20510
  }),
20510
20511
  "data-testid": `calendar-account-disconnect-confirm-${account.id}`,
@@ -20539,7 +20540,7 @@ function AccountRow({ account }) {
20539
20540
  disabled: update.isPending,
20540
20541
  onCheckedChange: (checked) => update.mutate(
20541
20542
  { id: account.id, backgroundSync: checked },
20542
- { onError: fail("Could not change background sync") }
20543
+ { onError: fail2("Could not change background sync") }
20543
20544
  ),
20544
20545
  "aria-label": "Background sync",
20545
20546
  "data-testid": `calendar-account-background-${account.id}`
@@ -21710,10 +21711,10 @@ function InvitationsPanel({ timeZone, onOpenEvent }) {
21710
21711
  const [open, setOpen] = useState(false);
21711
21712
  const [notes, setNotes] = useState({});
21712
21713
  const [proposeFor, setProposeFor] = useState(null);
21713
- const fail = (err) => notify18(`Could not send: ${err.message}`, "error");
21714
+ const fail2 = (err) => notify18(`Could not send: ${err.message}`, "error");
21714
21715
  const answer = (inv, partstat) => respond.mutate(
21715
21716
  { id: inv.event_id ?? inv.id, partstat, comment: notes[inv.id]?.trim() || null },
21716
- { onError: fail }
21717
+ { onError: fail2 }
21717
21718
  );
21718
21719
  return /* @__PURE__ */ jsxs(Fragment, { children: [
21719
21720
  /* @__PURE__ */ jsxs(
@@ -21824,7 +21825,7 @@ function InvitationsPanel({ timeZone, onOpenEvent }) {
21824
21825
  Button,
21825
21826
  {
21826
21827
  size: "sm",
21827
- onClick: () => decide.mutate({ id: inv.id, accept: true }, { onError: fail }),
21828
+ onClick: () => decide.mutate({ id: inv.id, accept: true }, { onError: fail2 }),
21828
21829
  "data-testid": "calendar-counter-accept",
21829
21830
  children: "Accept new time"
21830
21831
  }
@@ -21834,7 +21835,7 @@ function InvitationsPanel({ timeZone, onOpenEvent }) {
21834
21835
  {
21835
21836
  size: "sm",
21836
21837
  variant: "outline",
21837
- onClick: () => decide.mutate({ id: inv.id, accept: false }, { onError: fail }),
21838
+ onClick: () => decide.mutate({ id: inv.id, accept: false }, { onError: fail2 }),
21838
21839
  "data-testid": "calendar-counter-decline",
21839
21840
  children: "Keep current time"
21840
21841
  }
@@ -21875,7 +21876,7 @@ function InvitationsPanel({ timeZone, onOpenEvent }) {
21875
21876
  setProposeFor(null);
21876
21877
  notify18("New time proposed to the organiser", "success");
21877
21878
  },
21878
- onError: fail
21879
+ onError: fail2
21879
21880
  }
21880
21881
  );
21881
21882
  }
@@ -21973,13 +21974,13 @@ function ShareCalendarDialog({
21973
21974
  const unshare = useUnshareCalendar();
21974
21975
  const [email, setEmail] = useState("");
21975
21976
  const [role, setRole] = useState("read");
21976
- const fail = (err) => notify18(`Could not update sharing: ${err.message}`, "error");
21977
+ const fail2 = (err) => notify18(`Could not update sharing: ${err.message}`, "error");
21977
21978
  const add = () => {
21978
21979
  const grantee = email.trim().toLowerCase();
21979
21980
  if (!calendarId || !grantee) return;
21980
21981
  share.mutate(
21981
21982
  { calId: calendarId, grantee, role },
21982
- { onSuccess: () => setEmail(""), onError: fail }
21983
+ { onSuccess: () => setEmail(""), onError: fail2 }
21983
21984
  );
21984
21985
  };
21985
21986
  return /* @__PURE__ */ jsx(Dialog, { open: !!calendarId, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxs(DialogContent, { className: "sm:max-w-lg", "data-testid": "calendar-share-dialog", children: [
@@ -22067,7 +22068,7 @@ function ShareCalendarDialog({
22067
22068
  grantee: s.user_id,
22068
22069
  role: e.target.value
22069
22070
  },
22070
- { onError: fail }
22071
+ { onError: fail2 }
22071
22072
  ),
22072
22073
  children: SHARE_ROLES.map((r) => /* @__PURE__ */ jsx("option", { value: r.value, children: r.label }, r.value))
22073
22074
  }
@@ -22079,7 +22080,7 @@ function ShareCalendarDialog({
22079
22080
  size: "icon",
22080
22081
  variant: "ghost",
22081
22082
  "aria-label": `Stop sharing with ${s.email ?? s.user_id}`,
22082
- onClick: () => calendarId && unshare.mutate({ calId: calendarId, userId: s.user_id }, { onError: fail }),
22083
+ onClick: () => calendarId && unshare.mutate({ calId: calendarId, userId: s.user_id }, { onError: fail2 }),
22083
22084
  children: /* @__PURE__ */ jsx(Trash2, { className: "size-4" })
22084
22085
  }
22085
22086
  )
@@ -23866,7 +23867,7 @@ function ConnectedUpload({
23866
23867
  }),
23867
23868
  [notify18]
23868
23869
  );
23869
- const fail = useCallback(
23870
+ const fail2 = useCallback(
23870
23871
  (message, toast = true) => {
23871
23872
  setError(message);
23872
23873
  if (toast) notify18(message, "error");
@@ -23910,9 +23911,9 @@ ${summary}`,
23910
23911
  } catch (err) {
23911
23912
  const status = err.status;
23912
23913
  if (status === 402) {
23913
- fail(err.detail || "Quota exceeded", false);
23914
+ fail2(err.detail || "Quota exceeded", false);
23914
23915
  } else {
23915
- fail("Failed to upload documents. Please try again.");
23916
+ fail2("Failed to upload documents. Please try again.");
23916
23917
  }
23917
23918
  }
23918
23919
  }, [
@@ -23928,7 +23929,7 @@ ${summary}`,
23928
23929
  onUploadComplete,
23929
23930
  closeOnUpload,
23930
23931
  onClose,
23931
- fail
23932
+ fail2
23932
23933
  ]);
23933
23934
  const zipFilesAdded = useRef(false);
23934
23935
  const addFromUrls = useAddFromUrls({
@@ -28996,6 +28997,509 @@ function ConnectedGridView(props) {
28996
28997
  );
28997
28998
  return /* @__PURE__ */ jsx(GridView, { ...props, gridState, onGridStateChange });
28998
28999
  }
29000
+ var UNTITLED = "Untitled";
29001
+ function useDatabaseCellSources(databases) {
29002
+ const workspaceId = useArbiSessionState((state) => state.workspaceId);
29003
+ const { data: workspaces } = useWorkspaces();
29004
+ const workspace = workspaces?.find((candidate) => candidate.external_id === workspaceId);
29005
+ const { data: documents } = useDocuments();
29006
+ const { openDocument } = useBlocksEnvironment();
29007
+ const searchDatabaseRows = useSearchDatabaseRows();
29008
+ const members = useMemo(
29009
+ () => (workspace?.users ?? []).map((wu) => ({
29010
+ id: wu.user.external_id,
29011
+ label: getUserDisplayName(wu.user),
29012
+ description: wu.user.email
29013
+ })),
29014
+ [workspace?.users]
29015
+ );
29016
+ const documentOptions = useMemo(
29017
+ () => (documents ?? []).map((d) => ({
29018
+ id: d.external_id,
29019
+ label: d.file_name || d.external_id
29020
+ })),
29021
+ [documents]
29022
+ );
29023
+ const searchRows = useMemo(() => {
29024
+ const columnsOf = new Map(
29025
+ (databases ?? []).map((d) => [d.id, d.columns])
29026
+ );
29027
+ return async (databaseId, q) => {
29028
+ const columns = columnsOf.get(databaseId) ?? [];
29029
+ const rows = await searchDatabaseRows(databaseId, q);
29030
+ return rows.map((row2) => ({ id: row2.id, label: rowTitle(row2, columns) || UNTITLED }));
29031
+ };
29032
+ }, [databases, searchDatabaseRows]);
29033
+ return useMemo(
29034
+ () => ({
29035
+ members,
29036
+ documents: documentOptions,
29037
+ searchRows,
29038
+ onOpenDocument: (documentId) => openDocument(documentId)
29039
+ }),
29040
+ [members, documentOptions, searchRows, openDocument]
29041
+ );
29042
+ }
29043
+ var FIXED_COLUMNS = [OPEN_ROW_COL_ID, ADD_COLUMN_COL_ID];
29044
+ var MENU_LABELS = {
29045
+ trigger: "Columns",
29046
+ allFields: (count2) => `All columns (${count2})`
29047
+ };
29048
+ function applyDatabaseColumns(columns, api) {
29049
+ const kept = (id) => api.getColumn(id) ? [id] : [];
29050
+ applyColumnLayout(api, [...kept(OPEN_ROW_COL_ID), ...columns, ...kept(ADD_COLUMN_COL_ID)]);
29051
+ }
29052
+ function DatabaseViewsMenu({
29053
+ databaseId,
29054
+ gridId,
29055
+ gridApi,
29056
+ columns
29057
+ }) {
29058
+ const { confirm, notify: notify18 } = useBlocksEnvironment();
29059
+ const stateVersion = useArbiSessionState((state) => state.grid.states[gridId]);
29060
+ const { savedViews, ready, saveView, deleteView, importViews, isSaving } = useTableViews(databaseId);
29061
+ useMoveLocalViews(gridId, ready, importViews);
29062
+ const getGridApi = useCallback(() => gridApi, [gridApi]);
29063
+ const defaultColumns = useMemo(() => columns.map((c) => c.id), [columns]);
29064
+ const builtins = useMemo(
29065
+ () => [{ key: "default", label: "All columns", columns: defaultColumns, icon: Table }],
29066
+ [defaultColumns]
29067
+ );
29068
+ const onLoadView = useCallback(
29069
+ (view, api) => applyViewColumns(api, view, applyDatabaseColumns),
29070
+ []
29071
+ );
29072
+ const onSaveView = useCallback(
29073
+ async (view) => {
29074
+ await saveView(view);
29075
+ notify18(`Saved view "${view.name}"`, "success");
29076
+ },
29077
+ [saveView, notify18]
29078
+ );
29079
+ const onDeleteView = useCallback(
29080
+ async (name) => {
29081
+ if (!await confirm({ message: `Delete view "${name}"?`, title: "Delete View" }))
29082
+ return false;
29083
+ await deleteView(name);
29084
+ notify18(`Deleted view "${name}"`, "success");
29085
+ return true;
29086
+ },
29087
+ [confirm, deleteView, notify18]
29088
+ );
29089
+ const menu = useGridViews({
29090
+ getGridApi,
29091
+ defaultColumns,
29092
+ builtins,
29093
+ savedViews,
29094
+ stateVersion,
29095
+ ignoredColumns: FIXED_COLUMNS,
29096
+ onApplyColumns: applyDatabaseColumns,
29097
+ onLoadView,
29098
+ onSaveView,
29099
+ onDeleteView,
29100
+ isSaving
29101
+ });
29102
+ return /* @__PURE__ */ jsx(ViewSelectorMenu, { ...menu, labels: MENU_LABELS });
29103
+ }
29104
+ function useMoveLocalViews(gridId, ready, importViews) {
29105
+ const localViews = useArbiSessionState((state) => state.grid.savedViews[gridId]);
29106
+ const setLocalGridViews = useArbiSessionStore().setGridSavedViews;
29107
+ const moving = useRef(null);
29108
+ useEffect(() => {
29109
+ if (!ready || !localViews?.length || moving.current === gridId) return;
29110
+ moving.current = gridId;
29111
+ importViews(localViews).then(() => setLocalGridViews(gridId, [])).catch(() => {
29112
+ moving.current = null;
29113
+ });
29114
+ }, [gridId, ready, localViews, importViews, setLocalGridViews]);
29115
+ }
29116
+ var SEARCH_DEBOUNCE_MS = 250;
29117
+ var toSummary = (d) => ({
29118
+ id: d.id,
29119
+ name: d.name,
29120
+ description: d.description,
29121
+ columns: d.columns,
29122
+ row_count: d.row_count,
29123
+ editable: d.editable ?? true,
29124
+ updated_at: d.updated_at
29125
+ });
29126
+ var keep = (c) => ({
29127
+ id: c.id,
29128
+ name: c.name,
29129
+ type: c.type,
29130
+ options: c.options ?? null
29131
+ });
29132
+ var toRowView = (r) => ({
29133
+ id: r.id,
29134
+ values: { ...r.values },
29135
+ titles: { ...r.titles ?? {} }
29136
+ });
29137
+ var fail = (notify18, error, fallback) => notify18(refusalReason(error, fallback), "error");
29138
+ function OpenDatabase({ databaseId, onClose }) {
29139
+ const { confirm, notify: notify18 } = useBlocksEnvironment();
29140
+ const session = useArbiSessionStore();
29141
+ const {
29142
+ data: database,
29143
+ isLoading: loadingDatabase,
29144
+ error: databaseError
29145
+ } = useDatabase(databaseId);
29146
+ const [search, setSearch] = useState("");
29147
+ const [query, setQuery] = useState("");
29148
+ useEffect(() => {
29149
+ const t = setTimeout(() => setQuery(search), SEARCH_DEBOUNCE_MS);
29150
+ return () => clearTimeout(t);
29151
+ }, [search]);
29152
+ const { data: page, isLoading: loadingRows } = useDatabaseRows(databaseId, query);
29153
+ const { data: allDatabases } = useDatabases();
29154
+ const linkable = useMemo(
29155
+ () => (allDatabases ?? []).filter((d) => d.editable ?? true),
29156
+ [allDatabases]
29157
+ );
29158
+ const linkableSummaries = useMemo(() => linkable.map(toSummary), [linkable]);
29159
+ const sources = useDatabaseCellSources(linkable);
29160
+ const [rows, setRows] = useState([]);
29161
+ useEffect(() => {
29162
+ setRows((page?.rows ?? []).map(toRowView));
29163
+ }, [page]);
29164
+ const [selected, setSelected] = useState([]);
29165
+ useEffect(() => setSelected([]), [databaseId, query]);
29166
+ const [openRowId, setOpenRowId] = useState(null);
29167
+ const openRow = openRowId ? rows.find((r) => r.id === openRowId) : void 0;
29168
+ useEffect(() => {
29169
+ if (openRowId && page && !rows.some((r) => r.id === openRowId)) setOpenRowId(null);
29170
+ }, [openRowId, rows, page]);
29171
+ const onOpenRow = useCallback((row2) => setOpenRowId(row2.id), []);
29172
+ const gridId = `database-${databaseId}`;
29173
+ const [gridApi, setGridApi] = useState(null);
29174
+ const setGridState = session.setGridState;
29175
+ const gridProps = useMemo(
29176
+ () => ({
29177
+ persistState: true,
29178
+ // Read once: the grid seeds itself from it at mount.
29179
+ gridState: session.getState().grid.states[gridId],
29180
+ onGridStateChange: (state) => setGridState(gridId, state),
29181
+ onGridReady: ({ api }) => setGridApi(api)
29182
+ }),
29183
+ [gridId, setGridState, session]
29184
+ );
29185
+ const [columnDialog, setColumnDialog] = useState(
29186
+ null
29187
+ );
29188
+ const [columnError, setColumnError] = useState(null);
29189
+ const updateDatabase = useUpdateDatabase();
29190
+ const deleteDatabase = useDeleteDatabase();
29191
+ const addRows = useAddDatabaseRows();
29192
+ const updateRow = useUpdateDatabaseRow();
29193
+ const deleteRows = useDeleteDatabaseRows();
29194
+ const importRows = useImportDatabaseRows();
29195
+ const exportDatabase = useExportDatabase();
29196
+ const columns = useMemo(() => database?.columns ?? [], [database]);
29197
+ const readOnly = !(database?.editable ?? true);
29198
+ useEffect(() => {
29199
+ if (databaseError) {
29200
+ fail(notify18, databaseError, "This database could not be opened");
29201
+ onClose();
29202
+ }
29203
+ }, [databaseError, onClose, notify18]);
29204
+ const onCellChange = useCallback(
29205
+ (row2, columnId, value) => {
29206
+ updateRow.mutate(
29207
+ {
29208
+ databaseId,
29209
+ rowId: row2.id,
29210
+ values: { [columnId]: value }
29211
+ },
29212
+ {
29213
+ onSuccess: (saved) => {
29214
+ setRows((current) => current.map((r) => r.id === saved.id ? toRowView(saved) : r));
29215
+ },
29216
+ onError: (error) => {
29217
+ fail(notify18, error, "The cell could not be saved");
29218
+ }
29219
+ }
29220
+ );
29221
+ },
29222
+ [databaseId, updateRow, notify18]
29223
+ );
29224
+ const onAddRow = useCallback(() => {
29225
+ addRows.mutate(
29226
+ { databaseId, rows: [{ values: {} }] },
29227
+ {
29228
+ // The hook's own onSuccess has already refetched the rows (and the effect above may have
29229
+ // put the new row in): append only rows not there yet, or the grid holds one row twice.
29230
+ onSuccess: (created) => setRows((current) => {
29231
+ const have = new Set(current.map((r) => r.id));
29232
+ return [...current, ...created.filter((r) => !have.has(r.id)).map(toRowView)];
29233
+ }),
29234
+ onError: (error) => fail(notify18, error, "The row could not be added")
29235
+ }
29236
+ );
29237
+ }, [databaseId, addRows, notify18]);
29238
+ const saveColumns = (next, done) => {
29239
+ setColumnError(null);
29240
+ updateDatabase.mutate(
29241
+ { databaseId, patch: { columns: next } },
29242
+ {
29243
+ onSuccess: done,
29244
+ onError: (error) => setColumnError(refusalReason(error, "The column could not be saved"))
29245
+ }
29246
+ );
29247
+ };
29248
+ const onSaveColumn = (draft) => {
29249
+ const editing = columnDialog?.column;
29250
+ const config = {
29251
+ ...draft.relation && !editing ? { relation: draft.relation } : {},
29252
+ ...draft.lookup ? { lookup: draft.lookup } : {},
29253
+ ...draft.rollup ? { rollup: draft.rollup } : {}
29254
+ };
29255
+ const next = editing ? columns.map(
29256
+ (c) => c.id === editing.id ? { ...keep(c), name: draft.name, options: draft.options, ...config } : keep(c)
29257
+ ) : [
29258
+ ...columns.map(keep),
29259
+ { name: draft.name, type: draft.type, options: draft.options, ...config }
29260
+ ];
29261
+ saveColumns(next, () => setColumnDialog(null));
29262
+ };
29263
+ const onDeleteColumn = () => {
29264
+ const editing = columnDialog?.column;
29265
+ if (!editing) return;
29266
+ saveColumns(columns.filter((c) => c.id !== editing.id).map(keep), () => setColumnDialog(null));
29267
+ };
29268
+ const onRename = (name) => updateDatabase.mutate(
29269
+ { databaseId, patch: { name } },
29270
+ { onError: (error) => fail(notify18, error, "Could not rename") }
29271
+ );
29272
+ const removeRows = async (doomed, onDone) => {
29273
+ const n = doomed.length;
29274
+ if (!await confirm({
29275
+ message: `Delete ${n} row${n === 1 ? "" : "s"}? This cannot be undone.`,
29276
+ title: n === 1 ? "Delete row" : "Delete rows"
29277
+ }))
29278
+ return;
29279
+ deleteRows.mutate(
29280
+ { databaseId, ids: doomed.map((r) => r.id) },
29281
+ {
29282
+ onSuccess: () => {
29283
+ const gone = new Set(doomed.map((r) => r.id));
29284
+ setRows((current) => current.filter((r) => !gone.has(r.id)));
29285
+ setSelected((current) => current.filter((r) => !gone.has(r.id)));
29286
+ onDone?.();
29287
+ },
29288
+ onError: (error) => fail(
29289
+ notify18,
29290
+ error,
29291
+ n === 1 ? "The row could not be deleted" : "The rows could not be deleted"
29292
+ )
29293
+ }
29294
+ );
29295
+ };
29296
+ const onDeleteSelected = () => removeRows(selected);
29297
+ const onDeleteDatabase = async () => {
29298
+ if (!database) return;
29299
+ const ok = await confirm({
29300
+ message: `Delete \u201C${database.name}\u201D and all of its ${database.row_count} rows?`,
29301
+ title: "Delete database"
29302
+ });
29303
+ if (!ok) return;
29304
+ deleteDatabase.mutate(databaseId, {
29305
+ onSuccess: onClose,
29306
+ onError: (error) => fail(notify18, error, "The database could not be deleted")
29307
+ });
29308
+ };
29309
+ const onImportRows = (file) => importRows.mutate(
29310
+ { databaseId, file },
29311
+ {
29312
+ onSuccess: (result) => {
29313
+ const added = result.added_columns?.length ? ` and ${result.added_columns.length} new column(s)` : "";
29314
+ notify18(`Imported ${result.imported} row(s)${added} from ${file.name}`, "success");
29315
+ },
29316
+ onError: (error) => fail(notify18, error, `${file.name} could not be imported`)
29317
+ }
29318
+ );
29319
+ const onExport = async (format) => {
29320
+ try {
29321
+ const blob = await exportDatabase(databaseId, format);
29322
+ downloadBlob(blob, `${database?.name || "database"}.${format}`);
29323
+ } catch (error) {
29324
+ fail(notify18, error, "The export failed");
29325
+ }
29326
+ };
29327
+ const total = page?.total ?? database?.row_count ?? 0;
29328
+ if (!database) {
29329
+ return /* @__PURE__ */ jsx(
29330
+ "div",
29331
+ {
29332
+ className: "flex h-full items-center justify-center text-sm text-muted-foreground",
29333
+ "data-testid": "database-view-loading",
29334
+ children: loadingDatabase ? "Opening database\u2026" : null
29335
+ }
29336
+ );
29337
+ }
29338
+ return /* @__PURE__ */ jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "database-view", children: [
29339
+ /* @__PURE__ */ jsx(
29340
+ DatabaseToolbar,
29341
+ {
29342
+ name: database.name,
29343
+ description: database.description,
29344
+ total,
29345
+ shown: total > DATABASE_ROWS_PAGE ? rows.length : void 0,
29346
+ search,
29347
+ onSearchChange: setSearch,
29348
+ onBack: onClose,
29349
+ onRename,
29350
+ selectedCount: selected.length,
29351
+ onDeleteSelected,
29352
+ onImportRows,
29353
+ onExport,
29354
+ onDeleteDatabase,
29355
+ readOnly,
29356
+ views: /* @__PURE__ */ jsx(
29357
+ DatabaseViewsMenu,
29358
+ {
29359
+ databaseId,
29360
+ gridId,
29361
+ gridApi,
29362
+ columns
29363
+ }
29364
+ )
29365
+ }
29366
+ ),
29367
+ /* @__PURE__ */ jsxs("div", { className: "relative flex min-h-0 flex-1 gap-2 px-2 pb-2", children: [
29368
+ /* @__PURE__ */ jsx("div", { className: "min-h-0 min-w-0 flex-1", children: /* @__PURE__ */ jsx(
29369
+ DatabaseTable,
29370
+ {
29371
+ columns,
29372
+ rows,
29373
+ readOnly,
29374
+ isLoading: loadingDatabase || loadingRows && rows.length === 0,
29375
+ isFiltered: Boolean(query.trim()),
29376
+ gridId,
29377
+ gridProps,
29378
+ onCellChange,
29379
+ sources,
29380
+ onAddRow,
29381
+ onOpenRow,
29382
+ onAddColumn: () => {
29383
+ setColumnError(null);
29384
+ setColumnDialog({ column: null });
29385
+ },
29386
+ onEditColumn: (column) => {
29387
+ setColumnError(null);
29388
+ setColumnDialog({ column });
29389
+ },
29390
+ selected,
29391
+ onSelectionChange: readOnly ? void 0 : setSelected
29392
+ }
29393
+ ) }),
29394
+ openRow && // Beside the grid on a wide screen; over it on a narrow one.
29395
+ /* @__PURE__ */ jsx(
29396
+ DatabaseRowDetail,
29397
+ {
29398
+ row: openRow,
29399
+ columns,
29400
+ sources,
29401
+ readOnly,
29402
+ onChange: onCellChange,
29403
+ onDelete: (row2) => removeRows([row2], () => setOpenRowId(null)),
29404
+ onClose: () => setOpenRowId(null),
29405
+ className: "absolute inset-0 z-10 overflow-hidden rounded-lg border border-border md:static md:w-[420px] md:shrink-0"
29406
+ },
29407
+ openRow.id
29408
+ )
29409
+ ] }),
29410
+ /* @__PURE__ */ jsx(
29411
+ DatabaseColumnDialog,
29412
+ {
29413
+ open: columnDialog !== null,
29414
+ onOpenChange: (open) => !open && setColumnDialog(null),
29415
+ column: columnDialog?.column,
29416
+ databaseId,
29417
+ databaseName: database.name,
29418
+ columns,
29419
+ databases: linkableSummaries,
29420
+ onSave: onSaveColumn,
29421
+ onDelete: columnDialog?.column ? onDeleteColumn : void 0,
29422
+ isSaving: updateDatabase.isPending,
29423
+ error: columnError
29424
+ }
29425
+ )
29426
+ ] });
29427
+ }
29428
+ var NO_WORKSPACE_LABELS = {
29429
+ emptyTitle: "Open a workspace",
29430
+ emptyMessage: "Databases are kept in a workspace. Open one to see its databases, and those shared with everyone, or to create one."
29431
+ };
29432
+ function ConnectedDatabasesPage() {
29433
+ const { notify: notify18 } = useBlocksEnvironment();
29434
+ const selectedWorkspaceId = useArbiSessionState((state) => state.workspaceId);
29435
+ const { data: databases, isLoading } = useDatabases();
29436
+ const [openId, setOpenId] = useState(null);
29437
+ const [creating, setCreating] = useState(false);
29438
+ const [createError, setCreateError] = useState(null);
29439
+ const createDatabase = useCreateDatabase();
29440
+ const importDatabase = useImportDatabase();
29441
+ const close = useCallback(() => setOpenId(null), []);
29442
+ useEffect(() => setOpenId(null), [selectedWorkspaceId]);
29443
+ const onCreate = (draft) => {
29444
+ setCreateError(null);
29445
+ createDatabase.mutate(
29446
+ // A new table starts with one text column, so there is something to type into.
29447
+ {
29448
+ name: draft.name,
29449
+ description: draft.description,
29450
+ columns: [{ name: "Name", type: "text" }]
29451
+ },
29452
+ {
29453
+ onSuccess: (created) => {
29454
+ setCreating(false);
29455
+ setOpenId(created.id);
29456
+ },
29457
+ onError: (error) => setCreateError(refusalReason(error, "The database could not be created"))
29458
+ }
29459
+ );
29460
+ };
29461
+ const onImport = (file) => importDatabase.mutate(
29462
+ { file },
29463
+ {
29464
+ onSuccess: (result) => {
29465
+ notify18(`Imported ${result.imported} row(s) from ${file.name}`, "success");
29466
+ setOpenId(result.database.id);
29467
+ },
29468
+ onError: (error) => fail(notify18, error, `${file.name} could not be imported`)
29469
+ }
29470
+ );
29471
+ if (!selectedWorkspaceId) {
29472
+ return /* @__PURE__ */ jsx("div", { className: "h-full min-h-0 overflow-y-auto", "data-testid": "databases-page", children: /* @__PURE__ */ jsx(DatabaseList, { databases: [], onOpen: () => {
29473
+ }, labels: NO_WORKSPACE_LABELS }) });
29474
+ }
29475
+ if (openId) return /* @__PURE__ */ jsx(OpenDatabase, { databaseId: openId, onClose: close }, openId);
29476
+ return /* @__PURE__ */ jsxs("div", { className: "h-full min-h-0 overflow-y-auto", "data-testid": "databases-page", children: [
29477
+ /* @__PURE__ */ jsx(
29478
+ DatabaseList,
29479
+ {
29480
+ databases: (databases ?? []).map(toSummary),
29481
+ isLoading,
29482
+ onOpen: (d) => setOpenId(d.id),
29483
+ onNew: () => {
29484
+ setCreateError(null);
29485
+ setCreating(true);
29486
+ },
29487
+ onImport,
29488
+ isImporting: importDatabase.isPending
29489
+ }
29490
+ ),
29491
+ /* @__PURE__ */ jsx(
29492
+ NewDatabaseDialog,
29493
+ {
29494
+ open: creating,
29495
+ onOpenChange: setCreating,
29496
+ onCreate,
29497
+ isCreating: createDatabase.isPending,
29498
+ error: createError
29499
+ }
29500
+ )
29501
+ ] });
29502
+ }
28999
29503
  function WatchOne({ transferId }) {
29000
29504
  const { data: job } = useWorkspaceTransfer(transferId);
29001
29505
  const { data: workspaces = [] } = useWorkspaces();
@@ -40486,6 +40990,6 @@ function ConnectedAccountAccessBadge() {
40486
40990
  ] });
40487
40991
  }
40488
40992
 
40489
- 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, 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 };
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 };
40490
40994
  //# sourceMappingURL=index.js.map
40491
40995
  //# sourceMappingURL=index.js.map