@arbidocs/blocks 0.4.147 → 0.4.151

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 (339) hide show
  1. package/dist/ConnectedNativeDocxComparison-OFPIXNJB.js +35 -0
  2. package/dist/ConnectedNativeDocxComparison-OFPIXNJB.js.map +1 -0
  3. package/dist/ConnectedNativeDocxComparison-Y5BNLNH6.cjs +44 -0
  4. package/dist/ConnectedNativeDocxComparison-Y5BNLNH6.cjs.map +1 -0
  5. package/dist/ConnectedNativeDocxEditor-HTEW5JAH.cjs +46 -0
  6. package/dist/ConnectedNativeDocxEditor-HTEW5JAH.cjs.map +1 -0
  7. package/dist/ConnectedNativeDocxEditor-LRYU5HPA.js +33 -0
  8. package/dist/ConnectedNativeDocxEditor-LRYU5HPA.js.map +1 -0
  9. package/dist/ConnectedStreamedWordArtifact-QAUVUCSX.js +35 -0
  10. package/dist/ConnectedStreamedWordArtifact-QAUVUCSX.js.map +1 -0
  11. package/dist/ConnectedStreamedWordArtifact-QW74LKHN.cjs +44 -0
  12. package/dist/ConnectedStreamedWordArtifact-QW74LKHN.cjs.map +1 -0
  13. package/dist/FactTextEditor-YESAU2IJ.js +25 -0
  14. package/dist/FactTextEditor-YESAU2IJ.js.map +1 -0
  15. package/dist/FactTextEditor-YUPBCTXK.cjs +27 -0
  16. package/dist/FactTextEditor-YUPBCTXK.cjs.map +1 -0
  17. package/dist/{NativeDocxEditor-BE2OEOTJ.cjs → NativeDocxEditor-5VBNM5I7.cjs} +8 -8
  18. package/dist/{NativeDocxEditor-BE2OEOTJ.cjs.map → NativeDocxEditor-5VBNM5I7.cjs.map} +1 -1
  19. package/dist/{NativeDocxEditor-KOPFMRYW.js → NativeDocxEditor-XT5ZLFGU.js} +4 -4
  20. package/dist/{NativeDocxEditor-KOPFMRYW.js.map → NativeDocxEditor-XT5ZLFGU.js.map} +1 -1
  21. package/dist/agents/index.cjs +263 -264
  22. package/dist/agents/index.js +6 -7
  23. package/dist/calendar/index.cjs +117 -125
  24. package/dist/calendar/index.d.ts +0 -1
  25. package/dist/calendar/index.js +1 -1
  26. package/dist/chat/index.cjs +78 -78
  27. package/dist/chat/index.js +3 -3
  28. package/dist/{chunk-2FL7QJKJ.js → chunk-265GOG4W.js} +3 -3
  29. package/dist/{chunk-2FL7QJKJ.js.map → chunk-265GOG4W.js.map} +1 -1
  30. package/dist/{chunk-LTU35TQN.cjs → chunk-2FLWPM3B.cjs} +636 -31
  31. package/dist/chunk-2FLWPM3B.cjs.map +1 -0
  32. package/dist/{chunk-SUUPR735.js → chunk-3PCBYOIZ.js} +4 -4
  33. package/dist/{chunk-SUUPR735.js.map → chunk-3PCBYOIZ.js.map} +1 -1
  34. package/dist/{chunk-WIZ7Z7FN.js → chunk-4236BRZK.js} +46 -221
  35. package/dist/chunk-4236BRZK.js.map +1 -0
  36. package/dist/{chunk-IL3WB3YX.cjs → chunk-4JNKXOFZ.cjs} +3 -3
  37. package/dist/{chunk-IL3WB3YX.cjs.map → chunk-4JNKXOFZ.cjs.map} +1 -1
  38. package/dist/{chunk-ODRHHWHY.cjs → chunk-4KMLM3GY.cjs} +4 -4
  39. package/dist/chunk-4KMLM3GY.cjs.map +1 -0
  40. package/dist/chunk-6I6CVX5G.cjs +22 -0
  41. package/dist/chunk-6I6CVX5G.cjs.map +1 -0
  42. package/dist/{chunk-MHFF5N65.cjs → chunk-757OYF6G.cjs} +4 -38
  43. package/dist/chunk-757OYF6G.cjs.map +1 -0
  44. package/dist/chunk-B3FMUFAW.cjs +1956 -0
  45. package/dist/chunk-B3FMUFAW.cjs.map +1 -0
  46. package/dist/{chunk-B3AHCIV5.js → chunk-BJ24VPOA.js} +4 -55
  47. package/dist/chunk-BJ24VPOA.js.map +1 -0
  48. package/dist/chunk-C7PTF6BQ.cjs +172 -0
  49. package/dist/chunk-C7PTF6BQ.cjs.map +1 -0
  50. package/dist/{chunk-LZRMXJIE.js → chunk-COA3S3CZ.js} +3 -3
  51. package/dist/{chunk-LZRMXJIE.js.map → chunk-COA3S3CZ.js.map} +1 -1
  52. package/dist/{chunk-VUR63NMQ.js → chunk-CROTH2BS.js} +6 -6
  53. package/dist/{chunk-VUR63NMQ.js.map → chunk-CROTH2BS.js.map} +1 -1
  54. package/dist/{chunk-AO7SK6WP.cjs → chunk-CU2O32Z4.cjs} +31 -31
  55. package/dist/{chunk-AO7SK6WP.cjs.map → chunk-CU2O32Z4.cjs.map} +1 -1
  56. package/dist/chunk-D3WFIFRY.cjs +659 -0
  57. package/dist/chunk-D3WFIFRY.cjs.map +1 -0
  58. package/dist/{chunk-DAHCRVPM.js → chunk-DB2OXRQC.js} +84 -82
  59. package/dist/chunk-DB2OXRQC.js.map +1 -0
  60. package/dist/{chunk-QXMR5YHC.js → chunk-DIB4JYUY.js} +19 -3
  61. package/dist/chunk-DIB4JYUY.js.map +1 -0
  62. package/dist/chunk-DVB5ZKOF.js +22 -0
  63. package/dist/chunk-DVB5ZKOF.js.map +1 -0
  64. package/dist/chunk-EYJMMGXF.js +19 -0
  65. package/dist/chunk-EYJMMGXF.js.map +1 -0
  66. package/dist/chunk-FAXXN7KI.cjs +213 -0
  67. package/dist/chunk-FAXXN7KI.cjs.map +1 -0
  68. package/dist/{chunk-2MJWWPHY.js → chunk-G4IYES7G.js} +140 -15
  69. package/dist/chunk-G4IYES7G.js.map +1 -0
  70. package/dist/{chunk-T5I4NRFP.cjs → chunk-GFOEWPAP.cjs} +8 -8
  71. package/dist/{chunk-T5I4NRFP.cjs.map → chunk-GFOEWPAP.cjs.map} +1 -1
  72. package/dist/{chunk-QI6AIHWP.cjs → chunk-GOWXP5KT.cjs} +145 -14
  73. package/dist/chunk-GOWXP5KT.cjs.map +1 -0
  74. package/dist/chunk-HALD6ZB5.cjs +18 -0
  75. package/dist/chunk-HALD6ZB5.cjs.map +1 -0
  76. package/dist/chunk-HUJF2XM2.js +6584 -0
  77. package/dist/chunk-HUJF2XM2.js.map +1 -0
  78. package/dist/{chunk-NRFAWUVD.js → chunk-JAANWQGB.js} +157 -157
  79. package/dist/chunk-JAANWQGB.js.map +1 -0
  80. package/dist/{chunk-7RJTEWYM.js → chunk-JGOST4IL.js} +350 -64
  81. package/dist/chunk-JGOST4IL.js.map +1 -0
  82. package/dist/chunk-KHXEIEXN.js +41 -0
  83. package/dist/chunk-KHXEIEXN.js.map +1 -0
  84. package/dist/chunk-KQYPP72K.js +644 -0
  85. package/dist/chunk-KQYPP72K.js.map +1 -0
  86. package/dist/chunk-KUT2Y7JF.cjs +43 -0
  87. package/dist/chunk-KUT2Y7JF.cjs.map +1 -0
  88. package/dist/{chunk-6YTHQ73P.cjs → chunk-LLYZGH3L.cjs} +3 -56
  89. package/dist/chunk-LLYZGH3L.cjs.map +1 -0
  90. package/dist/{chunk-YSHIC4NJ.cjs → chunk-LXTOOUEN.cjs} +159 -154
  91. package/dist/chunk-LXTOOUEN.cjs.map +1 -0
  92. package/dist/{chunk-EVUEIBNU.js → chunk-M4S75AEJ.js} +44 -5
  93. package/dist/chunk-M4S75AEJ.js.map +1 -0
  94. package/dist/{chunk-V5OAXIBN.cjs → chunk-NPR5BGFF.cjs} +11 -11
  95. package/dist/{chunk-V5OAXIBN.cjs.map → chunk-NPR5BGFF.cjs.map} +1 -1
  96. package/dist/{chunk-PLJ7PHWU.cjs → chunk-NS7NVX4E.cjs} +3 -3
  97. package/dist/{chunk-PLJ7PHWU.cjs.map → chunk-NS7NVX4E.cjs.map} +1 -1
  98. package/dist/{chunk-AINU3EJ6.cjs → chunk-Q4BY2CQQ.cjs} +92 -90
  99. package/dist/chunk-Q4BY2CQQ.cjs.map +1 -0
  100. package/dist/chunk-QN47Q4N7.js +16 -0
  101. package/dist/chunk-QN47Q4N7.js.map +1 -0
  102. package/dist/{chunk-I2QSDQQV.cjs → chunk-QT3A4PFC.cjs} +21 -2
  103. package/dist/chunk-QT3A4PFC.cjs.map +1 -0
  104. package/dist/{chunk-ZM26YEOT.js → chunk-RY2SODRN.js} +3 -3
  105. package/dist/{chunk-ZM26YEOT.js.map → chunk-RY2SODRN.js.map} +1 -1
  106. package/dist/chunk-SDOEHEJP.js +208 -0
  107. package/dist/chunk-SDOEHEJP.js.map +1 -0
  108. package/dist/{chunk-DETZZBG2.cjs → chunk-SIB6C7P7.cjs} +43 -2
  109. package/dist/chunk-SIB6C7P7.cjs.map +1 -0
  110. package/dist/{chunk-MFY2ZNP6.cjs → chunk-SMN32BQ3.cjs} +4 -4
  111. package/dist/chunk-SMN32BQ3.cjs.map +1 -0
  112. package/dist/chunk-T74Q3MCZ.cjs +6751 -0
  113. package/dist/chunk-T74Q3MCZ.cjs.map +1 -0
  114. package/dist/{chunk-AOSUHWIL.js → chunk-TZOQKV64.js} +4 -37
  115. package/dist/chunk-TZOQKV64.js.map +1 -0
  116. package/dist/{chunk-U37AYUPI.cjs → chunk-U6JQ4KMX.cjs} +46 -233
  117. package/dist/chunk-U6JQ4KMX.cjs.map +1 -0
  118. package/dist/chunk-WFA2GVZJ.js +16 -0
  119. package/dist/chunk-WFA2GVZJ.js.map +1 -0
  120. package/dist/chunk-WU34CHU5.js +1907 -0
  121. package/dist/chunk-WU34CHU5.js.map +1 -0
  122. package/dist/{chunk-O4YPVYPO.cjs → chunk-YAEXSCUW.cjs} +364 -60
  123. package/dist/chunk-YAEXSCUW.cjs.map +1 -0
  124. package/dist/{chunk-H74HEPKT.js → chunk-YXNNNP57.js} +598 -13
  125. package/dist/chunk-YXNNNP57.js.map +1 -0
  126. package/dist/chunk-Z27QMJ6S.cjs +25 -0
  127. package/dist/chunk-Z27QMJ6S.cjs.map +1 -0
  128. package/dist/{chunk-CSI2B2H5.js → chunk-Z4NQ3TED.js} +4 -4
  129. package/dist/chunk-Z4NQ3TED.js.map +1 -0
  130. package/dist/{chunk-DGV7HQA7.js → chunk-ZLEYLCE4.js} +4 -4
  131. package/dist/chunk-ZLEYLCE4.js.map +1 -0
  132. package/dist/chunk-ZNLTEZEF.js +170 -0
  133. package/dist/chunk-ZNLTEZEF.js.map +1 -0
  134. package/dist/chunk-ZP6Q3KXU.cjs +18 -0
  135. package/dist/chunk-ZP6Q3KXU.cjs.map +1 -0
  136. package/dist/citations/index.cjs +14 -14
  137. package/dist/citations/index.js +2 -2
  138. package/dist/collaboration/index.cjs +35 -35
  139. package/dist/collaboration/index.js +1 -1
  140. package/dist/connect/docx.cjs +21 -26
  141. package/dist/connect/docx.cjs.map +1 -1
  142. package/dist/connect/docx.js +10 -26
  143. package/dist/connect/docx.js.map +1 -1
  144. package/dist/connect/index.cjs +8662 -2824
  145. package/dist/connect/index.cjs.map +1 -1
  146. package/dist/connect/index.d.ts +10 -2
  147. package/dist/connect/index.js +8467 -2670
  148. package/dist/connect/index.js.map +1 -1
  149. package/dist/connect/viewer.cjs +2357 -0
  150. package/dist/connect/viewer.cjs.map +1 -0
  151. package/dist/connect/viewer.d.ts +8 -0
  152. package/dist/connect/viewer.js +2350 -0
  153. package/dist/connect/viewer.js.map +1 -0
  154. package/dist/connection/ConnectedWorkflowsTable.d.ts +2 -12
  155. package/dist/connection/ai.d.ts +2 -9
  156. package/dist/connection/billing/AddAddonDialog.d.ts +24 -0
  157. package/dist/connection/billing/BillingCard.d.ts +18 -0
  158. package/dist/connection/billing/BillingProjectEntity.d.ts +9 -0
  159. package/dist/connection/billing/ChangePlanDialog.d.ts +20 -0
  160. package/dist/connection/billing/ChangeProPlan.d.ts +20 -0
  161. package/dist/connection/billing/CheckoutTotal.d.ts +12 -0
  162. package/dist/connection/billing/DailyCapEditor.d.ts +4 -0
  163. package/dist/connection/billing/InvoicesModal.d.ts +6 -0
  164. package/dist/connection/billing/NewProjectFlow.d.ts +14 -0
  165. package/dist/connection/billing/PlanChangeLines.d.ts +13 -0
  166. package/dist/connection/billing/PlanSelector.d.ts +50 -0
  167. package/dist/connection/billing/ProjectBilling.d.ts +24 -0
  168. package/dist/connection/billing/ProjectDetail.d.ts +16 -0
  169. package/dist/connection/billing/ProjectUsageCard.d.ts +21 -0
  170. package/dist/connection/billing/ProjectUsageContent.d.ts +18 -0
  171. package/dist/connection/billing/ProjectsTable.d.ts +13 -0
  172. package/dist/connection/billing/ReduceAddonDialog.d.ts +18 -0
  173. package/dist/connection/billing/ReferralReward.d.ts +32 -0
  174. package/dist/connection/billing/SharedProjects.d.ts +13 -0
  175. package/dist/connection/billing/StripeCheckoutModal.d.ts +32 -0
  176. package/dist/connection/billing/SubscriptionPlans.d.ts +15 -0
  177. package/dist/connection/billing/SubscriptionStatus.d.ts +10 -0
  178. package/dist/connection/billing/addon-pricing.d.ts +97 -0
  179. package/dist/connection/billing/api-error.d.ts +6 -0
  180. package/dist/connection/billing/billing-country.d.ts +14 -0
  181. package/dist/connection/billing/billing-focus.d.ts +11 -0
  182. package/dist/connection/billing/index.d.ts +22 -0
  183. package/dist/connection/billing/plan-badge.d.ts +15 -0
  184. package/dist/connection/billing/plan-change-outcome.d.ts +15 -0
  185. package/dist/connection/billing/plan-constants.d.ts +29 -0
  186. package/dist/connection/billing/plan-pricing.d.ts +67 -0
  187. package/dist/connection/billing/quota-items.d.ts +33 -0
  188. package/dist/connection/billing/referral-reward.d.ts +28 -0
  189. package/dist/connection/billing/refusal-copy.d.ts +5 -0
  190. package/dist/connection/billing/reward-balance.d.ts +19 -0
  191. package/dist/connection/billing/support.d.ts +35 -0
  192. package/dist/connection/billing/tax-quote.d.ts +36 -0
  193. package/dist/connection/billing/useAddonPurchase.d.ts +32 -0
  194. package/dist/connection/billing/useAutoRefreshPendingProjects.d.ts +11 -0
  195. package/dist/connection/billing/useCheckoutQuote.d.ts +30 -0
  196. package/dist/connection/billing/useOpenBillingPortal.d.ts +12 -0
  197. package/dist/connection/calendar/CalendarSettingsDialog.d.ts +1 -1
  198. package/dist/connection/facts/ConnectedFactsPage.d.ts +50 -0
  199. package/dist/connection/facts/FactMarkdownEditor.d.ts +57 -0
  200. package/dist/connection/facts/FactSourcesPopover.d.ts +38 -0
  201. package/dist/connection/facts/FactTextEditor.d.ts +2 -0
  202. package/dist/connection/facts/factNouns.d.ts +4 -0
  203. package/dist/connection/facts/factPageColumns.d.ts +37 -0
  204. package/dist/connection/facts/types.d.ts +127 -0
  205. package/dist/connection/facts/useFactActions.d.ts +10 -0
  206. package/dist/connection/facts/useFactComposer.d.ts +54 -0
  207. package/dist/connection/facts/useFactFilters.d.ts +101 -0
  208. package/dist/connection/facts/useFactSelection.d.ts +82 -0
  209. package/dist/connection/facts/useFactsGrid.d.ts +87 -0
  210. package/dist/connection/facts/useFactsPageView.d.ts +4 -0
  211. package/dist/connection/mail/ConnectedMailComposer.d.ts +3 -1
  212. package/dist/connection/mail/ConnectedMailbox.d.ts +4 -2
  213. package/dist/connection/mail/MailComposerForm.d.ts +4 -2
  214. package/dist/connection/mail/MailRecipientInput.d.ts +14 -0
  215. package/dist/connection/mail/index.d.ts +1 -1
  216. package/dist/connection/mail/types.d.ts +10 -0
  217. package/dist/connection/search/ConnectedSearchPage.d.ts +64 -0
  218. package/dist/connection/search/SearchResultRows.d.ts +38 -0
  219. package/dist/connection/search/index.d.ts +2 -0
  220. package/dist/connection/tags/ConnectedTagTable.d.ts +108 -0
  221. package/dist/connection/tags/ConnectedTagsPage.d.ts +55 -0
  222. package/dist/connection/tags/DocTagPassages.d.ts +25 -0
  223. package/dist/connection/tags/GlossaryExport.d.ts +7 -0
  224. package/dist/connection/tags/TagCombineFilter.d.ts +14 -0
  225. package/dist/connection/tags/TagPlacement.d.ts +16 -0
  226. package/dist/connection/tags/TagsPageSections.d.ts +36 -0
  227. package/dist/connection/tags/tagCombine.d.ts +55 -0
  228. package/dist/connection/useConnectedWorkNotifications.d.ts +7 -24
  229. package/dist/connection/viewer/ConnectedDocumentToolsProvider.d.ts +11 -0
  230. package/dist/connection/viewer/ConnectedDocumentViewer.d.ts +21 -0
  231. package/dist/connection/viewer/FinaliseTranslationButton.d.ts +15 -0
  232. package/dist/connection/viewer/ViewerPdfPane.d.ts +46 -0
  233. package/dist/connection/viewer/parsed/ParsedPassage.d.ts +48 -0
  234. package/dist/connection/viewer/parsed/ParsedTextView.d.ts +17 -0
  235. package/dist/connection/viewer/parsed/PassageTagPanel.d.ts +18 -0
  236. package/dist/connection/viewer/parsed/citation-line.d.ts +17 -0
  237. package/dist/connection/viewer/parsed/document-tags.d.ts +8 -0
  238. package/dist/connection/viewer/parsed/useChunkTagging.d.ts +46 -0
  239. package/dist/connection/viewer/parsed/useCitationSelection.d.ts +27 -0
  240. package/dist/connection/viewer/parsed/useDocumentLabels.d.ts +38 -0
  241. package/dist/connection/viewer/parsed/useLazyPages.d.ts +18 -0
  242. package/dist/connection/viewer/parsed/usePageScrollSync.d.ts +17 -0
  243. package/dist/connection/viewer/parsed/usePassageCopy.d.ts +25 -0
  244. package/dist/connection/viewer/support.d.ts +97 -0
  245. package/dist/connection/viewer/useImageCrop.d.ts +13 -0
  246. package/dist/connection/viewer/useViewedDocument.d.ts +70 -0
  247. package/dist/connection/viewer/useViewerBlobs.d.ts +15 -0
  248. package/dist/connection/viewer/useViewerTabs.d.ts +18 -0
  249. package/dist/connection/viewer/useViewerVersions.d.ts +11 -0
  250. package/dist/connection/workspace-settings/useConnectedWorkspaceSettings.d.ts +6 -0
  251. package/dist/document-tools/index.cjs +59 -652
  252. package/dist/document-tools/index.cjs.map +1 -1
  253. package/dist/document-tools/index.js +2 -641
  254. package/dist/document-tools/index.js.map +1 -1
  255. package/dist/docx/index.cjs +48 -47
  256. package/dist/docx/index.js +4 -3
  257. package/dist/facts/FactsBulkBar.d.ts +6 -3
  258. package/dist/facts/cited-version-ref.d.ts +1 -0
  259. package/dist/facts/index.cjs +204 -1940
  260. package/dist/facts/index.cjs.map +1 -1
  261. package/dist/facts/index.d.ts +1 -0
  262. package/dist/facts/index.js +13 -1895
  263. package/dist/facts/index.js.map +1 -1
  264. package/dist/files/TagPassagePanel.d.ts +2 -1
  265. package/dist/files/ViewerChrome.d.ts +5 -4
  266. package/dist/files/ViewerControlBar.d.ts +12 -0
  267. package/dist/files/doc-labels.d.ts +35 -0
  268. package/dist/files/grid/FilterButton.d.ts +12 -0
  269. package/dist/files/grid/RowDensityControl.d.ts +18 -0
  270. package/dist/files/grid/row-density.d.ts +27 -0
  271. package/dist/files/index.cjs +778 -7099
  272. package/dist/files/index.cjs.map +1 -1
  273. package/dist/files/index.d.ts +5 -0
  274. package/dist/files/index.js +13 -6918
  275. package/dist/files/index.js.map +1 -1
  276. package/dist/index.cjs +993 -1209
  277. package/dist/index.cjs.map +1 -1
  278. package/dist/index.js +22 -355
  279. package/dist/index.js.map +1 -1
  280. package/dist/retrieval/SearchSnippet.d.ts +6 -0
  281. package/dist/retrieval/index.cjs +74 -41
  282. package/dist/retrieval/index.d.ts +2 -0
  283. package/dist/retrieval/index.js +2 -1
  284. package/dist/retrieval/search-results.d.ts +46 -0
  285. package/dist/settings/Billing.d.ts +0 -66
  286. package/dist/settings/SubscriptionParts.d.ts +1 -50
  287. package/dist/settings/index.cjs +166 -214
  288. package/dist/settings/index.d.ts +3 -2
  289. package/dist/settings/index.js +1 -1
  290. package/dist/settings/inverted-index-filter.d.ts +26 -0
  291. package/dist/studio/index.cjs +3 -3
  292. package/dist/studio/index.js +2 -2
  293. package/dist/tags/definitions.d.ts +10 -0
  294. package/dist/tags/index.d.ts +4 -1
  295. package/dist/tags/page/ExtractEntitiesDialog.d.ts +24 -0
  296. package/dist/tags/page/TagPicker.d.ts +16 -0
  297. package/dist/tags/page/tagsPageLabels.d.ts +36 -0
  298. package/dist/workflow-canvas/index.cjs +19 -20
  299. package/dist/workflow-canvas/index.cjs.map +1 -1
  300. package/dist/workflow-canvas/index.js +6 -7
  301. package/dist/workflow-canvas/index.js.map +1 -1
  302. package/node_modules/@arbidocs/coedit/package.json +1 -1
  303. package/package.json +13 -4
  304. package/dist/calendar/access-setup.d.ts +0 -8
  305. package/dist/chunk-2MJWWPHY.js.map +0 -1
  306. package/dist/chunk-3AFWGEDJ.cjs +0 -53
  307. package/dist/chunk-3AFWGEDJ.cjs.map +0 -1
  308. package/dist/chunk-6YTHQ73P.cjs.map +0 -1
  309. package/dist/chunk-7RJTEWYM.js.map +0 -1
  310. package/dist/chunk-AINU3EJ6.cjs.map +0 -1
  311. package/dist/chunk-AOSUHWIL.js.map +0 -1
  312. package/dist/chunk-B3AHCIV5.js.map +0 -1
  313. package/dist/chunk-CSI2B2H5.js.map +0 -1
  314. package/dist/chunk-DAHCRVPM.js.map +0 -1
  315. package/dist/chunk-DETZZBG2.cjs.map +0 -1
  316. package/dist/chunk-DGV7HQA7.js.map +0 -1
  317. package/dist/chunk-EVUEIBNU.js.map +0 -1
  318. package/dist/chunk-H74HEPKT.js.map +0 -1
  319. package/dist/chunk-I2QSDQQV.cjs.map +0 -1
  320. package/dist/chunk-J5CWKFSC.js +0 -170
  321. package/dist/chunk-J5CWKFSC.js.map +0 -1
  322. package/dist/chunk-LTU35TQN.cjs.map +0 -1
  323. package/dist/chunk-MFY2ZNP6.cjs.map +0 -1
  324. package/dist/chunk-MHFF5N65.cjs.map +0 -1
  325. package/dist/chunk-NRFAWUVD.js.map +0 -1
  326. package/dist/chunk-O4YPVYPO.cjs.map +0 -1
  327. package/dist/chunk-ODRHHWHY.cjs.map +0 -1
  328. package/dist/chunk-QI6AIHWP.cjs.map +0 -1
  329. package/dist/chunk-QXMR5YHC.js.map +0 -1
  330. package/dist/chunk-RFXJYIDV.js +0 -50
  331. package/dist/chunk-RFXJYIDV.js.map +0 -1
  332. package/dist/chunk-U37AYUPI.cjs.map +0 -1
  333. package/dist/chunk-WIZ7Z7FN.js.map +0 -1
  334. package/dist/chunk-XVUOMWMD.cjs +0 -177
  335. package/dist/chunk-XVUOMWMD.cjs.map +0 -1
  336. package/dist/chunk-YSHIC4NJ.cjs.map +0 -1
  337. package/dist/connection/ConnectedTagTable.d.ts +0 -32
  338. package/dist/connection/calendar/CopyField.d.ts +0 -9
  339. package/dist/connection/calendar/OpenAccessPanel.d.ts +0 -7
