@arbidocs/blocks 0.5.38 → 0.5.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +10 -0
  2. package/dist/{ConnectedCallDock-V7DPSE6X.cjs → ConnectedCallDock-NGHSDLJS.cjs} +4 -4
  3. package/dist/{ConnectedCallDock-V7DPSE6X.cjs.map → ConnectedCallDock-NGHSDLJS.cjs.map} +1 -1
  4. package/dist/{ConnectedCallDock-CT3D6LLI.js → ConnectedCallDock-YJSO52N4.js} +4 -4
  5. package/dist/{ConnectedCallDock-CT3D6LLI.js.map → ConnectedCallDock-YJSO52N4.js.map} +1 -1
  6. package/dist/{ConnectedCallRoom-TNOCSTX2.cjs → ConnectedCallRoom-4XGFFYHE.cjs} +4 -4
  7. package/dist/{ConnectedCallRoom-TNOCSTX2.cjs.map → ConnectedCallRoom-4XGFFYHE.cjs.map} +1 -1
  8. package/dist/{ConnectedCallRoom-A27AM7IQ.js → ConnectedCallRoom-T6NS2MY4.js} +4 -4
  9. package/dist/{ConnectedCallRoom-A27AM7IQ.js.map → ConnectedCallRoom-T6NS2MY4.js.map} +1 -1
  10. package/dist/{ConnectedNativeDocxComparison-RWKFPJPJ.js → ConnectedNativeDocxComparison-52KQKJGY.js} +7 -7
  11. package/dist/{ConnectedNativeDocxComparison-RWKFPJPJ.js.map → ConnectedNativeDocxComparison-52KQKJGY.js.map} +1 -1
  12. package/dist/{ConnectedNativeDocxComparison-H2OZMWHT.cjs → ConnectedNativeDocxComparison-UVLZGS2V.cjs} +8 -8
  13. package/dist/{ConnectedNativeDocxComparison-H2OZMWHT.cjs.map → ConnectedNativeDocxComparison-UVLZGS2V.cjs.map} +1 -1
  14. package/dist/{ConnectedNativeDocxEditor-43BI5LN6.js → ConnectedNativeDocxEditor-BRBL3MOV.js} +6 -6
  15. package/dist/{ConnectedNativeDocxEditor-43BI5LN6.js.map → ConnectedNativeDocxEditor-BRBL3MOV.js.map} +1 -1
  16. package/dist/{ConnectedNativeDocxEditor-6DQEM6SD.cjs → ConnectedNativeDocxEditor-KHR5I7W6.cjs} +8 -8
  17. package/dist/{ConnectedNativeDocxEditor-6DQEM6SD.cjs.map → ConnectedNativeDocxEditor-KHR5I7W6.cjs.map} +1 -1
  18. package/dist/{ConnectedStreamedWordArtifact-3VKYIG6C.cjs → ConnectedStreamedWordArtifact-DSVFI7BX.cjs} +8 -8
  19. package/dist/ConnectedStreamedWordArtifact-DSVFI7BX.cjs.map +1 -0
  20. package/dist/{ConnectedStreamedWordArtifact-TEB332E3.js → ConnectedStreamedWordArtifact-EQUE6WT5.js} +7 -7
  21. package/dist/ConnectedStreamedWordArtifact-EQUE6WT5.js.map +1 -0
  22. package/dist/{WorkspaceTableView-KG546U7M.cjs → WorkspaceTableView-2CGEO5KK.cjs} +6 -6
  23. package/dist/{WorkspaceTableView-KG546U7M.cjs.map → WorkspaceTableView-2CGEO5KK.cjs.map} +1 -1
  24. package/dist/{WorkspaceTableView-OSFIWJ5C.js → WorkspaceTableView-3ARFQYNO.js} +4 -4
  25. package/dist/{WorkspaceTableView-OSFIWJ5C.js.map → WorkspaceTableView-3ARFQYNO.js.map} +1 -1
  26. package/dist/agents/index.cjs +376 -376
  27. package/dist/agents/index.js +2 -2
  28. package/dist/calls/index.cjs +35 -35
  29. package/dist/calls/index.js +7 -7
  30. package/dist/chat/index.cjs +89 -89
  31. package/dist/chat/index.js +2 -2
  32. package/dist/{chunk-BRYRZOS3.cjs → chunk-3YZ3RUSB.cjs} +4 -4
  33. package/dist/{chunk-BRYRZOS3.cjs.map → chunk-3YZ3RUSB.cjs.map} +1 -1
  34. package/dist/{chunk-VPWCARVO.js → chunk-4DDPMLGU.js} +4 -4
  35. package/dist/{chunk-VPWCARVO.js.map → chunk-4DDPMLGU.js.map} +1 -1
  36. package/dist/{chunk-24H5WTGM.js → chunk-4U4NXFV5.js} +4 -4
  37. package/dist/{chunk-24H5WTGM.js.map → chunk-4U4NXFV5.js.map} +1 -1
  38. package/dist/{chunk-6EQSP77K.cjs → chunk-5ZHAHJ4H.cjs} +5 -5
  39. package/dist/{chunk-6EQSP77K.cjs.map → chunk-5ZHAHJ4H.cjs.map} +1 -1
  40. package/dist/{chunk-BIWPXSGS.cjs → chunk-6AJJJ5HR.cjs} +7 -7
  41. package/dist/{chunk-BIWPXSGS.cjs.map → chunk-6AJJJ5HR.cjs.map} +1 -1
  42. package/dist/{chunk-2YCCCXYV.js → chunk-7LN3ISPG.js} +3 -3
  43. package/dist/{chunk-2YCCCXYV.js.map → chunk-7LN3ISPG.js.map} +1 -1
  44. package/dist/{chunk-5NTSJV5H.cjs → chunk-BY2EW2QU.cjs} +16 -91
  45. package/dist/chunk-BY2EW2QU.cjs.map +1 -0
  46. package/dist/{chunk-FHB4G77H.js → chunk-CEO7YI7I.js} +3 -3
  47. package/dist/{chunk-FHB4G77H.js.map → chunk-CEO7YI7I.js.map} +1 -1
  48. package/dist/{chunk-LTO4JYU3.cjs → chunk-DWWRLKEZ.cjs} +188 -2
  49. package/dist/chunk-DWWRLKEZ.cjs.map +1 -0
  50. package/dist/chunk-E3IEZMRK.cjs +507 -0
  51. package/dist/chunk-E3IEZMRK.cjs.map +1 -0
  52. package/dist/{chunk-MLHOG7YH.js → chunk-EFDZRAW6.js} +3 -3
  53. package/dist/{chunk-MLHOG7YH.js.map → chunk-EFDZRAW6.js.map} +1 -1
  54. package/dist/chunk-FOIDBAZB.js +497 -0
  55. package/dist/chunk-FOIDBAZB.js.map +1 -0
  56. package/dist/{chunk-MB3S2ETI.cjs → chunk-G2BKHCI2.cjs} +2 -2
  57. package/dist/chunk-G2BKHCI2.cjs.map +1 -0
  58. package/dist/{chunk-EFSL4O3B.cjs → chunk-GT5FCYV5.cjs} +7 -7
  59. package/dist/{chunk-EFSL4O3B.cjs.map → chunk-GT5FCYV5.cjs.map} +1 -1
  60. package/dist/{chunk-QWKT4DO6.cjs → chunk-GX5MKJ3F.cjs} +433 -2
  61. package/dist/chunk-GX5MKJ3F.cjs.map +1 -0
  62. package/dist/{chunk-C3YIVBTU.cjs → chunk-HDEOORSV.cjs} +9 -9
  63. package/dist/{chunk-C3YIVBTU.cjs.map → chunk-HDEOORSV.cjs.map} +1 -1
  64. package/dist/{chunk-T4P237N6.js → chunk-ILBBV2ZY.js} +2 -2
  65. package/dist/chunk-ILBBV2ZY.js.map +1 -0
  66. package/dist/{chunk-XFSEPGF7.cjs → chunk-K53QRFPJ.cjs} +4 -4
  67. package/dist/{chunk-XFSEPGF7.cjs.map → chunk-K53QRFPJ.cjs.map} +1 -1
  68. package/dist/{chunk-NOKTUWTN.cjs → chunk-K7S5BMAB.cjs} +7 -7
  69. package/dist/{chunk-NOKTUWTN.cjs.map → chunk-K7S5BMAB.cjs.map} +1 -1
  70. package/dist/{chunk-FY4C7HU5.cjs → chunk-O3MRE2HL.cjs} +2233 -8
  71. package/dist/chunk-O3MRE2HL.cjs.map +1 -0
  72. package/dist/{chunk-N3HVTMQK.js → chunk-OPZBIGW4.js} +3 -3
  73. package/dist/{chunk-N3HVTMQK.js.map → chunk-OPZBIGW4.js.map} +1 -1
  74. package/dist/{chunk-JVXHVFUA.cjs → chunk-P6HVJP6Z.cjs} +4 -4
  75. package/dist/{chunk-JVXHVFUA.cjs.map → chunk-P6HVJP6Z.cjs.map} +1 -1
  76. package/dist/{chunk-PXYP3DM5.js → chunk-PD4AKBYZ.js} +432 -6
  77. package/dist/chunk-PD4AKBYZ.js.map +1 -0
  78. package/dist/{chunk-VKY4SQMH.js → chunk-REHG7VRQ.js} +5 -5
  79. package/dist/{chunk-VKY4SQMH.js.map → chunk-REHG7VRQ.js.map} +1 -1
  80. package/dist/{chunk-M4MZPH2S.js → chunk-SEZEEHLU.js} +190 -6
  81. package/dist/chunk-SEZEEHLU.js.map +1 -0
  82. package/dist/{chunk-5JEM3BWT.js → chunk-SYP2A4GQ.js} +4 -4
  83. package/dist/{chunk-5JEM3BWT.js.map → chunk-SYP2A4GQ.js.map} +1 -1
  84. package/dist/{chunk-QFYRXQTD.js → chunk-TTPXMCJL.js} +6 -80
  85. package/dist/chunk-TTPXMCJL.js.map +1 -0
  86. package/dist/{chunk-VMLEISRZ.cjs → chunk-UZVXVTTB.cjs} +17 -17
  87. package/dist/{chunk-VMLEISRZ.cjs.map → chunk-UZVXVTTB.cjs.map} +1 -1
  88. package/dist/{chunk-YDY4GIC2.cjs → chunk-V7JDMKNQ.cjs} +4 -4
  89. package/dist/{chunk-YDY4GIC2.cjs.map → chunk-V7JDMKNQ.cjs.map} +1 -1
  90. package/dist/{chunk-YPR4FSDJ.js → chunk-VA3YYR7R.js} +8 -192
  91. package/dist/chunk-VA3YYR7R.js.map +1 -0
  92. package/dist/{chunk-NUV5F6MM.js → chunk-WAIHNFUH.js} +3 -3
  93. package/dist/{chunk-NUV5F6MM.js.map → chunk-WAIHNFUH.js.map} +1 -1
  94. package/dist/{chunk-H5BFOVVL.cjs → chunk-WRERJFEV.cjs} +2 -188
  95. package/dist/chunk-WRERJFEV.cjs.map +1 -0
  96. package/dist/{chunk-4DKI37QQ.js → chunk-YAGSGBVM.js} +2213 -13
  97. package/dist/chunk-YAGSGBVM.js.map +1 -0
  98. package/dist/{chunk-K6W2GWCN.js → chunk-ZAYUJFPI.js} +3 -3
  99. package/dist/{chunk-K6W2GWCN.js.map → chunk-ZAYUJFPI.js.map} +1 -1
  100. package/dist/connect/docx.cjs +10 -10
  101. package/dist/connect/docx.js +6 -6
  102. package/dist/connect/index.cjs +1237 -591
  103. package/dist/connect/index.cjs.map +1 -1
  104. package/dist/connect/index.d.ts +3 -0
  105. package/dist/connect/index.js +665 -23
  106. package/dist/connect/index.js.map +1 -1
  107. package/dist/connect/viewer.cjs +27 -27
  108. package/dist/connect/viewer.js +10 -10
  109. package/dist/connection/panels/ConnectedPanelHost.d.ts +48 -0
  110. package/dist/connection/panels/useSessionPanelMode.d.ts +18 -0
  111. package/dist/connection/threads-page/ConnectedThreadsPage.d.ts +14 -0
  112. package/dist/connection/threads-page/ThreadSearch.d.ts +24 -0
  113. package/dist/connection/workflows/index.d.ts +1 -0
  114. package/dist/connection/workflows/useWorkflowsPageState.d.ts +134 -0
  115. package/dist/index.cjs +610 -594
  116. package/dist/index.js +9 -9
  117. package/dist/provider/host.d.ts +3 -0
  118. package/dist/shell/PanelPortal.d.ts +30 -0
  119. package/dist/shell/index.cjs +78 -61
  120. package/dist/shell/index.d.ts +3 -0
  121. package/dist/shell/index.js +3 -2
  122. package/dist/shell/panel-host.d.ts +8 -0
  123. package/dist/shell/panel-windows.d.ts +33 -0
  124. package/dist/studio/index.cjs +5 -5
  125. package/dist/studio/index.js +3 -3
  126. package/dist/workflow-canvas/index.cjs +21 -21
  127. package/dist/workflow-canvas/index.js +5 -5
  128. package/node_modules/@arbidocs/coedit/package.json +1 -1
  129. package/package.json +5 -5
  130. package/dist/ConnectedStreamedWordArtifact-3VKYIG6C.cjs.map +0 -1
  131. package/dist/ConnectedStreamedWordArtifact-TEB332E3.js.map +0 -1
  132. package/dist/chunk-4DKI37QQ.js.map +0 -1
  133. package/dist/chunk-5NTSJV5H.cjs.map +0 -1
  134. package/dist/chunk-EZSYYENN.js +0 -2700
  135. package/dist/chunk-EZSYYENN.js.map +0 -1
  136. package/dist/chunk-FY4C7HU5.cjs.map +0 -1
  137. package/dist/chunk-H5BFOVVL.cjs.map +0 -1
  138. package/dist/chunk-LTO4JYU3.cjs.map +0 -1
  139. package/dist/chunk-M4MZPH2S.js.map +0 -1
  140. package/dist/chunk-MB3S2ETI.cjs.map +0 -1
  141. package/dist/chunk-PUX4M22Q.cjs +0 -2735
  142. package/dist/chunk-PUX4M22Q.cjs.map +0 -1
  143. package/dist/chunk-PXYP3DM5.js.map +0 -1
  144. package/dist/chunk-QFYRXQTD.js.map +0 -1
  145. package/dist/chunk-QWKT4DO6.cjs.map +0 -1
  146. package/dist/chunk-T4P237N6.js.map +0 -1
  147. package/dist/chunk-YPR4FSDJ.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkEFSL4O3B_cjs = require('../chunk-EFSL4O3B.cjs');
