@arbidocs/blocks 0.4.159 → 0.4.161
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 +48 -9
- package/dist/{ConnectedNativeDocxComparison-R6RU5TZE.cjs → ConnectedNativeDocxComparison-GLHOGUP6.cjs} +12 -11
- package/dist/{ConnectedNativeDocxComparison-R6RU5TZE.cjs.map → ConnectedNativeDocxComparison-GLHOGUP6.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-XMZ5KLD4.js → ConnectedNativeDocxComparison-LKIMKOTA.js} +11 -10
- package/dist/{ConnectedStreamedWordArtifact-IXRJ7MUE.js.map → ConnectedNativeDocxComparison-LKIMKOTA.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-NGUK2AX6.js → ConnectedNativeDocxEditor-6LNYWZ3P.js} +10 -9
- package/dist/{ConnectedNativeDocxEditor-NGUK2AX6.js.map → ConnectedNativeDocxEditor-6LNYWZ3P.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-LBATSM3M.cjs → ConnectedNativeDocxEditor-M3UGWL6K.cjs} +12 -11
- package/dist/{ConnectedNativeDocxEditor-LBATSM3M.cjs.map → ConnectedNativeDocxEditor-M3UGWL6K.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-IXRJ7MUE.js → ConnectedStreamedWordArtifact-432HT7DK.js} +11 -10
- package/dist/{ConnectedNativeDocxComparison-XMZ5KLD4.js.map → ConnectedStreamedWordArtifact-432HT7DK.js.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-CWFR6A37.cjs → ConnectedStreamedWordArtifact-COEXL5IT.cjs} +12 -11
- package/dist/ConnectedStreamedWordArtifact-COEXL5IT.cjs.map +1 -0
- package/dist/{FactTextEditor-YESAU2IJ.js → FactTextEditor-ABKKJOCY.js} +2 -2
- package/dist/FactTextEditor-ABKKJOCY.js.map +1 -0
- package/dist/{FactTextEditor-YUPBCTXK.cjs → FactTextEditor-GYN5RHJT.cjs} +2 -2
- package/dist/FactTextEditor-GYN5RHJT.cjs.map +1 -0
- package/dist/{WorkspaceTableView-EYLEUZZT.cjs → WorkspaceTableView-AQTF5F6T.cjs} +6 -5
- package/dist/WorkspaceTableView-AQTF5F6T.cjs.map +1 -0
- package/dist/{WorkspaceTableView-DWUE4VQF.js → WorkspaceTableView-PTB5BPVA.js} +4 -3
- package/dist/WorkspaceTableView-PTB5BPVA.js.map +1 -0
- package/dist/agents/index.cjs +263 -263
- package/dist/agents/index.js +6 -6
- package/dist/agents/skills/skillLibrary.d.ts +1 -1
- package/dist/{chunk-FPHTSNOE.js → chunk-2AKIMCDD.js} +3 -3
- package/dist/{chunk-FPHTSNOE.js.map → chunk-2AKIMCDD.js.map} +1 -1
- package/dist/{chunk-YNMO3DSR.js → chunk-2AMYT2HQ.js} +3 -3
- package/dist/{chunk-YNMO3DSR.js.map → chunk-2AMYT2HQ.js.map} +1 -1
- package/dist/{chunk-MSFQDELO.cjs → chunk-3CUORKDL.cjs} +4 -4
- package/dist/{chunk-MSFQDELO.cjs.map → chunk-3CUORKDL.cjs.map} +1 -1
- package/dist/{chunk-MNG7N6M2.js → chunk-3PQIWOTZ.js} +122 -57
- package/dist/chunk-3PQIWOTZ.js.map +1 -0
- package/dist/chunk-5C7DRQQE.cjs +1891 -0
- package/dist/chunk-5C7DRQQE.cjs.map +1 -0
- package/dist/{chunk-F57LNUSZ.js → chunk-5NWY3FXQ.js} +24 -57
- package/dist/chunk-5NWY3FXQ.js.map +1 -0
- package/dist/{chunk-ISHFVKVU.js → chunk-5WLORPGX.js} +4 -4
- package/dist/{chunk-ISHFVKVU.js.map → chunk-5WLORPGX.js.map} +1 -1
- package/dist/{chunk-FAXXN7KI.cjs → chunk-5Y6V7F6W.cjs} +53 -4
- package/dist/chunk-5Y6V7F6W.cjs.map +1 -0
- package/dist/{chunk-6QAAIDQQ.cjs → chunk-6UTIAHQG.cjs} +60 -60
- package/dist/{chunk-6QAAIDQQ.cjs.map → chunk-6UTIAHQG.cjs.map} +1 -1
- package/dist/{chunk-KCSIX7CY.js → chunk-6XIXNH26.js} +3 -3
- package/dist/{chunk-KCSIX7CY.js.map → chunk-6XIXNH26.js.map} +1 -1
- package/dist/{chunk-YBJ4QGNH.cjs → chunk-ANLTECZ6.cjs} +8 -8
- package/dist/{chunk-YBJ4QGNH.cjs.map → chunk-ANLTECZ6.cjs.map} +1 -1
- package/dist/{chunk-Q2XGM372.cjs → chunk-AR6A2PMV.cjs} +4 -4
- package/dist/{chunk-Q2XGM372.cjs.map → chunk-AR6A2PMV.cjs.map} +1 -1
- package/dist/{chunk-KBO75NLM.cjs → chunk-AYJZRBHG.cjs} +7 -7
- package/dist/{chunk-KBO75NLM.cjs.map → chunk-AYJZRBHG.cjs.map} +1 -1
- package/dist/{chunk-FM3IRQJW.cjs → chunk-AYKE6USO.cjs} +12 -12
- package/dist/chunk-AYKE6USO.cjs.map +1 -0
- package/dist/chunk-BGJZVJJM.cjs +63 -0
- package/dist/chunk-BGJZVJJM.cjs.map +1 -0
- package/dist/{chunk-ECW2R2KF.cjs → chunk-BPL5RLNN.cjs} +27 -27
- package/dist/{chunk-ECW2R2KF.cjs.map → chunk-BPL5RLNN.cjs.map} +1 -1
- package/dist/{chunk-CNHUJRQ4.cjs → chunk-EFEFLBRM.cjs} +21 -55
- package/dist/chunk-EFEFLBRM.cjs.map +1 -0
- package/dist/{chunk-ETZ5A3GU.js → chunk-EVO2UNX3.js} +3 -3
- package/dist/chunk-EVO2UNX3.js.map +1 -0
- package/dist/{chunk-P6RIBIVN.js → chunk-FMJGVAWX.js} +8 -9
- package/dist/chunk-FMJGVAWX.js.map +1 -0
- package/dist/chunk-H5542IOD.cjs +108 -0
- package/dist/chunk-H5542IOD.cjs.map +1 -0
- package/dist/{chunk-VF5EUAIV.js → chunk-H7PHANI4.js} +3 -3
- package/dist/chunk-H7PHANI4.js.map +1 -0
- package/dist/chunk-HQJL7FSY.js +58 -0
- package/dist/chunk-HQJL7FSY.js.map +1 -0
- package/dist/{chunk-OFV3PRF2.cjs → chunk-HRDVQERS.cjs} +7 -7
- package/dist/{chunk-OFV3PRF2.cjs.map → chunk-HRDVQERS.cjs.map} +1 -1
- package/dist/{chunk-3VULDTNL.cjs → chunk-HUNX4CQG.cjs} +4 -4
- package/dist/chunk-HUNX4CQG.cjs.map +1 -0
- package/dist/{chunk-2BHDRVVL.cjs → chunk-I6I34FDU.cjs} +38 -37
- package/dist/chunk-I6I34FDU.cjs.map +1 -0
- package/dist/chunk-IWVOZREF.js +12 -0
- package/dist/chunk-IWVOZREF.js.map +1 -0
- package/dist/chunk-J7YHBMBB.js +1834 -0
- package/dist/chunk-J7YHBMBB.js.map +1 -0
- package/dist/{chunk-SDOEHEJP.js → chunk-JMQLTMJ7.js} +53 -5
- package/dist/chunk-JMQLTMJ7.js.map +1 -0
- package/dist/{chunk-TF7HN5EU.js → chunk-JNE2XEXD.js} +12 -12
- package/dist/chunk-JNE2XEXD.js.map +1 -0
- package/dist/{chunk-QKR5LWDO.js → chunk-K7CZFNJ2.js} +7 -7
- package/dist/{chunk-QKR5LWDO.js.map → chunk-K7CZFNJ2.js.map} +1 -1
- package/dist/{chunk-4RPBUMHB.cjs → chunk-KMZO5W6D.cjs} +4 -4
- package/dist/chunk-KMZO5W6D.cjs.map +1 -0
- package/dist/{chunk-FTZ45WHY.js → chunk-KNCJSPXV.js} +5020 -4014
- package/dist/chunk-KNCJSPXV.js.map +1 -0
- package/dist/{chunk-3OCNUKGX.js → chunk-KQWC4YBX.js} +3 -3
- package/dist/{chunk-3OCNUKGX.js.map → chunk-KQWC4YBX.js.map} +1 -1
- package/dist/{chunk-TC3RQNEX.cjs → chunk-L4KWTDFE.cjs} +5 -5
- package/dist/chunk-L4KWTDFE.cjs.map +1 -0
- package/dist/{chunk-VTTZZ4FN.js → chunk-LH3JAZ33.js} +5 -5
- package/dist/chunk-LH3JAZ33.js.map +1 -0
- package/dist/{chunk-P2YM67Y5.cjs → chunk-LQYPOWKN.cjs} +14 -21
- package/dist/chunk-LQYPOWKN.cjs.map +1 -0
- package/dist/{chunk-RATEAOKT.js → chunk-NOXGEQQR.js} +7 -13
- package/dist/chunk-NOXGEQQR.js.map +1 -0
- package/dist/{chunk-NPLGB4LI.cjs → chunk-NUAC5GTQ.cjs} +5115 -4077
- package/dist/chunk-NUAC5GTQ.cjs.map +1 -0
- package/dist/chunk-NYECCTB3.js +101 -0
- package/dist/chunk-NYECCTB3.js.map +1 -0
- package/dist/{chunk-GC2FSPSQ.cjs → chunk-O5E3NKPI.cjs} +128 -58
- package/dist/chunk-O5E3NKPI.cjs.map +1 -0
- package/dist/{chunk-SZOFGU7W.js → chunk-O5XREO7H.js} +3 -3
- package/dist/{chunk-SZOFGU7W.js.map → chunk-O5XREO7H.js.map} +1 -1
- package/dist/{chunk-OOU4QLRK.cjs → chunk-OHCYJFV2.cjs} +9 -9
- package/dist/{chunk-OOU4QLRK.cjs.map → chunk-OHCYJFV2.cjs.map} +1 -1
- package/dist/{chunk-DEPF5LQI.js → chunk-OKRYNQPH.js} +3 -3
- package/dist/chunk-OKRYNQPH.js.map +1 -0
- package/dist/{chunk-KFMRBZQK.js → chunk-PCL7IEZO.js} +21 -20
- package/dist/chunk-PCL7IEZO.js.map +1 -0
- package/dist/chunk-RFB7B6XG.cjs +169 -0
- package/dist/chunk-RFB7B6XG.cjs.map +1 -0
- package/dist/{chunk-SZSJGZSO.js → chunk-SQQU3WRB.js} +714 -5
- package/dist/chunk-SQQU3WRB.js.map +1 -0
- package/dist/{chunk-OALEDG67.cjs → chunk-TNESYDBR.cjs} +5 -5
- package/dist/{chunk-OALEDG67.cjs.map → chunk-TNESYDBR.cjs.map} +1 -1
- package/dist/chunk-TTS353W2.js +163 -0
- package/dist/chunk-TTS353W2.js.map +1 -0
- package/dist/{chunk-CROGFB46.cjs → chunk-U7OUZHBH.cjs} +753 -2
- package/dist/chunk-U7OUZHBH.cjs.map +1 -0
- package/dist/{chunk-BQ77KSXU.js → chunk-UORU5S7Y.js} +3 -3
- package/dist/{chunk-BQ77KSXU.js.map → chunk-UORU5S7Y.js.map} +1 -1
- package/dist/{chunk-FYZXDZM7.js → chunk-VFF76GTB.js} +4 -4
- package/dist/{chunk-FYZXDZM7.js.map → chunk-VFF76GTB.js.map} +1 -1
- package/dist/{chunk-E4H5H2C3.cjs → chunk-VYTK2WJB.cjs} +4 -4
- package/dist/{chunk-E4H5H2C3.cjs.map → chunk-VYTK2WJB.cjs.map} +1 -1
- package/dist/{chunk-XI37A7HH.js → chunk-WKSP73RU.js} +3 -3
- package/dist/{chunk-XI37A7HH.js.map → chunk-WKSP73RU.js.map} +1 -1
- package/dist/chunk-WP4VIOOA.cjs +15 -0
- package/dist/chunk-WP4VIOOA.cjs.map +1 -0
- package/dist/{chunk-YF3QUHKN.cjs → chunk-X3XPXEIM.cjs} +14 -15
- package/dist/chunk-X3XPXEIM.cjs.map +1 -0
- package/dist/{chunk-VZPFYZZU.cjs → chunk-Z2HEBOA3.cjs} +8 -8
- package/dist/{chunk-VZPFYZZU.cjs.map → chunk-Z2HEBOA3.cjs.map} +1 -1
- package/dist/{chunk-Q7CQYYZW.cjs → chunk-ZMYW5M75.cjs} +5 -5
- package/dist/chunk-ZMYW5M75.cjs.map +1 -0
- package/dist/{chunk-7UENVUA6.js → chunk-ZW2AWACP.js} +3 -3
- package/dist/{chunk-7UENVUA6.js.map → chunk-ZW2AWACP.js.map} +1 -1
- package/dist/citations/index.cjs +10 -10
- package/dist/citations/index.js +2 -2
- package/dist/collaboration/contacts/contact-form.d.ts +47 -0
- package/dist/collaboration/contacts/index.d.ts +3 -1
- package/dist/collaboration/contacts/invite-plan.d.ts +46 -0
- package/dist/collaboration/contacts/parseEmails.d.ts +7 -0
- package/dist/collaboration/index.cjs +163 -83
- package/dist/collaboration/index.js +2 -2
- package/dist/components/ActionLink.d.ts +1 -1
- package/dist/components/TeamGrid.d.ts +1 -1
- package/dist/components/editorial/{ProfileCard.d.ts → EditorialProfileCard.d.ts} +2 -2
- package/dist/components/editorial/index.d.ts +1 -1
- package/dist/connect/docx.cjs +14 -13
- package/dist/connect/docx.d.ts +1 -1
- package/dist/connect/docx.js +10 -9
- package/dist/connect/index.cjs +22097 -14743
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +11 -7
- package/dist/connect/index.js +15203 -7912
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +83 -138
- package/dist/connect/viewer.cjs.map +1 -1
- package/dist/connect/viewer.d.ts +3 -2
- package/dist/connect/viewer.js +25 -82
- package/dist/connect/viewer.js.map +1 -1
- package/dist/connection/ConnectedSettings.d.ts +3 -2
- package/dist/connection/ConnectionProvider.d.ts +5 -4
- package/dist/connection/StreamedArtifact.d.ts +1 -1
- package/dist/connection/billing/index.d.ts +3 -3
- package/dist/connection/billing/support.d.ts +4 -7
- package/dist/connection/contacts/ConnectedAddContacts.d.ts +9 -0
- package/dist/connection/contacts/ConnectedContactCardForm.d.ts +11 -0
- package/dist/connection/contacts/ConnectedContactToggle.d.ts +16 -0
- package/dist/connection/contacts/ConnectedContactsDirectory.d.ts +10 -0
- package/dist/connection/contacts/ImportVcf.d.ts +29 -0
- package/dist/connection/contacts/index.d.ts +5 -0
- package/dist/connection/defaultHost.d.ts +9 -0
- package/dist/connection/docx/ConnectedNativeDocxEditor.d.ts +3 -3
- package/dist/connection/docx/support.d.ts +10 -9
- package/dist/connection/files/bulk/ConnectedFilesBulkActions.d.ts +22 -0
- package/dist/connection/files/bulk/useDocumentBulkActions.d.ts +19 -0
- package/dist/connection/files/explorer/FileTiles.d.ts +6 -3
- package/dist/connection/files/fields/ConnectedBulkTagEditor.d.ts +16 -0
- package/dist/connection/files/fields/ConnectedFieldsEditor.d.ts +40 -0
- package/dist/connection/files/fields/ConnectedFieldsManager.d.ts +33 -0
- package/dist/connection/files/fields/ConnectedTagEditorDialog.d.ts +20 -0
- package/dist/connection/files/fields/ConnectedTagForm.d.ts +54 -0
- package/dist/connection/files/fields/DocumentFieldParts.d.ts +33 -0
- package/dist/connection/files/fields/DocumentUser.d.ts +11 -0
- package/dist/connection/files/fields/documentField.d.ts +48 -0
- package/dist/connection/files/fields/useFieldWrites.d.ts +20 -0
- package/dist/connection/files/fields/useFieldsApply.d.ts +49 -0
- package/dist/connection/files/fields/useMemberLookup.d.ts +3 -0
- package/dist/connection/files/grid/ConnectedTagEntity.d.ts +19 -0
- package/dist/connection/files/grid/cells.d.ts +85 -0
- package/dist/connection/files/grid/documentColumns.d.ts +66 -0
- package/dist/connection/files/grid/documentGridBus.d.ts +48 -0
- package/dist/connection/files/grid/documentStatus.d.ts +43 -0
- package/dist/connection/files/grid/familyMeta.d.ts +21 -0
- package/dist/connection/files/grid/tagColumn.d.ts +23 -0
- package/dist/connection/files/grid/useDocumentGridSync.d.ts +48 -0
- package/dist/connection/files/grid/useDocumentTable.d.ts +30 -0
- package/dist/connection/files/index.d.ts +36 -2
- package/dist/connection/files/move/ConnectedMoveToFolder.d.ts +31 -0
- package/dist/connection/files/page/ConnectedFilesPage.d.ts +86 -0
- package/dist/connection/files/page/DocumentsFilterBarActions.d.ts +39 -0
- package/dist/connection/files/page/DocumentsUploadButton.d.ts +25 -0
- package/dist/connection/files/page/PersistedGridView.d.ts +6 -0
- package/dist/connection/files/page/ProgressiveLoadingChip.d.ts +12 -0
- package/dist/connection/files/page/useDocumentNavigation.d.ts +20 -0
- package/dist/connection/files/review/ConnectedAiReview.d.ts +40 -0
- package/dist/connection/files/review/reviewProgress.d.ts +2 -0
- package/dist/connection/files/store.d.ts +96 -0
- package/dist/connection/files/useDocumentFilters.d.ts +54 -0
- package/dist/connection/files/views/ViewSelector.d.ts +33 -0
- package/dist/connection/files/views/tableViews.d.ts +22 -0
- package/dist/connection/files/views/useTableViews.d.ts +22 -0
- package/dist/connection/mail/ConnectedMailbox.d.ts +2 -2
- package/dist/connection/messenger/ChatAttachments.d.ts +15 -0
- package/dist/connection/messenger/ConnectedChatThread.d.ts +21 -0
- package/dist/connection/messenger/ConnectedGroupMembers.d.ts +20 -0
- package/dist/connection/messenger/ConnectedMessenger.d.ts +52 -0
- package/dist/connection/messenger/index.d.ts +6 -0
- package/dist/connection/messenger/types.d.ts +103 -0
- package/dist/connection/messenger/useMessengerRows.d.ts +19 -0
- package/dist/connection/tags/ConnectedTagsPage.d.ts +2 -35
- package/dist/connection/viewer/ConnectedDocumentToolsProvider.d.ts +19 -2
- package/dist/connection/viewer/ConnectedDocumentViewer.d.ts +1 -1
- package/dist/connection/viewer/support.d.ts +21 -15
- package/dist/connection/workspaceData.d.ts +134 -8
- package/dist/facts/index.cjs +3 -3
- package/dist/facts/index.js +2 -2
- package/dist/files/bulk/BulkActionsBar.d.ts +9 -5
- package/dist/files/cells/DocumentNameCell.d.ts +4 -2
- package/dist/files/cells/MultiSelectCellEditor.d.ts +13 -0
- package/dist/files/cells/RelatedDocsCell.d.ts +2 -1
- package/dist/files/cells/index.d.ts +1 -0
- package/dist/files/documentColumns.d.ts +15 -0
- package/dist/files/folders/DocumentsFolderButton.d.ts +26 -0
- package/dist/files/folders/FolderTreePicker.d.ts +16 -0
- package/dist/files/folders/index.d.ts +2 -0
- package/dist/files/index.cjs +430 -434
- package/dist/files/index.d.ts +4 -1
- package/dist/files/index.js +5 -5
- package/dist/files/navigator/DocumentSearchList.d.ts +19 -0
- package/dist/files/navigator/ExplorerFileNavigator.d.ts +23 -0
- package/dist/files/navigator/NavDocumentPicker.d.ts +15 -0
- package/dist/files/navigator/NavigatorPickerBar.d.ts +26 -0
- package/dist/files/navigator/index.d.ts +5 -0
- package/dist/files/navigator/types.d.ts +7 -0
- package/dist/files/tags/BulkTagEditor.d.ts +2 -1
- package/dist/files/tags/index.d.ts +0 -2
- package/dist/files/visibility.d.ts +6 -5
- package/dist/home/StartTiles.d.ts +1 -1
- package/dist/home/index.cjs +30 -30
- package/dist/home/index.js +5 -5
- package/dist/index.cjs +684 -694
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +22 -134
- package/dist/index.js.map +1 -1
- package/dist/provider/{BlocksProvider.d.ts → environment.d.ts} +8 -10
- package/dist/provider/host.d.ts +44 -0
- package/dist/retrieval/index.cjs +4 -4
- package/dist/retrieval/index.js +2 -2
- package/dist/shell/index.cjs +44 -44
- package/dist/shell/index.js +3 -3
- package/dist/shell/types.d.ts +1 -1
- package/dist/site/index.cjs +61 -61
- package/dist/site/index.js +2 -2
- package/dist/studio/index.cjs +86 -87
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.js +15 -16
- package/dist/studio/index.js.map +1 -1
- package/dist/workflow-canvas/index.cjs +28 -27
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workflow-canvas/index.js +11 -10
- package/dist/workflow-canvas/index.js.map +1 -1
- package/dist/workspaces/WorkspaceCard.d.ts +1 -1
- package/dist/workspaces/index.cjs +20 -20
- package/dist/workspaces/index.js +4 -4
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-CWFR6A37.cjs.map +0 -1
- package/dist/FactTextEditor-YESAU2IJ.js.map +0 -1
- package/dist/FactTextEditor-YUPBCTXK.cjs.map +0 -1
- package/dist/WorkspaceTableView-DWUE4VQF.js.map +0 -1
- package/dist/WorkspaceTableView-EYLEUZZT.cjs.map +0 -1
- package/dist/chunk-2BHDRVVL.cjs.map +0 -1
- package/dist/chunk-3VULDTNL.cjs.map +0 -1
- package/dist/chunk-4RPBUMHB.cjs.map +0 -1
- package/dist/chunk-5ZIYPZYE.js +0 -2748
- package/dist/chunk-5ZIYPZYE.js.map +0 -1
- package/dist/chunk-6I6CVX5G.cjs +0 -22
- package/dist/chunk-6I6CVX5G.cjs.map +0 -1
- package/dist/chunk-7NL6WJER.cjs +0 -682
- package/dist/chunk-7NL6WJER.cjs.map +0 -1
- package/dist/chunk-CB4TIDEX.cjs +0 -54
- package/dist/chunk-CB4TIDEX.cjs.map +0 -1
- package/dist/chunk-CNHUJRQ4.cjs.map +0 -1
- package/dist/chunk-CROGFB46.cjs.map +0 -1
- package/dist/chunk-DEPF5LQI.js.map +0 -1
- package/dist/chunk-ETZ5A3GU.js.map +0 -1
- package/dist/chunk-EYJMMGXF.js +0 -19
- package/dist/chunk-EYJMMGXF.js.map +0 -1
- package/dist/chunk-F57LNUSZ.js.map +0 -1
- package/dist/chunk-FAXXN7KI.cjs.map +0 -1
- package/dist/chunk-FM3IRQJW.cjs.map +0 -1
- package/dist/chunk-FTZ45WHY.js.map +0 -1
- package/dist/chunk-GC2FSPSQ.cjs.map +0 -1
- package/dist/chunk-KDLX5AA7.js +0 -49
- package/dist/chunk-KDLX5AA7.js.map +0 -1
- package/dist/chunk-KFMRBZQK.js.map +0 -1
- package/dist/chunk-MNG7N6M2.js.map +0 -1
- package/dist/chunk-NPLGB4LI.cjs.map +0 -1
- package/dist/chunk-P2YM67Y5.cjs.map +0 -1
- package/dist/chunk-P6RIBIVN.js.map +0 -1
- package/dist/chunk-Q7CQYYZW.cjs.map +0 -1
- package/dist/chunk-QJFJ5JBF.cjs +0 -2838
- package/dist/chunk-QJFJ5JBF.cjs.map +0 -1
- package/dist/chunk-RATEAOKT.js.map +0 -1
- package/dist/chunk-SDOEHEJP.js.map +0 -1
- package/dist/chunk-SZSJGZSO.js.map +0 -1
- package/dist/chunk-TC3RQNEX.cjs.map +0 -1
- package/dist/chunk-TF7HN5EU.js.map +0 -1
- package/dist/chunk-VF5EUAIV.js.map +0 -1
- package/dist/chunk-VTTZZ4FN.js.map +0 -1
- package/dist/chunk-WK6FVIF7.js +0 -654
- package/dist/chunk-WK6FVIF7.js.map +0 -1
- package/dist/chunk-YF3QUHKN.cjs.map +0 -1
- package/dist/connection/ArbiAppProvider.d.ts +0 -16
- package/dist/connection/files/support.d.ts +0 -40
- package/dist/files/tags/DocTagPopover.d.ts +0 -113
- package/dist/files/tags/TagManager.d.ts +0 -54
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkEFEFLBRM_cjs = require('./chunk-EFEFLBRM.cjs');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@ function isModifiedClick(event) {
|
|
|
9
9
|
return event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;
|
|
10
10
|
}
|
|
11
11
|
var ActionLink = react.forwardRef(function ActionLink2({ href, onSelect, disabled, children, ...rest }, ref) {
|
|
12
|
-
const { linkComponent: Link } =
|
|
12
|
+
const { linkComponent: Link } = chunkEFEFLBRM_cjs.useBlocksEnvironment();
|
|
13
13
|
if (!href || disabled) {
|
|
14
14
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15
15
|
"button",
|
|
@@ -36,5 +36,5 @@ var ActionLink = react.forwardRef(function ActionLink2({ href, onSelect, disable
|
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
exports.ActionLink = ActionLink;
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-HUNX4CQG.cjs.map
|
|
40
|
+
//# sourceMappingURL=chunk-HUNX4CQG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ActionLink.tsx"],"names":["forwardRef","ActionLink","useBlocksEnvironment","jsx"],"mappings":";;;;;;AAyBA,SAAS,gBAAgB,KAAA,EAA4B;AACnD,EAAA,OAAO,KAAA,CAAM,WAAW,CAAA,IAAK,KAAA,CAAM,WAAW,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,QAAA,IAAY,KAAA,CAAM,MAAA;AACzF;AAOO,IAAM,UAAA,GAAaA,gBAAA,CAAyC,SAASC,WAAAA,CAC1E,EAAE,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,QAAA,EAAU,GAAG,IAAA,EAAK,EAC9C,GAAA,EACA;AACA,EAAA,MAAM,EAAE,aAAA,EAAe,IAAA,EAAK,GAAIC,sCAAA,EAAqB;AAErD,EAAA,IAAI,CAAC,QAAQ,QAAA,EAAU;AACrB,IAAA,uBACEC,cAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACE,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QACA,IAAA,EAAK,QAAA;AAAA,QACL,QAAA;AAAA,QACA,OAAA,EAAS,QAAA;AAAA,QAER;AAAA;AAAA,KACH;AAAA,EAEJ;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAyC;AAC5D,IAAA,IAAI,CAAC,QAAA,IAAY,KAAA,CAAM,gBAAA,IAAoB,eAAA,CAAgB,KAAK,CAAA,EAAG;AACnE,IAAA,KAAA,CAAM,cAAA,EAAe;AACrB,IAAA,QAAA,EAAS;AAAA,EACX,CAAA;AACA,EAAA,MAAM,cAAc,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,SAAS,WAAA,EAAY;AAC1D,EAAA,IAAI,IAAA,EAAM;AACR,IAAA,uBACEA,cAAA,CAAC,QAAM,GAAG,WAAA,EAAc,GAAI,EAAE,GAAA,IAC3B,QAAA,EACH,CAAA;AAAA,EAEJ;AACA,EAAA,uBACEA,cAAA,CAAC,GAAA,EAAA,EAAG,GAAG,WAAA,EAAa,KACjB,QAAA,EACH,CAAA;AAEJ,CAAC","file":"chunk-HUNX4CQG.cjs","sourcesContent":["import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react'\nimport { useBlocksEnvironment } from '../provider/environment'\nimport type { BlockLinkRenderProps } from './blockLink'\n\nexport interface ActionLinkProps extends Omit<\n ComponentPropsWithoutRef<'button'>,\n 'onClick' | 'type' | 'children'\n> {\n /**\n * Destination. When set (and not `disabled`) the control is a real anchor, rendered through\n * the host environment's `linkComponent` (plain `<a>` by default), so ctrl/cmd-click and \"open in new\n * tab\" work. Without `onSelect` a plain click navigates through the link; with `onSelect`, a plain\n * click calls it instead (it owns navigation) and modified clicks still use the link.\n */\n href?: string\n onSelect?: () => void\n children?: ReactNode\n}\n\nfunction isModifiedClick(event: MouseEvent): boolean {\n return event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey\n}\n\n/**\n * The one \"go somewhere / do something\" control of the link-like blocks: a `<button>` without an\n * `href`, an anchor with one. Forwards its ref and any extra props so it can sit under a\n * tooltip or popover trigger `asChild`.\n */\nexport const ActionLink = forwardRef<HTMLElement, ActionLinkProps>(function ActionLink(\n { href, onSelect, disabled, children, ...rest },\n ref\n) {\n const { linkComponent: Link } = useBlocksEnvironment()\n\n if (!href || disabled) {\n return (\n <button\n {...rest}\n ref={ref as Ref<HTMLButtonElement>}\n type=\"button\"\n disabled={disabled}\n onClick={onSelect}\n >\n {children}\n </button>\n )\n }\n\n const handleClick = (event: MouseEvent<HTMLAnchorElement>) => {\n if (!onSelect || event.defaultPrevented || isModifiedClick(event)) return\n event.preventDefault()\n onSelect()\n }\n const anchorProps = { ...rest, href, onClick: handleClick } as BlockLinkRenderProps\n if (Link) {\n return (\n <Link {...anchorProps} {...({ ref } as object)}>\n {children}\n </Link>\n )\n }\n return (\n <a {...anchorProps} ref={ref as Ref<HTMLAnchorElement>}>\n {children}\n </a>\n )\n})\n"]}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunkBGJZVJJM_cjs = require('./chunk-BGJZVJJM.cjs');
|
|
5
|
+
var chunkAYKE6USO_cjs = require('./chunk-AYKE6USO.cjs');
|
|
6
6
|
var chunk464YPRAE_cjs = require('./chunk-464YPRAE.cjs');
|
|
7
7
|
var chunk4GITK3Q5_cjs = require('./chunk-4GITK3Q5.cjs');
|
|
8
8
|
var chunkLJJJ6CYH_cjs = require('./chunk-LJJJ6CYH.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunkWP4VIOOA_cjs = require('./chunk-WP4VIOOA.cjs');
|
|
10
|
+
var chunkANLTECZ6_cjs = require('./chunk-ANLTECZ6.cjs');
|
|
10
11
|
var chunk2VHYOTWW_cjs = require('./chunk-2VHYOTWW.cjs');
|
|
11
12
|
var chunkJKB7WT7L_cjs = require('./chunk-JKB7WT7L.cjs');
|
|
12
|
-
var
|
|
13
|
+
var chunkEFEFLBRM_cjs = require('./chunk-EFEFLBRM.cjs');
|
|
13
14
|
var chunkKDG6FER6_cjs = require('./chunk-KDG6FER6.cjs');
|
|
14
15
|
var react = require('react');
|
|
15
16
|
var reactQuery = require('@tanstack/react-query');
|
|
@@ -17,15 +18,15 @@ var react$1 = require('@arbidocs/react');
|
|
|
17
18
|
var documentTools = require('@arbidocs/react/document-tools');
|
|
18
19
|
var jsxRuntime = require('react/jsx-runtime');
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
children
|
|
24
|
-
}) {
|
|
25
|
-
return /* @__PURE__ */ jsxRuntime.jsx(NativeDocxSupportContext.Provider, { value, children });
|
|
26
|
-
}
|
|
21
|
+
// src/connection/docx/support.ts
|
|
22
|
+
var NO_SUPPORT = {};
|
|
23
|
+
var NO_TARGET = () => null;
|
|
27
24
|
function useNativeDocxSupport() {
|
|
28
|
-
return
|
|
25
|
+
return chunkWP4VIOOA_cjs.useHost().docx ?? NO_SUPPORT;
|
|
26
|
+
}
|
|
27
|
+
function useDocxCommentTarget() {
|
|
28
|
+
const useTarget = useNativeDocxSupport().useCommentTarget ?? NO_TARGET;
|
|
29
|
+
return useTarget();
|
|
29
30
|
}
|
|
30
31
|
var IMAGE_FILE_TYPES = /* @__PURE__ */ new Set(["png", "jpg", "jpeg", "gif", "bmp", "tiff", "webp"]);
|
|
31
32
|
function toWorkflowFieldDocument(doc) {
|
|
@@ -41,9 +42,9 @@ function toWorkflowFieldDocument(doc) {
|
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
44
|
function useConnectedWorkflowScopeSource() {
|
|
44
|
-
const { data: docs } =
|
|
45
|
-
const { data: tags } =
|
|
46
|
-
return react.useMemo(() =>
|
|
45
|
+
const { data: docs } = chunkBGJZVJJM_cjs.useConnectedDocuments();
|
|
46
|
+
const { data: tags } = chunkBGJZVJJM_cjs.useConnectedTags();
|
|
47
|
+
return react.useMemo(() => chunkANLTECZ6_cjs.buildWorkflowScopeSource(docs, chunkANLTECZ6_cjs.documentScopeLabels(tags)), [docs, tags]);
|
|
47
48
|
}
|
|
48
49
|
function useConnectedAgentOptions() {
|
|
49
50
|
const { data: agents } = react$1.useAgents();
|
|
@@ -59,9 +60,9 @@ function ConnectedWorkflowDocumentsField({
|
|
|
59
60
|
onAddFiles,
|
|
60
61
|
labels
|
|
61
62
|
}) {
|
|
62
|
-
const { notify } =
|
|
63
|
-
const { ensureWorkspaceOpen } =
|
|
64
|
-
const { data: docs, loaded } =
|
|
63
|
+
const { notify } = chunkEFEFLBRM_cjs.useBlocksEnvironment();
|
|
64
|
+
const { ensureWorkspaceOpen } = chunkAYKE6USO_cjs.useConnectedWorkspace();
|
|
65
|
+
const { data: docs, loaded } = chunkBGJZVJJM_cjs.useConnectedDocuments();
|
|
65
66
|
const uploadDocuments = react$1.useUploadDocuments();
|
|
66
67
|
const documents = react.useMemo(() => docs.map(toWorkflowFieldDocument), [docs]);
|
|
67
68
|
const chosen = value.documents ?? [];
|
|
@@ -100,7 +101,7 @@ function ConnectedWorkflowDocumentsField({
|
|
|
100
101
|
}
|
|
101
102
|
),
|
|
102
103
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
103
|
-
|
|
104
|
+
chunkANLTECZ6_cjs.WorkflowDocumentsField,
|
|
104
105
|
{
|
|
105
106
|
field,
|
|
106
107
|
value,
|
|
@@ -122,7 +123,7 @@ function ConnectedWorkflowLauncher({
|
|
|
122
123
|
const scopeSource = useConnectedWorkflowScopeSource();
|
|
123
124
|
const agents = useConnectedAgentOptions();
|
|
124
125
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
125
|
-
|
|
126
|
+
chunkANLTECZ6_cjs.WorkflowLauncher,
|
|
126
127
|
{
|
|
127
128
|
...props,
|
|
128
129
|
scopeSource,
|
|
@@ -163,9 +164,9 @@ function ReferencePicker({
|
|
|
163
164
|
}
|
|
164
165
|
function useConnectedDocxReferences() {
|
|
165
166
|
const arbi = react$1.useArbi();
|
|
166
|
-
const { workspaceId } =
|
|
167
|
-
const { openDocument, runtimeConfig } =
|
|
168
|
-
const { data: documents } =
|
|
167
|
+
const { workspaceId } = chunkAYKE6USO_cjs.useConnectedWorkspace();
|
|
168
|
+
const { openDocument, runtimeConfig } = chunkEFEFLBRM_cjs.useBlocksEnvironment();
|
|
169
|
+
const { data: documents } = chunkBGJZVJJM_cjs.useConnectedDocuments();
|
|
169
170
|
const documentsRef = react.useRef(documents);
|
|
170
171
|
documentsRef.current = documents;
|
|
171
172
|
return react.useMemo(
|
|
@@ -216,7 +217,7 @@ function useConnectedDocxReferences() {
|
|
|
216
217
|
);
|
|
217
218
|
}
|
|
218
219
|
function useConnectedWorkspaceRole() {
|
|
219
|
-
const { workspaceId, live, userId, ensureWorkspaceOpen } =
|
|
220
|
+
const { workspaceId, live, userId, ensureWorkspaceOpen } = chunkAYKE6USO_cjs.useConnectedWorkspace();
|
|
220
221
|
const { data: members = [] } = react$1.useWorkspaceUsers(workspaceId ?? void 0, {
|
|
221
222
|
enabled: live && !!workspaceId,
|
|
222
223
|
beforeFetch: ensureWorkspaceOpen
|
|
@@ -244,21 +245,21 @@ var DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS = {
|
|
|
244
245
|
var messageOf = (error) => error instanceof Error ? error.message : "";
|
|
245
246
|
function ConnectedWorkflowsTable({
|
|
246
247
|
filter,
|
|
247
|
-
describeTrigger = (w) =>
|
|
248
|
+
describeTrigger = (w) => chunkANLTECZ6_cjs.workflowTriggerType(w).replaceAll("_", " "),
|
|
248
249
|
formatDate = chunkKDG6FER6_cjs.fmtDate,
|
|
249
250
|
onViewRuns,
|
|
250
251
|
connectedLabels,
|
|
251
252
|
...tableProps
|
|
252
253
|
}) {
|
|
253
254
|
const l = { ...DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, ...connectedLabels };
|
|
254
|
-
const { notify, confirm, openConversation } =
|
|
255
|
+
const { notify, confirm, openConversation } = chunkEFEFLBRM_cjs.useBlocksEnvironment();
|
|
255
256
|
const { canEditShared, isWorkspaceOwner } = useConnectedWorkspaceRole();
|
|
256
257
|
const { data: saved = [], isLoading } = react$1.useWorkflows({ live: true });
|
|
257
|
-
const { data: conversations, refetch } =
|
|
258
|
+
const { data: conversations, refetch } = chunkBGJZVJJM_cjs.useConnectedConversations({ live: true });
|
|
258
259
|
const { data: agents = [] } = react$1.useAgents();
|
|
259
260
|
const update = react$1.useUpdateWorkflow();
|
|
260
261
|
const remove = react$1.useDeleteWorkflow();
|
|
261
|
-
const run =
|
|
262
|
+
const run = chunkBGJZVJJM_cjs.useConnectedRunWorkflow();
|
|
262
263
|
const [busyId, setBusyId] = react.useState(null);
|
|
263
264
|
const workflows = react.useMemo(() => filter ? saved.filter(filter) : saved, [saved, filter]);
|
|
264
265
|
const firingStamp = saved.map((w) => `${w.external_id}:${w.last_fired_at ?? ""}`).join("|");
|
|
@@ -306,7 +307,7 @@ function ConnectedWorkflowsTable({
|
|
|
306
307
|
await act(workflow, () => remove.mutateAsync(workflow.external_id));
|
|
307
308
|
};
|
|
308
309
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
309
|
-
|
|
310
|
+
chunkANLTECZ6_cjs.WorkflowsTable,
|
|
310
311
|
{
|
|
311
312
|
...tableProps,
|
|
312
313
|
workflows,
|
|
@@ -356,7 +357,7 @@ function ConnectedWorkflowsTable({
|
|
|
356
357
|
function useConnectedHouseTemplate() {
|
|
357
358
|
const arbi = react$1.useArbi();
|
|
358
359
|
const { mutateAsync: setWorkspaceTemplate } = react$1.useSetWorkspaceHouseTemplate();
|
|
359
|
-
const { workspaceId, live, ensureWorkspaceOpen } =
|
|
360
|
+
const { workspaceId, live, ensureWorkspaceOpen } = chunkAYKE6USO_cjs.useConnectedWorkspace();
|
|
360
361
|
const { data: workspaces } = react$1.useWorkspaces({ enabled: live });
|
|
361
362
|
const workspace = workspaces?.find((w) => w.external_id === workspaceId);
|
|
362
363
|
const { isWorkspaceOwner } = useConnectedWorkspaceRole();
|
|
@@ -408,8 +409,8 @@ function ConnectedNativeDocxEditor({
|
|
|
408
409
|
...props
|
|
409
410
|
}) {
|
|
410
411
|
const adapter = useConnectedNativeDocxAdapter(fontBaseUrl);
|
|
411
|
-
const { workspaceId } =
|
|
412
|
-
const
|
|
412
|
+
const { workspaceId } = chunkAYKE6USO_cjs.useConnectedWorkspace();
|
|
413
|
+
const commentTarget = useDocxCommentTarget();
|
|
413
414
|
const [openFailed, setOpenFailed] = react.useState(false);
|
|
414
415
|
const hasOpened = react.useRef(false);
|
|
415
416
|
const guardedAdapter = react.useMemo(
|
|
@@ -459,9 +460,9 @@ function tokenChanges(arbi) {
|
|
|
459
460
|
}
|
|
460
461
|
function useConnectedNativeDocxAdapter(fontBaseUrl = "/native-docx/fonts") {
|
|
461
462
|
const arbi = react$1.useArbi();
|
|
462
|
-
const { workspaceId, live, user, ensureWorkspaceOpen } =
|
|
463
|
+
const { workspaceId, live, user, ensureWorkspaceOpen } = chunkAYKE6USO_cjs.useConnectedWorkspace();
|
|
463
464
|
const queries = reactQuery.useQueryClient();
|
|
464
|
-
const { notify } =
|
|
465
|
+
const { notify } = chunkEFEFLBRM_cjs.useBlocksEnvironment();
|
|
465
466
|
const tools = documentTools.useOptionalDocumentTools();
|
|
466
467
|
const support = useNativeDocxSupport();
|
|
467
468
|
const references = useConnectedDocxReferences();
|
|
@@ -556,12 +557,12 @@ exports.ConnectedWorkflowDocumentsField = ConnectedWorkflowDocumentsField;
|
|
|
556
557
|
exports.ConnectedWorkflowLauncher = ConnectedWorkflowLauncher;
|
|
557
558
|
exports.ConnectedWorkflowsTable = ConnectedWorkflowsTable;
|
|
558
559
|
exports.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS = DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS;
|
|
559
|
-
exports.NativeDocxSupportProvider = NativeDocxSupportProvider;
|
|
560
560
|
exports.toWorkflowFieldDocument = toWorkflowFieldDocument;
|
|
561
561
|
exports.useConnectedAgentOptions = useConnectedAgentOptions;
|
|
562
562
|
exports.useConnectedNativeDocxAdapter = useConnectedNativeDocxAdapter;
|
|
563
563
|
exports.useConnectedWorkflowScopeSource = useConnectedWorkflowScopeSource;
|
|
564
564
|
exports.useConnectedWorkspaceRole = useConnectedWorkspaceRole;
|
|
565
|
+
exports.useDocxCommentTarget = useDocxCommentTarget;
|
|
565
566
|
exports.useNativeDocxSupport = useNativeDocxSupport;
|
|
566
|
-
//# sourceMappingURL=chunk-
|
|
567
|
-
//# sourceMappingURL=chunk-
|
|
567
|
+
//# sourceMappingURL=chunk-I6I34FDU.cjs.map
|
|
568
|
+
//# sourceMappingURL=chunk-I6I34FDU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/connection/docx/support.ts","../src/connection/ConnectedWorkflowLauncher.tsx","../src/connection/docx/useConnectedDocxReferences.tsx","../src/connection/ConnectedWorkflowsTable.tsx","../src/connection/docx/useConnectedHouseTemplate.ts","../src/connection/docx/ConnectedNativeDocxEditor.tsx"],"names":["useHost","useConnectedDocuments","useConnectedTags","useMemo","buildWorkflowScopeSource","documentScopeLabels","useAgents","useBlocksEnvironment","useConnectedWorkspace","useUploadDocuments","useThumbnails","useRef","useState","useCallback","jsxs","Fragment","jsx","WorkflowDocumentsField","WorkflowLauncher","DocumentPicker","useArbi","buildDeepLinkUrl","parseDeepLinkPath","useWorkspaceUsers","workflowTriggerType","fmtDate","useWorkflows","useConnectedConversations","useUpdateWorkflow","useDeleteWorkflow","useConnectedRunWorkflow","useEffect","WorkflowsTable","useSetWorkspaceHouseTemplate","useWorkspaces","supportsHouseTemplates","workspaceHouseTemplateId","useHouseTemplateCandidates","contentPath","builtinHouseTemplate","isCandidate","useRegisterOpenDocument","NativeDocxEditor","useQueryClient","useOptionalDocumentTools","loadDocxFonts","refreshDocuments","fetchSavedSignature","storeSavedSignature"],"mappings":"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","file":"chunk-I6I34FDU.cjs","sourcesContent":["/**\n * What a host adds to the connected Word editor that the platform API alone cannot give: the\n * workspace's definitions (facts labelled \"Definitions\"), image generation (an assistant run), the\n * host's leave-page guard, and a comment to open the editor at. It is the host configuration's\n * `docx`; every field is optional, and without one the editor simply offers less (no Defined term,\n * no Generate image).\n */\n\nimport { useHost } from '../../provider/host'\nimport type { DefinitionSource } from '../../tags/definitions'\nimport type { DocxImageGeneration } from '../../docx/layout/GenerateImage'\n\nexport interface NativeDocxSupport {\n /** The workspace's definitions. Present: Insert offers Defined term and `@@` the type-ahead. */\n definitions?: () => Promise<DefinitionSource[]>\n /** The platform's image generation. Present: Insert offers Generate image. */\n imageGeneration?: DocxImageGeneration\n /** The open editor has (or no longer has) unsaved changes. */\n onDirtyChange?: (dirty: boolean) => void\n /** A comment thread to open when its document opens (a notification's link), as a hook. */\n useCommentTarget?: () => { documentId: string; commentId: string } | null\n}\n\nconst NO_SUPPORT: NativeDocxSupport = {}\nconst NO_TARGET = () => null\n\nexport function useNativeDocxSupport(): NativeDocxSupport {\n return useHost().docx ?? NO_SUPPORT\n}\n\n/** The comment thread to open with its document (none without the host's). */\nexport function useDocxCommentTarget(): { documentId: string; commentId: string } | null {\n const useTarget = useNativeDocxSupport().useCommentTarget ?? NO_TARGET\n return useTarget()\n}\n","/**\n * The workflow launcher bound to the connection: the open workspace's folders, labels and files\n * behind its scope and `documents` fields (files can be added right there), and the user's agents\n * behind \"Run as\". The host still says what a launch does (`onLaunch`): open a chat, start a task.\n */\n\nimport { useCallback, useMemo, useRef, useState } from 'react'\nimport { useAgents, useThumbnails, useUploadDocuments } from '@arbidocs/react'\nimport { WorkflowLauncher, type WorkflowLauncherProps } from '../agents/workflows/WorkflowLauncher'\nimport {\n WorkflowDocumentsField,\n type WorkflowDocumentsFieldLabels,\n type WorkflowFieldDocument,\n} from '../agents/workflows/WorkflowDocumentsField'\nimport type { WorkflowScopeSource } from '../agents/workflows/WorkflowConfigDialog'\nimport { buildWorkflowScopeSource, documentScopeLabels } from '../agents/workflows/workspaceScope'\nimport type { AgentOption } from '../agents/workflows/AgentSelect'\nimport type { WorkflowField, WorkflowScope } from '../agents/workflows/types'\nimport { useBlocksEnvironment } from '../provider/environment'\nimport { useConnectedWorkspace } from './ConnectionProvider'\nimport { useConnectedDocuments, useConnectedTags, type ConnectedDocument } from './workspaceData'\n\nconst IMAGE_FILE_TYPES = new Set(['png', 'jpg', 'jpeg', 'gif', 'bmp', 'tiff', 'webp'])\n\n/** A workspace document as a `documents` field offers it. */\nexport function toWorkflowFieldDocument(doc: ConnectedDocument): WorkflowFieldDocument {\n // Pages and tokens are a text-parsing concept: never meaningful for an image.\n const isImage = IMAGE_FILE_TYPES.has((doc.file_type ?? '').toLowerCase())\n return {\n id: doc.external_id,\n title: doc.doc_metadata?.title || doc.file_name || doc.external_id,\n fileName: doc.file_name,\n pages: isImage ? null : (doc.n_pages ?? null),\n tokens: isImage ? null : (doc.tokens ?? null),\n status: doc.status,\n isImage,\n }\n}\n\n/** The open workspace's folders and labels for a workflow's scope field. */\nexport function useConnectedWorkflowScopeSource(): WorkflowScopeSource {\n const { data: docs } = useConnectedDocuments()\n const { data: tags } = useConnectedTags()\n return useMemo(() => buildWorkflowScopeSource(docs, documentScopeLabels(tags)), [docs, tags])\n}\n\n/** The user's agents, for \"Run as\". */\nexport function useConnectedAgentOptions(): AgentOption[] {\n const { data: agents } = useAgents()\n return useMemo(\n () => (agents ?? []).map((a) => ({ id: a.external_id, label: a.given_name || a.email })),\n [agents]\n )\n}\n\nexport interface ConnectedWorkflowDocumentsFieldProps {\n field: WorkflowField\n value: WorkflowScope\n onChange: (value: WorkflowScope) => void\n /** Add files the host's way (its upload dialog). Absent: they are uploaded here. */\n onAddFiles?: (files?: File[]) => void\n labels?: Partial<WorkflowDocumentsFieldLabels>\n}\n\n/**\n * A workflow `documents` field over the open workspace's files: pick, add (or drop) files, see the\n * chosen images. A launcher's or a task composer's `renderDocuments`.\n */\nexport function ConnectedWorkflowDocumentsField({\n field,\n value,\n onChange,\n onAddFiles,\n labels,\n}: ConnectedWorkflowDocumentsFieldProps) {\n const { notify } = useBlocksEnvironment()\n const { ensureWorkspaceOpen } = useConnectedWorkspace()\n const { data: docs, loaded } = useConnectedDocuments()\n const uploadDocuments = useUploadDocuments()\n const documents = useMemo(() => docs.map(toWorkflowFieldDocument), [docs])\n const chosen = value.documents ?? []\n const { data: thumbnails } = useThumbnails(chosen, { enabled: (field.max ?? 1) > 1 })\n const input = useRef<HTMLInputElement>(null)\n const [adding, setAdding] = useState(false)\n\n const upload = useCallback(\n async (files: File[]) => {\n setAdding(true)\n try {\n await ensureWorkspaceOpen()\n // Each new document joins the shared list as it lands.\n for (const file of files) await uploadDocuments.mutateAsync({ files: [file] })\n } catch (error) {\n notify(error instanceof Error && error.message ? error.message : String(error), 'error')\n } finally {\n setAdding(false)\n }\n },\n [uploadDocuments, ensureWorkspaceOpen, notify]\n )\n\n return (\n <>\n {!onAddFiles && (\n <input\n ref={input}\n type=\"file\"\n multiple\n className=\"hidden\"\n aria-label=\"Add files\"\n data-testid=\"workflow-add-files-input\"\n onChange={(e) => {\n const files = Array.from(e.target.files ?? [])\n e.target.value = ''\n if (files.length) void upload(files)\n }}\n />\n )}\n <WorkflowDocumentsField\n field={field}\n value={value}\n onChange={onChange}\n documents={documents}\n loaded={loaded}\n thumbnailOf={(id) => thumbnails?.[id]}\n onAddFiles={\n onAddFiles ?? ((files) => (files?.length ? void upload(files) : input.current?.click()))\n }\n adding={adding}\n labels={labels}\n />\n </>\n )\n}\n\nexport interface ConnectedWorkflowLauncherProps extends Omit<\n WorkflowLauncherProps,\n 'scopeSource' | 'renderDocuments' | 'agents'\n> {\n /** Add files from a `documents` field the host's way (its upload dialog). Absent: uploaded here. */\n onAddFiles?: (files?: File[]) => void\n}\n\nexport function ConnectedWorkflowLauncher({\n onAddFiles,\n ...props\n}: ConnectedWorkflowLauncherProps) {\n const scopeSource = useConnectedWorkflowScopeSource()\n const agents = useConnectedAgentOptions()\n return (\n <WorkflowLauncher\n {...props}\n scopeSource={scopeSource}\n agents={agents}\n renderDocuments={(field, value, onChange) => (\n <ConnectedWorkflowDocumentsField\n field={field}\n value={value}\n onChange={onChange}\n onAddFiles={onAddFiles}\n />\n )}\n />\n )\n}\n","/**\n * The Word editor's references to the workspace's other documents: the documents and their\n * passages (the same parsed passages a fact's citations quote), the ARBI address of a passage\n * (`/wrk-…/doc-…/cnk-…`, the deep link that opens a document at a passage, so the link works from\n * Word too), and opening one wherever the host shows documents, highlighted like a citation.\n */\nimport { useMemo, useRef } from 'react'\nimport { useArbi } from '@arbidocs/react'\nimport type { DocxReferencesAdapter } from '../../docx/references/CrossReferences'\nimport { DocumentPicker } from '../../settings/DocumentPicker'\nimport { buildDeepLinkUrl, parseDeepLinkPath } from '../../lib/deep-link'\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useConnectedWorkspace } from '../ConnectionProvider'\nimport { toWorkflowFieldDocument } from '../ConnectedWorkflowLauncher'\nimport { useConnectedDocuments, type ConnectedDocument } from '../workspaceData'\n\ninterface ParsedChunk {\n content?: string | null\n metadata?: { chunk_ext_id?: string | null; page_number?: number | null } | null\n}\n\n/** Top-level documents only: an attachment opens with its parent. */\nconst isTopLevel = (doc: ConnectedDocument) => !doc.parent_ext_id\n\nfunction ReferencePicker({\n documents,\n selectedId,\n onSelect,\n}: {\n documents: ConnectedDocument[]\n selectedId: string | null\n onSelect: (documentId: string) => void\n}) {\n const groups = useMemo(() => {\n const docs = documents\n .filter(isTopLevel)\n .map(toWorkflowFieldDocument)\n .sort((a, b) => a.title.toLowerCase().localeCompare(b.title.toLowerCase()))\n return [{ id: 'all', heading: 'In this workspace', docs }]\n }, [documents])\n const selected = groups[0].docs.find((d) => d.id === selectedId)\n return (\n <DocumentPicker\n groups={groups}\n value={selectedId ?? ''}\n onValueChange={onSelect}\n selected={selected}\n labels={{ placeholder: 'Search documents…' }}\n />\n )\n}\n\nexport function useConnectedDocxReferences(): DocxReferencesAdapter {\n const arbi = useArbi()\n const { workspaceId } = useConnectedWorkspace()\n const { openDocument, runtimeConfig } = useBlocksEnvironment()\n const { data: documents } = useConnectedDocuments()\n // Read when called (the picker, a link): the list grows while the editor is open.\n const documentsRef = useRef(documents)\n documentsRef.current = documents\n return useMemo<DocxReferencesAdapter>(\n () => ({\n documents: async () =>\n documentsRef.current\n .filter(isTopLevel)\n .map((d) => ({ id: d.external_id, title: toWorkflowFieldDocument(d).title })),\n passages: async (documentId) => {\n const parsed = await arbi.documents.getParsedContent(documentId, 'final')\n return ((parsed.chunks ?? []) as ParsedChunk[]).flatMap((chunk) =>\n chunk.metadata?.chunk_ext_id && chunk.content?.trim()\n ? [\n {\n chunkId: chunk.metadata.chunk_ext_id,\n page: chunk.metadata.page_number ?? null,\n text: chunk.content,\n },\n ]\n : []\n )\n },\n linkFor: ({ documentId, chunkId, page }) => {\n const url = buildDeepLinkUrl(\n { workspaceId: workspaceId ?? undefined, documentId, chunkId },\n runtimeConfig.deploymentDomain\n )\n return page ? `${url}?page=${page}` : url\n },\n targetOf: (href) => {\n let url: URL\n try {\n url = new URL(href, window.location.origin)\n } catch {\n return null\n }\n const { documentId, chunkId } = parseDeepLinkPath(url.pathname)\n if (!documentId || !chunkId) return null\n const page = Number(url.searchParams.get('page')) || null\n return { documentId, chunkId, page }\n },\n open: ({ documentId, chunkId, page }) =>\n openDocument(documentId, { passageId: chunkId, page: page ?? undefined }),\n renderDocumentPicker: (onSelect, selectedId) => (\n <ReferencePicker\n documents={documentsRef.current}\n selectedId={selectedId}\n onSelect={onSelect}\n />\n ),\n }),\n [arbi, workspaceId, openDocument, runtimeConfig.deploymentDomain]\n )\n}\n","/**\n * The saved workflows bound to the connection: when each starts, its last run (a link to the thread\n * it created) and next run, who runs it, pause and resume, share, run now, delete (one or many), and\n * the workflow's history. The host opens a workflow (its builder) and its history; threads open\n * through the environment's `openConversation`, failures are told through its `notify`.\n */\n\nimport { useEffect, useMemo, useState } from 'react'\nimport {\n useAgents,\n useDeleteWorkflow,\n useUpdateWorkflow,\n useWorkflows,\n useWorkspaceUsers,\n type WorkflowResponse,\n} from '@arbidocs/react'\nimport { WorkflowsTable, type WorkflowsTableProps } from '../agents/tasks/WorkflowsTable'\nimport { workflowTriggerType } from '../agents/tasks/workflowRows'\nimport { fmtDate } from '../lib/format'\nimport { useBlocksEnvironment } from '../provider/environment'\nimport { useConnectedWorkspace } from './ConnectionProvider'\nimport { useConnectedConversations, useConnectedRunWorkflow } from './workspaceData'\n\n/** The viewer's role in the open workspace, and the workspace's members. */\nexport function useConnectedWorkspaceRole() {\n const { workspaceId, live, userId, ensureWorkspaceOpen } = useConnectedWorkspace()\n const { data: members = [] } = useWorkspaceUsers(workspaceId ?? undefined, {\n enabled: live && !!workspaceId,\n beforeFetch: ensureWorkspaceOpen,\n })\n const role = members.find((m) => m.user.external_id === userId)?.role\n return {\n members,\n role,\n /** An owner or a collaborator edits, pauses, resumes and runs what is shared with the workspace. */\n canEditShared: role === 'owner' || role === 'collaborator',\n /** With an item's creator, the only one who deletes it. */\n isWorkspaceOwner: role === 'owner',\n }\n}\n\nexport interface ConnectedWorkflowsTableLabels {\n /** A change (pause, share, delete) that failed without a message. */\n updateFailed: string\n deleteTitle: string\n deleteOne: (name: string) => string\n deleteMany: (count: number) => string\n /** A run that failed: its history has the error report. */\n runFailed: string\n /** A run that created no thread. */\n noThread: string\n /** A document action that started (it has no thread): what is happening. */\n documentAction: (workflow: WorkflowResponse) => string\n untitledTask: string\n}\n\nexport const DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS: ConnectedWorkflowsTableLabels = {\n updateFailed: 'Could not update the workflow',\n deleteTitle: 'Delete workflow',\n deleteOne: (name) => `Delete “${name}”? Threads it already created stay.`,\n deleteMany: (count) => `Delete ${count} workflows? Threads they already created stay.`,\n runFailed: 'The workflow failed. You can send an error report from its history.',\n noThread: 'The workflow did not create a thread.',\n documentAction: (workflow) =>\n workflow.action?.type === 'email_documents'\n ? 'Preparing your document email'\n : 'Reviewing documents',\n untitledTask: 'Untitled thread',\n}\n\ntype TableProps = WorkflowsTableProps<WorkflowResponse>\n\nexport interface ConnectedWorkflowsTableProps extends Omit<\n TableProps,\n | 'workflows'\n | 'isLoading'\n | 'busyId'\n | 'describeTrigger'\n | 'formatDate'\n | 'onToggleActive'\n | 'onToggleShared'\n | 'onDelete'\n | 'onDeleteMany'\n | 'onToggleActiveMany'\n | 'onRun'\n | 'onOpenThread'\n | 'lastRuns'\n | 'agentNames'\n | 'taskNames'\n | 'canEditShared'\n | 'isWorkspaceOwner'\n> {\n /** Which saved workflows to list (e.g. those on a schedule). Default: all. */\n filter?: (workflow: WorkflowResponse) => boolean\n /** When a workflow starts, in the host's words. Default: its trigger type. */\n describeTrigger?: TableProps['describeTrigger']\n formatDate?: TableProps['formatDate']\n connectedLabels?: Partial<ConnectedWorkflowsTableLabels>\n}\n\nconst messageOf = (error: unknown) => (error instanceof Error ? error.message : '')\n\nexport function ConnectedWorkflowsTable({\n filter,\n describeTrigger = (w) => workflowTriggerType(w).replaceAll('_', ' '),\n formatDate = fmtDate,\n onViewRuns,\n connectedLabels,\n ...tableProps\n}: ConnectedWorkflowsTableProps) {\n const l = { ...DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, ...connectedLabels }\n const { notify, confirm, openConversation } = useBlocksEnvironment()\n const { canEditShared, isWorkspaceOwner } = useConnectedWorkspaceRole()\n const { data: saved = [], isLoading } = useWorkflows({ live: true })\n const { data: conversations, refetch } = useConnectedConversations({ live: true })\n const { data: agents = [] } = useAgents()\n const update = useUpdateWorkflow()\n const remove = useDeleteWorkflow()\n const run = useConnectedRunWorkflow()\n const [busyId, setBusyId] = useState<string | null>(null)\n\n const workflows = useMemo(() => (filter ? saved.filter(filter) : saved), [saved, filter])\n // A clock or an event fired a workflow: the thread it created is new to the conversation list.\n const firingStamp = saved.map((w) => `${w.external_id}:${w.last_fired_at ?? ''}`).join('|')\n useEffect(() => {\n void refetch?.()\n }, [firingStamp, refetch])\n\n const lastRuns = useMemo(() => {\n const out: NonNullable<TableProps['lastRuns']> = {}\n for (const c of conversations) {\n const id = c.workflow_ext_id\n if (id && (!out[id] || Date.parse(c.created_at) > Date.parse(out[id].at)))\n out[id] = { conversationId: c.external_id, at: c.created_at, threadStatus: c.status }\n }\n return out\n }, [conversations])\n const agentNames = useMemo(\n () => Object.fromEntries(agents.map((a) => [a.external_id, a.given_name || a.email])),\n [agents]\n )\n const taskNames = useMemo(\n () =>\n Object.fromEntries(\n conversations\n .filter((c) => c.status != null)\n .map((c) => [c.external_id, c.title || l.untitledTask])\n ),\n [conversations, l.untitledTask]\n )\n\n const act = async (workflow: WorkflowResponse, action: () => Promise<unknown>) => {\n setBusyId(workflow.external_id)\n try {\n await action()\n } catch (error) {\n notify(messageOf(error) || l.updateFailed, 'error')\n } finally {\n setBusyId(null)\n }\n }\n const setActive = (workflow: WorkflowResponse, active: boolean) =>\n act(workflow, () => update.mutateAsync({ workflowId: workflow.external_id, patch: { active } }))\n const deleteAll = async (items: WorkflowResponse[]) => {\n if (!items.length) return\n const ok = await confirm({\n title: l.deleteTitle,\n message: items.length === 1 ? l.deleteOne(items[0].name) : l.deleteMany(items.length),\n })\n if (!ok) return\n for (const workflow of items)\n await act(workflow, () => remove.mutateAsync(workflow.external_id))\n }\n\n return (\n <WorkflowsTable\n {...tableProps}\n workflows={workflows}\n isLoading={isLoading}\n busyId={busyId}\n describeTrigger={describeTrigger}\n formatDate={formatDate}\n agentNames={agentNames}\n taskNames={taskNames}\n lastRuns={lastRuns}\n canEditShared={canEditShared}\n isWorkspaceOwner={isWorkspaceOwner}\n onOpenThread={(conversationId) => openConversation(conversationId)}\n onViewRuns={onViewRuns}\n onToggleActive={(workflow, active) => void setActive(workflow, active)}\n onToggleActiveMany={(items, active) => {\n void (async () => {\n for (const workflow of items) await setActive(workflow, active)\n })()\n }}\n onToggleShared={(workflow, shared) =>\n void act(workflow, () =>\n update.mutateAsync({ workflowId: workflow.external_id, patch: { shared } })\n )\n }\n onDelete={(workflow) => void deleteAll([workflow])}\n onDeleteMany={(items) => void deleteAll(items)}\n onRun={(workflow) =>\n void act(workflow, async () => {\n const result = await run.mutateAsync(workflow.external_id)\n if (result.conversation_ext_id) openConversation(result.conversation_ext_id)\n if (result.error) {\n onViewRuns?.(workflow)\n notify(l.runFailed, 'error')\n return\n }\n if (result.execution_id && !result.conversation_ext_id) {\n // A document action runs without a thread: its history shows how it goes.\n onViewRuns?.(workflow)\n notify(l.documentAction(workflow), 'success')\n return\n }\n if (!result.conversation_ext_id) throw new Error(l.noThread)\n })\n }\n />\n )\n}\n","/**\n * The house template for the open workspace: its own (a document of the workspace), else the\n * deployment's default, else ARBI's built-in legal template. A workspace owner can make a document\n * the house template once the server supports it.\n */\nimport { useMemo } from 'react'\nimport {\n supportsHouseTemplates,\n useArbi,\n useHouseTemplateCandidates,\n useSetWorkspaceHouseTemplate,\n useWorkspaces,\n workspaceHouseTemplateId,\n} from '@arbidocs/react'\nimport { contentPath } from '../../docx/NativeDocxEditor'\nimport {\n builtinHouseTemplate,\n type HouseTemplate,\n type HouseTemplateHost,\n} from '../../docx/template/HouseTemplate'\nimport { isCandidate } from '../../docx/template/candidates'\nimport { useConnectedWorkspace } from '../ConnectionProvider'\nimport { useConnectedWorkspaceRole } from '../ConnectedWorkflowsTable'\n\nexport function useConnectedHouseTemplate(): HouseTemplateHost {\n const arbi = useArbi()\n const { mutateAsync: setWorkspaceTemplate } = useSetWorkspaceHouseTemplate()\n const { workspaceId, live, ensureWorkspaceOpen } = useConnectedWorkspace()\n const { data: workspaces } = useWorkspaces({ enabled: live })\n const workspace = workspaces?.find((w) => w.external_id === workspaceId)\n const { isWorkspaceOwner } = useConnectedWorkspaceRole()\n const supported = supportsHouseTemplates(workspace)\n const templateId = workspaceHouseTemplateId(workspace)\n // Only an eligible document (shared, Word, here or in a public workspace) is offered as the template.\n const { data: candidates } = useHouseTemplateCandidates(\n workspaceId,\n supported && isWorkspaceOwner\n )\n return useMemo<HouseTemplateHost>(\n () => ({\n load: async (): Promise<HouseTemplate> => {\n if (templateId) {\n await ensureWorkspaceOpen()\n const response = await arbi.editor.request(contentPath(templateId))\n const [record] = await arbi.documents.get([templateId]).catch(() => [])\n return {\n bytes: new Uint8Array(await response.arrayBuffer()),\n name: record?.file_name ?? 'House template.docx',\n source: 'workspace',\n documentId: templateId,\n }\n }\n if (supported) {\n const deployment = await arbi.houseTemplates.deployment()\n if (deployment) return { ...deployment, source: 'deployment' }\n }\n return builtinHouseTemplate()\n },\n setFromDocument:\n supported && isWorkspaceOwner\n ? async (documentId) => {\n await ensureWorkspaceOpen()\n await setWorkspaceTemplate(documentId)\n }\n : undefined,\n isEligible: (documentId) => isCandidate(candidates, documentId),\n }),\n [\n arbi,\n setWorkspaceTemplate,\n supported,\n templateId,\n isWorkspaceOwner,\n candidates,\n ensureWorkspaceOpen,\n ]\n )\n}\n","import { useMemo, useRef, useState } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { refreshDocuments, useArbi, useWorkspaceUsers } from '@arbidocs/react'\nimport {\n fetchSavedSignature,\n storeSavedSignature,\n useOptionalDocumentTools,\n} from '@arbidocs/react/document-tools'\nimport {\n NativeDocxEditor,\n type NativeDocxAdapter,\n type NativeDocxEditorProps,\n} from '../../docx/NativeDocxEditor'\nimport { loadDocxFonts } from '../../docx/fonts'\nimport { useRegisterOpenDocument } from '../../chat/open-document'\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useConnectedWorkspace } from '../ConnectionProvider'\nimport { useDocxCommentTarget, useNativeDocxSupport } from './support'\nimport { useConnectedDocxReferences } from './useConnectedDocxReferences'\nimport { useConnectedHouseTemplate } from './useConnectedHouseTemplate'\n\nexport type ConnectedNativeDocxEditorProps = Omit<NativeDocxEditorProps, 'adapter'> & {\n fontBaseUrl?: string\n}\n\n/**\n * The native Word editor on the signed-in ARBI session, under any host (`defaultHost`'s sign-in\n * layer, or the host's own `arbi` and session state). Until a live session has opened, a failure to\n * open one falls back to the saved copy, read-only, so the document is still readable; later token\n * refreshes are not guarded (switching modes would drop unsaved edits).\n */\nexport function ConnectedNativeDocxEditor({\n fontBaseUrl = '/native-docx/fonts',\n ...props\n}: ConnectedNativeDocxEditorProps) {\n const adapter = useConnectedNativeDocxAdapter(fontBaseUrl)\n const { workspaceId } = useConnectedWorkspace()\n const commentTarget = useDocxCommentTarget()\n const [openFailed, setOpenFailed] = useState(false)\n const hasOpened = useRef(false)\n const guardedAdapter = useMemo<NativeDocxAdapter>(\n () => ({\n ...adapter,\n open: async (documentId) => {\n try {\n const session = await adapter.open(documentId)\n hasOpened.current = true\n return session\n } catch (error) {\n if (!hasOpened.current) setOpenFailed(true)\n throw error\n }\n },\n }),\n [adapter]\n )\n // Drafting mode: the saved Word document being edited is what the chat is about. A history\n // snapshot, a streamed preview, an unsaved draft and an embedded body field are not.\n const live = !props.snapshot && !props.stream && !props.draftContent && !props.compact\n useRegisterOpenDocument({ documentId: live ? props.documentId : null, workspaceId })\n const initialCommentId =\n props.initialCommentId ??\n (commentTarget?.documentId === props.documentId ? commentTarget.commentId : undefined)\n return (\n <div className=\"flex h-full min-h-0 flex-col\">\n {openFailed && (\n <p role=\"status\" className=\"text-muted-foreground border-b px-3 py-2 text-xs\">\n Co-editing isn't available for this document right now, so this is a read-only copy\n of the last saved version.\n </p>\n )}\n <div className=\"min-h-0 flex-1\">\n <NativeDocxEditor\n {...props}\n snapshot={props.snapshot || openFailed}\n initialCommentId={initialCommentId}\n adapter={guardedAdapter}\n />\n </div>\n </div>\n )\n}\n\n/** The access token changed (a refresh): the live room is told the new one. */\nfunction tokenChanges(arbi: ReturnType<typeof useArbi>) {\n return (listener: () => void) => {\n if (!arbi.isLoggedIn) return () => {}\n const session = arbi.getClient().session\n let token = session.getState().accessToken\n return session.subscribe((state) => {\n if (state.accessToken === token) return\n token = state.accessToken\n listener()\n })\n }\n}\n\n/**\n * The native Word adapter on the signed-in session: the editor transport, the people to mention,\n * cross-references, the house template, and the host's extras (its host config's `docx`).\n */\nexport function useConnectedNativeDocxAdapter(fontBaseUrl = '/native-docx/fonts') {\n const arbi = useArbi()\n const { workspaceId, live, user, ensureWorkspaceOpen } = useConnectedWorkspace()\n const queries = useQueryClient()\n const { notify } = useBlocksEnvironment()\n const tools = useOptionalDocumentTools()\n const support = useNativeDocxSupport()\n const references = useConnectedDocxReferences()\n const houseTemplate = useConnectedHouseTemplate()\n const { data: members } = useWorkspaceUsers(workspaceId ?? undefined, {\n enabled: live && !!workspaceId,\n beforeFetch: ensureWorkspaceOpen,\n })\n const onDocumentsChanged = tools?.onDocumentsChanged\n // Tracked changes and comments are authored by the user's first name.\n const author = (live && arbi.user.profile()?.givenName) || user?.name || 'You'\n const adapter = useMemo<NativeDocxAdapter>(\n () => ({\n request: async (path, options) => {\n await ensureWorkspaceOpen()\n return arbi.editor.request(path, options)\n },\n open: async (id) => {\n await ensureWorkspaceOpen()\n return (\n await arbi.editor.request(`/${encodeURIComponent(id)}/session`, { method: 'POST' })\n ).json()\n },\n save: async (id, state) =>\n (\n await arbi.editor.request(`/${encodeURIComponent(id)}/save`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ state }),\n })\n ).json(),\n loadFonts: () => loadDocxFonts(fontBaseUrl),\n baseUrl: arbi.getConnectionInfo()?.baseUrl || window.location.origin,\n author,\n subscribeTokenChanges: tokenChanges(arbi),\n onDirtyChange: support.onDirtyChange,\n // The document's row moves to the saved version in place: through the host when it keeps\n // the lists (its document tools refresh them), else here.\n onVersionSaved: async (id) => {\n await (onDocumentsChanged\n ? onDocumentsChanged([id], 'version')\n : refreshDocuments(queries, arbi, [id]))\n },\n notify,\n mentions: members?.map(({ user: member }) => ({\n id: member.external_id,\n name: [member.given_name, member.family_name].filter(Boolean).join(' '),\n kind: member.external_id.startsWith('agt-') ? 'agent' : 'human',\n })),\n savedSignature: {\n load: () => fetchSavedSignature(arbi.getClient().fetch),\n save: (signature) => storeSavedSignature(arbi.getClient().fetch, signature),\n defaultName: user?.name ?? '',\n },\n signatureSigners: members\n ?.filter(({ user: member }) => member.external_id.startsWith('usr-'))\n .map(({ user: member }) => ({\n email: member.email,\n name: [member.given_name, member.family_name].filter(Boolean).join(' '),\n })),\n requestAgent: async (id, request) => {\n const response = await arbi.editor.request(`/${encodeURIComponent(id)}/mentions`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n comment_id: request.commentId,\n instruction: request.instruction,\n request_id: request.requestId,\n recipient_ids: request.recipientIds,\n }),\n })\n const delivery = (await response.json()) as { response_ids: string[] }\n notify('Mention delivered.', 'success')\n return { responseIds: delivery.response_ids || [] }\n },\n getAgentStatus: async (responseId) => (await arbi.assistant.getResponse(responseId)).status,\n definitions: support.definitions,\n references,\n imageGeneration: support.imageGeneration,\n houseTemplate,\n }),\n [\n arbi,\n author,\n members,\n ensureWorkspaceOpen,\n fontBaseUrl,\n queries,\n notify,\n onDocumentsChanged,\n support,\n references,\n houseTemplate,\n user?.name,\n ]\n )\n return adapter\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ArbiHost as ArbiHost$1, useHostConfigRecord } from '@arbidocs/react/shell';
|
|
3
|
+
|
|
4
|
+
// src/provider/host.ts
|
|
5
|
+
var ArbiHost = ArbiHost$1;
|
|
6
|
+
function useHost() {
|
|
7
|
+
return useHostConfigRecord();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { ArbiHost, useHost };
|
|
11
|
+
//# sourceMappingURL=chunk-IWVOZREF.js.map
|
|
12
|
+
//# sourceMappingURL=chunk-IWVOZREF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/provider/host.ts"],"names":["GenericArbiHost"],"mappings":";;;AA6CO,IAAM,QAAA,GAAmEA;AAGzE,SAAS,OAAA,GAA0B;AACxC,EAAA,OAAO,mBAAA,EAAoB;AAC7B","file":"chunk-IWVOZREF.js","sourcesContent":["/**\n * The host configuration of `@arbidocs/blocks`: the `@arbidocs/react` domains plus the blocks ones,\n * handed over once:\n *\n * <ArbiHost config={{ arbi, session, environment: { navigate, notify }, billing, viewer, … }}>\n * <App />\n * </ArbiHost>\n *\n * Every field is optional and has a default; each kit reads its domain (`useHost().billing`, or a\n * domain hook such as `useBlocksEnvironment()` that fills in the defaults). A blocks-only site gets\n * `arbi` and its sign-in layer from `defaultHost` (`@arbidocs/blocks/connect`); ARBI-frontend\n * passes its own (src/host/app-host.tsx), and is the reference for a site that looks like it.\n * A field whose value lives in the host's state is a hook (`use…`), so the configuration stays one\n * stable object. There is no other host provider: a new domain is a new optional field here.\n *\n * SDK-free: the provider is `@arbidocs/react/shell`'s, and the domain types are type-only.\n */\n\nimport type { ReactElement } from 'react'\nimport { ArbiHost as GenericArbiHost, useHostConfigRecord } from '@arbidocs/react/shell'\nimport type { ArbiHostProps } from '@arbidocs/react/shell'\nimport type { ArbiHostConfig as ArbiReactHostConfig } from '@arbidocs/react'\nimport type { BillingSupport } from '../connection/billing/support'\nimport type { NativeDocxSupport } from '../connection/docx/support'\nimport type { DocumentViewerSupport } from '../connection/viewer/support'\nimport type { DocumentToolsHost } from '../connection/viewer/ConnectedDocumentToolsProvider'\nimport type { ConnectedWorkspaceData } from '../connection/workspaceData'\nimport type { BlocksEnvironment } from './environment'\n\nexport interface ArbiHostConfig extends ArbiReactHostConfig {\n /** Router, notices, dialogs, runtime config and where documents, threads, … open. */\n environment?: Partial<BlocksEnvironment>\n /** Selling plans (Stripe). Absent: nothing is for sale; projects show limits and usage only. */\n billing?: BillingSupport\n /** The Word editor's host additions. Absent: no Defined term, no Generate image. */\n docx?: NativeDocxSupport\n /** The document viewer's host additions. Absent: no drafts, Translate, … */\n viewer?: DocumentViewerSupport\n /** The PDF document tools' host binding (its upload, its lists to refresh, Mail). */\n documentTools?: DocumentToolsHost\n /** Workspace lists the host already keeps live. Absent: the kits read their own. */\n workspaceData?: ConnectedWorkspaceData\n}\n\n/** `<ArbiHost config>` with the blocks domains. */\nexport const ArbiHost: (props: ArbiHostProps<ArbiHostConfig>) => ReactElement = GenericArbiHost\n\n/** The host configuration in scope (`{}` outside an `<ArbiHost>`). */\nexport function useHost(): ArbiHostConfig {\n return useHostConfigRecord() as ArbiHostConfig\n}\n"]}
|