@@ -4,18 +4,18 @@
4
4
  var chunkGAYMJWTC_cjs = require('./chunk-GAYMJWTC.cjs');
5
5
  var chunkGFNELPDP_cjs = require('./chunk-GFNELPDP.cjs');
6
6
  var chunk464YPRAE_cjs = require('./chunk-464YPRAE.cjs');
7
- var chunkV5OAXIBN_cjs = require('./chunk-V5OAXIBN.cjs');
7
+ var chunkNPR5BGFF_cjs = require('./chunk-NPR5BGFF.cjs');
8
8
  var chunkLJJJ6CYH_cjs = require('./chunk-LJJJ6CYH.cjs');
9
- var chunkIL3WB3YX_cjs = require('./chunk-IL3WB3YX.cjs');
9
+ var chunk4JNKXOFZ_cjs = require('./chunk-4JNKXOFZ.cjs');
10
10
  var chunkRQ2Y7USX_cjs = require('./chunk-RQ2Y7USX.cjs');
11
11
  var chunkJKB7WT7L_cjs = require('./chunk-JKB7WT7L.cjs');
12
12
  var chunkKPZZ5FHE_cjs = require('./chunk-KPZZ5FHE.cjs');
13
13
  var chunkKDG6FER6_cjs = require('./chunk-KDG6FER6.cjs');
