@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.
- package/dist/{ConnectedCallDock-2NYM46HU.js → ConnectedCallDock-CT3D6LLI.js} +8 -8
- package/dist/{ConnectedCallDock-2NYM46HU.js.map → ConnectedCallDock-CT3D6LLI.js.map} +1 -1
- package/dist/{ConnectedCallDock-2LMIR4ID.cjs → ConnectedCallDock-V7DPSE6X.cjs} +17 -17
- package/dist/{ConnectedCallDock-2LMIR4ID.cjs.map → ConnectedCallDock-V7DPSE6X.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-QJ2UV6GV.js → ConnectedCallRoom-A27AM7IQ.js} +8 -8
- package/dist/{ConnectedCallRoom-QJ2UV6GV.js.map → ConnectedCallRoom-A27AM7IQ.js.map} +1 -1
- package/dist/{ConnectedCallRoom-26PBMTCC.cjs → ConnectedCallRoom-TNOCSTX2.cjs} +9 -9
- package/dist/{ConnectedCallRoom-26PBMTCC.cjs.map → ConnectedCallRoom-TNOCSTX2.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-5MN7PVRE.cjs → ConnectedNativeDocxComparison-H2OZMWHT.cjs} +13 -13
- package/dist/{ConnectedNativeDocxComparison-5MN7PVRE.cjs.map → ConnectedNativeDocxComparison-H2OZMWHT.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-GHOEFJUN.js → ConnectedNativeDocxComparison-RWKFPJPJ.js} +12 -12
- package/dist/{ConnectedNativeDocxComparison-GHOEFJUN.js.map → ConnectedNativeDocxComparison-RWKFPJPJ.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-HWPSWU2A.js → ConnectedNativeDocxEditor-43BI5LN6.js} +11 -11
- package/dist/{ConnectedNativeDocxEditor-HWPSWU2A.js.map → ConnectedNativeDocxEditor-43BI5LN6.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-VA7476NF.cjs → ConnectedNativeDocxEditor-6DQEM6SD.cjs} +13 -13
- package/dist/{ConnectedNativeDocxEditor-VA7476NF.cjs.map → ConnectedNativeDocxEditor-6DQEM6SD.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-UMSTUZBY.cjs → ConnectedStreamedWordArtifact-3VKYIG6C.cjs} +13 -13
- package/dist/ConnectedStreamedWordArtifact-3VKYIG6C.cjs.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-KZUZB47X.js → ConnectedStreamedWordArtifact-TEB332E3.js} +12 -12
- package/dist/ConnectedStreamedWordArtifact-TEB332E3.js.map +1 -0
- package/dist/{WorkspaceTableView-DYXHUIRA.cjs → WorkspaceTableView-KG546U7M.cjs} +9 -9
- package/dist/{WorkspaceTableView-DYXHUIRA.cjs.map → WorkspaceTableView-KG546U7M.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-HXSBJY42.js → WorkspaceTableView-OSFIWJ5C.js} +7 -7
- package/dist/{WorkspaceTableView-HXSBJY42.js.map → WorkspaceTableView-OSFIWJ5C.js.map} +1 -1
- package/dist/agents/index.cjs +401 -401
- package/dist/agents/index.js +10 -10
- package/dist/calls/index.cjs +131 -131
- package/dist/calls/index.js +9 -9
- package/dist/chat/index.cjs +81 -81
- package/dist/chat/index.js +3 -3
- package/dist/{chunk-3ON5DJLR.js → chunk-24H5WTGM.js} +4 -4
- package/dist/{chunk-3ON5DJLR.js.map → chunk-24H5WTGM.js.map} +1 -1
- package/dist/{chunk-EHRT5M5F.js → chunk-2C3I27VI.js} +3 -3
- package/dist/{chunk-EHRT5M5F.js.map → chunk-2C3I27VI.js.map} +1 -1
- package/dist/{chunk-UKG4DDLI.cjs → chunk-2QDNQM63.cjs} +10 -10
- package/dist/{chunk-UKG4DDLI.cjs.map → chunk-2QDNQM63.cjs.map} +1 -1
- package/dist/{chunk-EZJOJFY2.cjs → chunk-3ZLNI7ZA.cjs} +3 -3
- package/dist/{chunk-EZJOJFY2.cjs.map → chunk-3ZLNI7ZA.cjs.map} +1 -1
- package/dist/{chunk-JYASRZUQ.js → chunk-4DKI37QQ.js} +7 -7
- package/dist/{chunk-JYASRZUQ.js.map → chunk-4DKI37QQ.js.map} +1 -1
- package/dist/{chunk-OXIGJYMO.cjs → chunk-5NTSJV5H.cjs} +3 -3
- package/dist/{chunk-OXIGJYMO.cjs.map → chunk-5NTSJV5H.cjs.map} +1 -1
- package/dist/{chunk-7P2IL7RX.cjs → chunk-6EQSP77K.cjs} +5 -5
- package/dist/{chunk-7P2IL7RX.cjs.map → chunk-6EQSP77K.cjs.map} +1 -1
- package/dist/{chunk-T7O73MX2.js → chunk-7CHI36EP.js} +5 -5
- package/dist/{chunk-T7O73MX2.js.map → chunk-7CHI36EP.js.map} +1 -1
- package/dist/{chunk-CXY2ELL5.js → chunk-AL7EXOX5.js} +3 -3
- package/dist/{chunk-CXY2ELL5.js.map → chunk-AL7EXOX5.js.map} +1 -1
- package/dist/{chunk-YRWMYVHU.cjs → chunk-BIWPXSGS.cjs} +20 -20
- package/dist/{chunk-YRWMYVHU.cjs.map → chunk-BIWPXSGS.cjs.map} +1 -1
- package/dist/{chunk-ZZ76AUGX.cjs → chunk-BRYRZOS3.cjs} +4 -4
- package/dist/{chunk-ZZ76AUGX.cjs.map → chunk-BRYRZOS3.cjs.map} +1 -1
- package/dist/{chunk-ABKRLMWN.cjs → chunk-EFSL4O3B.cjs} +5 -5
- package/dist/{chunk-ABKRLMWN.cjs.map → chunk-EFSL4O3B.cjs.map} +1 -1
- package/dist/{chunk-32ZIHUXE.cjs → chunk-EGSSLWNZ.cjs} +3 -3
- package/dist/{chunk-32ZIHUXE.cjs.map → chunk-EGSSLWNZ.cjs.map} +1 -1
- package/dist/{chunk-ZXU2TKUV.js → chunk-EZSYYENN.js} +6 -6
- package/dist/{chunk-ZXU2TKUV.js.map → chunk-EZSYYENN.js.map} +1 -1
- package/dist/{chunk-LPGFODB4.cjs → chunk-FEVJA4BP.cjs} +3 -3
- package/dist/{chunk-LPGFODB4.cjs.map → chunk-FEVJA4BP.cjs.map} +1 -1
- package/dist/{chunk-IC2BXIUT.js → chunk-FHB4G77H.js} +3 -3
- package/dist/{chunk-IC2BXIUT.js.map → chunk-FHB4G77H.js.map} +1 -1
- package/dist/{chunk-UCCYCT3R.cjs → chunk-FY4C7HU5.cjs} +16 -16
- package/dist/{chunk-UCCYCT3R.cjs.map → chunk-FY4C7HU5.cjs.map} +1 -1
- package/dist/{chunk-RVCQE66I.cjs → chunk-H5BFOVVL.cjs} +5 -5
- package/dist/{chunk-RVCQE66I.cjs.map → chunk-H5BFOVVL.cjs.map} +1 -1
- package/dist/{chunk-WDMWWBPB.cjs → chunk-H6K7EWL2.cjs} +7 -7
- package/dist/{chunk-WDMWWBPB.cjs.map → chunk-H6K7EWL2.cjs.map} +1 -1
- package/dist/{chunk-NNUNS47F.js → chunk-ICCBNHPU.js} +3 -3
- package/dist/{chunk-NNUNS47F.js.map → chunk-ICCBNHPU.js.map} +1 -1
- package/dist/{chunk-U7IEC2EM.cjs → chunk-JKMV4QNV.cjs} +74 -74
- package/dist/{chunk-U7IEC2EM.cjs.map → chunk-JKMV4QNV.cjs.map} +1 -1
- package/dist/{chunk-GMECFWVT.js → chunk-K6W2GWCN.js} +3 -3
- package/dist/{chunk-GMECFWVT.js.map → chunk-K6W2GWCN.js.map} +1 -1
- package/dist/{chunk-7W7TPWSZ.cjs → chunk-LNYEYR7W.cjs} +3 -3
- package/dist/{chunk-7W7TPWSZ.cjs.map → chunk-LNYEYR7W.cjs.map} +1 -1
- package/dist/{chunk-VWX5UECZ.js → chunk-MLHOG7YH.js} +3 -3
- package/dist/{chunk-VWX5UECZ.js.map → chunk-MLHOG7YH.js.map} +1 -1
- package/dist/{chunk-L7IBURSP.js → chunk-N3HVTMQK.js} +3 -3
- package/dist/{chunk-L7IBURSP.js.map → chunk-N3HVTMQK.js.map} +1 -1
- package/dist/{chunk-OJTXFIXU.cjs → chunk-NOKTUWTN.cjs} +4 -4
- package/dist/{chunk-OJTXFIXU.cjs.map → chunk-NOKTUWTN.cjs.map} +1 -1
- package/dist/{chunk-2VEBUYEJ.js → chunk-NUV5F6MM.js} +3 -3
- package/dist/{chunk-2VEBUYEJ.js.map → chunk-NUV5F6MM.js.map} +1 -1
- package/dist/{chunk-MJYGHJ4Y.js → chunk-P6MVDOCL.js} +3 -3
- package/dist/{chunk-MJYGHJ4Y.js.map → chunk-P6MVDOCL.js.map} +1 -1
- package/dist/{chunk-GI5ITZ53.js → chunk-PRY52BW5.js} +4 -4
- package/dist/{chunk-GI5ITZ53.js.map → chunk-PRY52BW5.js.map} +1 -1
- package/dist/chunk-PTYERKEU.js +2132 -0
- package/dist/chunk-PTYERKEU.js.map +1 -0
- package/dist/{chunk-IYW6Q33D.cjs → chunk-PUX4M22Q.cjs} +50 -50
- package/dist/{chunk-IYW6Q33D.cjs.map → chunk-PUX4M22Q.cjs.map} +1 -1
- package/dist/{chunk-ORBXJ4IT.js → chunk-QFYRXQTD.js} +3 -3
- package/dist/{chunk-ORBXJ4IT.js.map → chunk-QFYRXQTD.js.map} +1 -1
- package/dist/{chunk-UHYO2E25.js → chunk-RH4XIABH.js} +3 -3
- package/dist/{chunk-UHYO2E25.js.map → chunk-RH4XIABH.js.map} +1 -1
- package/dist/{chunk-GMZ2XFQQ.js → chunk-S3YRRD54.js} +3 -3
- package/dist/{chunk-GMZ2XFQQ.js.map → chunk-S3YRRD54.js.map} +1 -1
- package/dist/chunk-TQSU3I4C.cjs +2180 -0
- package/dist/chunk-TQSU3I4C.cjs.map +1 -0
- package/dist/{chunk-LXF22VRI.js → chunk-VKY4SQMH.js} +4 -4
- package/dist/{chunk-LXF22VRI.js.map → chunk-VKY4SQMH.js.map} +1 -1
- package/dist/{chunk-H3JKC55K.cjs → chunk-VMLEISRZ.cjs} +9 -9
- package/dist/{chunk-H3JKC55K.cjs.map → chunk-VMLEISRZ.cjs.map} +1 -1
- package/dist/{chunk-VP5TGUBY.js → chunk-VPWCARVO.js} +5 -5
- package/dist/{chunk-VP5TGUBY.js.map → chunk-VPWCARVO.js.map} +1 -1
- package/dist/{chunk-N2SUDWY2.cjs → chunk-WALADS2S.cjs} +3 -3
- package/dist/{chunk-N2SUDWY2.cjs.map → chunk-WALADS2S.cjs.map} +1 -1
- package/dist/{chunk-ME3R44JN.cjs → chunk-XFSEPGF7.cjs} +4 -4
- package/dist/{chunk-ME3R44JN.cjs.map → chunk-XFSEPGF7.cjs.map} +1 -1
- package/dist/{chunk-K7OF4KGP.cjs → chunk-YDY4GIC2.cjs} +5 -5
- package/dist/{chunk-K7OF4KGP.cjs.map → chunk-YDY4GIC2.cjs.map} +1 -1
- package/dist/{chunk-APPHGHMM.js → chunk-YPR4FSDJ.js} +3 -3
- package/dist/{chunk-APPHGHMM.js.map → chunk-YPR4FSDJ.js.map} +1 -1
- package/dist/collaboration/index.cjs +1 -1
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +15 -15
- package/dist/connect/docx.js +11 -11
- package/dist/connect/index.cjs +1433 -928
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -0
- package/dist/connect/index.js +563 -59
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +63 -63
- package/dist/connect/viewer.js +16 -16
- package/dist/connection/databases/ConnectedDatabasesPage.d.ts +1 -0
- package/dist/connection/databases/DatabaseViewsMenu.d.ts +10 -0
- package/dist/connection/databases/index.d.ts +1 -0
- package/dist/connection/databases/useDatabaseCellSources.d.ts +6 -0
- package/dist/databases/index.cjs +193 -2173
- package/dist/databases/index.cjs.map +1 -1
- package/dist/databases/index.js +4 -2129
- package/dist/databases/index.js.map +1 -1
- package/dist/facts/index.cjs +2 -2
- package/dist/facts/index.js +2 -2
- package/dist/files/index.cjs +223 -223
- package/dist/files/index.js +3 -3
- package/dist/home/index.cjs +29 -29
- package/dist/home/index.js +4 -4
- package/dist/index.cjs +1656 -1656
- package/dist/index.js +22 -22
- package/dist/settings/index.cjs +156 -156
- package/dist/settings/index.js +3 -3
- package/dist/shell/index.cjs +72 -72
- package/dist/shell/index.js +4 -4
- package/dist/studio/index.cjs +8 -8
- package/dist/studio/index.js +7 -7
- package/dist/workflow-canvas/index.cjs +23 -23
- package/dist/workflow-canvas/index.js +10 -10
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-KZUZB47X.js.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-UMSTUZBY.cjs.map +0 -1
package/dist/connect/index.js
CHANGED
|
@@ -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-
|
|
3
|
-
export { CAP_REACHED_MESSAGE, ZERO_BUDGET_MESSAGE, aiUsageResetTimestamp, formatMoney, formatResetDate, getQuotaItems, isAddonBudgetZero, isProProject, planBadgeView, planName, projectGroupBilling, useBillingSupport, useRewardBalance } from '../chunk-
|
|
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-
|
|
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-
|
|
12
|
-
export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-
|
|
13
|
-
import { useConnectedWorkspaceRole, ConnectedWorkflowLauncher, useConnectedWorkflowScopeSource, ConnectedWorkflowDocumentsField, ConnectedNativeDocxEditor, toWorkflowFieldDocument } from '../chunk-
|
|
14
|
-
export { ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedWorkflowsTable, DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, toWorkflowFieldDocument, useConnectedAgentOptions, useConnectedWorkflowScopeSource, useConnectedWorkspaceRole, useDocxCommentTarget, useNativeDocxSupport } from '../chunk-
|
|
15
|
-
import { ConnectedMarkdown, InternalDocLink, ExternalLink, DocumentWorkspaceContext } from '../chunk-
|
|
16
|
-
export { ConnectedDocumentToolsProvider, ConnectedMarkdown, DocumentChip, DocumentWorkspaceContext, ExternalLink, InternalDocLink, MailChip, MermaidDiagram, WorkspaceDocumentReference, useDocumentViewerSupport, useDocumentWorkspace, useViewerDraftDocument, useViewerIsDetached, useViewerPassageCitation, useViewerStreamingDocument } from '../chunk-
|
|
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-
|
|
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-
|
|
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 {
|
|
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-
|
|
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 {
|
|
53
|
-
import {
|
|
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-
|
|
74
|
-
export { useMeetingThreadMessages } from '../chunk-
|
|
75
|
-
import { parseCallLogDetail } from '../chunk-
|
|
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-
|
|
87
|
-
import {
|
|
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
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
|
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,
|
|
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:
|
|
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-
|
|
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
|
|
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(
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
-
|
|
23914
|
+
fail2(err.detail || "Quota exceeded", false);
|
|
23914
23915
|
} else {
|
|
23915
|
-
|
|
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
|
-
|
|
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
|