@arbidocs/blocks 0.3.185 → 0.4.0
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/README.md +100 -0
- package/dist/agents/approvals/AuthorizeAgentParts.d.ts +79 -0
- package/dist/agents/approvals/ConsentPage.d.ts +76 -0
- package/dist/agents/approvals/ConsentParts.d.ts +37 -0
- package/dist/agents/approvals/index.d.ts +3 -0
- package/dist/agents/config/ConfigField.d.ts +43 -0
- package/dist/agents/config/ConfigForm.d.ts +35 -0
- package/dist/agents/config/TupleArrayField.d.ts +32 -0
- package/dist/agents/config/index.d.ts +4 -0
- package/dist/agents/config/schema-utils.d.ts +28 -0
- package/dist/agents/definitions/AgentCard.d.ts +63 -0
- package/dist/agents/definitions/AgentCreator.d.ts +118 -0
- package/dist/agents/definitions/AgentEditorParts.d.ts +63 -0
- package/dist/agents/definitions/AgentGallery.d.ts +29 -0
- package/dist/agents/definitions/index.d.ts +4 -0
- package/dist/agents/index.cjs +595 -0
- package/dist/agents/index.cjs.map +1 -0
- package/dist/agents/index.d.ts +7 -0
- package/dist/agents/index.js +14 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/runs/AgentBar.d.ts +103 -0
- package/dist/agents/runs/AgentSteps.d.ts +157 -0
- package/dist/agents/runs/SubagentRoster.d.ts +37 -0
- package/dist/agents/runs/index.d.ts +3 -0
- package/dist/agents/skills/SkillBrowserParts.d.ts +70 -0
- package/dist/agents/skills/SkillCard.d.ts +48 -0
- package/dist/agents/skills/SkillForms.d.ts +64 -0
- package/dist/agents/skills/SkillParts.d.ts +31 -0
- package/dist/agents/skills/SkillRow.d.ts +34 -0
- package/dist/agents/skills/index.d.ts +5 -0
- package/dist/agents/tasks/LiveRunsBanner.d.ts +26 -0
- package/dist/agents/tasks/RecurrenceBuilder.d.ts +36 -0
- package/dist/agents/tasks/TaskComposer.d.ts +108 -0
- package/dist/agents/tasks/TaskPlan.d.ts +78 -0
- package/dist/agents/tasks/TaskRowActions.d.ts +43 -0
- package/dist/agents/tasks/TaskRunsDialog.d.ts +45 -0
- package/dist/agents/tasks/TasksChrome.d.ts +36 -0
- package/dist/agents/tasks/UploadTaskItem.d.ts +39 -0
- package/dist/agents/tasks/UploadTaskList.d.ts +35 -0
- package/dist/agents/tasks/elapsed.d.ts +2 -0
- package/dist/agents/tasks/index.d.ts +13 -0
- package/dist/agents/tasks/rrule.d.ts +36 -0
- package/dist/agents/tasks/taskColumns.d.ts +68 -0
- package/dist/agents/tasks/taskLabels.d.ts +26 -0
- package/dist/agents/workflows/AgentSelect.d.ts +33 -0
- package/dist/agents/workflows/SchemaForm.d.ts +37 -0
- package/dist/agents/workflows/WorkflowConfigDialog.d.ts +73 -0
- package/dist/agents/workflows/WorkflowLauncher.d.ts +38 -0
- package/dist/agents/workflows/index.d.ts +6 -0
- package/dist/agents/workflows/types.d.ts +125 -0
- package/dist/agents/workflows/workflow.d.ts +62 -0
- package/dist/auth/AuthFooter.d.ts +56 -0
- package/dist/auth/AuthForm.d.ts +105 -0
- package/dist/auth/AuthLayout.d.ts +46 -0
- package/dist/auth/PasswordStrengthInput.d.ts +44 -0
- package/dist/auth/RecoveryDialogs.d.ts +90 -0
- package/dist/auth/SsoLoginButton.d.ts +19 -0
- package/dist/auth/index.cjs +123 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.js +6 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/builder/AgentsPanel.d.ts +9 -0
- package/dist/builder/ModuleManager.d.ts +6 -0
- package/dist/builder/VerticalBuilder.d.ts +32 -0
- package/dist/builder/agents/store.d.ts +21 -0
- package/dist/builder/export.d.ts +30 -0
- package/dist/builder/modules/registry.d.ts +11 -0
- package/dist/builder/modules/store.d.ts +29 -0
- package/dist/builder/modules/types.d.ts +29 -0
- package/dist/builder/types.d.ts +28 -0
- package/dist/chat/BranchControls.d.ts +33 -0
- package/dist/chat/Composer.d.ts +156 -0
- package/dist/chat/ContextChip.d.ts +19 -0
- package/dist/chat/ContextPanel.d.ts +108 -0
- package/dist/chat/ConversationEmpty.d.ts +53 -0
- package/dist/chat/ConversationLayout.d.ts +40 -0
- package/dist/chat/ConversationParts.d.ts +62 -0
- package/dist/chat/ConversationSearchView.d.ts +57 -0
- package/dist/chat/LabelPinRow.d.ts +30 -0
- package/dist/chat/Message.d.ts +189 -0
- package/dist/chat/MessageAlert.d.ts +25 -0
- package/dist/chat/MessageList.d.ts +102 -0
- package/dist/chat/ModelPicker.d.ts +103 -0
- package/dist/chat/PendingAnswerBar.d.ts +36 -0
- package/dist/chat/PinnedDocChip.d.ts +22 -0
- package/dist/chat/SlashMenu.d.ts +57 -0
- package/dist/chat/ThreadMap.d.ts +45 -0
- package/dist/chat/index.cjs +423 -0
- package/dist/chat/index.cjs.map +1 -0
- package/dist/chat/index.d.ts +21 -0
- package/dist/chat/index.js +6 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/test-id.d.ts +16 -0
- package/dist/chat/useStreamAnnouncement.d.ts +19 -0
- package/dist/chunk-223D4727.cjs +50 -0
- package/dist/chunk-223D4727.cjs.map +1 -0
- package/dist/chunk-4EZVCGRL.js +803 -0
- package/dist/chunk-4EZVCGRL.js.map +1 -0
- package/dist/chunk-54Q3RNJU.cjs +516 -0
- package/dist/chunk-54Q3RNJU.cjs.map +1 -0
- package/dist/chunk-5B4PXAKI.cjs +287 -0
- package/dist/chunk-5B4PXAKI.cjs.map +1 -0
- package/dist/chunk-5TYEJOXY.js +1762 -0
- package/dist/chunk-5TYEJOXY.js.map +1 -0
- package/dist/chunk-6ALISABK.cjs +677 -0
- package/dist/chunk-6ALISABK.cjs.map +1 -0
- package/dist/chunk-6HIPFEID.cjs +574 -0
- package/dist/chunk-6HIPFEID.cjs.map +1 -0
- package/dist/chunk-76JDDMSP.js +31 -0
- package/dist/chunk-76JDDMSP.js.map +1 -0
- package/dist/chunk-7F6CBP3Z.js +12 -0
- package/dist/chunk-7F6CBP3Z.js.map +1 -0
- package/dist/chunk-7G2LJMUG.cjs +45 -0
- package/dist/chunk-7G2LJMUG.cjs.map +1 -0
- package/dist/chunk-7G3JNSJB.cjs +1809 -0
- package/dist/chunk-7G3JNSJB.cjs.map +1 -0
- package/dist/chunk-A2YAC22G.js +93 -0
- package/dist/chunk-A2YAC22G.js.map +1 -0
- package/dist/chunk-ADOKTJHV.cjs +262 -0
- package/dist/chunk-ADOKTJHV.cjs.map +1 -0
- package/dist/chunk-AXIZ2MDV.js +751 -0
- package/dist/chunk-AXIZ2MDV.js.map +1 -0
- package/dist/chunk-AZQDNYH4.js +2865 -0
- package/dist/chunk-AZQDNYH4.js.map +1 -0
- package/dist/chunk-C54XEN5T.cjs +34 -0
- package/dist/chunk-C54XEN5T.cjs.map +1 -0
- package/dist/chunk-CQCC7LE7.js +210 -0
- package/dist/chunk-CQCC7LE7.js.map +1 -0
- package/dist/chunk-CRIKTUEU.cjs +47 -0
- package/dist/chunk-CRIKTUEU.cjs.map +1 -0
- package/dist/chunk-CTZ5745I.js +564 -0
- package/dist/chunk-CTZ5745I.js.map +1 -0
- package/dist/chunk-DPLRHEJZ.js +78 -0
- package/dist/chunk-DPLRHEJZ.js.map +1 -0
- package/dist/chunk-DVLEQURC.js +672 -0
- package/dist/chunk-DVLEQURC.js.map +1 -0
- package/dist/chunk-ELR74ME6.cjs +68 -0
- package/dist/chunk-ELR74ME6.cjs.map +1 -0
- package/dist/{chunk-DBAUZD7A.cjs → chunk-FZQJ2S6P.cjs} +244 -1123
- package/dist/chunk-FZQJ2S6P.cjs.map +1 -0
- package/dist/chunk-G3G7LZPM.cjs +205 -0
- package/dist/chunk-G3G7LZPM.cjs.map +1 -0
- package/dist/chunk-GDFWJ73C.cjs +2973 -0
- package/dist/chunk-GDFWJ73C.cjs.map +1 -0
- package/dist/chunk-ITGHMJOM.js +5528 -0
- package/dist/chunk-ITGHMJOM.js.map +1 -0
- package/dist/chunk-K4BGOPGG.js +79 -0
- package/dist/chunk-K4BGOPGG.js.map +1 -0
- package/dist/chunk-KUA3BCT2.cjs +272 -0
- package/dist/chunk-KUA3BCT2.cjs.map +1 -0
- package/dist/chunk-LGBAZD37.js +341 -0
- package/dist/chunk-LGBAZD37.js.map +1 -0
- package/dist/chunk-MHVNT4J3.cjs +15 -0
- package/dist/chunk-MHVNT4J3.cjs.map +1 -0
- package/dist/chunk-MMYCZRKT.cjs +168 -0
- package/dist/chunk-MMYCZRKT.cjs.map +1 -0
- package/dist/chunk-NBV56SGU.js +42 -0
- package/dist/chunk-NBV56SGU.js.map +1 -0
- package/dist/chunk-NPLYHR2E.js +13 -0
- package/dist/chunk-NPLYHR2E.js.map +1 -0
- package/dist/chunk-NUNKSZKU.js +203 -0
- package/dist/chunk-NUNKSZKU.js.map +1 -0
- package/dist/chunk-OB5F4577.cjs +40 -0
- package/dist/chunk-OB5F4577.cjs.map +1 -0
- package/dist/chunk-OUW6G4O2.cjs +96 -0
- package/dist/chunk-OUW6G4O2.cjs.map +1 -0
- package/dist/chunk-OVEQERPO.js +66 -0
- package/dist/chunk-OVEQERPO.js.map +1 -0
- package/dist/chunk-P6GHJSLR.js +34 -0
- package/dist/chunk-P6GHJSLR.js.map +1 -0
- package/dist/chunk-PCB2BPN3.cjs +41 -0
- package/dist/chunk-PCB2BPN3.cjs.map +1 -0
- package/dist/chunk-PPCATBOY.cjs +15 -0
- package/dist/chunk-PPCATBOY.cjs.map +1 -0
- package/dist/chunk-QN42OA5J.js +887 -0
- package/dist/chunk-QN42OA5J.js.map +1 -0
- package/dist/{chunk-FZ2S6VAZ.js → chunk-RBXZYNVB.js} +223 -1102
- package/dist/chunk-RBXZYNVB.js.map +1 -0
- package/dist/chunk-RC6VTY2H.js +47 -0
- package/dist/chunk-RC6VTY2H.js.map +1 -0
- package/dist/chunk-RFIBUWLF.cjs +232 -0
- package/dist/chunk-RFIBUWLF.cjs.map +1 -0
- package/dist/chunk-S5T7ZTX2.js +266 -0
- package/dist/chunk-S5T7ZTX2.js.map +1 -0
- package/dist/chunk-S7PSMMRG.js +38 -0
- package/dist/chunk-S7PSMMRG.js.map +1 -0
- package/dist/chunk-SCFYPAG6.cjs +18 -0
- package/dist/chunk-SCFYPAG6.cjs.map +1 -0
- package/dist/chunk-SYDHKKRZ.cjs +818 -0
- package/dist/chunk-SYDHKKRZ.cjs.map +1 -0
- package/dist/chunk-TX2ZICS7.js +139 -0
- package/dist/chunk-TX2ZICS7.js.map +1 -0
- package/dist/chunk-TYZUCAT7.js +787 -0
- package/dist/chunk-TYZUCAT7.js.map +1 -0
- package/dist/chunk-U2E3WT3J.js +45 -0
- package/dist/chunk-U2E3WT3J.js.map +1 -0
- package/dist/chunk-UBNVIIBT.js +284 -0
- package/dist/chunk-UBNVIIBT.js.map +1 -0
- package/dist/chunk-UFHMLHIR.cjs +66 -0
- package/dist/chunk-UFHMLHIR.cjs.map +1 -0
- package/dist/chunk-UJE32SST.js +39 -0
- package/dist/chunk-UJE32SST.js.map +1 -0
- package/dist/chunk-ULWRNGGE.cjs +146 -0
- package/dist/chunk-ULWRNGGE.cjs.map +1 -0
- package/dist/chunk-UTWX2X2A.js +165 -0
- package/dist/chunk-UTWX2X2A.js.map +1 -0
- package/dist/chunk-UWGIB3VQ.js +64 -0
- package/dist/chunk-UWGIB3VQ.js.map +1 -0
- package/dist/chunk-V4ISCZJ7.cjs +207 -0
- package/dist/chunk-V4ISCZJ7.cjs.map +1 -0
- package/dist/chunk-VFUWWH52.cjs +83 -0
- package/dist/chunk-VFUWWH52.cjs.map +1 -0
- package/dist/chunk-VILAPTCB.js +259 -0
- package/dist/chunk-VILAPTCB.js.map +1 -0
- package/dist/chunk-VLCY46K6.cjs +82 -0
- package/dist/chunk-VLCY46K6.cjs.map +1 -0
- package/dist/chunk-VPPX5XUF.cjs +813 -0
- package/dist/chunk-VPPX5XUF.cjs.map +1 -0
- package/dist/chunk-WJMEXTVD.cjs +122 -0
- package/dist/chunk-WJMEXTVD.cjs.map +1 -0
- package/dist/chunk-WTNMWEBC.js +504 -0
- package/dist/chunk-WTNMWEBC.js.map +1 -0
- package/dist/chunk-WW6EOVZA.js +112 -0
- package/dist/chunk-WW6EOVZA.js.map +1 -0
- package/dist/chunk-XNBAXRY7.cjs +5673 -0
- package/dist/chunk-XNBAXRY7.cjs.map +1 -0
- package/dist/chunk-XQ7PKKDY.cjs +787 -0
- package/dist/chunk-XQ7PKKDY.cjs.map +1 -0
- package/dist/chunk-XZIYRKLW.cjs +347 -0
- package/dist/chunk-XZIYRKLW.cjs.map +1 -0
- package/dist/chunk-YBXCZEWS.js +187 -0
- package/dist/chunk-YBXCZEWS.js.map +1 -0
- package/dist/chunk-YDHO4AVL.js +16 -0
- package/dist/chunk-YDHO4AVL.js.map +1 -0
- package/dist/chunk-ZORQ5M3W.cjs +934 -0
- package/dist/chunk-ZORQ5M3W.cjs.map +1 -0
- package/dist/chunk-ZW6FPIFC.cjs +36 -0
- package/dist/chunk-ZW6FPIFC.cjs.map +1 -0
- package/dist/citations/CitationEditor.d.ts +58 -0
- package/dist/citations/PassagePill.d.ts +49 -0
- package/dist/citations/QuietMarks.d.ts +81 -0
- package/dist/citations/index.cjs +47 -0
- package/dist/citations/index.cjs.map +1 -0
- package/dist/citations/index.d.ts +3 -0
- package/dist/citations/index.js +6 -0
- package/dist/citations/index.js.map +1 -0
- package/dist/collaboration/contacts/AddContactsParts.d.ts +46 -0
- package/dist/collaboration/contacts/index.d.ts +1 -0
- package/dist/collaboration/direct-messages/DirectMessages.d.ts +33 -0
- package/dist/collaboration/direct-messages/DmParts.d.ts +139 -0
- package/dist/collaboration/direct-messages/index.d.ts +2 -0
- package/dist/collaboration/index.cjs +141 -0
- package/dist/collaboration/index.cjs.map +1 -0
- package/dist/collaboration/index.d.ts +5 -0
- package/dist/collaboration/index.js +8 -0
- package/dist/collaboration/index.js.map +1 -0
- package/dist/collaboration/mail/MailFolderTree.d.ts +34 -0
- package/dist/collaboration/mail/index.d.ts +2 -0
- package/dist/collaboration/mail/mailFolders.d.ts +25 -0
- package/dist/collaboration/members/WorkspaceMembers.d.ts +74 -0
- package/dist/collaboration/members/index.d.ts +1 -0
- package/dist/collaboration/sharing/ShareControl.d.ts +38 -0
- package/dist/collaboration/sharing/index.d.ts +1 -0
- package/dist/components/Accordion.d.ts +12 -0
- package/dist/components/ActionLink.d.ts +18 -0
- package/dist/components/AskBar.d.ts +48 -0
- package/dist/components/AvatarBlock.d.ts +9 -0
- package/dist/components/Banner.d.ts +12 -0
- package/dist/components/BlockImage.d.ts +18 -0
- package/dist/components/CTABanner.d.ts +17 -0
- package/dist/components/Callout.d.ts +9 -0
- package/dist/components/Chart.d.ts +27 -0
- package/dist/components/CollectionDetail.d.ts +23 -0
- package/dist/components/Columns.d.ts +11 -0
- package/dist/components/ContactForm.d.ts +42 -0
- package/dist/components/Container.d.ts +11 -0
- package/dist/components/DataTable.d.ts +47 -0
- package/dist/components/DataTableBlock.d.ts +26 -0
- package/dist/components/EmptyState.d.ts +11 -0
- package/dist/components/EntityChip.d.ts +24 -0
- package/dist/components/EntityIdentityBar.d.ts +90 -0
- package/dist/components/EntityTooltip.d.ts +43 -0
- package/dist/components/FAQ.d.ts +14 -0
- package/dist/components/FeatureGrid.d.ts +18 -0
- package/dist/components/Footer.d.ts +25 -0
- package/dist/components/Gallery.d.ts +15 -0
- package/dist/components/Hero.d.ts +35 -0
- package/dist/components/ListBlock.d.ts +10 -0
- package/dist/components/LogoCloud.d.ts +12 -0
- package/dist/components/MediaText.d.ts +15 -0
- package/dist/components/MemberAvatarStack.d.ts +36 -0
- package/dist/components/MetricCard.d.ts +28 -0
- package/dist/components/Navbar.d.ts +39 -0
- package/dist/components/PageHeader.d.ts +15 -0
- package/dist/components/PricingTable.d.ts +19 -0
- package/dist/components/RichTextBlock.d.ts +10 -0
- package/dist/components/SectionHeading.d.ts +11 -0
- package/dist/components/Spacer.d.ts +7 -0
- package/dist/components/StatGroup.d.ts +12 -0
- package/dist/components/Steps.d.ts +12 -0
- package/dist/components/Tabs.d.ts +15 -0
- package/dist/components/TeamGrid.d.ts +18 -0
- package/dist/components/Testimonial.d.ts +9 -0
- package/dist/components/TestimonialGrid.d.ts +13 -0
- package/dist/components/ToneBadge.d.ts +18 -0
- package/dist/components/Toolbar.d.ts +11 -0
- package/dist/components/UsageMeter.d.ts +21 -0
- package/dist/components/VideoEmbed.d.ts +16 -0
- package/dist/components/assetImage.d.ts +16 -0
- package/dist/components/assetResolver.d.ts +57 -0
- package/dist/components/blockLink.d.ts +26 -0
- package/dist/components/tones.d.ts +14 -0
- package/dist/connect/index.cjs +65 -0
- package/dist/connect/index.cjs.map +1 -0
- package/dist/connect/index.d.ts +8 -0
- package/dist/connect/index.js +28 -0
- package/dist/connect/index.js.map +1 -0
- package/dist/connection/ArbiAppProvider.d.ts +16 -0
- package/dist/connection/ConnectionProvider.d.ts +50 -0
- package/dist/connection/ai.d.ts +99 -0
- package/dist/connection/types.d.ts +54 -0
- package/dist/connection/useImageGen.d.ts +22 -0
- package/dist/facts/FactComposer.d.ts +75 -0
- package/dist/facts/FactDateInput.d.ts +34 -0
- package/dist/facts/FactLabelsCell.d.ts +35 -0
- package/dist/facts/FactPassages.d.ts +52 -0
- package/dist/facts/FactRowActions.d.ts +18 -0
- package/dist/facts/FactSearchParts.d.ts +80 -0
- package/dist/facts/FactSourceGroup.d.ts +26 -0
- package/dist/facts/FactTimelineViews.d.ts +37 -0
- package/dist/facts/FactsBulkBar.d.ts +53 -0
- package/dist/facts/FactsEmptyState.d.ts +38 -0
- package/dist/facts/FactsFieldsButton.d.ts +21 -0
- package/dist/facts/FactsFilterInput.d.ts +46 -0
- package/dist/facts/FactsTable.d.ts +28 -0
- package/dist/facts/FactsToolbar.d.ts +53 -0
- package/dist/facts/FactsViewToggle.d.ts +36 -0
- package/dist/facts/fact-date.d.ts +22 -0
- package/dist/facts/fact-text.d.ts +14 -0
- package/dist/facts/factColumns.d.ts +88 -0
- package/dist/facts/index.cjs +2372 -0
- package/dist/facts/index.cjs.map +1 -0
- package/dist/facts/index.d.ts +34 -0
- package/dist/facts/index.js +2316 -0
- package/dist/facts/index.js.map +1 -0
- package/dist/facts/timezone.d.ts +4 -0
- package/dist/files/AiReviewDialog.d.ts +77 -0
- package/dist/files/DocStatusIcon.d.ts +12 -0
- package/dist/files/DocumentGrid.d.ts +27 -0
- package/dist/files/Explorer.d.ts +10 -0
- package/dist/files/ExplorerSurface.d.ts +34 -0
- package/dist/files/ExplorerTile.d.ts +142 -0
- package/dist/files/ExportParts.d.ts +114 -0
- package/dist/files/FieldParts.d.ts +64 -0
- package/dist/files/FilesPage.d.ts +20 -0
- package/dist/files/FilesToolbar.d.ts +59 -0
- package/dist/files/FolderPicker.d.ts +82 -0
- package/dist/files/GridView.d.ts +59 -0
- package/dist/files/HtmlViewerParts.d.ts +183 -0
- package/dist/files/MoveToFolderDialog.d.ts +32 -0
- package/dist/files/RedlineParts.d.ts +72 -0
- package/dist/files/SelectionBar.d.ts +65 -0
- package/dist/files/StatusPill.d.ts +23 -0
- package/dist/files/TagPassagePanel.d.ts +60 -0
- package/dist/files/UploadDropzone.d.ts +33 -0
- package/dist/files/UploadFooter.d.ts +59 -0
- package/dist/files/UploadParts.d.ts +78 -0
- package/dist/files/UploadSources.d.ts +77 -0
- package/dist/files/VersionTimeline.d.ts +60 -0
- package/dist/files/ViewToggle.d.ts +49 -0
- package/dist/files/ViewerChrome.d.ts +155 -0
- package/dist/files/ViewerLayout.d.ts +32 -0
- package/dist/files/ViewerParts.d.ts +62 -0
- package/dist/files/bulk/BulkActionsBar.d.ts +76 -0
- package/dist/files/bulk/FolderFilterButton.d.ts +35 -0
- package/dist/files/bulk/index.d.ts +2 -0
- package/dist/files/cells/DocumentNameCell.d.ts +31 -0
- package/dist/files/cells/FolderCell.d.ts +25 -0
- package/dist/files/cells/HoverIconCell.d.ts +21 -0
- package/dist/files/cells/LabelMultiSelect.d.ts +50 -0
- package/dist/files/cells/RelatedDocsCell.d.ts +22 -0
- package/dist/files/cells/TagColumnParts.d.ts +29 -0
- package/dist/files/cells/index.d.ts +6 -0
- package/dist/files/documentGridLayout.d.ts +31 -0
- package/dist/files/grid-test-ids.d.ts +18 -0
- package/dist/files/import/CalendarImportRow.d.ts +26 -0
- package/dist/files/import/ImportParts.d.ts +114 -0
- package/dist/files/import/TaskSection.d.ts +51 -0
- package/dist/files/import/UrlInputDialogView.d.ts +63 -0
- package/dist/files/import/VendorLogo.d.ts +15 -0
- package/dist/files/import/index.d.ts +5 -0
- package/dist/files/index.cjs +7589 -0
- package/dist/files/index.cjs.map +1 -0
- package/dist/files/index.d.ts +34 -0
- package/dist/files/index.js +7374 -0
- package/dist/files/index.js.map +1 -0
- package/dist/files/page/FilesAddMenu.d.ts +30 -0
- package/dist/files/page/FilesPageParts.d.ts +24 -0
- package/dist/files/page/FilesPageTitle.d.ts +24 -0
- package/dist/files/page/index.d.ts +3 -0
- package/dist/files/tags/BulkTagEditor.d.ts +136 -0
- package/dist/files/tags/DocTagPopover.d.ts +113 -0
- package/dist/files/tags/TagManager.d.ts +54 -0
- package/dist/files/tags/index.d.ts +3 -0
- package/dist/files/views/FieldsEditorParts.d.ts +151 -0
- package/dist/files/views/FieldsManagerParts.d.ts +17 -0
- package/dist/files/views/TagFormParts.d.ts +109 -0
- package/dist/files/views/ViewSelectorMenu.d.ts +66 -0
- package/dist/files/views/fieldsEditorModel.d.ts +43 -0
- package/dist/files/views/index.d.ts +5 -0
- package/dist/home/ActionMenuDialog.d.ts +26 -0
- package/dist/home/AddFilesFirst.d.ts +22 -0
- package/dist/home/CardHeaderBar.d.ts +40 -0
- package/dist/home/CollapsibleSection.d.ts +43 -0
- package/dist/home/CreateTile.d.ts +17 -0
- package/dist/home/DashboardParts.d.ts +32 -0
- package/dist/home/FactsStrip.d.ts +41 -0
- package/dist/home/FoldSection.d.ts +19 -0
- package/dist/home/GettingStartedStrip.d.ts +49 -0
- package/dist/home/Greeting.d.ts +18 -0
- package/dist/home/HomeLayout.d.ts +28 -0
- package/dist/home/KeyValueRow.d.ts +43 -0
- package/dist/home/ProjectBandParts.d.ts +70 -0
- package/dist/home/QuickActionDialogHeader.d.ts +21 -0
- package/dist/home/RecentList.d.ts +48 -0
- package/dist/home/ScopePicker.d.ts +65 -0
- package/dist/home/StartTiles.d.ts +33 -0
- package/dist/home/index.cjs +854 -0
- package/dist/home/index.cjs.map +1 -0
- package/dist/home/index.d.ts +37 -0
- package/dist/home/index.js +763 -0
- package/dist/home/index.js.map +1 -0
- package/dist/home/sections.d.ts +33 -0
- package/dist/index.cjs +1932 -5547
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +71 -1716
- package/dist/index.js +142 -5316
- package/dist/index.js.map +1 -1
- package/dist/lib/balanced-columns.d.ts +8 -0
- package/dist/lib/format.d.ts +37 -0
- package/dist/lib/observe-resize.d.ts +6 -0
- package/dist/lib/password-strength.d.ts +24 -0
- package/dist/lib/sidebar-mode.d.ts +46 -0
- package/dist/lib/testid.d.ts +7 -0
- package/dist/lib/use-drawer.d.ts +11 -0
- package/dist/lib/useControllableState.d.ts +5 -0
- package/dist/lib/useDismissibleCard.d.ts +15 -0
- package/dist/lib/useListKeyNav.d.ts +42 -0
- package/dist/lib/useLongPaste.d.ts +15 -0
- package/dist/lib/useRestoreFocus.d.ts +11 -0
- package/dist/lib/useScopeSelection.d.ts +34 -0
- package/dist/nav/types.d.ts +19 -0
- package/dist/provider/BlocksProvider.d.ts +20 -0
- package/dist/provider/TooltipScope.d.ts +9 -0
- package/dist/record/index.cjs +2 -4
- package/dist/record/index.cjs.map +1 -1
- package/dist/record/index.d.ts +12 -16
- package/dist/record/index.js +2 -4
- package/dist/record/index.js.map +1 -1
- package/dist/retrieval/HighlightText.d.ts +21 -0
- package/dist/retrieval/SearchEmptyState.d.ts +39 -0
- package/dist/retrieval/SearchGroupHeader.d.ts +21 -0
- package/dist/retrieval/SearchHit.d.ts +36 -0
- package/dist/retrieval/SearchPage.d.ts +187 -0
- package/dist/retrieval/SearchPagination.d.ts +21 -0
- package/dist/retrieval/highlight.d.ts +21 -0
- package/dist/retrieval/index.cjs +160 -0
- package/dist/retrieval/index.cjs.map +1 -0
- package/dist/retrieval/index.d.ts +7 -0
- package/dist/retrieval/index.js +7 -0
- package/dist/retrieval/index.js.map +1 -0
- package/dist/settings/AccountDialogs.d.ts +89 -0
- package/dist/settings/AvatarPicker.d.ts +25 -0
- package/dist/settings/Billing.d.ts +113 -0
- package/dist/settings/ConfigSwitcherBar.d.ts +46 -0
- package/dist/settings/ConfirmDialog.d.ts +28 -0
- package/dist/settings/ConnectionCard.d.ts +58 -0
- package/dist/settings/ConversationSettingsParts.d.ts +53 -0
- package/dist/settings/DocumentPicker.d.ts +57 -0
- package/dist/settings/EmailWorkspaceDialogView.d.ts +60 -0
- package/dist/settings/ErrorDialog.d.ts +36 -0
- package/dist/settings/FloatingPanel.d.ts +32 -0
- package/dist/settings/JsonTree.d.ts +24 -0
- package/dist/settings/LogoutDialog.d.ts +51 -0
- package/dist/settings/ModalBreadcrumbHeader.d.ts +32 -0
- package/dist/settings/ModalScaffold.d.ts +60 -0
- package/dist/settings/MultiSelect.d.ts +111 -0
- package/dist/settings/NotificationCategoryList.d.ts +26 -0
- package/dist/settings/PanelFrame.d.ts +47 -0
- package/dist/settings/PasswordChangeDialog.d.ts +64 -0
- package/dist/settings/PlanBadge.d.ts +14 -0
- package/dist/settings/PlanCard.d.ts +97 -0
- package/dist/settings/PremiumModelsFrame.d.ts +17 -0
- package/dist/settings/ProfileCard.d.ts +67 -0
- package/dist/settings/Projects.d.ts +108 -0
- package/dist/settings/QuotaMeter.d.ts +31 -0
- package/dist/settings/ReferralCredit.d.ts +46 -0
- package/dist/settings/SegmentedControl.d.ts +20 -0
- package/dist/settings/ServerConnectionControls.d.ts +31 -0
- package/dist/settings/SettingsPanel.d.ts +61 -0
- package/dist/settings/SettingsSwitchRow.d.ts +21 -0
- package/dist/settings/SubscriptionParts.d.ts +215 -0
- package/dist/settings/SupportPanel.d.ts +32 -0
- package/dist/settings/SyncDialogParts.d.ts +155 -0
- package/dist/settings/ThreadPreviewDialog.d.ts +18 -0
- package/dist/settings/TipsEditorDialog.d.ts +94 -0
- package/dist/settings/TriStateFilterMenu.d.ts +66 -0
- package/dist/settings/Usage.d.ts +102 -0
- package/dist/settings/WelcomeDialog.d.ts +79 -0
- package/dist/settings/index.cjs +5131 -0
- package/dist/settings/index.cjs.map +1 -0
- package/dist/settings/index.d.ts +38 -0
- package/dist/settings/index.js +4922 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/shell/ActionCluster.d.ts +28 -0
- package/dist/shell/AskField.d.ts +71 -0
- package/dist/shell/InfoBar.d.ts +20 -0
- package/dist/shell/MobileBars.d.ts +47 -0
- package/dist/shell/OfflinePill.d.ts +28 -0
- package/dist/shell/RemoteControlPill.d.ts +23 -0
- package/dist/shell/Shell.d.ts +123 -0
- package/dist/shell/Sidebar.d.ts +104 -0
- package/dist/shell/SidebarBadgeRow.d.ts +29 -0
- package/dist/shell/SidebarRowAction.d.ts +24 -0
- package/dist/shell/StatusRow.d.ts +20 -0
- package/dist/shell/TabHeader.d.ts +70 -0
- package/dist/shell/TipCard.d.ts +46 -0
- package/dist/shell/ToolButton.d.ts +12 -0
- package/dist/shell/Workspace.d.ts +90 -0
- package/dist/shell/index.cjs +187 -0
- package/dist/shell/index.cjs.map +1 -0
- package/dist/shell/index.d.ts +20 -0
- package/dist/shell/index.js +10 -0
- package/dist/shell/index.js.map +1 -0
- package/dist/shell/sidebar-context.d.ts +19 -0
- package/dist/shell/types.d.ts +48 -0
- package/dist/site/index.cjs +113 -90
- package/dist/site/index.d.ts +59 -4
- package/dist/site/index.js +8 -1
- package/dist/studio/PageRenderer.d.ts +35 -0
- package/dist/studio/Section.d.ts +24 -0
- package/dist/studio/StudioEditor.d.ts +32 -0
- package/dist/studio/aiFields.d.ts +17 -0
- package/dist/studio/blockKit.d.ts +36 -0
- package/dist/studio/blocksConfig.d.ts +42 -0
- package/dist/studio/imageFields.d.ts +14 -0
- package/dist/studio/index.cjs +3353 -0
- package/dist/studio/index.cjs.map +1 -0
- package/dist/studio/index.d.ts +32 -0
- package/dist/studio/index.js +3297 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/liveData.d.ts +4 -0
- package/dist/studio/liveWidgetRuntime.d.ts +41 -0
- package/dist/studio/persistence.d.ts +38 -0
- package/dist/studio/publish.d.ts +39 -0
- package/dist/studio/siteBlocks.d.ts +14 -0
- package/dist/studio/types.d.ts +46 -0
- package/dist/studio/websiteBlocks.d.ts +4 -0
- package/dist/studio/widgets.d.ts +20 -0
- package/dist/theme/ThemeEditor.d.ts +16 -0
- package/dist/theme/fontPairings.d.ts +48 -0
- package/dist/theme/store.d.ts +53 -0
- package/dist/theme/tokens.d.ts +105 -0
- package/dist/timeline/Timeline.d.ts +27 -0
- package/dist/timeline/TimelineCalendar.d.ts +54 -0
- package/dist/timeline/TimelineGantt.d.ts +71 -0
- package/dist/timeline/TimelineZoomControl.d.ts +17 -0
- package/dist/timeline/index.cjs +50 -0
- package/dist/timeline/index.cjs.map +1 -0
- package/dist/timeline/index.d.ts +13 -0
- package/dist/timeline/index.js +5 -0
- package/dist/timeline/index.js.map +1 -0
- package/dist/timeline/span.d.ts +29 -0
- package/dist/timeline/types.d.ts +30 -0
- package/dist/workspaces/WorkspaceBadges.d.ts +27 -0
- package/dist/workspaces/WorkspaceCard.d.ts +142 -0
- package/dist/workspaces/WorkspaceFormParts.d.ts +98 -0
- package/dist/workspaces/WorkspaceGroup.d.ts +31 -0
- package/dist/workspaces/WorkspaceSettingsParts.d.ts +70 -0
- package/dist/workspaces/index.cjs +690 -0
- package/dist/workspaces/index.cjs.map +1 -0
- package/dist/workspaces/index.d.ts +9 -0
- package/dist/workspaces/index.js +661 -0
- package/dist/workspaces/index.js.map +1 -0
- package/package.json +154 -9
- package/src/blocks.css +348 -0
- package/src/components/grid.css +60 -107
- package/src/source.css +20 -0
- package/src/studio/studio.css +3 -3
- package/src/tokens.css +226 -0
- package/dist/chunk-DBAUZD7A.cjs.map +0 -1
- package/dist/chunk-FZ2S6VAZ.js.map +0 -1
- package/dist/index-DduoEosi.d.cts +0 -846
- package/dist/index-DduoEosi.d.ts +0 -846
- package/dist/index.d.cts +0 -1717
- package/dist/record/index.d.cts +0 -96
- package/dist/site/index.d.cts +0 -4
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface PricingPlan {
|
|
2
|
+
name: string;
|
|
3
|
+
price: string;
|
|
4
|
+
period?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
features?: string[];
|
|
7
|
+
cta?: {
|
|
8
|
+
label?: string;
|
|
9
|
+
href?: string;
|
|
10
|
+
};
|
|
11
|
+
/** Highlight this plan as the recommended one. */
|
|
12
|
+
featured?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface PricingTableProps {
|
|
15
|
+
plans: PricingPlan[];
|
|
16
|
+
testId?: string;
|
|
17
|
+
}
|
|
18
|
+
/** A row of pricing plan cards with feature lists and a CTA per plan. */
|
|
19
|
+
export declare function PricingTable({ plans, testId }: PricingTableProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface RichTextBlockProps {
|
|
2
|
+
content: string;
|
|
3
|
+
testId?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Prose block. Reuses the shared markdown renderer (`AiMarkdown`) so long-form copy
|
|
7
|
+
* gets the one house style for headings, lists, tables and emphasis — token-clean
|
|
8
|
+
* and themeable per host.
|
|
9
|
+
*/
|
|
10
|
+
export declare function RichTextBlock({ content, testId }: RichTextBlockProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Editorial heading block for marketing sections: eyebrow + title + lead. */
|
|
2
|
+
export declare function SectionHeading({ eyebrow, title, lead, align, className, invert, eyebrowClassName, }: {
|
|
3
|
+
eyebrow?: string;
|
|
4
|
+
title: string;
|
|
5
|
+
lead?: string;
|
|
6
|
+
align?: 'left' | 'center';
|
|
7
|
+
className?: string;
|
|
8
|
+
invert?: boolean;
|
|
9
|
+
/** Override the eyebrow styling (e.g. a host brand accent). Default: token classes. */
|
|
10
|
+
eyebrowClassName?: string;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface StatItem {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
/** Optional caption under the label (e.g. a qualifier or unit). */
|
|
5
|
+
sub?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface StatGroupProps {
|
|
8
|
+
items: StatItem[];
|
|
9
|
+
testId?: string;
|
|
10
|
+
}
|
|
11
|
+
/** Big-number stat group — headline metrics with captions. */
|
|
12
|
+
export declare function StatGroup({ items, testId }: StatGroupProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface StepItem {
|
|
2
|
+
title: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface StepsProps {
|
|
6
|
+
steps: StepItem[];
|
|
7
|
+
/** `timeline` draws a connected vertical rail; `numbered` is a horizontal grid. */
|
|
8
|
+
variant?: 'numbered' | 'timeline';
|
|
9
|
+
testId?: string;
|
|
10
|
+
}
|
|
11
|
+
/** A process / how-it-works sequence, as numbered cards or a vertical timeline. */
|
|
12
|
+
export declare function Steps({ steps, variant, testId }: StepsProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export interface TabItem {
|
|
3
|
+
label: string;
|
|
4
|
+
content: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export interface TabsProps {
|
|
7
|
+
items: TabItem[];
|
|
8
|
+
testId?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A tabbed panel: a row of tabs over the active tab's content. Radix Tabs gives the full WAI-ARIA
|
|
12
|
+
* pattern: one tab stop, arrow keys / Home / End move between tabs, `aria-controls` and
|
|
13
|
+
* `aria-labelledby` pair each tab with its panel.
|
|
14
|
+
*/
|
|
15
|
+
export declare function Tabs({ items, testId }: TabsProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type BlockLinkComponent } from './blockLink';
|
|
2
|
+
export interface TeamMember {
|
|
3
|
+
name: string;
|
|
4
|
+
role?: string;
|
|
5
|
+
bio?: string;
|
|
6
|
+
avatarUrl?: string;
|
|
7
|
+
/** When set, the card becomes a link to this person's detail page. */
|
|
8
|
+
href?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface TeamGridProps {
|
|
11
|
+
members: TeamMember[];
|
|
12
|
+
columns?: '2' | '3' | '4';
|
|
13
|
+
/** Inject a router link (adapted to `href`) so linked cards navigate in-SPA. */
|
|
14
|
+
linkComponent?: BlockLinkComponent;
|
|
15
|
+
testId?: string;
|
|
16
|
+
}
|
|
17
|
+
/** A grid of people cards: avatar, name, role and an optional short bio. */
|
|
18
|
+
export declare function TeamGrid({ members, columns, linkComponent, testId }: TeamGridProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface TestimonialProps {
|
|
2
|
+
quote: string;
|
|
3
|
+
author?: string;
|
|
4
|
+
role?: string;
|
|
5
|
+
avatarUrl?: string;
|
|
6
|
+
testId?: string;
|
|
7
|
+
}
|
|
8
|
+
/** A single pull-quote testimonial with an author and optional avatar. */
|
|
9
|
+
export declare function Testimonial({ quote, author, role, avatarUrl, testId }: TestimonialProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface TestimonialItem {
|
|
2
|
+
quote: string;
|
|
3
|
+
author?: string;
|
|
4
|
+
role?: string;
|
|
5
|
+
avatarUrl?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface TestimonialGridProps {
|
|
8
|
+
items: TestimonialItem[];
|
|
9
|
+
columns?: '2' | '3';
|
|
10
|
+
testId?: string;
|
|
11
|
+
}
|
|
12
|
+
/** A grid of multiple pull-quote testimonials. */
|
|
13
|
+
export declare function TestimonialGrid({ items, columns, testId }: TestimonialGridProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { type Tone } from './tones';
|
|
3
|
+
export type { Tone };
|
|
4
|
+
export interface ToneBadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
5
|
+
tone?: Tone;
|
|
6
|
+
/** Leading glyph or dot. */
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
/** A small tinted label. The host decides the tone and the words (status, level, priority...). */
|
|
11
|
+
export declare function ToneBadge({ tone, icon, children, className, ...rest }: ToneBadgeProps): import("react").JSX.Element;
|
|
12
|
+
export interface DotProps extends HTMLAttributes<HTMLSpanElement> {
|
|
13
|
+
tone?: Tone;
|
|
14
|
+
/** Accessible name; without it the dot is decorative (`aria-hidden`). */
|
|
15
|
+
label?: string;
|
|
16
|
+
}
|
|
17
|
+
/** A solid status dot in a tone. */
|
|
18
|
+
export declare function Dot({ tone, label, className, ...rest }: DotProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** Search + filter bar used above every list view. */
|
|
3
|
+
export declare function Toolbar({ search, onSearch, searchPlaceholder, filters, actions, className, testId, }: {
|
|
4
|
+
search?: string;
|
|
5
|
+
onSearch?: (v: string) => void;
|
|
6
|
+
searchPlaceholder?: string;
|
|
7
|
+
filters?: ReactNode;
|
|
8
|
+
actions?: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
testId?: string;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LucideIcon } from 'lucide-react';
|
|
2
|
+
/**
|
|
3
|
+
* One labelled quota meter: icon + label on the left, used-of-limit on the
|
|
4
|
+
* right, a thin bar underneath. The bar's tone follows pressure with the shared
|
|
5
|
+
* green → yellow → red gradation — green while there's room, yellow past the
|
|
6
|
+
* halfway mark, red at the limit — so a stack of meters reads at a glance which
|
|
7
|
+
* quota is the one to think about.
|
|
8
|
+
*/
|
|
9
|
+
export declare function UsageMeter({ icon: Icon, label, value, pct, hint, className, testId, }: {
|
|
10
|
+
icon?: LucideIcon;
|
|
11
|
+
label: string;
|
|
12
|
+
/** Formatted used-of-limit text, e.g. "1,200 / 25,000" or "40 / 500 MB". */
|
|
13
|
+
value: string;
|
|
14
|
+
/** Fill percentage, 0–100 (values are clamped). */
|
|
15
|
+
pct: number;
|
|
16
|
+
/** Inline parenthetical after the label, e.g. "resets May 31, 2025" —
|
|
17
|
+
* same font as the label, so the meter never grows an extra row. */
|
|
18
|
+
hint?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
testId?: string;
|
|
21
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type VideoAspect = '16:9' | '4:3' | '1:1';
|
|
2
|
+
export interface VideoEmbedProps {
|
|
3
|
+
/** A YouTube / Vimeo / Loom page URL, or a direct video file URL. */
|
|
4
|
+
url: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
aspect?: VideoAspect;
|
|
7
|
+
rounded?: boolean;
|
|
8
|
+
testId?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Resolve a shareable video URL to an embeddable iframe src. Supports YouTube,
|
|
12
|
+
* Vimeo and Loom; returns null for anything else (rendered as a `<video>`).
|
|
13
|
+
*/
|
|
14
|
+
export declare function toEmbedUrl(url: string): string | null;
|
|
15
|
+
/** Embed a video from a YouTube/Vimeo/Loom link or a direct file, in a set aspect. */
|
|
16
|
+
export declare function VideoEmbed({ url, title, aspect, rounded, testId, }: VideoEmbedProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AssetRenderProps } from './assetResolver';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve an asset ext_id to a displayable image src.
|
|
4
|
+
*
|
|
5
|
+
* Prefer the cheap thumbnail endpoint, but fall back to downloading the actual
|
|
6
|
+
* bytes as an object URL when there's no thumbnail — AI-generated (and freshly
|
|
7
|
+
* uploaded) images have no thumbnail yet, so the thumbnail-only path renders a
|
|
8
|
+
* broken `<img>`. The bytes always exist (it's a stored document), so the editor
|
|
9
|
+
* shows the real image immediately instead of waiting on async thumbnailing.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useAssetImage(docId: string): string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Resolve a single asset ext_id and render it as an `<img>`. This is the
|
|
14
|
+
* `AssetRenderer` the Studio injects; it satisfies `AssetRenderProps`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function AssetThumb({ docId, alt, className, testId }: AssetRenderProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset resolution for the editor canvas — the SDK-free half.
|
|
3
|
+
*
|
|
4
|
+
* An image block's stored `src` is one of three things: a **workspace asset ref**
|
|
5
|
+
* while authoring (an `asset:<docId>` string), a plain URL, or — once published —
|
|
6
|
+
* an inlined `data:` URI (see the studio publish/materialize step). Only inside
|
|
7
|
+
* the authenticated Studio can an asset ref be resolved to displayable bytes (via
|
|
8
|
+
* the thumbnail endpoint).
|
|
9
|
+
*
|
|
10
|
+
* So the resolver is **injected, not imported**. This module knows only that
|
|
11
|
+
* *some* component can turn a `docId` into pixels; the Studio supplies
|
|
12
|
+
* `AssetThumb` from `./assetImage`, which is where the SDK and React Query live.
|
|
13
|
+
* Everywhere else — the pure coverage guard, the unauthenticated public renderer,
|
|
14
|
+
* a marketing site importing `@arbidocs/blocks/site` — the context is empty and
|
|
15
|
+
* `src` renders verbatim. Importing the resolver here instead would drag the SDK
|
|
16
|
+
* into every website block: a dead code path still pins the module graph, because
|
|
17
|
+
* neither kit package declares `sideEffects`.
|
|
18
|
+
*
|
|
19
|
+
* Refs are **explicitly prefixed** (`asset:`) rather than bare ext_ids so the
|
|
20
|
+
* publish walk can distinguish an image source from any other token-like prop
|
|
21
|
+
* (block ids, `"left"`, icon names…) with zero false positives.
|
|
22
|
+
*/
|
|
23
|
+
import { type ComponentType, type ReactNode } from 'react';
|
|
24
|
+
/** Marks a stored image value as a workspace asset ref rather than a URL. */
|
|
25
|
+
export declare const ASSET_REF_PREFIX = "asset:";
|
|
26
|
+
/** Wrap a workspace document ext_id as a storable asset ref. */
|
|
27
|
+
export declare function asAssetRef(docId: string): string;
|
|
28
|
+
/** The workspace document ext_id behind an asset ref (`asset:doc-1` → `doc-1`). */
|
|
29
|
+
export declare function assetRefId(src: string): string;
|
|
30
|
+
/** What a resolver component receives. `AssetThumb` in `./assetImage` implements it. */
|
|
31
|
+
export interface AssetRenderProps {
|
|
32
|
+
docId: string;
|
|
33
|
+
alt?: string;
|
|
34
|
+
className?: string;
|
|
35
|
+
testId?: string;
|
|
36
|
+
}
|
|
37
|
+
/** Renders a workspace asset ext_id as an image. */
|
|
38
|
+
export type AssetRenderer = ComponentType<AssetRenderProps>;
|
|
39
|
+
/**
|
|
40
|
+
* The injected resolver, or `null` where asset refs cannot be resolved (the
|
|
41
|
+
* public renderer, tests, any unauthenticated page).
|
|
42
|
+
*/
|
|
43
|
+
export declare const AssetResolverContext: import("react").Context<AssetRenderer | null>;
|
|
44
|
+
export declare function AssetResolverProvider({ render, children, }: {
|
|
45
|
+
/** Typically `AssetThumb` from `./assetImage`. */
|
|
46
|
+
render: AssetRenderer;
|
|
47
|
+
children: ReactNode;
|
|
48
|
+
}): import("react").JSX.Element;
|
|
49
|
+
/** The active resolver, or `null` when asset refs must render verbatim. */
|
|
50
|
+
export declare function useAssetRenderer(): AssetRenderer | null;
|
|
51
|
+
/** True only where a bare asset ext_id can be resolved (the authenticated Studio). */
|
|
52
|
+
export declare function useAssetResolverActive(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Is `src` a workspace asset ref (`asset:<docId>`) rather than an already-
|
|
55
|
+
* renderable URL / `data:` URI? Only prefixed refs need resolution.
|
|
56
|
+
*/
|
|
57
|
+
export declare function isAssetRef(src: string | undefined): src is string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { AnchorHTMLAttributes, ComponentType, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Firm-agnostic link injection for marketing blocks. A card that navigates to a
|
|
4
|
+
* detail page renders an internal `<a href>` by default, but a consuming app can
|
|
5
|
+
* inject its router's link (e.g. react-router's `Link`, adapted to `href`) via
|
|
6
|
+
* `linkComponent` so navigation stays in-SPA. When no `href` is given the block
|
|
7
|
+
* renders its children unwrapped, so this is fully opt-in and backward compatible.
|
|
8
|
+
*/
|
|
9
|
+
export type BlockLinkRenderProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
|
|
10
|
+
href: string;
|
|
11
|
+
className?: string;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The host's link. Interactive blocks (nav rows, tiles, cards) pass anchor attributes beyond
|
|
16
|
+
* `href` (`onClick`, `aria-current`, `data-*`, a `ref`), so an adapter should forward unknown
|
|
17
|
+
* props to its anchor, as react-router's `Link` does.
|
|
18
|
+
*/
|
|
19
|
+
export type BlockLinkComponent = ComponentType<BlockLinkRenderProps>;
|
|
20
|
+
export interface BlockLinkProps {
|
|
21
|
+
href?: string;
|
|
22
|
+
linkComponent?: BlockLinkComponent;
|
|
23
|
+
className?: string;
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
}
|
|
26
|
+
export declare function BlockLink({ href, linkComponent: Link, className, children }: BlockLinkProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ONE status/tone vocabulary of the blocks. `StatusPill`, `ToneBadge`, `Dot` and the plan,
|
|
3
|
+
* connection and tag chips all read these maps, so a tone looks the same wherever it appears and
|
|
4
|
+
* a new tone is added in one place. Every pair is a token pair checked by
|
|
5
|
+
* `tokens.contrast.test.ts` (`--{hue}-text` on `--{hue}-bg`).
|
|
6
|
+
*/
|
|
7
|
+
/** Semantic tones, mapped to the token palette (`--{hue}-bg|text|border`, `--ai-*`). */
|
|
8
|
+
export type Tone = 'neutral' | 'info' | 'success' | 'warning' | 'danger' | 'accent' | 'ai';
|
|
9
|
+
/** Background + text of a tinted chip. */
|
|
10
|
+
export declare const TONE_SURFACE: Record<Tone, string>;
|
|
11
|
+
/** Border of a tinted chip (the AI tint has none). */
|
|
12
|
+
export declare const TONE_BORDER: Record<Tone, string>;
|
|
13
|
+
/** Solid fill of a status dot. */
|
|
14
|
+
export declare const TONE_DOT: Record<Tone, string>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkG3G7LZPM_cjs = require('../chunk-G3G7LZPM.cjs');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var reactQuery = require('@tanstack/react-query');
|
|
7
|
+
var react$1 = require('@arbidocs/react');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
|
|
10
|
+
function ConnectionBoundWebSocket({ children }) {
|
|
11
|
+
const { status } = chunkG3G7LZPM_cjs.useConnection();
|
|
12
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react$1.ArbiWebSocketProvider, { enabled: status === "authenticated", children });
|
|
13
|
+
}
|
|
14
|
+
function ArbiAppProvider({
|
|
15
|
+
config,
|
|
16
|
+
children
|
|
17
|
+
}) {
|
|
18
|
+
const [queryClient] = react.useState(
|
|
19
|
+
() => new reactQuery.QueryClient({
|
|
20
|
+
defaultOptions: { queries: { staleTime: 3e4, retry: 1, refetchOnWindowFocus: false } }
|
|
21
|
+
})
|
|
22
|
+
);
|
|
23
|
+
const providerUrl = config.apiUrl || config.demoApiUrl || "https://demo.arbi.local";
|
|
24
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsxRuntime.jsx(react$1.ArbiProvider, { url: providerUrl, children: /* @__PURE__ */ jsxRuntime.jsx(chunkG3G7LZPM_cjs.ConnectionProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ConnectionBoundWebSocket, { children }) }) }) });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
Object.defineProperty(exports, "ConnectionProvider", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return chunkG3G7LZPM_cjs.ConnectionProvider; }
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "isAuthenticated", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () { return chunkG3G7LZPM_cjs.isAuthenticated; }
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(exports, "redlineStats", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () { return chunkG3G7LZPM_cjs.redlineStats; }
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(exports, "textToArtifact", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () { return chunkG3G7LZPM_cjs.textToArtifact; }
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, "toRedlineMarkdown", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () { return chunkG3G7LZPM_cjs.toRedlineMarkdown; }
|
|
46
|
+
});
|
|
47
|
+
Object.defineProperty(exports, "useConnectedAiTask", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function () { return chunkG3G7LZPM_cjs.useConnectedAiTask; }
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(exports, "useConnection", {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
get: function () { return chunkG3G7LZPM_cjs.useConnection; }
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(exports, "useSemanticSearch", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () { return chunkG3G7LZPM_cjs.useSemanticSearch; }
|
|
58
|
+
});
|
|
59
|
+
Object.defineProperty(exports, "useWorkspaceDocs", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function () { return chunkG3G7LZPM_cjs.useWorkspaceDocs; }
|
|
62
|
+
});
|
|
63
|
+
exports.ArbiAppProvider = ArbiAppProvider;
|
|
64
|
+
//# sourceMappingURL=index.cjs.map
|
|
65
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/connection/ArbiAppProvider.tsx"],"names":["useConnection","jsx","ArbiWebSocketProvider","useState","QueryClient","QueryClientProvider","ArbiProvider","ConnectionProvider"],"mappings":";;;;;;;;AAqBA,SAAS,wBAAA,CAAyB,EAAE,QAAA,EAAS,EAA4B;AACvE,EAAA,MAAM,EAAE,MAAA,EAAO,GAAIA,+BAAA,EAAc;AACjC,EAAA,uBACEC,cAAA,CAACC,6BAAA,EAAA,EAAsB,OAAA,EAAS,MAAA,KAAW,iBAAkB,QAAA,EAAS,CAAA;AAE1E;AAEO,SAAS,eAAA,CAAgB;AAAA,EAC9B,MAAA;AAAA,EACA;AACF,CAAA,EAGG;AACD,EAAA,MAAM,CAAC,WAAW,CAAA,GAAIC,cAAA;AAAA,IACpB,MACE,IAAIC,sBAAA,CAAY;AAAA,MACd,cAAA,EAAgB,EAAE,OAAA,EAAS,EAAE,SAAA,EAAW,KAAQ,KAAA,EAAO,CAAA,EAAG,oBAAA,EAAsB,KAAA,EAAM;AAAE,KACzF;AAAA,GACL;AAEA,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,MAAA,IAAU,MAAA,CAAO,UAAA,IAAc,yBAAA;AAE1D,EAAA,sCACGC,8BAAA,EAAA,EAAoB,MAAA,EAAQ,WAAA,EAC3B,QAAA,kBAAAJ,cAAA,CAACK,wBAAa,GAAA,EAAK,WAAA,EACjB,QAAA,kBAAAL,cAAA,CAACM,oCAAA,EAAA,EAAmB,QAClB,QAAA,kBAAAN,cAAA,CAAC,wBAAA,EAAA,EAA0B,QAAA,EAAS,CAAA,EACtC,GACF,CAAA,EACF,CAAA;AAEJ","file":"index.cjs","sourcesContent":["/**\n * Composition root for a host app on the ARBI React SDK.\n *\n * QueryClientProvider → react-query cache shared with the SDK\n * ArbiProvider → the SDK's Arbi instance (no network until login)\n * ConnectionProvider → demo/live auth + workspace layer\n *\n * With no live `apiUrl`, ArbiProvider is still mounted (cheap, inert) against\n * `demoApiUrl` and the app runs entirely in seeded demo mode.\n */\nimport { useState, type ReactNode } from 'react'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { ArbiProvider, ArbiWebSocketProvider } from '@arbidocs/react'\nimport { ConnectionProvider, useConnection } from './ConnectionProvider'\nimport type { ArbiConnectionConfig } from './types'\n\n/**\n * Opens the shared SDK WebSocket once the app is live-authenticated (demo /\n * logged-out sessions have no backend, so they stay disconnected). Lives inside\n * ConnectionProvider so it can read the live status.\n */\nfunction ConnectionBoundWebSocket({ children }: { children: ReactNode }) {\n const { status } = useConnection()\n return (\n <ArbiWebSocketProvider enabled={status === 'authenticated'}>{children}</ArbiWebSocketProvider>\n )\n}\n\nexport function ArbiAppProvider({\n config,\n children,\n}: {\n config: ArbiConnectionConfig\n children: ReactNode\n}) {\n const [queryClient] = useState(\n () =>\n new QueryClient({\n defaultOptions: { queries: { staleTime: 30_000, retry: 1, refetchOnWindowFocus: false } },\n })\n )\n\n const providerUrl = config.apiUrl || config.demoApiUrl || 'https://demo.arbi.local'\n\n return (\n <QueryClientProvider client={queryClient}>\n <ArbiProvider url={providerUrl}>\n <ConnectionProvider config={config}>\n <ConnectionBoundWebSocket>{children}</ConnectionBoundWebSocket>\n </ConnectionProvider>\n </ArbiProvider>\n </QueryClientProvider>\n )\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @arbidocs/blocks/connect: the demo/live connection layer (auth, workspace selection, agent
|
|
3
|
+
* hooks, React Query + ARBI provider). Kept off the root barrel because it needs React Query.
|
|
4
|
+
*/
|
|
5
|
+
export { type ArbiMode, type ConnectionStatus, type ArbiUser, type AssistantStep, type AssistantCitation, type AssistantMessage, type ArbiConnectionConfig, } from '../connection/types';
|
|
6
|
+
export { ConnectionProvider, useConnection, isAuthenticated, } from '../connection/ConnectionProvider';
|
|
7
|
+
export { ArbiAppProvider } from '../connection/ArbiAppProvider';
|
|
8
|
+
export { useConnectedAiTask, useWorkspaceDocs, useSemanticSearch, toRedlineMarkdown, redlineStats, textToArtifact, type AiTaskStatus, type AiRunOptions, type SearchChunk, type ArtifactEvent, } from '../connection/ai';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ConnectionProvider, useConnection } from '../chunk-YBXCZEWS.js';
|
|
3
|
+
export { ConnectionProvider, isAuthenticated, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnection, useSemanticSearch, useWorkspaceDocs } from '../chunk-YBXCZEWS.js';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
6
|
+
import { ArbiProvider, ArbiWebSocketProvider } from '@arbidocs/react';
|
|
7
|
+
import { jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
function ConnectionBoundWebSocket({ children }) {
|
|
10
|
+
const { status } = useConnection();
|
|
11
|
+
return /* @__PURE__ */ jsx(ArbiWebSocketProvider, { enabled: status === "authenticated", children });
|
|
12
|
+
}
|
|
13
|
+
function ArbiAppProvider({
|
|
14
|
+
config,
|
|
15
|
+
children
|
|
16
|
+
}) {
|
|
17
|
+
const [queryClient] = useState(
|
|
18
|
+
() => new QueryClient({
|
|
19
|
+
defaultOptions: { queries: { staleTime: 3e4, retry: 1, refetchOnWindowFocus: false } }
|
|
20
|
+
})
|
|
21
|
+
);
|
|
22
|
+
const providerUrl = config.apiUrl || config.demoApiUrl || "https://demo.arbi.local";
|
|
23
|
+
return /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(ArbiProvider, { url: providerUrl, children: /* @__PURE__ */ jsx(ConnectionProvider, { config, children: /* @__PURE__ */ jsx(ConnectionBoundWebSocket, { children }) }) }) });
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { ArbiAppProvider };
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/connection/ArbiAppProvider.tsx"],"names":[],"mappings":";;;;;;;AAqBA,SAAS,wBAAA,CAAyB,EAAE,QAAA,EAAS,EAA4B;AACvE,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,aAAA,EAAc;AACjC,EAAA,uBACE,GAAA,CAAC,qBAAA,EAAA,EAAsB,OAAA,EAAS,MAAA,KAAW,iBAAkB,QAAA,EAAS,CAAA;AAE1E;AAEO,SAAS,eAAA,CAAgB;AAAA,EAC9B,MAAA;AAAA,EACA;AACF,CAAA,EAGG;AACD,EAAA,MAAM,CAAC,WAAW,CAAA,GAAI,QAAA;AAAA,IACpB,MACE,IAAI,WAAA,CAAY;AAAA,MACd,cAAA,EAAgB,EAAE,OAAA,EAAS,EAAE,SAAA,EAAW,KAAQ,KAAA,EAAO,CAAA,EAAG,oBAAA,EAAsB,KAAA,EAAM;AAAE,KACzF;AAAA,GACL;AAEA,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,MAAA,IAAU,MAAA,CAAO,UAAA,IAAc,yBAAA;AAE1D,EAAA,2BACG,mBAAA,EAAA,EAAoB,MAAA,EAAQ,WAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,gBAAa,GAAA,EAAK,WAAA,EACjB,QAAA,kBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,QAClB,QAAA,kBAAA,GAAA,CAAC,wBAAA,EAAA,EAA0B,QAAA,EAAS,CAAA,EACtC,GACF,CAAA,EACF,CAAA;AAEJ","file":"index.js","sourcesContent":["/**\n * Composition root for a host app on the ARBI React SDK.\n *\n * QueryClientProvider → react-query cache shared with the SDK\n * ArbiProvider → the SDK's Arbi instance (no network until login)\n * ConnectionProvider → demo/live auth + workspace layer\n *\n * With no live `apiUrl`, ArbiProvider is still mounted (cheap, inert) against\n * `demoApiUrl` and the app runs entirely in seeded demo mode.\n */\nimport { useState, type ReactNode } from 'react'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { ArbiProvider, ArbiWebSocketProvider } from '@arbidocs/react'\nimport { ConnectionProvider, useConnection } from './ConnectionProvider'\nimport type { ArbiConnectionConfig } from './types'\n\n/**\n * Opens the shared SDK WebSocket once the app is live-authenticated (demo /\n * logged-out sessions have no backend, so they stay disconnected). Lives inside\n * ConnectionProvider so it can read the live status.\n */\nfunction ConnectionBoundWebSocket({ children }: { children: ReactNode }) {\n const { status } = useConnection()\n return (\n <ArbiWebSocketProvider enabled={status === 'authenticated'}>{children}</ArbiWebSocketProvider>\n )\n}\n\nexport function ArbiAppProvider({\n config,\n children,\n}: {\n config: ArbiConnectionConfig\n children: ReactNode\n}) {\n const [queryClient] = useState(\n () =>\n new QueryClient({\n defaultOptions: { queries: { staleTime: 30_000, retry: 1, refetchOnWindowFocus: false } },\n })\n )\n\n const providerUrl = config.apiUrl || config.demoApiUrl || 'https://demo.arbi.local'\n\n return (\n <QueryClientProvider client={queryClient}>\n <ArbiProvider url={providerUrl}>\n <ConnectionProvider config={config}>\n <ConnectionBoundWebSocket>{children}</ConnectionBoundWebSocket>\n </ConnectionProvider>\n </ArbiProvider>\n </QueryClientProvider>\n )\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition root for a host app on the ARBI React SDK.
|
|
3
|
+
*
|
|
4
|
+
* QueryClientProvider → react-query cache shared with the SDK
|
|
5
|
+
* ArbiProvider → the SDK's Arbi instance (no network until login)
|
|
6
|
+
* ConnectionProvider → demo/live auth + workspace layer
|
|
7
|
+
*
|
|
8
|
+
* With no live `apiUrl`, ArbiProvider is still mounted (cheap, inert) against
|
|
9
|
+
* `demoApiUrl` and the app runs entirely in seeded demo mode.
|
|
10
|
+
*/
|
|
11
|
+
import { type ReactNode } from 'react';
|
|
12
|
+
import type { ArbiConnectionConfig } from './types';
|
|
13
|
+
export declare function ArbiAppProvider({ config, children, }: {
|
|
14
|
+
config: ArbiConnectionConfig;
|
|
15
|
+
children: ReactNode;
|
|
16
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The demo/live connection layer for a host app. Holds auth + workspace
|
|
3
|
+
* selection state and exposes it via {@link useConnection}, so every surface
|
|
4
|
+
* works identically whether it's talking to a live ARBI backend or the seeded
|
|
5
|
+
* demo workspace. Host-specific values (backend URL, demo identity, default
|
|
6
|
+
* workspace/assistant ids) arrive once through {@link ArbiConnectionConfig}.
|
|
7
|
+
*/
|
|
8
|
+
import { type ReactNode } from 'react';
|
|
9
|
+
import type { ArbiMode, ArbiUser, ConnectionStatus, ArbiConnectionConfig } from './types';
|
|
10
|
+
interface ConnectionValue {
|
|
11
|
+
mode: ArbiMode;
|
|
12
|
+
status: ConnectionStatus;
|
|
13
|
+
user: ArbiUser | null;
|
|
14
|
+
workspaceId: string | null;
|
|
15
|
+
apiConfigured: boolean;
|
|
16
|
+
apiUrl: string;
|
|
17
|
+
error: string | null;
|
|
18
|
+
/** Default assistant config ext_id (for the AI hooks). */
|
|
19
|
+
assistantConfig?: string;
|
|
20
|
+
/** Fallback workspace ext_id when none is actively selected. */
|
|
21
|
+
fallbackWorkspaceId?: string;
|
|
22
|
+
/** Authenticate. Live login when a backend is configured, otherwise the demo workspace. */
|
|
23
|
+
login: (email: string, password: string) => Promise<void>;
|
|
24
|
+
/** One-click demo entry (no backend required). */
|
|
25
|
+
enterDemo: () => void;
|
|
26
|
+
logout: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* Affirmatively select a workspace: opens it on the server (via the SDK),
|
|
29
|
+
* updates the app-wide state, and persists the choice so it survives future
|
|
30
|
+
* logins. This is the single entry point for "the user is now in workspace X".
|
|
31
|
+
*/
|
|
32
|
+
setWorkspace: (id: string) => Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Re-assert the selected workspace on the server session (idempotent `/open`).
|
|
35
|
+
* Call before a workspace-scoped write when the session may have lost its open
|
|
36
|
+
* workspace (token re-login, backend restart, session expiry) — the server
|
|
37
|
+
* resolves the workspace from the session, so a dropped `/open` yields
|
|
38
|
+
* "No active workspace" until it's re-opened.
|
|
39
|
+
*/
|
|
40
|
+
ensureWorkspaceOpen: () => Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
/** Exported for tests. */
|
|
43
|
+
export declare const workspaceStorageKey: (apiUrl: string, userKey: string) => string;
|
|
44
|
+
export declare function ConnectionProvider({ config, children, }: {
|
|
45
|
+
config: ArbiConnectionConfig;
|
|
46
|
+
children: ReactNode;
|
|
47
|
+
}): import("react").JSX.Element;
|
|
48
|
+
export declare function useConnection(): ConnectionValue;
|
|
49
|
+
export declare const isAuthenticated: (s: ConnectionStatus) => s is "demo" | "authenticated";
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type AiRunOptions } from '@arbidocs/react';
|
|
2
|
+
export type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react';
|
|
3
|
+
/** Client-side redlining, re-exported so a host app has one import surface. */
|
|
4
|
+
export { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react';
|
|
5
|
+
/**
|
|
6
|
+
* The kit's `useAiTask` with the host's default assistant configuration
|
|
7
|
+
* injected, so call sites needn't know the config ext_id.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useConnectedAiTask(): {
|
|
10
|
+
run: (question: string, docIds: string[], opts?: AiRunOptions) => Promise<import("@arbidocs/react").SSEStreamResult | null>;
|
|
11
|
+
status: import("@arbidocs/react").AiTaskStatus;
|
|
12
|
+
text: string;
|
|
13
|
+
stepCount: number;
|
|
14
|
+
error: string | null;
|
|
15
|
+
responseId: string | null;
|
|
16
|
+
artifacts: {
|
|
17
|
+
t?: number | null;
|
|
18
|
+
type: "arbi.artifact";
|
|
19
|
+
doc_ext_id: string;
|
|
20
|
+
title: string;
|
|
21
|
+
mode: "markdown" | "html" | "text" | "image";
|
|
22
|
+
content: string;
|
|
23
|
+
file_type: string;
|
|
24
|
+
is_complete: boolean;
|
|
25
|
+
version: number;
|
|
26
|
+
message_ext_id?: string | null;
|
|
27
|
+
}[];
|
|
28
|
+
reset: () => void;
|
|
29
|
+
isRunning: boolean;
|
|
30
|
+
isDone: boolean;
|
|
31
|
+
};
|
|
32
|
+
/** Resolve the active workspace + its document ids (what we ground the agent on). */
|
|
33
|
+
export declare function useWorkspaceDocs(): {
|
|
34
|
+
wsId: string | undefined;
|
|
35
|
+
docs: {
|
|
36
|
+
external_id: string;
|
|
37
|
+
workspace_ext_id: string;
|
|
38
|
+
file_name?: string | null | undefined;
|
|
39
|
+
status?: string | null | undefined;
|
|
40
|
+
error_message?: string | null | undefined;
|
|
41
|
+
failed_stage?: string | null | undefined;
|
|
42
|
+
n_pages?: number | null | undefined;
|
|
43
|
+
n_chunks?: number | null | undefined;
|
|
44
|
+
tokens?: number | null | undefined;
|
|
45
|
+
file_type?: string | null | undefined;
|
|
46
|
+
file_size?: number | null | undefined;
|
|
47
|
+
storage_type?: string | null | undefined;
|
|
48
|
+
storage_uri?: string | null | undefined;
|
|
49
|
+
content_hash?: string | null | undefined;
|
|
50
|
+
shared?: boolean | null | undefined;
|
|
51
|
+
re_ocred?: boolean | null | undefined;
|
|
52
|
+
config_ext_id?: string | null | undefined;
|
|
53
|
+
parent_ext_id?: string | null | undefined;
|
|
54
|
+
created_by_ext_id: string;
|
|
55
|
+
updated_by_ext_id?: string | null | undefined;
|
|
56
|
+
created_at: string;
|
|
57
|
+
updated_at: string;
|
|
58
|
+
wp_type?: string | null | undefined;
|
|
59
|
+
folder?: string | null | undefined;
|
|
60
|
+
sender?: string | null | undefined;
|
|
61
|
+
doctags: {
|
|
62
|
+
note?: string | null | undefined;
|
|
63
|
+
citations?: {
|
|
64
|
+
doc_ext_id: string;
|
|
65
|
+
chunks?: {
|
|
66
|
+
chunk_id: string;
|
|
67
|
+
page?: number | null | undefined;
|
|
68
|
+
}[] | undefined;
|
|
69
|
+
}[] | null | undefined;
|
|
70
|
+
external_id: string;
|
|
71
|
+
doc_ext_id: string;
|
|
72
|
+
tag_ext_id: string;
|
|
73
|
+
created_by_ext_id: string;
|
|
74
|
+
updated_by_ext_id?: string | null | undefined;
|
|
75
|
+
created_at: string;
|
|
76
|
+
updated_at: string;
|
|
77
|
+
}[];
|
|
78
|
+
doc_metadata?: {
|
|
79
|
+
doc_nature?: string | null | undefined;
|
|
80
|
+
doc_author?: string | null | undefined;
|
|
81
|
+
doc_subject?: string | null | undefined;
|
|
82
|
+
doc_date?: string | null | undefined;
|
|
83
|
+
title?: string | null | undefined;
|
|
84
|
+
} | null | undefined;
|
|
85
|
+
}[];
|
|
86
|
+
docIds: string[];
|
|
87
|
+
isLoading: boolean;
|
|
88
|
+
isError: boolean;
|
|
89
|
+
ready: boolean;
|
|
90
|
+
};
|
|
91
|
+
/** Search the active workspace's documents and return the top matching passages. */
|
|
92
|
+
export declare function useSemanticSearch(): {
|
|
93
|
+
query: string;
|
|
94
|
+
results: import("@arbidocs/react").SearchChunk[];
|
|
95
|
+
status: import("@arbidocs/react").AiTaskStatus;
|
|
96
|
+
error: string | null;
|
|
97
|
+
search: (q: string, mode?: "semantic" | "keyword" | "hybrid") => Promise<void>;
|
|
98
|
+
isRunning: boolean;
|
|
99
|
+
};
|