14
14
  var react = require('react');
15
- var jsxRuntime = require('react/jsx-runtime');
16
- var react$1 = require('@arbidocs/react');
17
15
  var reactQuery = require('@tanstack/react-query');
16
+ var react$1 = require('@arbidocs/react');
18
17
  var documentTools = require('@arbidocs/react/document-tools');
18
+ var jsxRuntime = require('react/jsx-runtime');
19
19
 
20
20
  var NativeDocxSupportContext = react.createContext({});
21
21
  function NativeDocxSupportProvider({
@@ -43,7 +43,7 @@ function toWorkflowFieldDocument(doc) {
43
43
  function useConnectedWorkflowScopeSource() {
44
44
  const { data: docs } = chunkGAYMJWTC_cjs.useConnectedDocuments();
45
45
  const { data: tags } = chunkGAYMJWTC_cjs.useConnectedTags();
46
- return react.useMemo(() => chunkIL3WB3YX_cjs.buildWorkflowScopeSource(docs, chunkIL3WB3YX_cjs.documentScopeLabels(tags)), [docs, tags]);
46
+ return react.useMemo(() => chunk4JNKXOFZ_cjs.buildWorkflowScopeSource(docs, chunk4JNKXOFZ_cjs.documentScopeLabels(tags)), [docs, tags]);
47
47
  }
48
48
  function useConnectedAgentOptions() {
49
49
  const { data: agents } = react$1.useAgents();
@@ -100,7 +100,7 @@ function ConnectedWorkflowDocumentsField({
100
100
  }
101
101
  ),
102
102
  /* @__PURE__ */ jsxRuntime.jsx(
103
- chunkIL3WB3YX_cjs.WorkflowDocumentsField,
103
+ chunk4JNKXOFZ_cjs.WorkflowDocumentsField,
104
104
  {
105
105
  field,
106
106
  value,
@@ -122,7 +122,7 @@ function ConnectedWorkflowLauncher({
122
122
  const scopeSource = useConnectedWorkflowScopeSource();
123
123
  const agents = useConnectedAgentOptions();
124
124
  return /* @__PURE__ */ jsxRuntime.jsx(
125
- chunkIL3WB3YX_cjs.WorkflowLauncher,
125
+ chunk4JNKXOFZ_cjs.WorkflowLauncher,
126
126
  {
127
127
  ...props,
128
128
  scopeSource,
@@ -139,6 +139,82 @@ function ConnectedWorkflowLauncher({
139
139
  }
140
140
  );
141
141
  }
142
+ var isTopLevel = (doc) => !doc.parent_ext_id;
143
+ function ReferencePicker({
144
+ documents,
145
+ selectedId,
146
+ onSelect
147
+ }) {
148
+ const groups = react.useMemo(() => {
149
+ const docs = documents.filter(isTopLevel).map(toWorkflowFieldDocument).sort((a, b) => a.title.toLowerCase().localeCompare(b.title.toLowerCase()));
150
+ return [{ id: "all", heading: "In this workspace", docs }];
151
+ }, [documents]);
152
+ const selected = groups[0].docs.find((d) => d.id === selectedId);
153
+ return /* @__PURE__ */ jsxRuntime.jsx(
154
+ chunkRQ2Y7USX_cjs.DocumentPicker,
155
+ {
156
+ groups,
157
+ value: selectedId ?? "",
158
+ onValueChange: onSelect,
159
+ selected,
160
+ labels: { placeholder: "Search documents\u2026" }
161
+ }
162
+ );
163
+ }
164
+ function useConnectedDocxReferences() {
165
+ const arbi = react$1.useArbi();
166
+ const { workspaceId } = chunkGFNELPDP_cjs.useConnectedWorkspace();
167
+ const { openDocument, runtimeConfig } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
168
+ const { data: documents } = chunkGAYMJWTC_cjs.useConnectedDocuments();
169
+ const documentsRef = react.useRef(documents);
170
+ documentsRef.current = documents;
171
+ return react.useMemo(
172
+ () => ({
173
+ documents: async () => documentsRef.current.filter(isTopLevel).map((d) => ({ id: d.external_id, title: toWorkflowFieldDocument(d).title })),
174
+ passages: async (documentId) => {
175
+ const parsed = await arbi.documents.getParsedContent(documentId, "final");
176
+ return (parsed.chunks ?? []).flatMap(
177
+ (chunk) => chunk.metadata?.chunk_ext_id && chunk.content?.trim() ? [
178
+ {
179
+ chunkId: chunk.metadata.chunk_ext_id,
180
+ page: chunk.metadata.page_number ?? null,
181
+ text: chunk.content
182
+ }
183
+ ] : []
184
+ );
185
+ },
186
+ linkFor: ({ documentId, chunkId, page }) => {
187
+ const url = chunkLJJJ6CYH_cjs.buildDeepLinkUrl(
188
+ { workspaceId: workspaceId ?? void 0, documentId, chunkId },
189
+ runtimeConfig.deploymentDomain
190
+ );
191
+ return page ? `${url}?page=${page}` : url;
192
+ },
193
+ targetOf: (href) => {
194
+ let url;
195
+ try {
196
+ url = new URL(href, window.location.origin);
197
+ } catch {
198
+ return null;
199
+ }
200
+ const { documentId, chunkId } = chunkLJJJ6CYH_cjs.parseDeepLinkPath(url.pathname);
201
+ if (!documentId || !chunkId) return null;
202
+ const page = Number(url.searchParams.get("page")) || null;
203
+ return { documentId, chunkId, page };
204
+ },
205
+ open: ({ documentId, chunkId, page }) => openDocument(documentId, { passageId: chunkId, page: page ?? void 0 }),
206
+ renderDocumentPicker: (onSelect, selectedId) => /* @__PURE__ */ jsxRuntime.jsx(
207
+ ReferencePicker,
208
+ {
209
+ documents: documentsRef.current,
210
+ selectedId,
211
+ onSelect
212
+ }
213
+ )
214
+ }),
215
+ [arbi, workspaceId, openDocument, runtimeConfig.deploymentDomain]
216
+ );
217
+ }
142
218
  function useConnectedWorkspaceRole() {
143
219
  const { workspaceId, live, userId, ensureWorkspaceOpen } = chunkGFNELPDP_cjs.useConnectedWorkspace();
144
220
  const { data: members = [] } = react$1.useWorkspaceUsers(workspaceId ?? void 0, {
@@ -168,7 +244,7 @@ var DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS = {
168
244
  var messageOf = (error) => error instanceof Error ? error.message : "";
169
245
  function ConnectedWorkflowsTable({
170
246
  filter,
171
- describeTrigger = (w) => chunkIL3WB3YX_cjs.workflowTriggerType(w).replaceAll("_", " "),
247
+ describeTrigger = (w) => chunk4JNKXOFZ_cjs.workflowTriggerType(w).replaceAll("_", " "),
172
248
  formatDate = chunkKDG6FER6_cjs.fmtDate,
173
249
  onViewRuns,
174
250
  connectedLabels,
@@ -230,7 +306,7 @@ function ConnectedWorkflowsTable({
230
306
  await act(workflow, () => remove.mutateAsync(workflow.external_id));
231
307
  };
232
308
  return /* @__PURE__ */ jsxRuntime.jsx(
233
- chunkIL3WB3YX_cjs.WorkflowsTable,
309
+ chunk4JNKXOFZ_cjs.WorkflowsTable,
234
310
  {
235
311
  ...tableProps,
236
312
  workflows,
@@ -275,82 +351,8 @@ function ConnectedWorkflowsTable({
275
351
  }
276
352
  );
277
353
  }
278
- var isTopLevel = (doc) => !doc.parent_ext_id;
279
- function ReferencePicker({
280
- documents,
281
- selectedId,
282
- onSelect
283
- }) {
284
- const groups = react.useMemo(() => {
285
- const docs = documents.filter(isTopLevel).map(toWorkflowFieldDocument).sort((a, b) => a.title.toLowerCase().localeCompare(b.title.toLowerCase()));
286
- return [{ id: "all", heading: "In this workspace", docs }];
287
- }, [documents]);
288
- const selected = groups[0].docs.find((d) => d.id === selectedId);
289
- return /* @__PURE__ */ jsxRuntime.jsx(
290
- chunkRQ2Y7USX_cjs.DocumentPicker,
291
- {
292
- groups,
293
- value: selectedId ?? "",
294
- onValueChange: onSelect,
295
- selected,
296
- labels: { placeholder: "Search documents\u2026" }
297
- }
298
- );
299
- }
300
- function useConnectedDocxReferences() {
301
- const arbi = react$1.useArbi();
302
- const { workspaceId } = chunkGFNELPDP_cjs.useConnectedWorkspace();
303
- const { openDocument, runtimeConfig } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
304
- const { data: documents } = chunkGAYMJWTC_cjs.useConnectedDocuments();
305
- const documentsRef = react.useRef(documents);
306
- documentsRef.current = documents;
307
- return react.useMemo(
308
- () => ({
309
- documents: async () => documentsRef.current.filter(isTopLevel).map((d) => ({ id: d.external_id, title: toWorkflowFieldDocument(d).title })),
310
- passages: async (documentId) => {
311
- const parsed = await arbi.documents.getParsedContent(documentId, "final");
312
- return (parsed.chunks ?? []).flatMap(
313
- (chunk) => chunk.metadata?.chunk_ext_id && chunk.content?.trim() ? [
314
- {
315
- chunkId: chunk.metadata.chunk_ext_id,
316
- page: chunk.metadata.page_number ?? null,
317
- text: chunk.content
318
- }
319
- ] : []
320
- );
321
- },
322
- linkFor: ({ documentId, chunkId, page }) => {
323
- const url = chunkLJJJ6CYH_cjs.buildDeepLinkUrl(
324
- { workspaceId: workspaceId ?? void 0, documentId, chunkId },
325
- runtimeConfig.deploymentDomain
326
- );
327
- return page ? `${url}?page=${page}` : url;
328
- },
329
- targetOf: (href) => {
330
- let url;
331
- try {
332
- url = new URL(href, window.location.origin);
333
- } catch {
334
- return null;
335
- }
336
- const { documentId, chunkId } = chunkLJJJ6CYH_cjs.parseDeepLinkPath(url.pathname);
337
- if (!documentId || !chunkId) return null;
338
- const page = Number(url.searchParams.get("page")) || null;
339
- return { documentId, chunkId, page };
340
- },
341
- open: ({ documentId, chunkId, page }) => openDocument(documentId, { passageId: chunkId, page: page ?? void 0 }),
342
- renderDocumentPicker: (onSelect, selectedId) => /* @__PURE__ */ jsxRuntime.jsx(
343
- ReferencePicker,
344
- {
345
- documents: documentsRef.current,
346
- selectedId,
347
- onSelect
348
- }
349
- )
350
- }),
351
- [arbi, workspaceId, openDocument, runtimeConfig.deploymentDomain]
352
- );
353
- }
354
+
355
+ // src/connection/docx/useConnectedHouseTemplate.ts
354
356
  function useConnectedHouseTemplate() {
355
357
  const arbi = react$1.useArbi();
356
358
  const { mutateAsync: setWorkspaceTemplate } = react$1.useSetWorkspaceHouseTemplate();
@@ -369,7 +371,7 @@ function useConnectedHouseTemplate() {
369
371
  load: async () => {
370
372
  if (templateId) {
371
373
  await ensureWorkspaceOpen();
372
- const response = await arbi.editor.request(chunkV5OAXIBN_cjs.contentPath(templateId));
374
+ const response = await arbi.editor.request(chunkNPR5BGFF_cjs.contentPath(templateId));
373
375
  const [record] = await arbi.documents.get([templateId]).catch(() => []);
374
376
  return {
375
377
  bytes: new Uint8Array(await response.arrayBuffer()),
@@ -382,7 +384,7 @@ function useConnectedHouseTemplate() {
382
384
  const deployment = await arbi.houseTemplates.deployment();
383
385
  if (deployment) return { ...deployment, source: "deployment" };
384
386
  }
385
- return chunkV5OAXIBN_cjs.builtinHouseTemplate();
387
+ return chunkNPR5BGFF_cjs.builtinHouseTemplate();
386
388
  },
387
389
  setFromDocument: supported && isWorkspaceOwner ? async (documentId) => {
388
390
  await ensureWorkspaceOpen();
@@ -432,7 +434,7 @@ function ConnectedNativeDocxEditor({
432
434
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", children: [
433
435
  openFailed && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "status", className: "text-muted-foreground border-b px-3 py-2 text-xs", children: "Co-editing isn't available for this document right now, so this is a read-only copy of the last saved version." }),
434
436
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
435
- chunkV5OAXIBN_cjs.NativeDocxEditor,
437
+ chunkNPR5BGFF_cjs.NativeDocxEditor,
436
438
  {
437
439
  ...props,
438
440
  snapshot: props.snapshot || openFailed,
@@ -551,5 +553,5 @@ exports.useConnectedNativeDocxAdapter = useConnectedNativeDocxAdapter;
551
553
  exports.useConnectedWorkflowScopeSource = useConnectedWorkflowScopeSource;
552
554
  exports.useConnectedWorkspaceRole = useConnectedWorkspaceRole;
553
555
  exports.useNativeDocxSupport = useNativeDocxSupport;
554
- //# sourceMappingURL=chunk-AINU3EJ6.cjs.map
555
- //# sourceMappingURL=chunk-AINU3EJ6.cjs.map
556
+ //# sourceMappingURL=chunk-Q4BY2CQQ.cjs.map
557
+ //# sourceMappingURL=chunk-Q4BY2CQQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/connection/docx/support.tsx","../src/connection/ConnectedWorkflowLauncher.tsx","../src/connection/docx/useConnectedDocxReferences.tsx","../src/connection/ConnectedWorkflowsTable.tsx","../src/connection/docx/useConnectedHouseTemplate.ts","../src/connection/docx/ConnectedNativeDocxEditor.tsx"],"names":["createContext","jsx","useContext","useConnectedDocuments","useConnectedTags","useMemo","buildWorkflowScopeSource","documentScopeLabels","useAgents","useBlocksEnvironment","useConnectedWorkspace","useUploadDocuments","useThumbnails","useRef","useState","useCallback","jsxs","Fragment","WorkflowDocumentsField","WorkflowLauncher","DocumentPicker","useArbi","buildDeepLinkUrl","parseDeepLinkPath","useWorkspaceUsers","workflowTriggerType","fmtDate","useWorkflows","useConnectedConversations","useUpdateWorkflow","useDeleteWorkflow","useRunWorkflow","useEffect","WorkflowsTable","useSetWorkspaceHouseTemplate","useWorkspaces","supportsHouseTemplates","workspaceHouseTemplateId","useHouseTemplateCandidates","contentPath","builtinHouseTemplate","isCandidate","useRegisterOpenDocument","NativeDocxEditor","useQueryClient","useOptionalDocumentTools","loadDocxFonts","refreshDocuments"],"mappings":"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","file":"chunk-Q4BY2CQQ.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. Every field is optional; without a\n * provider the editor simply offers less (no Defined term, no Generate image).\n */\n\nimport { createContext, useContext, type ReactNode } from 'react'\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). */\n commentTarget?: { documentId: string; commentId: string } | null\n}\n\nconst NativeDocxSupportContext = createContext<NativeDocxSupport>({})\n\nexport function NativeDocxSupportProvider({\n value,\n children,\n}: {\n value: NativeDocxSupport\n children: ReactNode\n}) {\n return (\n <NativeDocxSupportContext.Provider value={value}>{children}</NativeDocxSupportContext.Provider>\n )\n}\n\nexport function useNativeDocxSupport(): NativeDocxSupport {\n return useContext(NativeDocxSupportContext)\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/BlocksProvider'\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/BlocksProvider'\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 useRunWorkflow,\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/BlocksProvider'\nimport { useConnectedWorkspace } from './ConnectionProvider'\nimport { useConnectedConversations } 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 = useRunWorkflow()\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 { useOptionalDocumentTools } 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/BlocksProvider'\nimport { useConnectedWorkspace } from '../ConnectionProvider'\nimport { 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 (a `ConnectionProvider`, or\n * the host's own `ArbiProvider` + 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 } = useNativeDocxSupport()\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&apos;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 (`NativeDocxSupportProvider`).\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 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 ]\n )\n return adapter\n}\n"]}
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { useConnectedNativeDocxAdapter } from './chunk-DB2OXRQC.js';
3
+ import { NativeDocxComparison } from './chunk-TZOQKV64.js';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ function ConnectedNativeDocxComparison({
7
+ fontBaseUrl,
8
+ ...props
9
+ }) {
10
+ const adapter = useConnectedNativeDocxAdapter(fontBaseUrl);
11
+ return /* @__PURE__ */ jsx(NativeDocxComparison, { ...props, adapter, onCompared: adapter.onVersionSaved });
12
+ }
13
+
14
+ export { ConnectedNativeDocxComparison };
15
+ //# sourceMappingURL=chunk-QN47Q4N7.js.map
16
+ //# sourceMappingURL=chunk-QN47Q4N7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/connection/docx/ConnectedNativeDocxComparison.tsx"],"names":[],"mappings":";;;;AAOO,SAAS,6BAAA,CAA8B;AAAA,EAC5C,WAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAyF;AACvF,EAAA,MAAM,OAAA,GAAU,8BAA8B,WAAW,CAAA;AACzD,EAAA,2BAAQ,oBAAA,EAAA,EAAsB,GAAG,OAAO,OAAA,EAAkB,UAAA,EAAY,QAAQ,cAAA,EAAgB,CAAA;AAChG","file":"chunk-QN47Q4N7.js","sourcesContent":["import {\n NativeDocxComparison,\n type NativeDocxComparisonProps,\n} from '../../docx/NativeDocxComparison'\nimport { useConnectedNativeDocxAdapter } from './ConnectedNativeDocxEditor'\n\n/** The Word redline of two documents or versions, on the signed-in session. */\nexport function ConnectedNativeDocxComparison({\n fontBaseUrl,\n ...props\n}: Omit<NativeDocxComparisonProps, 'adapter' | 'onCompared'> & { fontBaseUrl?: string }) {\n const adapter = useConnectedNativeDocxAdapter(fontBaseUrl)\n return <NativeDocxComparison {...props} adapter={adapter} onCompared={adapter.onVersionSaved} />\n}\n"]}
@@ -5,6 +5,22 @@ var chunkRC25WMVB_cjs = require('./chunk-RC25WMVB.cjs');
5
5
  var commands = require('@arbidocs/coedit/commands');
6
6
 
7
7
  var DEFINITIONS_LABEL = "Definitions";
8
+ var isDefinitionsLabel = (tag) => tag.kind === "label" && tag.name.trim().toLowerCase() === DEFINITIONS_LABEL.toLowerCase();
9
+ function findDefinitionsLabel(tags) {
10
+ const named = tags.filter(isDefinitionsLabel);
11
+ return named.find((t) => !t.parent_ext_id) ?? named[0];
12
+ }
13
+ function toDefinitionSource(fact, labelId, nameOf) {
14
+ const cited = fact.citations?.[0]?.doc_ext_id;
15
+ return {
16
+ id: fact.external_id,
17
+ text: fact.text,
18
+ confirmed: fact.confirmed,
19
+ updatedAt: fact.updated_at,
20
+ source: cited && nameOf?.(cited) || void 0,
21
+ labels: fact.tags.filter((t) => t.tag_ext_id !== labelId).map((t) => ({ id: t.tag_ext_id, name: t.name }))
22
+ };
23
+ }
8
24
  function termKey(term) {
9
25
  return commands.termKey(chunkRC25WMVB_cjs.decodeWhitespaceEntities(term));
10
26
  }
@@ -115,12 +131,15 @@ exports.cell = cell;
115
131
  exports.compareDefinitions = compareDefinitions;
116
132
  exports.definitionLabels = definitionLabels;
117
133
  exports.filterTermGroups = filterTermGroups;
134
+ exports.findDefinitionsLabel = findDefinitionsLabel;
118
135
  exports.groupDefinitions = groupDefinitions;
136
+ exports.isDefinitionsLabel = isDefinitionsLabel;
119
137
  exports.minuteUtc = minuteUtc;
120
138
  exports.page = page;
121
139
  exports.paragraph = paragraph;
122
140
  exports.parseDefinition = parseDefinition;
123
141
  exports.termKey = termKey;
124
142
  exports.toDefinition = toDefinition;
125
- //# sourceMappingURL=chunk-I2QSDQQV.cjs.map
126
- //# sourceMappingURL=chunk-I2QSDQQV.cjs.map
143
+ exports.toDefinitionSource = toDefinitionSource;
144
+ //# sourceMappingURL=chunk-QT3A4PFC.cjs.map
145
+ //# sourceMappingURL=chunk-QT3A4PFC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tags/definitions.ts","../src/tags/ooxml.ts"],"names":["sharedTermKey","decodeWhitespaceEntities","sharedParseDefinition","compareTerms","esc","stylesXml"],"mappings":"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","file":"chunk-QT3A4PFC.cjs","sourcesContent":["/**\n * Defined terms. A definition is an ordinary fact carrying the workspace's \"Definitions\" label; its\n * TERM is read from the start of its text — `\"Shares\" means …`, `**Business Day** shall mean …`,\n * `Completion: the date …` — and facts defining the same term (one per agreement, say) are grouped,\n * a confirmed one preferred over the rest, then the most recent. Pure helpers, no React: the Word\n * editor inserts terms with them and the Tags page prints the glossary with them.\n */\n\nimport {\n compareTerms,\n parseDefinition as sharedParseDefinition,\n termKey as sharedTermKey,\n type ParsedDefinition,\n} from '@arbidocs/coedit/commands'\nimport type { FactResponse, TagResponse } from '@arbidocs/sdk/browser'\nimport { decodeWhitespaceEntities } from '../facts/fact-text'\n\n// Shared with the Word-editor commands (and the collaboration service).\nexport {\n DEFINITION_BOOKMARK_PREFIX,\n compareTerms,\n definitionBookmark,\n definitionIdOfBookmark,\n type ParsedDefinition,\n} from '@arbidocs/coedit/commands'\n\n/** The label that marks a fact as a definition. */\nexport const DEFINITIONS_LABEL = 'Definitions'\n\n/** Whether a tag is the Definitions label. */\nexport const isDefinitionsLabel = (tag: Pick<TagResponse, 'kind' | 'name'>) =>\n tag.kind === 'label' && tag.name.trim().toLowerCase() === DEFINITIONS_LABEL.toLowerCase()\n\n/** The workspace's Definitions label: a label named \"Definitions\" (top-level preferred). */\nexport function findDefinitionsLabel<T extends TagResponse>(tags: readonly T[]): T | undefined {\n const named = tags.filter(isDefinitionsLabel)\n return named.find((t) => !t.parent_ext_id) ?? named[0]\n}\n\n/**\n * A definition fact as the blocks read it: text, preference, source (the name of the document it\n * cites first, from `nameOf`) and its other labels.\n */\nexport function toDefinitionSource(\n fact: Pick<\n FactResponse,\n 'external_id' | 'text' | 'confirmed' | 'updated_at' | 'citations' | 'tags'\n >,\n labelId: string,\n nameOf?: (docId: string) => string | null | undefined\n): DefinitionSource {\n const cited = fact.citations?.[0]?.doc_ext_id\n return {\n id: fact.external_id,\n text: fact.text,\n confirmed: fact.confirmed,\n updatedAt: fact.updated_at,\n source: (cited && nameOf?.(cited)) || undefined,\n labels: fact.tags\n .filter((t) => t.tag_ext_id !== labelId)\n .map((t) => ({ id: t.tag_ext_id, name: t.name })),\n }\n}\n\n/** A label on a definition other than {@link DEFINITIONS_LABEL} (e.g. the agreement it is from). */\nexport interface DefinitionLabel {\n id: string\n name: string\n}\n\n/** A definition fact, as the host reads it. */\nexport interface DefinitionSource {\n /** The fact's id (`fct-…`). */\n id: string\n /** The fact text, as written (it may be Markdown). */\n text: string\n /** A human vouched for it: preferred over unconfirmed definitions of the same term. */\n confirmed?: boolean\n /** ISO time it was last written; the most recent wins between equals. */\n updatedAt?: string\n /** Where it comes from: the cited document's name. */\n source?: string\n /** Its other labels, e.g. the agreement (\"SPA\") it defines a term of. */\n labels?: DefinitionLabel[]\n}\n\n/** A parsed definition fact. */\nexport interface Definition extends DefinitionSource, ParsedDefinition {\n /** The term's matching key (case and whitespace folded). */\n key: string\n}\n\n/** Every definition of one term, the preferred one first. */\nexport interface DefinedTermGroup {\n key: string\n /** The term as the preferred definition writes it. */\n term: string\n /** The preferred definition (first of {@link DefinedTermGroup.definitions}). */\n preferred: Definition\n definitions: Definition[]\n}\n\n/** The matching key of a term: case and whitespace folded, quotes and emphasis dropped. */\nexport function termKey(term: string): string {\n return sharedTermKey(decodeWhitespaceEntities(term))\n}\n\n/**\n * Read a definition's term from the start of its text, or `null` when it does not start with one\n * (see `parseDefinition` in `@arbidocs/coedit/commands`); entity-encoded whitespace is decoded first.\n */\nexport function parseDefinition(text: string): ParsedDefinition | null {\n return sharedParseDefinition(decodeWhitespaceEntities(text))\n}\n\n/** A definition parsed, or `null` when its text names no term. */\nexport function toDefinition(source: DefinitionSource): Definition | null {\n const parsed = parseDefinition(source.text)\n return parsed ? { ...source, ...parsed, key: termKey(parsed.term) } : null\n}\n\nconst time = (iso?: string) => (iso ? Date.parse(iso) || 0 : 0)\n\n/** Preferred first: confirmed, then most recently written, then by id (stable). */\nexport function compareDefinitions(a: DefinitionSource, b: DefinitionSource): number {\n return (\n Number(!!b.confirmed) - Number(!!a.confirmed) ||\n time(b.updatedAt) - time(a.updatedAt) ||\n a.id.localeCompare(b.id)\n )\n}\n\n/**\n * Definitions grouped by term, alphabetically, each group's preferred definition first. Facts whose\n * text names no term are returned apart (`unparsed`), so a host can say how many it could not read.\n * With `labelId`, only definitions carrying that label (one agreement's, say) are kept.\n */\nexport function groupDefinitions(\n sources: readonly DefinitionSource[],\n options: { labelId?: string | null } = {}\n): { groups: DefinedTermGroup[]; unparsed: DefinitionSource[] } {\n const byKey = new Map<string, Definition[]>()\n const unparsed: DefinitionSource[] = []\n for (const source of sources) {\n if (options.labelId && !source.labels?.some((l) => l.id === options.labelId)) continue\n const definition = toDefinition(source)\n if (!definition) {\n unparsed.push(source)\n continue\n }\n const list = byKey.get(definition.key) ?? []\n list.push(definition)\n byKey.set(definition.key, list)\n }\n const groups = [...byKey.entries()].map(([key, list]) => {\n const definitions = [...list].sort(compareDefinitions)\n return { key, term: definitions[0].term, preferred: definitions[0], definitions }\n })\n groups.sort((a, b) => compareTerms(a.term, b.term))\n return { groups, unparsed }\n}\n\n/** The labels (agreements) definitions carry besides the Definitions label, by name. */\nexport function definitionLabels(sources: readonly DefinitionSource[]): DefinitionLabel[] {\n const byId = new Map<string, DefinitionLabel>()\n for (const s of sources) for (const l of s.labels ?? []) byId.set(l.id, l)\n return [...byId.values()].sort((a, b) => compareTerms(a.name, b.name))\n}\n\n/** Groups whose term matches a typed query: prefix matches first, then any word, then anywhere. */\nexport function filterTermGroups(\n groups: readonly DefinedTermGroup[],\n query: string\n): DefinedTermGroup[] {\n const q = termKey(query)\n if (!q) return [...groups]\n const rank = (g: DefinedTermGroup) =>\n g.key.startsWith(q) ? 0 : g.key.split(' ').some((w) => w.startsWith(q)) ? 1 : 2\n return groups\n .filter((g) => g.key.includes(q))\n .map((g) => ({ g, r: rank(g) }))\n .sort((a, b) => a.r - b.r || compareTerms(a.g.term, b.g.term))\n .map(({ g }) => g)\n}\n","/**\n * The small WordprocessingML vocabulary the tags exports write: escaped runs, paragraphs, table\n * cells, an A4 page, and the minimal package around a `word/document.xml`. Zipped with `fflate`, so\n * the result opens in the native Word editor and in Word without pulling the editor engine in.\n */\n\nimport { esc, stylesXml } from '@arbidocs/coedit/commands'\n\n// Shared with the Word-editor commands (and the collaboration service).\nexport {\n W_NAMESPACES,\n docxPackage,\n documentXml,\n esc,\n hyperlinkRelationship,\n stylesXml,\n} from '@arbidocs/coedit/commands'\n\nexport const DOCX_MIME_TYPE =\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n\nexport interface Run {\n text: string\n bold?: boolean\n italic?: boolean\n muted?: boolean\n}\n\nexport const run = ({ text, bold, italic, muted }: Run) => {\n const props = [bold && '<w:b/>', italic && '<w:i/>', muted && '<w:color w:val=\"595959\"/>']\n .filter(Boolean)\n .join('')\n // Line breaks inside a value become Word line breaks rather than being lost.\n const body = text\n .split(/\\r?\\n/)\n .map((line) => `<w:t xml:space=\"preserve\">${esc(line)}</w:t>`)\n .join('<w:br/>')\n return `<w:r>${props ? `<w:rPr>${props}</w:rPr>` : ''}${body}</w:r>`\n}\n\nexport const paragraph = (runs: Run[], style?: string) =>\n `<w:p>${style ? `<w:pPr><w:pStyle w:val=\"${style}\"/></w:pPr>` : ''}${runs.map(run).join('')}</w:p>`\n\n/** A table cell: its paragraphs (a cell must hold at least one), shaded when given a fill. */\nexport const cell = (paragraphs: string[], width: number, fill?: string) =>\n `<w:tc><w:tcPr><w:tcW w:w=\"${width}\" w:type=\"dxa\"/>${\n fill ? `<w:shd w:val=\"clear\" w:color=\"auto\" w:fill=\"${fill}\"/>` : ''\n }</w:tcPr>${paragraphs.length ? paragraphs.join('') : '<w:p/>'}</w:tc>`\n\n/** Page geometry in twips (A4), turned for landscape. */\nexport function page(landscape: boolean) {\n const [short, long] = [11906, 16838]\n const margin = landscape ? 1080 : 1440\n const width = landscape ? long : short\n return {\n margin,\n textWidth: width - 2 * margin,\n sectPr: `<w:sectPr><w:pgSz w:w=\"${landscape ? long : short}\" w:h=\"${landscape ? short : long}\"${\n landscape ? ' w:orient=\"landscape\"' : ''\n }/><w:pgMar w:top=\"${margin}\" w:right=\"${margin}\" w:bottom=\"${margin}\" w:left=\"${margin}\" w:header=\"708\" w:footer=\"708\" w:gutter=\"0\"/></w:sectPr>`,\n }\n}\n\n/** `YYYY-MM-DD HH:MM` (UTC) of an ISO time, for a \"taken at\" line. */\nexport const minuteUtc = (at: string) => new Date(at).toISOString().slice(0, 16).replace('T', ' ')\n\n/** Calibri 11pt (en-GB), 8pt after each paragraph: the document defaults the exports share. */\nexport const DOC_DEFAULTS = `<w:docDefaults><w:rPrDefault><w:rPr><w:rFonts w:ascii=\"Calibri\" w:hAnsi=\"Calibri\" w:eastAsia=\"Calibri\" w:cs=\"Calibri\"/><w:sz w:val=\"22\"/><w:szCs w:val=\"22\"/><w:lang w:val=\"en-GB\"/></w:rPr></w:rPrDefault><w:pPrDefault><w:pPr><w:spacing w:after=\"160\" w:line=\"259\" w:lineRule=\"auto\"/></w:pPr></w:pPrDefault></w:docDefaults>`\n\n/**\n * Styles of a document that is a title and a table: `Title`, the compact `TagTableCell` paragraph\n * and the bordered `TagTableGrid` table.\n */\nexport const TABLE_DOCUMENT_STYLES = stylesXml(\n DOC_DEFAULTS,\n `<w:style w:type=\"paragraph\" w:default=\"1\" w:styleId=\"Normal\"><w:name w:val=\"Normal\"/><w:qFormat/></w:style><w:style w:type=\"paragraph\" w:styleId=\"Title\"><w:name w:val=\"Title\"/><w:basedOn w:val=\"Normal\"/><w:next w:val=\"Normal\"/><w:qFormat/><w:pPr><w:spacing w:after=\"80\" w:line=\"240\" w:lineRule=\"auto\"/></w:pPr><w:rPr><w:sz w:val=\"48\"/><w:szCs w:val=\"48\"/></w:rPr></w:style><w:style w:type=\"paragraph\" w:customStyle=\"1\" w:styleId=\"TagTableCell\"><w:name w:val=\"Tag Table Cell\"/><w:basedOn w:val=\"Normal\"/><w:qFormat/><w:pPr><w:spacing w:after=\"40\" w:line=\"240\" w:lineRule=\"auto\"/></w:pPr><w:rPr><w:sz w:val=\"18\"/><w:szCs w:val=\"18\"/></w:rPr></w:style><w:style w:type=\"table\" w:default=\"1\" w:styleId=\"TableNormal\"><w:name w:val=\"Normal Table\"/><w:tblPr><w:tblInd w:w=\"0\" w:type=\"dxa\"/><w:tblCellMar><w:top w:w=\"0\" w:type=\"dxa\"/><w:left w:w=\"108\" w:type=\"dxa\"/><w:bottom w:w=\"0\" w:type=\"dxa\"/><w:right w:w=\"108\" w:type=\"dxa\"/></w:tblCellMar></w:tblPr></w:style><w:style w:type=\"table\" w:customStyle=\"1\" w:styleId=\"TagTableGrid\"><w:name w:val=\"Tag Table\"/><w:basedOn w:val=\"TableNormal\"/><w:tblPr><w:tblBorders><w:top w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:left w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:bottom w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:right w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:insideH w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:insideV w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/></w:tblBorders><w:tblCellMar><w:top w:w=\"60\" w:type=\"dxa\"/><w:left w:w=\"100\" w:type=\"dxa\"/><w:bottom w:w=\"60\" w:type=\"dxa\"/><w:right w:w=\"100\" w:type=\"dxa\"/></w:tblCellMar></w:tblPr></w:style>`\n)\n"]}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { Toaster } from './chunk-OKERRHLH.js';
3
2
  import { useAssistantDock, useChatSurface } from './chunk-GWSGIZQ5.js';
3
+ import { Toaster } from './chunk-OKERRHLH.js';
4
4
  import { BlocksTooltipProvider } from './chunk-7XF5SFJ2.js';
5
5
  import { listOptionId } from './chunk-AA3PT6KR.js';
6
6
  import { speakerAccent, speakerDot } from './chunk-Z3AZ7Q5X.js';
@@ -2056,5 +2056,5 @@ function transcriptRuns(items, speakerOf, timeOf, gapMs = 2 * 6e4) {
2056
2056
  }
2057
2057
 
2058
2058
  export { AssistantToaster, BranchControls, ComposerAccessories, ComposerTools, ContextActionButton, ContextCheckRow, ContextPanelContent, ContextPanelFooter, ContextPanelTabs, ContextPickerList, ContextPickerRow, ContextSearchInput, ContextSelectList, ContextSelectRow, Conversation, ConversationBody, ConversationFilter, ConversationHeader, ConversationHeaderActions, ConversationHistoryPane, ConversationLoading, ConversationMain, ConversationRoot, ConversationSearchView, ConversationSettingsButton, DEFAULT_BRANCH_CONTROLS_LABELS, DEFAULT_CONVERSATION_LAYOUT_LABELS, DEFAULT_CONVERSATION_PARTS_LABELS, DEFAULT_CONVERSATION_SEARCH_LABELS, DEFAULT_DRAFTING_DOC_CHIP_LABELS, DEFAULT_LABEL_PIN_ROW_LABELS, DEFAULT_MODEL_PRICING_TIP_LABELS, DEFAULT_PENDING_ANSWER_BAR_LABELS, DEFAULT_PINNED_DOC_CHIP_LABELS, DEFAULT_SLASH_MENU_LABELS, DEFAULT_THREAD_MAP_LABELS, DEFAULT_THREAD_VISUALIZER_LABELS, DraftingDocChip, LabelPinRow, ModelAutoIcon, ModelConfigureButton, ModelDot, ModelMenuDivider, ModelMenuMessage, ModelOption, ModelOptionLabel, ModelPickerPopover, ModelPickerTrigger, ModelPricingTip, ModelTierIcon, ModelTierOption, ModelTriggerContent, NewChatButton, NewPaChatButton, PaModeBadge, PendingAnswerBar, PinnedDocChip, ProvisionalTranscriptLine, SlashMenu, ThreadMap, ThreadMapDiagram, ThreadMapError, ThreadMapLoading, ThreadVisualizer, TranscriptLine, buildThreadDiagram, flashMessage, getParticipantTints, hasMessageBody, isLongPastedText, threadForNode, transcriptRuns, useDismissibleCard, useLongPaste, useRecipientDraft };
2059
- //# sourceMappingURL=chunk-ZM26YEOT.js.map
2060
- //# sourceMappingURL=chunk-ZM26YEOT.js.map
2059
+ //# sourceMappingURL=chunk-RY2SODRN.js.map
2060
+ //# sourceMappingURL=chunk-RY2SODRN.js.map