4
+ var chunkGT5FCYV5_cjs = require('../chunk-GT5FCYV5.cjs');
5
5
  var chunkWALADS2S_cjs = require('../chunk-WALADS2S.cjs');
6
6
  require('../chunk-2WLXQGWC.cjs');
7
7
  require('../chunk-223D4727.cjs');
@@ -10,10 +10,10 @@ var chunk2XLVE2XD_cjs = require('../chunk-2XLVE2XD.cjs');
10
10
  var chunkUWIILWDI_cjs = require('../chunk-UWIILWDI.cjs');
11
11
  require('../chunk-IRY63R4L.cjs');
12
12
  require('../chunk-ZESMRGDV.cjs');
13
- require('../chunk-5NTSJV5H.cjs');
13
+ require('../chunk-BY2EW2QU.cjs');
14
14
  var chunkTM2D4XT4_cjs = require('../chunk-TM2D4XT4.cjs');
15
15
  require('../chunk-5Y6V7F6W.cjs');
16
- require('../chunk-QWKT4DO6.cjs');
16
+ require('../chunk-GX5MKJ3F.cjs');
17
17
  var chunkY42LJ4TF_cjs = require('../chunk-Y42LJ4TF.cjs');
18
18
  var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
19
19
  require('../chunk-SIB6C7P7.cjs');
@@ -26,9 +26,9 @@ require('../chunk-LKK52DEY.cjs');
26
26
  var chunk2YV7FBLO_cjs = require('../chunk-2YV7FBLO.cjs');
27
27
  require('../chunk-VG24E4JJ.cjs');
28
28
  require('../chunk-QVBZESYQ.cjs');
29
- var chunkC3YIVBTU_cjs = require('../chunk-C3YIVBTU.cjs');
30
- var chunkJVXHVFUA_cjs = require('../chunk-JVXHVFUA.cjs');
31
- require('../chunk-MB3S2ETI.cjs');
29
+ var chunkHDEOORSV_cjs = require('../chunk-HDEOORSV.cjs');
30
+ var chunkP6HVJP6Z_cjs = require('../chunk-P6HVJP6Z.cjs');
31
+ require('../chunk-G2BKHCI2.cjs');
32
32
  var chunkMEMWZ72Y_cjs = require('../chunk-MEMWZ72Y.cjs');
33
33
  require('../chunk-ZW6FPIFC.cjs');
34
34
  require('../chunk-5UHAWSEX.cjs');
@@ -150,13 +150,13 @@ function fileExtension(fileName) {
150
150
  function useViewedDocument(documentId) {
151
151
  const [webmHasVideoTrack, setWebmHasVideoTrack] = React.useState(null);
152
152
  React.useEffect(() => setWebmHasVideoTrack(null), [documentId]);
153
- const streamingDoc = chunkEFSL4O3B_cjs.useViewerStreamingDocument(documentId);
153
+ const streamingDoc = chunkGT5FCYV5_cjs.useViewerStreamingDocument(documentId);
154
154
  const isStreaming = !!streamingDoc && !streamingDoc.isComplete;
155
- const draftDoc = chunkEFSL4O3B_cjs.useViewerDraftDocument(documentId);
155
+ const draftDoc = chunkGT5FCYV5_cjs.useViewerDraftDocument(documentId);
156
156
  const isDraft = !!draftDoc;
157
157
  const isCaptureDraft = draftDoc?.kind === "audio" || draftDoc?.kind === "photo" || draftDoc?.kind === "video";
158
158
  const isTextDraft = draftDoc?.kind === "text";
159
- const { workspaceId, live } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
159
+ const { workspaceId, live } = chunkP6HVJP6Z_cjs.useConnectedWorkspace();
160
160
  const { data: record } = react.useDocument(documentId, {
161
161
  enabled: live && !!workspaceId && !isStreaming && !isDraft,
162
162
  // A new version (Save version, a signed copy) is processed before its PDF exists: keep
@@ -164,7 +164,7 @@ function useViewedDocument(documentId) {
164
164
  pollWhileProcessing: true
165
165
  });
166
166
  const documentData = record?.external_id === documentId ? record : void 0;
167
- const { data: tags } = chunkC3YIVBTU_cjs.useConnectedTags();
167
+ const { data: tags } = chunkHDEOORSV_cjs.useConnectedTags();
168
168
  const labelSummaries = React.useMemo(
169
169
  () => chunkWALADS2S_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkWALADS2S_cjs.isDocumentLabel)),
170
170
  [documentData, tags]
@@ -421,7 +421,7 @@ function useViewerTabs(doc, isCompact, hasHistory = false) {
421
421
  }
422
422
  function useViewerVersions(docId) {
423
423
  const plainId = docId ? artifacts.parseVersionRef(docId).docId : "";
424
- const { data: documents } = chunkC3YIVBTU_cjs.useConnectedDocuments();
424
+ const { data: documents } = chunkHDEOORSV_cjs.useConnectedDocuments();
425
425
  const listed = React.useMemo(
426
426
  () => plainId ? documents.find((d) => d.external_id === plainId) : void 0,
427
427
  [documents, plainId]
@@ -592,10 +592,10 @@ function PassageTagPanel({
592
592
  onClose,
593
593
  onViewTaggedChunks
594
594
  }) {
595
- const { createTag } = chunkEFSL4O3B_cjs.useDocumentViewerSupport();
595
+ const { createTag } = chunkGT5FCYV5_cjs.useDocumentViewerSupport();
596
596
  const [editingNoteTagId, setEditingNoteTagId] = React.useState(null);
597
597
  const [noteValue, setNoteValue] = React.useState("");
598
- const { data: allTags } = chunkC3YIVBTU_cjs.useConnectedTags();
598
+ const { data: allTags } = chunkHDEOORSV_cjs.useConnectedTags();
599
599
  const workspaceTags = React.useMemo(() => allTags.filter(isDocumentTag), [allTags]);
600
600
  const { getChunkTagState, toggleChunkTag, updateChunkTagNote, isLoading } = useChunkTagging({
601
601
  documentId,
@@ -836,7 +836,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
836
836
  items: passageItems
837
837
  }
838
838
  ) : void 0,
839
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkEFSL4O3B_cjs.ConnectedMarkdown, { children: chunk.content })
839
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkGT5FCYV5_cjs.ConnectedMarkdown, { children: chunk.content })
840
840
  }
841
841
  );
842
842
  });
@@ -969,7 +969,7 @@ ${text}
969
969
  };
970
970
  }
971
971
  function useDocumentLabels(documentId, doctags, orderedChunkIds) {
972
- const { data: allTags } = chunkC3YIVBTU_cjs.useConnectedTags();
972
+ const { data: allTags } = chunkHDEOORSV_cjs.useConnectedTags();
973
973
  const workspaceTags = React.useMemo(() => allTags.filter(isDocumentTag), [allTags]);
974
974
  const documentDoctags = React.useMemo(() => doctags ?? [], [doctags]);
975
975
  const tagSummaries = React.useMemo(
@@ -1064,7 +1064,7 @@ function useCitationSelection({
1064
1064
  orderedChunkIds,
1065
1065
  pageOf
1066
1066
  }) {
1067
- const passageCitation = chunkEFSL4O3B_cjs.useViewerPassageCitation();
1067
+ const passageCitation = chunkGT5FCYV5_cjs.useViewerPassageCitation();
1068
1068
  const activeCitationContext = passageCitation?.active ?? null;
1069
1069
  const setPendingPassagesForCitation = passageCitation?.pick ?? noop;
1070
1070
  const setUnselectedPassagesForCitation = passageCitation?.unpick ?? noop;
@@ -1420,8 +1420,8 @@ function ParsedTextView({
1420
1420
  zoom = 1,
1421
1421
  onZoomChange
1422
1422
  }) {
1423
- const { workspaceId } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
1424
- const { openInNavigator } = chunkEFSL4O3B_cjs.useDocumentViewerSupport();
1423
+ const { workspaceId } = chunkP6HVJP6Z_cjs.useConnectedWorkspace();
1424
+ const { openInNavigator } = chunkGT5FCYV5_cjs.useDocumentViewerSupport();
1425
1425
  const containerRef = React.useRef(null);
1426
1426
  const { data: documentRecord } = react.useDocument(artifacts.parseVersionRef(documentId).docId, {
1427
1427
  enabled: !!documentId && !!workspaceId
@@ -1584,7 +1584,7 @@ var GuidedSigningViewer = React.lazy(
1584
1584
  function SessionPdfViewer(props) {
1585
1585
  const session = react.useArbiSessionStore();
1586
1586
  const viewingId = react.useArbiSessionState((s) => s.viewingDocument?.id);
1587
- const isDetached = chunkEFSL4O3B_cjs.useViewerIsDetached();
1587
+ const isDetached = chunkGT5FCYV5_cjs.useViewerIsDetached();
1588
1588
  const onPageChange = React.useCallback(
1589
1589
  (page) => {
1590
1590
  if (viewingId) session.setViewingDocument({ id: viewingId, page });
@@ -1718,17 +1718,17 @@ function ViewerPdfPane({
1718
1718
  return /* @__PURE__ */ jsxRuntime.jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
1719
1719
  }
1720
1720
  var NativeDocxEditor = React.lazy(
1721
- () => import('../ConnectedNativeDocxEditor-6DQEM6SD.cjs').then((m) => ({
1721
+ () => import('../ConnectedNativeDocxEditor-KHR5I7W6.cjs').then((m) => ({
1722
1722
  default: m.ConnectedNativeDocxEditor
1723
1723
  }))
1724
1724
  );
1725
1725
  var StreamedWordArtifact = React.lazy(
1726
- () => import('../ConnectedStreamedWordArtifact-3VKYIG6C.cjs').then((m) => ({
1726
+ () => import('../ConnectedStreamedWordArtifact-DSVFI7BX.cjs').then((m) => ({
1727
1727
  default: m.ConnectedStreamedWordArtifact
1728
1728
  }))
1729
1729
  );
1730
1730
  var NativeDocxComparison = React.lazy(
1731
- () => import('../ConnectedNativeDocxComparison-H2OZMWHT.cjs').then((m) => ({
1731
+ () => import('../ConnectedNativeDocxComparison-UVLZGS2V.cjs').then((m) => ({
1732
1732
  default: m.ConnectedNativeDocxComparison
1733
1733
  }))
1734
1734
  );
@@ -1743,7 +1743,7 @@ function ConnectedDocumentViewer(props) {
1743
1743
  resetKey: openedId,
1744
1744
  labels: { title: "This document couldn't be displayed" },
1745
1745
  testId: "document-viewer-error",
1746
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkEFSL4O3B_cjs.ConnectedDocumentToolsProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(DocumentViewerContent, { ...props, openedId }) })
1746
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkGT5FCYV5_cjs.ConnectedDocumentToolsProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(DocumentViewerContent, { ...props, openedId }) })
1747
1747
  }
1748
1748
  );
1749
1749
  }
@@ -1754,11 +1754,11 @@ function DocumentViewerContent({
1754
1754
  }) {
1755
1755
  const arbi = react.useArbi();
1756
1756
  const session = react.useArbiSessionStore();
1757
- const support = chunkEFSL4O3B_cjs.useDocumentViewerSupport();
1757
+ const support = chunkGT5FCYV5_cjs.useDocumentViewerSupport();
1758
1758
  const formatDate = support.formatDate ?? chunkUFEXJIEY_cjs.fmtDate;
1759
1759
  const tools = documentTools.useDocumentTools();
1760
1760
  const { openConversation, openNewConversation, notify } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
1761
- const { userId: currentUserId } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
1761
+ const { userId: currentUserId } = chunkP6HVJP6Z_cjs.useConnectedWorkspace();
1762
1762
  const documentId = artifacts.parseVersionRef(openedId).docId;
1763
1763
  const [totalPages, setTotalPages] = React.useState(0);
1764
1764
  const [isCompact, setIsCompact] = React.useState(false);
@@ -1784,7 +1784,7 @@ function DocumentViewerContent({
1784
1784
  const setViewingDocumentId = (id) => session.setViewingDocument({ id });
1785
1785
  const setActiveTab = (tab) => session.setDocumentViewer({ tab });
1786
1786
  const setCompareDocumentId = (id) => session.setDocumentViewer({ compareId: id });
1787
- const { data: conversations } = chunkC3YIVBTU_cjs.useConnectedConversations();
1787
+ const { data: conversations } = chunkHDEOORSV_cjs.useConnectedConversations();
1788
1788
  const snapshotRef = artifacts.parseVersionRef(openedId).version ? openedId : null;
1789
1789
  const { versions, translations } = useViewerVersions(documentId);
1790
1790
  const currentVersionId = versions.find((v) => v.isCurrent)?.id ?? documentId;
@@ -2410,7 +2410,7 @@ function DocumentViewerContent({
2410
2410
 
2411
2411
  Object.defineProperty(exports, "ConnectedDocumentToolsProvider", {
2412
2412
  enumerable: true,
2413
- get: function () { return chunkEFSL4O3B_cjs.ConnectedDocumentToolsProvider; }
2413
+ get: function () { return chunkGT5FCYV5_cjs.ConnectedDocumentToolsProvider; }
2414
2414
  });
2415
2415
  exports.ConnectedDocumentViewer = ConnectedDocumentViewer;
2416
2416
  //# sourceMappingURL=viewer.cjs.map
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { ConnectedMarkdown, ConnectedDocumentToolsProvider, useDocumentViewerSupport, useViewerStreamingDocument, useViewerDraftDocument, useViewerIsDetached, useViewerPassageCitation } from '../chunk-VPWCARVO.js';
3
- export { ConnectedDocumentToolsProvider } from '../chunk-VPWCARVO.js';
2
+ import { ConnectedMarkdown, ConnectedDocumentToolsProvider, useDocumentViewerSupport, useViewerStreamingDocument, useViewerDraftDocument, useViewerIsDetached, useViewerPassageCitation } from '../chunk-4DDPMLGU.js';
3
+ export { ConnectedDocumentToolsProvider } from '../chunk-4DDPMLGU.js';
4
4
  import { HtmlPassage, ViewerTitle, ViewerTabBar, ViewerImageActions, canChangeVisibility, ViewerFrame, ViewerMessage, DocumentLabelBar, ViewerControlBar, ViewerZoomControl, PdfPageNav, ViewerPageCounter, summariseDocTags, isDocumentLabel, ViewerPreviewUnavailable, ViewerLoadError, HtmlViewerRoot, CitedRunNav, HtmlViewerSurface, HtmlPage, HtmlViewerEmpty, TagPassagePanel } from '../chunk-P6MVDOCL.js';
5
5
  import '../chunk-JJA6GQKH.js';
6
6
  import '../chunk-RC6VTY2H.js';
@@ -9,10 +9,10 @@ import { SignatureStatus, SignDocumentDialog } from '../chunk-PQU6LE7U.js';
9
9
  import { ViewerStatusNote, ViewerHeaderStart, ViewerHeaderEnd, ViewerPane } from '../chunk-6HKLTYNN.js';
10
10
  import '../chunk-MZA7GMOH.js';
11
11
  import '../chunk-IA5BYEO7.js';
12
- import '../chunk-QFYRXQTD.js';
12
+ import '../chunk-TTPXMCJL.js';
13
13
  import { ErrorBoundary } from '../chunk-EQ3WRY2N.js';
14
14
  import '../chunk-JMQLTMJ7.js';
15
- import '../chunk-PXYP3DM5.js';
15
+ import '../chunk-PD4AKBYZ.js';
16
16
  import { PassageMark, NoteMark, LabelMark, PassagePill } from '../chunk-QG7XCD5U.js';
17
17
  import { ShareControl } from '../chunk-K4BGOPGG.js';
18
18
  import '../chunk-M4S75AEJ.js';
@@ -25,9 +25,9 @@ import '../chunk-7F5Z4K5W.js';
25
25
  import { ArtifactCompareBar, ArtifactPreview, ArtifactCodeView, VersionTimeline } from '../chunk-65S53MZK.js';
26
26
  import '../chunk-NS4JD2VR.js';
27
27
  import '../chunk-LOJVUGBJ.js';
28
- import { useConnectedConversations, useConnectedDocuments, useConnectedTags } from '../chunk-5JEM3BWT.js';
29
- import { useConnectedWorkspace } from '../chunk-2YCCCXYV.js';
30
- import '../chunk-T4P237N6.js';
28
+ import { useConnectedConversations, useConnectedDocuments, useConnectedTags } from '../chunk-SYP2A4GQ.js';
29
+ import { useConnectedWorkspace } from '../chunk-7LN3ISPG.js';
30
+ import '../chunk-ILBBV2ZY.js';
31
31
  import { TabHeader } from '../chunk-ABEKUV6L.js';
32
32
  import '../chunk-P6GHJSLR.js';
33
33
  import '../chunk-OKERRHLH.js';
@@ -1713,17 +1713,17 @@ function ViewerPdfPane({
1713
1713
  return /* @__PURE__ */ jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
1714
1714
  }
1715
1715
  var NativeDocxEditor = lazy(
1716
- () => import('../ConnectedNativeDocxEditor-43BI5LN6.js').then((m) => ({
1716
+ () => import('../ConnectedNativeDocxEditor-BRBL3MOV.js').then((m) => ({
1717
1717
  default: m.ConnectedNativeDocxEditor
1718
1718
  }))
1719
1719
  );
1720
1720
  var StreamedWordArtifact = lazy(
1721
- () => import('../ConnectedStreamedWordArtifact-TEB332E3.js').then((m) => ({
1721
+ () => import('../ConnectedStreamedWordArtifact-EQUE6WT5.js').then((m) => ({
1722
1722
  default: m.ConnectedStreamedWordArtifact
1723
1723
  }))
1724
1724
  );
1725
1725
  var NativeDocxComparison = lazy(
1726
- () => import('../ConnectedNativeDocxComparison-RWKFPJPJ.js').then((m) => ({
1726
+ () => import('../ConnectedNativeDocxComparison-52KQKJGY.js').then((m) => ({
1727
1727
  default: m.ConnectedNativeDocxComparison
1728
1728
  }))
1729
1729
  );
@@ -0,0 +1,48 @@
1
+ /**
2
+ * ConnectedPanelHost Component
3
+ *
4
+ * Panel that supports four display modes via PanelPortal: docked, main, overlay, and popout.
5
+ *
6
+ * Binds panel placement (mode persistence, focus, Escape, slide-out animation, portals) to the
7
+ * presentational `FloatingPanel` block in `@arbidocs/blocks`, which owns the header, body and
8
+ * footer. For components that manage their own header (e.g., DocumentViewer), pass children as a
9
+ * render function to receive the modeSwitcher element.
10
+ */
11
+ import type { PanelMode } from './useSessionPanelMode';
12
+ export interface ConnectedPanelHostProps {
13
+ /** Unique ID for persisting panel mode */
14
+ panelId: string;
15
+ /** Whether the panel is open */
16
+ isOpen: boolean;
17
+ /** Callback when panel is closed */
18
+ onClose: () => void;
19
+ /** Icon to display in header */
20
+ headerIcon?: React.ReactNode;
21
+ /** Panel title */
22
+ title: string;
23
+ /** Subtitle shown below title */
24
+ subtitle?: string;
25
+ /** Actions to display in header */
26
+ headerActions?: React.ReactNode;
27
+ /** Panel content — can be a render function receiving the modeSwitcher element */
28
+ children: React.ReactNode | ((controls: {
29
+ modeSwitcher: React.ReactNode;
30
+ }) => React.ReactNode);
31
+ /** Footer content (e.g., Cancel/Apply buttons) */
32
+ footer?: React.ReactNode;
33
+ /** Default display mode */
34
+ defaultMode?: PanelMode;
35
+ /** Custom label for the docked/main tab (overrides title) */
36
+ tabLabel?: React.ReactNode;
37
+ /** When true, hides the popout button and resets any persisted popout mode */
38
+ disablePopout?: boolean;
39
+ /**
40
+ * Override the close-button data-testid. Defaults to `dialog-close-button`
41
+ * for backwards compatibility. Use a panel-specific value when multiple
42
+ * floating panels can be open at once and tests need to disambiguate.
43
+ */
44
+ closeTestId?: string;
45
+ /** Initial overlay width in px (overlay mode only). */
46
+ defaultWidth?: number;
47
+ }
48
+ export declare function ConnectedPanelHost({ panelId, isOpen, onClose, headerIcon, title, subtitle, headerActions, children, footer, defaultMode, tabLabel, disablePopout, closeTestId, defaultWidth, }: ConnectedPanelHostProps): import("react").JSX.Element | null;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * useSessionPanelMode Hook
3
+ *
4
+ * Reads and writes a panel's display mode (floating/docked/popout) from the shared session.
5
+ *
6
+ * defaultMode is applied every time the panel opens (isOpen transitions to true),
7
+ * so a panel with defaultMode="docked" will always dock on open — even if it was
8
+ * previously kicked to floating by another panel docking.
9
+ *
10
+ * Users can still switch modes manually; the switch is respected until the panel
11
+ * closes and reopens.
12
+ */
13
+ import { type ArbiPanelMode } from '@arbidocs/react';
14
+ export type PanelMode = ArbiPanelMode;
15
+ export declare function useSessionPanelMode(panelId: string, defaultMode?: PanelMode, isOpen?: boolean): {
16
+ mode: ArbiPanelMode;
17
+ setPanelMode: (newMode: PanelMode) => void;
18
+ };
@@ -0,0 +1,14 @@
1
+ import { type TaskInboxWorkflowActions } from '../../agents/tasks';
2
+ export interface ConnectedThreadsPageProps {
3
+ showHeader?: boolean;
4
+ /** Search messages above the list; results replace the list after submitting. */
5
+ search?: boolean;
6
+ ResultsBoundary?: React.ComponentType<{
7
+ children: React.ReactNode;
8
+ }>;
9
+ /** Focus the launcher on arrival (the header's New Task brought you here). */
10
+ focusLauncher?: boolean;
11
+ layout?: 'list' | 'inbox';
12
+ workflowActions?: TaskInboxWorkflowActions;
13
+ }
14
+ export declare function ConnectedThreadsPage({ showHeader, search, ResultsBoundary, focusLauncher, layout, workflowActions, }: ConnectedThreadsPageProps): import("react").JSX.Element;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * ConversationSearch Component
3
+ *
4
+ * First-class hybrid (keyword + semantic) search across the workspace's past
5
+ * conversation messages. Mirrors SmartSearch's visual idiom (search input +
6
+ * relevance accents) but operates on the dedicated messages
7
+ * vector index and groups results by conversation. Clicking a result opens
8
+ * that conversation.
9
+ *
10
+ * Self-contained on purpose: document SmartSearch is deeply coupled to the
11
+ * document/tag model, so conversation search lives in its own surface and
12
+ * shares only the small UI primitives. The same component can later be mounted
13
+ * as a "Search" tab under Conversations if desired.
14
+ */
15
+ import React from 'react';
16
+ interface ThreadSearchProps {
17
+ ResultsBoundary?: React.ComponentType<{
18
+ children: React.ReactNode;
19
+ }>;
20
+ /** Shown beneath the toolbar until a search is run (e.g. the history list). */
21
+ children?: React.ReactNode;
22
+ }
23
+ export declare function ThreadSearch({ children, ResultsBoundary }: ThreadSearchProps): React.JSX.Element;
24
+ export {};
@@ -13,3 +13,4 @@ export { WorkflowLaunchHost } from './WorkflowLaunchHost';
13
13
  export { ConnectedWorkflowStart, type ConnectedWorkflowStartProps } from './ConnectedWorkflowStart';
14
14
  export { ConnectedConversationStart } from './ConnectedConversationStart';
15
15
  export { useSlashSkillWorkflows, parseTypedSkill } from './useSlashSkillWorkflows';
16
+ export { useWorkflowsPageState, type WorkflowBuilderSelection, type WorkflowsPageStateOptions, } from './useWorkflowsPageState';
@@ -0,0 +1,134 @@
1
+ import { type WorkflowResponse } from '@arbidocs/react';
2
+ /** A saved workflow, a new one, or a host catalogue entry opened as a template. */
3
+ export type WorkflowBuilderSelection = {
4
+ kind: 'saved';
5
+ id: string;
6
+ } | {
7
+ kind: 'new';
8
+ } | {
9
+ kind: 'template';
10
+ id: string;
11
+ };
12
+ export interface WorkflowsPageStateOptions {
13
+ initialBuilder?: WorkflowBuilderSelection;
14
+ /** A host deep link to consume once the saved workflow has loaded. */
15
+ historyWorkflowId?: string | null;
16
+ onHistoryWorkflowConsumed?: () => void;
17
+ }
18
+ /** Shared selection lifecycle for workflow tables, builders and history views. No routing or layout. */
19
+ export declare function useWorkflowsPageState({ initialBuilder, historyWorkflowId, onHistoryWorkflowConsumed, }?: WorkflowsPageStateOptions): {
20
+ workflows: {
21
+ external_id: string;
22
+ name: string;
23
+ description: string;
24
+ active: boolean;
25
+ shared: boolean;
26
+ workspace_ext_id?: string | null;
27
+ rrule?: string | null;
28
+ timezone: string;
29
+ run_at?: string | null;
30
+ next_fire_at?: string | null;
31
+ event_kind?: string | null;
32
+ event_filter?: {
33
+ [key: string]: unknown;
34
+ } | null;
35
+ after_conversation_ext_id?: string | null;
36
+ on_demand: boolean;
37
+ action?: import("@arbidocs/client").components["schemas"]["DocumentAutomationAction"] | null;
38
+ prompt: string;
39
+ skill_ref?: string | null;
40
+ skill_inputs?: {
41
+ [key: string]: unknown;
42
+ } | null;
43
+ plan?: import("@arbidocs/client").components["schemas"]["TaskPlan"] | null;
44
+ agent_ext_id?: string | null;
45
+ auth_mode: import("@arbidocs/client").components["schemas"]["src__models__workflow__AuthMode"];
46
+ fact_ext_id?: string | null;
47
+ last_fired_at?: string | null;
48
+ last_error?: string | null;
49
+ last_run_status?: string | null;
50
+ owner_ext_id?: string | null;
51
+ is_owner: boolean;
52
+ created_at: string;
53
+ updated_at: string;
54
+ }[];
55
+ builder: WorkflowBuilderSelection | null;
56
+ builderKey: number;
57
+ openBuilder: (selection: WorkflowBuilderSelection) => void;
58
+ closeBuilder: () => void;
59
+ builderSaved: (id: string) => void;
60
+ historyFor: {
61
+ external_id: string;
62
+ name: string;
63
+ description: string;
64
+ active: boolean;
65
+ shared: boolean;
66
+ workspace_ext_id?: string | null;
67
+ rrule?: string | null;
68
+ timezone: string;
69
+ run_at?: string | null;
70
+ next_fire_at?: string | null;
71
+ event_kind?: string | null;
72
+ event_filter?: {
73
+ [key: string]: unknown;
74
+ } | null;
75
+ after_conversation_ext_id?: string | null;
76
+ on_demand: boolean;
77
+ action?: import("@arbidocs/client").components["schemas"]["DocumentAutomationAction"] | null;
78
+ prompt: string;
79
+ skill_ref?: string | null;
80
+ skill_inputs?: {
81
+ [key: string]: unknown;
82
+ } | null;
83
+ plan?: import("@arbidocs/client").components["schemas"]["TaskPlan"] | null;
84
+ agent_ext_id?: string | null;
85
+ auth_mode: import("@arbidocs/client").components["schemas"]["src__models__workflow__AuthMode"];
86
+ fact_ext_id?: string | null;
87
+ last_fired_at?: string | null;
88
+ last_error?: string | null;
89
+ last_run_status?: string | null;
90
+ owner_ext_id?: string | null;
91
+ is_owner: boolean;
92
+ created_at: string;
93
+ updated_at: string;
94
+ } | null;
95
+ historyTabs: {
96
+ external_id: string;
97
+ name: string;
98
+ description: string;
99
+ active: boolean;
100
+ shared: boolean;
101
+ workspace_ext_id?: string | null;
102
+ rrule?: string | null;
103
+ timezone: string;
104
+ run_at?: string | null;
105
+ next_fire_at?: string | null;
106
+ event_kind?: string | null;
107
+ event_filter?: {
108
+ [key: string]: unknown;
109
+ } | null;
110
+ after_conversation_ext_id?: string | null;
111
+ on_demand: boolean;
112
+ action?: import("@arbidocs/client").components["schemas"]["DocumentAutomationAction"] | null;
113
+ prompt: string;
114
+ skill_ref?: string | null;
115
+ skill_inputs?: {
116
+ [key: string]: unknown;
117
+ } | null;
118
+ plan?: import("@arbidocs/client").components["schemas"]["TaskPlan"] | null;
119
+ agent_ext_id?: string | null;
120
+ auth_mode: import("@arbidocs/client").components["schemas"]["src__models__workflow__AuthMode"];
121
+ fact_ext_id?: string | null;
122
+ last_fired_at?: string | null;
123
+ last_error?: string | null;
124
+ last_run_status?: string | null;
125
+ owner_ext_id?: string | null;
126
+ is_owner: boolean;
127
+ created_at: string;
128
+ updated_at: string;
129
+ }[];
130
+ activeHistoryId: string | null;
131
+ openHistory: (workflow: WorkflowResponse | null) => void;
132
+ closeHistoryTab: (id: string) => void;
133
+ selectHistoryTab: import("react").Dispatch<import("react").SetStateAction<string | null>>;
134
+ };