@arbidocs/blocks 0.5.104 → 0.5.105

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 (210) hide show
  1. package/dist/{ConnectedCallDock-P7LK2HYF.cjs → ConnectedCallDock-63F733HH.cjs} +20 -20
  2. package/dist/{ConnectedCallDock-P7LK2HYF.cjs.map → ConnectedCallDock-63F733HH.cjs.map} +1 -1
  3. package/dist/{ConnectedCallDock-NEZJNTKH.js → ConnectedCallDock-VJGARAFW.js} +12 -12
  4. package/dist/{ConnectedCallDock-NEZJNTKH.js.map → ConnectedCallDock-VJGARAFW.js.map} +1 -1
  5. package/dist/{ConnectedCallRoom-K3X6ICCG.js → ConnectedCallRoom-JEHW4VML.js} +12 -12
  6. package/dist/{ConnectedCallRoom-K3X6ICCG.js.map → ConnectedCallRoom-JEHW4VML.js.map} +1 -1
  7. package/dist/{ConnectedCallRoom-FXTR4YFI.cjs → ConnectedCallRoom-RYPXT4T5.cjs} +13 -13
  8. package/dist/{ConnectedCallRoom-FXTR4YFI.cjs.map → ConnectedCallRoom-RYPXT4T5.cjs.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-FENZYWDH.js → ConnectedNativeDocxComparison-3EASEGA7.js} +15 -15
  10. package/dist/{ConnectedNativeDocxComparison-FENZYWDH.js.map → ConnectedNativeDocxComparison-3EASEGA7.js.map} +1 -1
  11. package/dist/{ConnectedNativeDocxComparison-7VJKOKYU.cjs → ConnectedNativeDocxComparison-JZ6E75CT.cjs} +16 -16
  12. package/dist/{ConnectedNativeDocxComparison-7VJKOKYU.cjs.map → ConnectedNativeDocxComparison-JZ6E75CT.cjs.map} +1 -1
  13. package/dist/{ConnectedNativeDocxEditor-HB5BHGZ2.cjs → ConnectedNativeDocxEditor-QJET2DM7.cjs} +16 -16
  14. package/dist/{ConnectedNativeDocxEditor-HB5BHGZ2.cjs.map → ConnectedNativeDocxEditor-QJET2DM7.cjs.map} +1 -1
  15. package/dist/{ConnectedNativeDocxEditor-CNQAMO2N.js → ConnectedNativeDocxEditor-X5R5WDIV.js} +14 -14
  16. package/dist/{ConnectedNativeDocxEditor-CNQAMO2N.js.map → ConnectedNativeDocxEditor-X5R5WDIV.js.map} +1 -1
  17. package/dist/{ConnectedProductionSetDialog-ENAIZWPK.cjs → ConnectedProductionSetDialog-CNF6RZCU.cjs} +3 -3
  18. package/dist/{ConnectedProductionSetDialog-ENAIZWPK.cjs.map → ConnectedProductionSetDialog-CNF6RZCU.cjs.map} +1 -1
  19. package/dist/{ConnectedProductionSetDialog-O4FWTZNF.js → ConnectedProductionSetDialog-MVSRWQAH.js} +3 -3
  20. package/dist/{ConnectedProductionSetDialog-O4FWTZNF.js.map → ConnectedProductionSetDialog-MVSRWQAH.js.map} +1 -1
  21. package/dist/{ConnectedStreamedWordArtifact-BF6JET2D.cjs → ConnectedStreamedWordArtifact-G4NO45TW.cjs} +16 -16
  22. package/dist/ConnectedStreamedWordArtifact-G4NO45TW.cjs.map +1 -0
  23. package/dist/{ConnectedStreamedWordArtifact-ILMKFCDC.js → ConnectedStreamedWordArtifact-WY34LSU2.js} +15 -15
  24. package/dist/ConnectedStreamedWordArtifact-WY34LSU2.js.map +1 -0
  25. package/dist/{DocumentReviewCard-WZNBPG72.js → DocumentReviewCard-DBRWDHRF.js} +11 -11
  26. package/dist/{DocumentReviewCard-WZNBPG72.js.map → DocumentReviewCard-DBRWDHRF.js.map} +1 -1
  27. package/dist/{DocumentReviewCard-MSHD73S3.cjs → DocumentReviewCard-O2CPX6PY.cjs} +16 -16
  28. package/dist/{DocumentReviewCard-MSHD73S3.cjs.map → DocumentReviewCard-O2CPX6PY.cjs.map} +1 -1
  29. package/dist/{FilesViewerDialog-DV2U4USR.cjs → FilesViewerDialog-3JCXOSI5.cjs} +39 -39
  30. package/dist/{FilesViewerDialog-DV2U4USR.cjs.map → FilesViewerDialog-3JCXOSI5.cjs.map} +1 -1
  31. package/dist/{FilesViewerDialog-XETOHORQ.js → FilesViewerDialog-7AHLHVDB.js} +33 -33
  32. package/dist/{FilesViewerDialog-XETOHORQ.js.map → FilesViewerDialog-7AHLHVDB.js.map} +1 -1
  33. package/dist/{WorkspaceTableView-WD754UBK.js → WorkspaceTableView-4VRDGFGG.js} +7 -7
  34. package/dist/{WorkspaceTableView-WD754UBK.js.map → WorkspaceTableView-4VRDGFGG.js.map} +1 -1
  35. package/dist/{WorkspaceTableView-3D6SYOWT.cjs → WorkspaceTableView-T2SIYAEM.cjs} +9 -9
  36. package/dist/{WorkspaceTableView-3D6SYOWT.cjs.map → WorkspaceTableView-T2SIYAEM.cjs.map} +1 -1
  37. package/dist/agents/index.cjs +296 -296
  38. package/dist/agents/index.js +13 -13
  39. package/dist/{ai-WASSGEMI.js → ai-KXDTYRZC.js} +16 -16
  40. package/dist/ai-KXDTYRZC.js.map +1 -0
  41. package/dist/{ai-E6FA4Y4J.cjs → ai-QXZ4PB2M.cjs} +24 -24
  42. package/dist/ai-QXZ4PB2M.cjs.map +1 -0
  43. package/dist/calls/index.cjs +121 -121
  44. package/dist/calls/index.js +8 -8
  45. package/dist/chat/index.cjs +1 -1
  46. package/dist/chat/index.js +1 -1
  47. package/dist/{chunk-RBI7WVEP.cjs → chunk-2NAAK4NF.cjs} +4 -4
  48. package/dist/{chunk-RBI7WVEP.cjs.map → chunk-2NAAK4NF.cjs.map} +1 -1
  49. package/dist/{chunk-PIWT2GCY.cjs → chunk-2THO5FO3.cjs} +20 -20
  50. package/dist/{chunk-PIWT2GCY.cjs.map → chunk-2THO5FO3.cjs.map} +1 -1
  51. package/dist/{chunk-4UOXUWX3.js → chunk-35M3UPTC.js} +71 -20
  52. package/dist/chunk-35M3UPTC.js.map +1 -0
  53. package/dist/{chunk-TQFDPCWU.js → chunk-3726GQUW.js} +17 -17
  54. package/dist/{chunk-TQFDPCWU.js.map → chunk-3726GQUW.js.map} +1 -1
  55. package/dist/{chunk-N77UYRV7.js → chunk-3BSFHBHY.js} +4 -4
  56. package/dist/{chunk-N77UYRV7.js.map → chunk-3BSFHBHY.js.map} +1 -1
  57. package/dist/{chunk-VULH3XAJ.cjs → chunk-3V7IZLHM.cjs} +28 -28
  58. package/dist/{chunk-VULH3XAJ.cjs.map → chunk-3V7IZLHM.cjs.map} +1 -1
  59. package/dist/{chunk-TP5PGWIO.cjs → chunk-4IOYQLKG.cjs} +3 -3
  60. package/dist/{chunk-TP5PGWIO.cjs.map → chunk-4IOYQLKG.cjs.map} +1 -1
  61. package/dist/{chunk-KGUBKE3V.cjs → chunk-4WJTJ2CM.cjs} +12 -12
  62. package/dist/{chunk-KGUBKE3V.cjs.map → chunk-4WJTJ2CM.cjs.map} +1 -1
  63. package/dist/{chunk-E26MNOLG.js → chunk-534Q6CX4.js} +3 -3
  64. package/dist/{chunk-E26MNOLG.js.map → chunk-534Q6CX4.js.map} +1 -1
  65. package/dist/{chunk-DBHBJIF4.js → chunk-55UIEU7L.js} +3 -3
  66. package/dist/{chunk-DBHBJIF4.js.map → chunk-55UIEU7L.js.map} +1 -1
  67. package/dist/{chunk-N52PBUAP.cjs → chunk-5VZVB63L.cjs} +6 -6
  68. package/dist/{chunk-N52PBUAP.cjs.map → chunk-5VZVB63L.cjs.map} +1 -1
  69. package/dist/{chunk-Y2FPWPDB.js → chunk-5XB3H2TJ.js} +3 -3
  70. package/dist/{chunk-Y2FPWPDB.js.map → chunk-5XB3H2TJ.js.map} +1 -1
  71. package/dist/{chunk-CEVVGJQX.js → chunk-62J727CD.js} +3 -3
  72. package/dist/{chunk-CEVVGJQX.js.map → chunk-62J727CD.js.map} +1 -1
  73. package/dist/{chunk-3PV25ICC.js → chunk-6KKVJ2V6.js} +3 -3
  74. package/dist/{chunk-3PV25ICC.js.map → chunk-6KKVJ2V6.js.map} +1 -1
  75. package/dist/{chunk-ET3W24JV.js → chunk-6PM2ZUUL.js} +14 -14
  76. package/dist/{chunk-ET3W24JV.js.map → chunk-6PM2ZUUL.js.map} +1 -1
  77. package/dist/{chunk-JWUCDK2F.js → chunk-6Q3SYCSX.js} +4 -4
  78. package/dist/{chunk-JWUCDK2F.js.map → chunk-6Q3SYCSX.js.map} +1 -1
  79. package/dist/{chunk-5UMZXDGL.cjs → chunk-7HGIC644.cjs} +5 -5
  80. package/dist/{chunk-5UMZXDGL.cjs.map → chunk-7HGIC644.cjs.map} +1 -1
  81. package/dist/{chunk-6NSKIS35.cjs → chunk-7MGK4ROW.cjs} +4 -4
  82. package/dist/{chunk-6NSKIS35.cjs.map → chunk-7MGK4ROW.cjs.map} +1 -1
  83. package/dist/{chunk-KUI2IC7W.js → chunk-7OUI4S7X.js} +3 -3
  84. package/dist/{chunk-KUI2IC7W.js.map → chunk-7OUI4S7X.js.map} +1 -1
  85. package/dist/{chunk-QN5GTCPB.cjs → chunk-BM2B6RWH.cjs} +6 -6
  86. package/dist/{chunk-QN5GTCPB.cjs.map → chunk-BM2B6RWH.cjs.map} +1 -1
  87. package/dist/{chunk-HTGEAQOA.js → chunk-C66RM2KW.js} +11 -11
  88. package/dist/{chunk-HTGEAQOA.js.map → chunk-C66RM2KW.js.map} +1 -1
  89. package/dist/{chunk-5OUOPKGE.cjs → chunk-C67B5OL7.cjs} +10 -10
  90. package/dist/{chunk-5OUOPKGE.cjs.map → chunk-C67B5OL7.cjs.map} +1 -1
  91. package/dist/{chunk-OG3TI5GX.js → chunk-CARVLLKR.js} +5 -5
  92. package/dist/{chunk-OG3TI5GX.js.map → chunk-CARVLLKR.js.map} +1 -1
  93. package/dist/{chunk-OKUXM2N4.cjs → chunk-CJOYEXEI.cjs} +4 -4
  94. package/dist/{chunk-OKUXM2N4.cjs.map → chunk-CJOYEXEI.cjs.map} +1 -1
  95. package/dist/{chunk-HKGO2GUG.cjs → chunk-CQ4M5S7Q.cjs} +3 -3
  96. package/dist/{chunk-HKGO2GUG.cjs.map → chunk-CQ4M5S7Q.cjs.map} +1 -1
  97. package/dist/{chunk-PGCKTXYH.js → chunk-E23QC3K5.js} +3 -3
  98. package/dist/{chunk-PGCKTXYH.js.map → chunk-E23QC3K5.js.map} +1 -1
  99. package/dist/{chunk-RAYNCZ7O.js → chunk-EAHJ2JSM.js} +4 -4
  100. package/dist/{chunk-RAYNCZ7O.js.map → chunk-EAHJ2JSM.js.map} +1 -1
  101. package/dist/{chunk-J3E5CSSC.js → chunk-ETUFJZKO.js} +4 -4
  102. package/dist/{chunk-J3E5CSSC.js.map → chunk-ETUFJZKO.js.map} +1 -1
  103. package/dist/{chunk-S7NJVJJX.cjs → chunk-FA5EFIHM.cjs} +55 -55
  104. package/dist/{chunk-S7NJVJJX.cjs.map → chunk-FA5EFIHM.cjs.map} +1 -1
  105. package/dist/{chunk-FDNIK5YS.cjs → chunk-GAJ5HESV.cjs} +4 -4
  106. package/dist/{chunk-FDNIK5YS.cjs.map → chunk-GAJ5HESV.cjs.map} +1 -1
  107. package/dist/{chunk-FNGFSHVE.js → chunk-H57PBOFE.js} +3 -3
  108. package/dist/{chunk-FNGFSHVE.js.map → chunk-H57PBOFE.js.map} +1 -1
  109. package/dist/{chunk-7OPOPYV6.cjs → chunk-H5OLHP2U.cjs} +3 -3
  110. package/dist/{chunk-7OPOPYV6.cjs.map → chunk-H5OLHP2U.cjs.map} +1 -1
  111. package/dist/{chunk-Y5P5ZMHQ.js → chunk-HFPKMVHR.js} +4 -4
  112. package/dist/{chunk-Y5P5ZMHQ.js.map → chunk-HFPKMVHR.js.map} +1 -1
  113. package/dist/{chunk-VJAMDAR6.cjs → chunk-I727LFZM.cjs} +4 -4
  114. package/dist/{chunk-VJAMDAR6.cjs.map → chunk-I727LFZM.cjs.map} +1 -1
  115. package/dist/{chunk-3RUQHIDC.js → chunk-IUOTGOXM.js} +3 -3
  116. package/dist/{chunk-3RUQHIDC.js.map → chunk-IUOTGOXM.js.map} +1 -1
  117. package/dist/{chunk-BSPPKX6X.cjs → chunk-IUTJW6FB.cjs} +50 -50
  118. package/dist/{chunk-BSPPKX6X.cjs.map → chunk-IUTJW6FB.cjs.map} +1 -1
  119. package/dist/{chunk-HTIEJVPI.js → chunk-JKAVXGHL.js} +5 -5
  120. package/dist/{chunk-HTIEJVPI.js.map → chunk-JKAVXGHL.js.map} +1 -1
  121. package/dist/{chunk-DDIV3MYQ.cjs → chunk-K3C4WECV.cjs} +5 -5
  122. package/dist/{chunk-DDIV3MYQ.cjs.map → chunk-K3C4WECV.cjs.map} +1 -1
  123. package/dist/{chunk-IWLNDDPN.cjs → chunk-KYTOLFAU.cjs} +35 -35
  124. package/dist/{chunk-IWLNDDPN.cjs.map → chunk-KYTOLFAU.cjs.map} +1 -1
  125. package/dist/{chunk-FMRTLPC7.cjs → chunk-LKK4PVOM.cjs} +6 -6
  126. package/dist/{chunk-FMRTLPC7.cjs.map → chunk-LKK4PVOM.cjs.map} +1 -1
  127. package/dist/{chunk-BMHW7WTF.js → chunk-LPHUB6EC.js} +3 -3
  128. package/dist/{chunk-BMHW7WTF.js.map → chunk-LPHUB6EC.js.map} +1 -1
  129. package/dist/{chunk-IIUEDF3F.js → chunk-LZAID6RY.js} +7 -7
  130. package/dist/{chunk-IIUEDF3F.js.map → chunk-LZAID6RY.js.map} +1 -1
  131. package/dist/{chunk-OFF2PR4W.js → chunk-NAAOKIR5.js} +3 -3
  132. package/dist/{chunk-OFF2PR4W.js.map → chunk-NAAOKIR5.js.map} +1 -1
  133. package/dist/{chunk-7LIPW6ZK.cjs → chunk-NNJQTH6R.cjs} +3 -3
  134. package/dist/{chunk-7LIPW6ZK.cjs.map → chunk-NNJQTH6R.cjs.map} +1 -1
  135. package/dist/{chunk-2VHZUSFW.js → chunk-OUORCDQD.js} +3 -3
  136. package/dist/{chunk-2VHZUSFW.js.map → chunk-OUORCDQD.js.map} +1 -1
  137. package/dist/{chunk-V2CKYM4B.cjs → chunk-OVKVMKTI.cjs} +15 -15
  138. package/dist/{chunk-V2CKYM4B.cjs.map → chunk-OVKVMKTI.cjs.map} +1 -1
  139. package/dist/{chunk-KCP42W67.cjs → chunk-P5D5GKVH.cjs} +3 -3
  140. package/dist/{chunk-KCP42W67.cjs.map → chunk-P5D5GKVH.cjs.map} +1 -1
  141. package/dist/{chunk-JS66ZT33.js → chunk-PVNULRFR.js} +3 -3
  142. package/dist/{chunk-JS66ZT33.js.map → chunk-PVNULRFR.js.map} +1 -1
  143. package/dist/{chunk-4WMGFGYP.cjs → chunk-QZGXZRWU.cjs} +4 -4
  144. package/dist/{chunk-4WMGFGYP.cjs.map → chunk-QZGXZRWU.cjs.map} +1 -1
  145. package/dist/{chunk-MMSHLHTA.cjs → chunk-RB6MAAS7.cjs} +4 -4
  146. package/dist/{chunk-MMSHLHTA.cjs.map → chunk-RB6MAAS7.cjs.map} +1 -1
  147. package/dist/{chunk-7ONU7EWY.js → chunk-RMQZHYBO.js} +6 -6
  148. package/dist/{chunk-7ONU7EWY.js.map → chunk-RMQZHYBO.js.map} +1 -1
  149. package/dist/{chunk-GOJ5GHFS.js → chunk-S5AFXSIQ.js} +3 -3
  150. package/dist/{chunk-GOJ5GHFS.js.map → chunk-S5AFXSIQ.js.map} +1 -1
  151. package/dist/{chunk-SY2WD6VA.cjs → chunk-SBTIITBJ.cjs} +6 -6
  152. package/dist/{chunk-SY2WD6VA.cjs.map → chunk-SBTIITBJ.cjs.map} +1 -1
  153. package/dist/{chunk-6A4GNM4T.cjs → chunk-TBYFNJRJ.cjs} +26 -26
  154. package/dist/{chunk-6A4GNM4T.cjs.map → chunk-TBYFNJRJ.cjs.map} +1 -1
  155. package/dist/{chunk-5R67KX2O.cjs → chunk-TSIMQOJR.cjs} +126 -75
  156. package/dist/chunk-TSIMQOJR.cjs.map +1 -0
  157. package/dist/{chunk-GARDQALH.js → chunk-TSLXIDUF.js} +7 -7
  158. package/dist/{chunk-GARDQALH.js.map → chunk-TSLXIDUF.js.map} +1 -1
  159. package/dist/{chunk-6KQVTMRL.cjs → chunk-UOGXKHTJ.cjs} +3 -3
  160. package/dist/{chunk-6KQVTMRL.cjs.map → chunk-UOGXKHTJ.cjs.map} +1 -1
  161. package/dist/{chunk-E6ISR55S.js → chunk-UTUXEZBC.js} +3 -3
  162. package/dist/{chunk-E6ISR55S.js.map → chunk-UTUXEZBC.js.map} +1 -1
  163. package/dist/{chunk-2UP73FZT.js → chunk-VNFNIHHJ.js} +3 -3
  164. package/dist/{chunk-2UP73FZT.js.map → chunk-VNFNIHHJ.js.map} +1 -1
  165. package/dist/{chunk-M4TM3K52.cjs → chunk-XCTQ6MLJ.cjs} +47 -47
  166. package/dist/{chunk-M4TM3K52.cjs.map → chunk-XCTQ6MLJ.cjs.map} +1 -1
  167. package/dist/{chunk-62OMGQHS.js → chunk-Y3NQBB43.js} +3 -3
  168. package/dist/{chunk-62OMGQHS.js.map → chunk-Y3NQBB43.js.map} +1 -1
  169. package/dist/{chunk-LWCLAAEX.js → chunk-YG77JLOX.js} +4 -4
  170. package/dist/{chunk-LWCLAAEX.js.map → chunk-YG77JLOX.js.map} +1 -1
  171. package/dist/{chunk-35BADIIF.cjs → chunk-YGOMTIBA.cjs} +3 -3
  172. package/dist/{chunk-35BADIIF.cjs.map → chunk-YGOMTIBA.cjs.map} +1 -1
  173. package/dist/{chunk-4FV5DO3V.js → chunk-YK4U6EV5.js} +3 -3
  174. package/dist/{chunk-4FV5DO3V.js.map → chunk-YK4U6EV5.js.map} +1 -1
  175. package/dist/{chunk-YPTZNQPJ.cjs → chunk-YP4FDWK3.cjs} +4 -4
  176. package/dist/{chunk-YPTZNQPJ.cjs.map → chunk-YP4FDWK3.cjs.map} +1 -1
  177. package/dist/{chunk-JNVJQCGF.cjs → chunk-YXYHYS5S.cjs} +3 -3
  178. package/dist/{chunk-JNVJQCGF.cjs.map → chunk-YXYHYS5S.cjs.map} +1 -1
  179. package/dist/collaboration/index.cjs +1 -1
  180. package/dist/collaboration/index.js +1 -1
  181. package/dist/connect/docx.cjs +19 -19
  182. package/dist/connect/docx.js +15 -15
  183. package/dist/connect/index.cjs +1019 -1019
  184. package/dist/connect/index.js +73 -73
  185. package/dist/connect/viewer.cjs +25 -25
  186. package/dist/connect/viewer.js +24 -24
  187. package/dist/dashboards/index.cjs +1 -1
  188. package/dist/dashboards/index.js +1 -1
  189. package/dist/embed/index.cjs +38 -38
  190. package/dist/embed/index.js +32 -32
  191. package/dist/files/index.cjs +224 -224
  192. package/dist/files/index.js +3 -3
  193. package/dist/index.cjs +1575 -1575
  194. package/dist/index.js +40 -40
  195. package/dist/settings/index.cjs +152 -152
  196. package/dist/settings/index.js +3 -3
  197. package/dist/shell/index.cjs +88 -88
  198. package/dist/shell/index.js +9 -9
  199. package/dist/studio/index.cjs +26 -26
  200. package/dist/studio/index.js +23 -23
  201. package/dist/workflow-canvas/index.cjs +51 -51
  202. package/dist/workflow-canvas/index.js +31 -31
  203. package/node_modules/@arbidocs/coedit/package.json +1 -1
  204. package/package.json +5 -5
  205. package/dist/ConnectedStreamedWordArtifact-BF6JET2D.cjs.map +0 -1
  206. package/dist/ConnectedStreamedWordArtifact-ILMKFCDC.js.map +0 -1
  207. package/dist/ai-E6FA4Y4J.cjs.map +0 -1
  208. package/dist/ai-WASSGEMI.js.map +0 -1
  209. package/dist/chunk-4UOXUWX3.js.map +0 -1
  210. package/dist/chunk-5R67KX2O.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/useIsExternalAccount.ts","../src/connection/workflows/useSkillsEnabled.ts","../src/connection/workflows/useHostSkills.ts","../src/connection/workflows/useNamedWorkflows.ts","../src/connection/workflows/useWorkflowDefinitions.ts","../src/connection/workflows/useWorkflowTasks.ts"],"names":["useArbiSession","useUserSettings","useHost","useMemo","skillPackWorkflows","useAssistantCopy","nameBuiltinWorkflows","useSkills","useWorkflowUsage","WEB_WORKFLOWS","DASHBOARD_OPERATIONS","mergeSkillWorkflows","DASHBOARD_PINNED","sortByRecentUse","CUSTOM_TASK","REMIND_TASK","useRunWorkflow","useStartTaskQuery","useCreateWorkflow","useUpdateConversation","useUpdateWorkflow","useArbiSessionState","useCreateWork","useBlocksEnvironment","useGrantAgentAccess","useCallback","useDocuments","getDocumentTitle","taskComposerToCreateRequest","taskComposerToUpdateRequest","composerToWorkflowUpdate"],"mappings":"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","file":"chunk-JNVJQCGF.cjs","sourcesContent":["import { useArbiSession } from '@arbidocs/react'\n\n/** The account fields that say it is an external one. */\ninterface AccountKind {\n temporary_access_only?: boolean | null\n user_type?: string | null\n}\n\n/** An external account: temporary access to shared workspaces only. */\nexport const isExternalAccount = (user: AccountKind | null | undefined): boolean =>\n !!user && (user.temporary_access_only === true || user.user_type === 'external')\n\n/**\n * Whether the signed-in person is an external guest. They get the built-in skills and the host's\n * skill packs, never the marketplace (the backend enforces it as well).\n */\nexport function useIsExternalAccount(): boolean {\n return isExternalAccount(useArbiSession().user)\n}\n\n/** Skill listings without the marketplace's (`visibility: global`): what an external guest gets. */\nexport const withoutMarketplace = <T extends { visibility?: string | null }>(listings: T[]): T[] =>\n listings.filter((s) => s.visibility !== 'global')\n","/**\n * The one gate for everything skill-shaped in the app: the empty chat's Start list, the skill\n * entries of the slash menu, the sidebar's Skills item, the Skills browser's entry points and the\n * typed `/skill` interception. It is the personal `show_skills` user setting, default off; the\n * switch lives in Settings, Experimental (developers only), so today only developers have it.\n */\n\nimport { useUserSettings } from '@arbidocs/react'\nimport { useIsExternalAccount } from '../useIsExternalAccount'\n\nexport function useSkillsEnabled(): boolean {\n const { data: userSettings } = useUserSettings()\n return userSettings?.show_skills ?? false\n}\n\n/**\n * Whether the Skills browser (the marketplace: \"Browse skills\", the Skills menu entry) is offered:\n * to skills users, never to an external guest (the backend enforces it as well).\n */\nexport function useCanBrowseSkills(): boolean {\n const skillsEnabled = useSkillsEnabled()\n const isExternal = useIsExternalAccount()\n return skillsEnabled && !isExternal\n}\n","/**\n * The host's skill packs (`host.workflows.skillPacks`) as the kit's workflows, and the `/` menu's\n * rows for them: one section per heading (a category, else a pack's label).\n */\nimport { useMemo } from 'react'\nimport { skillPackWorkflows, type SkillPackWorkflow } from '../../agents/workflows/skillPack'\nimport type { SlashMenuItem } from '../../chat/SlashMenu'\nimport { useHost } from '../../provider/host'\n\n/** The section heading of a pack without a label or category. */\nconst DEFAULT_PACK_LABEL = 'Skills from this site'\n\nconst NO_PACKS: SkillPackWorkflow[] = []\n\nexport function useHostSkills(): SkillPackWorkflow[] {\n const packs = useHost().workflows?.skillPacks\n return useMemo(() => (packs?.length ? packs.flatMap(skillPackWorkflows) : NO_PACKS), [packs])\n}\n\n/**\n * A pack skill's `/` menu row. Its section is its heading (its category, else its pack's label), so\n * skills of several packs under one heading share one section.\n */\nexport function hostSkillItem(workflow: SkillPackWorkflow): SlashMenuItem {\n const label = workflow.category ?? workflow.pack.label ?? DEFAULT_PACK_LABEL\n return {\n name: workflow.id,\n description: workflow.description,\n kind: 'skill',\n group: { id: `pack-${label.toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, label },\n }\n}\n","import { useMemo } from 'react'\nimport { useAssistantCopy } from '@arbidocs/react/shell'\nimport { nameBuiltinWorkflows } from '../../agents/workflows/catalogue/seed'\nimport type { WorkflowDefinition } from '../../agents/workflows/types'\n\n/** The seeded workflows in the host's assistant name (`nameBuiltinWorkflows`). */\nexport function useNamedWorkflows(\n workflows: ReadonlyArray<WorkflowDefinition>\n): WorkflowDefinition[] {\n const copy = useAssistantCopy()\n return useMemo(() => nameBuiltinWorkflows(workflows, copy), [workflows, copy])\n}\n","/**\n * The one list of workflows: the seeded ones plus every skill the user can invoke (each degraded\n * to a single-field form from its `arg_hint`). The dashboard tiles, the slash menu, tasks and\n * agents all read this.\n */\n\nimport { useMemo } from 'react'\nimport { useSkills } from '@arbidocs/react'\nimport { mergeSkillWorkflows } from '../../agents/workflows/workflow'\nimport { type WorkflowDefinition } from '../../agents/workflows/types'\nimport {\n CUSTOM_TASK,\n DASHBOARD_OPERATIONS,\n DASHBOARD_PINNED,\n REMIND_TASK,\n} from '../../agents/workflows/catalogue/seed'\nimport { useSkillsEnabled } from './useSkillsEnabled'\nimport { useHostSkills } from './useHostSkills'\nimport { useIsExternalAccount, withoutMarketplace } from '../useIsExternalAccount'\nimport { sortByRecentUse, useWorkflowUsage } from '../../agents/workflows/catalogue/workflow-usage'\nimport { WEB_WORKFLOWS } from '../../agents/workflows/catalogue/registry'\nimport { useNamedWorkflows } from './useNamedWorkflows'\n\nexport interface UseWorkflowDefinitionsResult {\n /**\n * Every skill workflow of this host: built-ins, the host's skill packs, then the user's and the\n * marketplace's (one list).\n */\n skills: WorkflowDefinition[]\n /** The user has skills switched on (`show_skills`): the gate of every skill-shaped surface. */\n skillsEnabled: boolean\n /**\n * The empty chat's Start section: built-ins first (their own order), then the user's own and\n * marketplace skills by recent use, then name. EMPTY for users without skills enabled.\n */\n start: WorkflowDefinition[]\n /** The dashboard Start band: pinned skills in order, then the operation launchers. */\n dashboard: WorkflowDefinition[]\n /** What a task can run: schedulable skills plus a free instruction and a reminder. */\n forTasks: WorkflowDefinition[]\n}\n\n/**\n * The skill listings a person may use from the menus: a host pack's slug is the pack's (an\n * installed copy is the same skill), and an external guest gets no marketplace skills.\n */\nexport function useUsableSkillListings(hostSkills: ReadonlyArray<WorkflowDefinition>) {\n const { data: listings } = useSkills()\n const isExternal = useIsExternalAccount()\n return useMemo(() => {\n const packSlugs = new Set(hostSkills.map((w) => w.id))\n const usable = (listings ?? []).filter((s) => !packSlugs.has(s.slug))\n return isExternal ? withoutMarketplace(usable) : usable\n }, [listings, hostSkills, isExternal])\n}\n\nexport function useWorkflowDefinitions(): UseWorkflowDefinitionsResult {\n const hostSkills = useHostSkills()\n const listings = useUsableSkillListings(hostSkills)\n const usage = useWorkflowUsage()\n const skillsEnabled = useSkillsEnabled()\n const web = useNamedWorkflows(WEB_WORKFLOWS)\n const operations = useNamedWorkflows(DASHBOARD_OPERATIONS)\n return useMemo(() => {\n const packSlugs = new Set(hostSkills.map((w) => w.id))\n // An uploaded skill of a built-in's slug is used instead of it.\n const { host: builtins, skills: fromServer } = mergeSkillWorkflows(\n web.filter((w) => !packSlugs.has(w.id)),\n listings\n )\n // The host's packs sit with the built-ins; they are listed in the menus, not in Start.\n const all = [...builtins, ...hostSkills, ...fromServer]\n const byId = new Map(all.map((w) => [w.id, w]))\n const pinned = DASHBOARD_PINNED.flatMap((id) => {\n const w = byId.get(id)\n return w ? [w] : []\n })\n return {\n skills: all,\n skillsEnabled,\n start: skillsEnabled ? [...builtins, ...sortByRecentUse(fromServer, usage)] : [],\n dashboard: [...pinned, ...operations],\n forTasks: [CUSTOM_TASK, ...all.filter((w) => w.schedulable), REMIND_TASK],\n }\n }, [hostSkills, listings, usage, skillsEnabled, web, operations])\n}\n","/**\n * Creating and updating work and workflows from the composer, in one place.\n *\n * \"Now\" is an assistant query with task options (the person's own run: the thread becomes a task); a plain\n * to-do creates work with no run. Any other start (a date, a repeat, an event, after another task) saves a workflow\n * that creates the work when it fires. The request mapping is shared with every host (and tested in\n * blocks): `taskComposerToCreateRequest` decides which.\n *\n * Workspace authorization is a per-run, least-privilege choice (`auth_mode`) composed over the shipped\n * workspace-access-request + grant machinery:\n * - Now -> no tier: the query runs as the person asking, with their own access.\n * - Workflow -> `scheduled_require_auth` by default (asks at run time), or `scheduled_permanent`\n * (\"keep access\"): standing membership so unattended runs can decrypt while the owner\n * is away. Only this tier grants membership.\n */\n\nimport {\n useCreateWorkflow,\n useGrantAgentAccess,\n useRunWorkflow,\n useUpdateWorkflow,\n useDocuments,\n useArbiSessionState,\n useCreateWork,\n useStartTaskQuery,\n useUpdateConversation,\n} from '@arbidocs/react'\nimport { getDocumentTitle } from '@arbidocs/react/ui'\nimport type { components } from '@arbidocs/client'\nimport { useCallback, useMemo } from 'react'\nimport {\n composerToWorkflowUpdate,\n taskComposerToCreateRequest,\n taskComposerToUpdateRequest,\n} from '../../agents/tasks/taskRequest'\nimport { type TaskComposerValues } from '../../agents/tasks/taskComposerTypes'\nimport { type WorkflowDefinition } from '../../agents/workflows/types'\nimport type { TaskPlan } from '../../agents/workflows/planSteps'\nimport { useBlocksEnvironment } from '../../provider/environment'\n\ntype Task = components['schemas']['ConversationResponse']\ntype Workflow = components['schemas']['WorkflowResponse']\n\nexport interface TaskSubmitContext {\n workflow: WorkflowDefinition\n values: TaskComposerValues\n /** Goal checklist for agent work, if one was drafted. */\n plan?: TaskPlan | null\n}\n\n/** What a composer submission created. `ran` is null for work no agent runs. */\nexport type CreateOutcome =\n | { kind: 'work'; task: Pick<Task, 'title'> & { external_id?: string }; ran: boolean | null }\n | { kind: 'workflow'; workflow: Workflow }\n\nexport function useWorkflowTasks() {\n const runWorkflow = useRunWorkflow()\n const startQuery = useStartTaskQuery()\n const createWorkflow = useCreateWorkflow()\n const updateConversation = useUpdateConversation()\n const updateWorkflowMutation = useUpdateWorkflow()\n const activeWorkspaceId = useArbiSessionState((s) => s.workspaceId)\n const createWork = useCreateWork({ workspaceId: activeWorkspaceId })\n const { openFiles } = useBlocksEnvironment()\n\n // Standing access for a workflow's agent, so its unattended runs can read the workspace. An agent\n // that is already a member makes the server refuse the re-grant: that is no failure here.\n const { mutateAsync: grant } = useGrantAgentAccess()\n const grantAgentAccess = useCallback(\n (agentExtId: string, workspaceId: string) =>\n grant({ agentExtId, workspaceId }).then(\n () => undefined,\n () => undefined\n ),\n [grant]\n )\n // File names for the prompt's wording (\"the document <name>\"): the server is told the ids as well.\n const { data: documents = [] } = useDocuments()\n const documentTitles = useMemo(\n () =>\n Object.fromEntries(documents.map((d) => [d.external_id, getDocumentTitle(d, d.external_id)])),\n [documents]\n )\n\n /**\n * Create work or a workflow. `forceWorkflow` is for the workflow dialog, where even a reminder is\n * saved as a workflow.\n */\n const create = useCallback(\n async (ctx: TaskSubmitContext, forceWorkflow = false): Promise<CreateOutcome> => {\n const request = taskComposerToCreateRequest(\n { ...ctx, documentTitles, plan: ctx.plan ?? null },\n activeWorkspaceId ?? undefined,\n forceWorkflow\n )\n if (request.kind === 'workflow') {\n const workflow = await createWorkflow.mutateAsync(request.body)\n // Keep access: deposit the key for the agent the server assigned (the Assistant when none was\n // picked), while the owner is here, so unattended runs start on their own.\n const workspaceId = workflow.workspace_ext_id ?? request.body.workspace_ext_id\n if (\n workflow.auth_mode === 'scheduled_permanent' &&\n !workflow.on_demand &&\n workflow.agent_ext_id &&\n workspaceId\n ) {\n await grantAgentAccess(workflow.agent_ext_id, workspaceId)\n }\n if (ctx.workflow.documentAction && ctx.values.when === 'now' && !forceWorkflow) {\n const result = await runWorkflow.mutateAsync(workflow.external_id)\n if (result.error) throw new Error(result.error)\n openFiles()\n }\n return { kind: 'workflow', workflow }\n }\n if (request.kind === 'query') {\n // Run now is the person's own assistant query: it makes the thread a task and runs it.\n const { conversationId } = await startQuery.start(request.query)\n return {\n kind: 'work',\n task: { external_id: conversationId, title: request.query.task.title ?? null },\n ran: true,\n }\n }\n // A plain to-do (or reminder): a task with no run.\n const task = await createWork.mutateAsync(request.body)\n return { kind: 'work', task, ran: null }\n },\n [\n activeWorkspaceId,\n createWork,\n createWorkflow,\n documentTitles,\n grantAgentAccess,\n startQuery,\n runWorkflow,\n openFiles,\n ]\n )\n\n /** PATCH the editable fields of a task (the instruction, workspace and agent stay as created). */\n const update = useCallback(\n async (task: Pick<Task, 'external_id'> & { is_owner?: boolean }, ctx: TaskSubmitContext) => {\n const patch = taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null })\n // Who can see a task is its owner's to change: an editor's save leaves it out.\n if (task.is_owner === false) delete patch.shared\n await updateConversation.mutateAsync({ conversationId: task.external_id, patch })\n },\n [updateConversation]\n )\n\n /** PATCH a workflow: its name, trigger and action. */\n const updateWorkflow = useCallback(\n async (\n workflow: Pick<Workflow, 'external_id' | 'agent_ext_id' | 'workspace_ext_id'> & {\n is_owner?: boolean\n },\n ctx: TaskSubmitContext\n ) => {\n const patch = composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null })\n // Sharing a workflow is its owner's: an editor's save leaves it out.\n if (workflow.is_owner === false) delete patch.shared\n const workspaceId = workflow.workspace_ext_id ?? activeWorkspaceId\n const updated = await updateWorkflowMutation.mutateAsync({\n workflowId: workflow.external_id,\n patch,\n })\n // The agent the server keeps (the Assistant when none was picked) gets the key for unattended runs.\n const agentId = updated.agent_ext_id ?? patch.agent_ext_id ?? workflow.agent_ext_id\n if (\n updated.auth_mode === 'scheduled_permanent' &&\n !updated.on_demand &&\n agentId &&\n workspaceId\n ) {\n await grantAgentAccess(agentId, workspaceId)\n }\n },\n [activeWorkspaceId, documentTitles, grantAgentAccess, updateWorkflowMutation]\n )\n\n return {\n create,\n update,\n updateWorkflow,\n isPending:\n createWork.isPending ||\n startQuery.isPending ||\n createWorkflow.isPending ||\n updateConversation.isPending ||\n updateWorkflowMutation.isPending,\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/useIsExternalAccount.ts","../src/connection/workflows/useSkillsEnabled.ts","../src/connection/workflows/useHostSkills.ts","../src/connection/workflows/useNamedWorkflows.ts","../src/connection/workflows/useWorkflowDefinitions.ts","../src/connection/workflows/useWorkflowTasks.ts"],"names":["useArbiSession","useUserSettings","useHost","useMemo","skillPackWorkflows","useAssistantCopy","nameBuiltinWorkflows","useSkills","useWorkflowUsage","WEB_WORKFLOWS","DASHBOARD_OPERATIONS","mergeSkillWorkflows","DASHBOARD_PINNED","sortByRecentUse","CUSTOM_TASK","REMIND_TASK","useRunWorkflow","useStartTaskQuery","useCreateWorkflow","useUpdateConversation","useUpdateWorkflow","useArbiSessionState","useCreateWork","useBlocksEnvironment","useGrantAgentAccess","useCallback","useDocuments","getDocumentTitle","taskComposerToCreateRequest","taskComposerToUpdateRequest","composerToWorkflowUpdate"],"mappings":"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","file":"chunk-YXYHYS5S.cjs","sourcesContent":["import { useArbiSession } from '@arbidocs/react'\n\n/** The account fields that say it is an external one. */\ninterface AccountKind {\n temporary_access_only?: boolean | null\n user_type?: string | null\n}\n\n/** An external account: temporary access to shared workspaces only. */\nexport const isExternalAccount = (user: AccountKind | null | undefined): boolean =>\n !!user && (user.temporary_access_only === true || user.user_type === 'external')\n\n/**\n * Whether the signed-in person is an external guest. They get the built-in skills and the host's\n * skill packs, never the marketplace (the backend enforces it as well).\n */\nexport function useIsExternalAccount(): boolean {\n return isExternalAccount(useArbiSession().user)\n}\n\n/** Skill listings without the marketplace's (`visibility: global`): what an external guest gets. */\nexport const withoutMarketplace = <T extends { visibility?: string | null }>(listings: T[]): T[] =>\n listings.filter((s) => s.visibility !== 'global')\n","/**\n * The one gate for everything skill-shaped in the app: the empty chat's Start list, the skill\n * entries of the slash menu, the sidebar's Skills item, the Skills browser's entry points and the\n * typed `/skill` interception. It is the personal `show_skills` user setting, default off; the\n * switch lives in Settings, Experimental (developers only), so today only developers have it.\n */\n\nimport { useUserSettings } from '@arbidocs/react'\nimport { useIsExternalAccount } from '../useIsExternalAccount'\n\nexport function useSkillsEnabled(): boolean {\n const { data: userSettings } = useUserSettings()\n return userSettings?.show_skills ?? false\n}\n\n/**\n * Whether the Skills browser (the marketplace: \"Browse skills\", the Skills menu entry) is offered:\n * to skills users, never to an external guest (the backend enforces it as well).\n */\nexport function useCanBrowseSkills(): boolean {\n const skillsEnabled = useSkillsEnabled()\n const isExternal = useIsExternalAccount()\n return skillsEnabled && !isExternal\n}\n","/**\n * The host's skill packs (`host.workflows.skillPacks`) as the kit's workflows, and the `/` menu's\n * rows for them: one section per heading (a category, else a pack's label).\n */\nimport { useMemo } from 'react'\nimport { skillPackWorkflows, type SkillPackWorkflow } from '../../agents/workflows/skillPack'\nimport type { SlashMenuItem } from '../../chat/SlashMenu'\nimport { useHost } from '../../provider/host'\n\n/** The section heading of a pack without a label or category. */\nconst DEFAULT_PACK_LABEL = 'Skills from this site'\n\nconst NO_PACKS: SkillPackWorkflow[] = []\n\nexport function useHostSkills(): SkillPackWorkflow[] {\n const packs = useHost().workflows?.skillPacks\n return useMemo(() => (packs?.length ? packs.flatMap(skillPackWorkflows) : NO_PACKS), [packs])\n}\n\n/**\n * A pack skill's `/` menu row. Its section is its heading (its category, else its pack's label), so\n * skills of several packs under one heading share one section.\n */\nexport function hostSkillItem(workflow: SkillPackWorkflow): SlashMenuItem {\n const label = workflow.category ?? workflow.pack.label ?? DEFAULT_PACK_LABEL\n return {\n name: workflow.id,\n description: workflow.description,\n kind: 'skill',\n group: { id: `pack-${label.toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, label },\n }\n}\n","import { useMemo } from 'react'\nimport { useAssistantCopy } from '@arbidocs/react/shell'\nimport { nameBuiltinWorkflows } from '../../agents/workflows/catalogue/seed'\nimport type { WorkflowDefinition } from '../../agents/workflows/types'\n\n/** The seeded workflows in the host's assistant name (`nameBuiltinWorkflows`). */\nexport function useNamedWorkflows(\n workflows: ReadonlyArray<WorkflowDefinition>\n): WorkflowDefinition[] {\n const copy = useAssistantCopy()\n return useMemo(() => nameBuiltinWorkflows(workflows, copy), [workflows, copy])\n}\n","/**\n * The one list of workflows: the seeded ones plus every skill the user can invoke (each degraded\n * to a single-field form from its `arg_hint`). The dashboard tiles, the slash menu, tasks and\n * agents all read this.\n */\n\nimport { useMemo } from 'react'\nimport { useSkills } from '@arbidocs/react'\nimport { mergeSkillWorkflows } from '../../agents/workflows/workflow'\nimport { type WorkflowDefinition } from '../../agents/workflows/types'\nimport {\n CUSTOM_TASK,\n DASHBOARD_OPERATIONS,\n DASHBOARD_PINNED,\n REMIND_TASK,\n} from '../../agents/workflows/catalogue/seed'\nimport { useSkillsEnabled } from './useSkillsEnabled'\nimport { useHostSkills } from './useHostSkills'\nimport { useIsExternalAccount, withoutMarketplace } from '../useIsExternalAccount'\nimport { sortByRecentUse, useWorkflowUsage } from '../../agents/workflows/catalogue/workflow-usage'\nimport { WEB_WORKFLOWS } from '../../agents/workflows/catalogue/registry'\nimport { useNamedWorkflows } from './useNamedWorkflows'\n\nexport interface UseWorkflowDefinitionsResult {\n /**\n * Every skill workflow of this host: built-ins, the host's skill packs, then the user's and the\n * marketplace's (one list).\n */\n skills: WorkflowDefinition[]\n /** The user has skills switched on (`show_skills`): the gate of every skill-shaped surface. */\n skillsEnabled: boolean\n /**\n * The empty chat's Start section: built-ins first (their own order), then the user's own and\n * marketplace skills by recent use, then name. EMPTY for users without skills enabled.\n */\n start: WorkflowDefinition[]\n /** The dashboard Start band: pinned skills in order, then the operation launchers. */\n dashboard: WorkflowDefinition[]\n /** What a task can run: schedulable skills plus a free instruction and a reminder. */\n forTasks: WorkflowDefinition[]\n}\n\n/**\n * The skill listings a person may use from the menus: a host pack's slug is the pack's (an\n * installed copy is the same skill), and an external guest gets no marketplace skills.\n */\nexport function useUsableSkillListings(hostSkills: ReadonlyArray<WorkflowDefinition>) {\n const { data: listings } = useSkills()\n const isExternal = useIsExternalAccount()\n return useMemo(() => {\n const packSlugs = new Set(hostSkills.map((w) => w.id))\n const usable = (listings ?? []).filter((s) => !packSlugs.has(s.slug))\n return isExternal ? withoutMarketplace(usable) : usable\n }, [listings, hostSkills, isExternal])\n}\n\nexport function useWorkflowDefinitions(): UseWorkflowDefinitionsResult {\n const hostSkills = useHostSkills()\n const listings = useUsableSkillListings(hostSkills)\n const usage = useWorkflowUsage()\n const skillsEnabled = useSkillsEnabled()\n const web = useNamedWorkflows(WEB_WORKFLOWS)\n const operations = useNamedWorkflows(DASHBOARD_OPERATIONS)\n return useMemo(() => {\n const packSlugs = new Set(hostSkills.map((w) => w.id))\n // An uploaded skill of a built-in's slug is used instead of it.\n const { host: builtins, skills: fromServer } = mergeSkillWorkflows(\n web.filter((w) => !packSlugs.has(w.id)),\n listings\n )\n // The host's packs sit with the built-ins; they are listed in the menus, not in Start.\n const all = [...builtins, ...hostSkills, ...fromServer]\n const byId = new Map(all.map((w) => [w.id, w]))\n const pinned = DASHBOARD_PINNED.flatMap((id) => {\n const w = byId.get(id)\n return w ? [w] : []\n })\n return {\n skills: all,\n skillsEnabled,\n start: skillsEnabled ? [...builtins, ...sortByRecentUse(fromServer, usage)] : [],\n dashboard: [...pinned, ...operations],\n forTasks: [CUSTOM_TASK, ...all.filter((w) => w.schedulable), REMIND_TASK],\n }\n }, [hostSkills, listings, usage, skillsEnabled, web, operations])\n}\n","/**\n * Creating and updating work and workflows from the composer, in one place.\n *\n * \"Now\" is an assistant query with task options (the person's own run: the thread becomes a task); a plain\n * to-do creates work with no run. Any other start (a date, a repeat, an event, after another task) saves a workflow\n * that creates the work when it fires. The request mapping is shared with every host (and tested in\n * blocks): `taskComposerToCreateRequest` decides which.\n *\n * Workspace authorization is a per-run, least-privilege choice (`auth_mode`) composed over the shipped\n * workspace-access-request + grant machinery:\n * - Now -> no tier: the query runs as the person asking, with their own access.\n * - Workflow -> `scheduled_require_auth` by default (asks at run time), or `scheduled_permanent`\n * (\"keep access\"): standing membership so unattended runs can decrypt while the owner\n * is away. Only this tier grants membership.\n */\n\nimport {\n useCreateWorkflow,\n useGrantAgentAccess,\n useRunWorkflow,\n useUpdateWorkflow,\n useDocuments,\n useArbiSessionState,\n useCreateWork,\n useStartTaskQuery,\n useUpdateConversation,\n} from '@arbidocs/react'\nimport { getDocumentTitle } from '@arbidocs/react/ui'\nimport type { components } from '@arbidocs/client'\nimport { useCallback, useMemo } from 'react'\nimport {\n composerToWorkflowUpdate,\n taskComposerToCreateRequest,\n taskComposerToUpdateRequest,\n} from '../../agents/tasks/taskRequest'\nimport { type TaskComposerValues } from '../../agents/tasks/taskComposerTypes'\nimport { type WorkflowDefinition } from '../../agents/workflows/types'\nimport type { TaskPlan } from '../../agents/workflows/planSteps'\nimport { useBlocksEnvironment } from '../../provider/environment'\n\ntype Task = components['schemas']['ConversationResponse']\ntype Workflow = components['schemas']['WorkflowResponse']\n\nexport interface TaskSubmitContext {\n workflow: WorkflowDefinition\n values: TaskComposerValues\n /** Goal checklist for agent work, if one was drafted. */\n plan?: TaskPlan | null\n}\n\n/** What a composer submission created. `ran` is null for work no agent runs. */\nexport type CreateOutcome =\n | { kind: 'work'; task: Pick<Task, 'title'> & { external_id?: string }; ran: boolean | null }\n | { kind: 'workflow'; workflow: Workflow }\n\nexport function useWorkflowTasks() {\n const runWorkflow = useRunWorkflow()\n const startQuery = useStartTaskQuery()\n const createWorkflow = useCreateWorkflow()\n const updateConversation = useUpdateConversation()\n const updateWorkflowMutation = useUpdateWorkflow()\n const activeWorkspaceId = useArbiSessionState((s) => s.workspaceId)\n const createWork = useCreateWork({ workspaceId: activeWorkspaceId })\n const { openFiles } = useBlocksEnvironment()\n\n // Standing access for a workflow's agent, so its unattended runs can read the workspace. An agent\n // that is already a member makes the server refuse the re-grant: that is no failure here.\n const { mutateAsync: grant } = useGrantAgentAccess()\n const grantAgentAccess = useCallback(\n (agentExtId: string, workspaceId: string) =>\n grant({ agentExtId, workspaceId }).then(\n () => undefined,\n () => undefined\n ),\n [grant]\n )\n // File names for the prompt's wording (\"the document <name>\"): the server is told the ids as well.\n const { data: documents = [] } = useDocuments()\n const documentTitles = useMemo(\n () =>\n Object.fromEntries(documents.map((d) => [d.external_id, getDocumentTitle(d, d.external_id)])),\n [documents]\n )\n\n /**\n * Create work or a workflow. `forceWorkflow` is for the workflow dialog, where even a reminder is\n * saved as a workflow.\n */\n const create = useCallback(\n async (ctx: TaskSubmitContext, forceWorkflow = false): Promise<CreateOutcome> => {\n const request = taskComposerToCreateRequest(\n { ...ctx, documentTitles, plan: ctx.plan ?? null },\n activeWorkspaceId ?? undefined,\n forceWorkflow\n )\n if (request.kind === 'workflow') {\n const workflow = await createWorkflow.mutateAsync(request.body)\n // Keep access: deposit the key for the agent the server assigned (the Assistant when none was\n // picked), while the owner is here, so unattended runs start on their own.\n const workspaceId = workflow.workspace_ext_id ?? request.body.workspace_ext_id\n if (\n workflow.auth_mode === 'scheduled_permanent' &&\n !workflow.on_demand &&\n workflow.agent_ext_id &&\n workspaceId\n ) {\n await grantAgentAccess(workflow.agent_ext_id, workspaceId)\n }\n if (ctx.workflow.documentAction && ctx.values.when === 'now' && !forceWorkflow) {\n const result = await runWorkflow.mutateAsync(workflow.external_id)\n if (result.error) throw new Error(result.error)\n openFiles()\n }\n return { kind: 'workflow', workflow }\n }\n if (request.kind === 'query') {\n // Run now is the person's own assistant query: it makes the thread a task and runs it.\n const { conversationId } = await startQuery.start(request.query)\n return {\n kind: 'work',\n task: { external_id: conversationId, title: request.query.task.title ?? null },\n ran: true,\n }\n }\n // A plain to-do (or reminder): a task with no run.\n const task = await createWork.mutateAsync(request.body)\n return { kind: 'work', task, ran: null }\n },\n [\n activeWorkspaceId,\n createWork,\n createWorkflow,\n documentTitles,\n grantAgentAccess,\n startQuery,\n runWorkflow,\n openFiles,\n ]\n )\n\n /** PATCH the editable fields of a task (the instruction, workspace and agent stay as created). */\n const update = useCallback(\n async (task: Pick<Task, 'external_id'> & { is_owner?: boolean }, ctx: TaskSubmitContext) => {\n const patch = taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null })\n // Who can see a task is its owner's to change: an editor's save leaves it out.\n if (task.is_owner === false) delete patch.shared\n await updateConversation.mutateAsync({ conversationId: task.external_id, patch })\n },\n [updateConversation]\n )\n\n /** PATCH a workflow: its name, trigger and action. */\n const updateWorkflow = useCallback(\n async (\n workflow: Pick<Workflow, 'external_id' | 'agent_ext_id' | 'workspace_ext_id'> & {\n is_owner?: boolean\n },\n ctx: TaskSubmitContext\n ) => {\n const patch = composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null })\n // Sharing a workflow is its owner's: an editor's save leaves it out.\n if (workflow.is_owner === false) delete patch.shared\n const workspaceId = workflow.workspace_ext_id ?? activeWorkspaceId\n const updated = await updateWorkflowMutation.mutateAsync({\n workflowId: workflow.external_id,\n patch,\n })\n // The agent the server keeps (the Assistant when none was picked) gets the key for unattended runs.\n const agentId = updated.agent_ext_id ?? patch.agent_ext_id ?? workflow.agent_ext_id\n if (\n updated.auth_mode === 'scheduled_permanent' &&\n !updated.on_demand &&\n agentId &&\n workspaceId\n ) {\n await grantAgentAccess(agentId, workspaceId)\n }\n },\n [activeWorkspaceId, documentTitles, grantAgentAccess, updateWorkflowMutation]\n )\n\n return {\n create,\n update,\n updateWorkflow,\n isPending:\n createWork.isPending ||\n startQuery.isPending ||\n createWorkflow.isPending ||\n updateConversation.isPending ||\n updateWorkflowMutation.isPending,\n }\n}\n"]}
@@ -6,8 +6,8 @@ var chunkOSR3GCJG_cjs = require('../chunk-OSR3GCJG.cjs');
6
6
  require('../chunk-7G2LJMUG.cjs');
7
7
  var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
8
8
  require('../chunk-XNXNLXIC.cjs');
9
- var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
10
9
  require('../chunk-FX3K6LNZ.cjs');
10
+ var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
11
11
  require('../chunk-ULWRNGGE.cjs');
12
12
  require('../chunk-PLIF5CUV.cjs');
13
13
  require('../chunk-DES3K4SD.cjs');
@@ -4,8 +4,8 @@ export { ActionMenu, AddContactsForm, AddContactsResults, DEFAULT_ADD_CONTACTS_L
4
4
  import '../chunk-NBV56SGU.js';
5
5
  export { DEFAULT_SHARE_CONTROL_LABELS, ShareControl } from '../chunk-K4BGOPGG.js';
6
6
  import '../chunk-IU5CHOEU.js';
7
- export { DEFAULT_DM_INVITE_CHIP_LABELS, DmInviteChip, DmThreadHeader } from '../chunk-2S3LT5KE.js';
8
7
  import '../chunk-SLSBJRWW.js';
8
+ export { DEFAULT_DM_INVITE_CHIP_LABELS, DmInviteChip, DmThreadHeader } from '../chunk-2S3LT5KE.js';
9
9
  import '../chunk-TX2ZICS7.js';
10
10
  import '../chunk-UP3GCNPM.js';
11
11
  import '../chunk-VUNV25KB.js';
@@ -1,70 +1,70 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkYPTZNQPJ_cjs = require('../chunk-YPTZNQPJ.cjs');
5
- var chunkVJAMDAR6_cjs = require('../chunk-VJAMDAR6.cjs');
4
+ var chunkYP4FDWK3_cjs = require('../chunk-YP4FDWK3.cjs');
5
+ var chunkI727LFZM_cjs = require('../chunk-I727LFZM.cjs');
6
6
  require('../chunk-7JCVFSHX.cjs');
7
7
  require('../chunk-NWD6SCNB.cjs');
8
- var chunk5OUOPKGE_cjs = require('../chunk-5OUOPKGE.cjs');
8
+ var chunkC67B5OL7_cjs = require('../chunk-C67B5OL7.cjs');
9
9
  require('../chunk-464YPRAE.cjs');
10
10
  require('../chunk-MI7GQZIZ.cjs');
11
11
  require('../chunk-53RXGFJ6.cjs');
12
- require('../chunk-QN5GTCPB.cjs');
12
+ require('../chunk-BM2B6RWH.cjs');
13
13
  require('../chunk-DDWLMYRO.cjs');
14
14
  require('../chunk-ZESMRGDV.cjs');
15
15
  require('../chunk-JIOHDVWH.cjs');
16
16
  require('../chunk-RC25WMVB.cjs');
17
- require('../chunk-KCP42W67.cjs');
17
+ require('../chunk-75BNMCUX.cjs');
18
+ require('../chunk-P5D5GKVH.cjs');
18
19
  require('../chunk-3YEXZX4H.cjs');
19
- require('../chunk-FDNIK5YS.cjs');
20
+ require('../chunk-GAJ5HESV.cjs');
20
21
  require('../chunk-DX3Z2COD.cjs');
22
+ require('../chunk-QGVOT7E4.cjs');
23
+ require('../chunk-QRAQZTJE.cjs');
21
24
  require('../chunk-4PA6VCCR.cjs');
22
25
  require('../chunk-AHDJXIUB.cjs');
23
26
  require('../chunk-RL2HI6NP.cjs');
24
27
  require('../chunk-6UZC4XVV.cjs');
28
+ require('../chunk-UDSHVNU3.cjs');
25
29
  require('../chunk-TTPJ2G3G.cjs');
30
+ require('../chunk-IPSHAMO2.cjs');
26
31
  require('../chunk-XNXNLXIC.cjs');
32
+ require('../chunk-FX3K6LNZ.cjs');
27
33
  require('../chunk-VZOOGA47.cjs');
28
34
  require('../chunk-D3GZWKHW.cjs');
29
35
  require('../chunk-TJQMC7GJ.cjs');
30
36
  require('../chunk-LUO46ELJ.cjs');
31
37
  require('../chunk-SJSGSHIT.cjs');
32
- require('../chunk-ZW6FPIFC.cjs');
33
- require('../chunk-75BNMCUX.cjs');
34
- require('../chunk-QGVOT7E4.cjs');
35
- require('../chunk-QRAQZTJE.cjs');
36
- require('../chunk-UDSHVNU3.cjs');
37
- require('../chunk-IPSHAMO2.cjs');
38
- require('../chunk-FX3K6LNZ.cjs');
39
38
  require('../chunk-PPCATBOY.cjs');
39
+ require('../chunk-ZW6FPIFC.cjs');
40
+ require('../chunk-LJJJ6CYH.cjs');
40
41
  require('../chunk-WGWP4ATS.cjs');
41
42
  require('../chunk-JDFBEGQO.cjs');
42
43
  require('../chunk-ULWRNGGE.cjs');
43
- require('../chunk-LJJJ6CYH.cjs');
44
44
  require('../chunk-PLIF5CUV.cjs');
45
45
  require('../chunk-DES3K4SD.cjs');
46
46
  var react = require('react');
47
47
 
48
48
  function useConnectedMailWordEditor() {
49
- const adapter = chunk5OUOPKGE_cjs.useConnectedNativeDocxAdapter();
49
+ const adapter = chunkC67B5OL7_cjs.useConnectedNativeDocxAdapter();
50
50
  return react.useMemo(() => ({ adapter }), [adapter]);
51
51
  }
52
52
 
53
53
  Object.defineProperty(exports, "ConnectedNativeDocxComparison", {
54
54
  enumerable: true,
55
- get: function () { return chunkYPTZNQPJ_cjs.ConnectedNativeDocxComparison; }
55
+ get: function () { return chunkYP4FDWK3_cjs.ConnectedNativeDocxComparison; }
56
56
  });
57
57
  Object.defineProperty(exports, "ConnectedStreamedWordArtifact", {
58
58
  enumerable: true,
59
- get: function () { return chunkVJAMDAR6_cjs.ConnectedStreamedWordArtifact; }
59
+ get: function () { return chunkI727LFZM_cjs.ConnectedStreamedWordArtifact; }
60
60
  });
61
61
  Object.defineProperty(exports, "ConnectedNativeDocxEditor", {
62
62
  enumerable: true,
63
- get: function () { return chunk5OUOPKGE_cjs.ConnectedNativeDocxEditor; }
63
+ get: function () { return chunkC67B5OL7_cjs.ConnectedNativeDocxEditor; }
64
64
  });
65
65
  Object.defineProperty(exports, "useConnectedNativeDocxAdapter", {
66
66
  enumerable: true,
67
- get: function () { return chunk5OUOPKGE_cjs.useConnectedNativeDocxAdapter; }
67
+ get: function () { return chunkC67B5OL7_cjs.useConnectedNativeDocxAdapter; }
68
68
  });
69
69
  exports.useConnectedMailWordEditor = useConnectedMailWordEditor;
70
70
  //# sourceMappingURL=docx.cjs.map
@@ -1,45 +1,45 @@
1
1
  "use client";
2
- export { ConnectedNativeDocxComparison } from '../chunk-2VHZUSFW.js';
3
- export { ConnectedStreamedWordArtifact } from '../chunk-KUI2IC7W.js';
2
+ export { ConnectedNativeDocxComparison } from '../chunk-OUORCDQD.js';
3
+ export { ConnectedStreamedWordArtifact } from '../chunk-7OUI4S7X.js';
4
4
  import '../chunk-2CBB34K3.js';
5
5
  import '../chunk-LAU6YOK3.js';
6
- import { useConnectedNativeDocxAdapter } from '../chunk-IIUEDF3F.js';
7
- export { ConnectedNativeDocxEditor, useConnectedNativeDocxAdapter } from '../chunk-IIUEDF3F.js';
6
+ import { useConnectedNativeDocxAdapter } from '../chunk-LZAID6RY.js';
7
+ export { ConnectedNativeDocxEditor, useConnectedNativeDocxAdapter } from '../chunk-LZAID6RY.js';
8
8
  import '../chunk-MTSKK3BN.js';
9
9
  import '../chunk-UV5JCKBT.js';
10
10
  import '../chunk-AYIPCUPG.js';
11
- import '../chunk-BMHW7WTF.js';
11
+ import '../chunk-LPHUB6EC.js';
12
12
  import '../chunk-TROXWCQQ.js';
13
13
  import '../chunk-IA5BYEO7.js';
14
14
  import '../chunk-IYUKJESY.js';
15
15
  import '../chunk-AF6RDAJF.js';
16
- import '../chunk-PGCKTXYH.js';
16
+ import '../chunk-7SQVZML4.js';
17
+ import '../chunk-E23QC3K5.js';
17
18
  import '../chunk-4QUUU7GH.js';
18
- import '../chunk-J3E5CSSC.js';
19
+ import '../chunk-ETUFJZKO.js';
19
20
  import '../chunk-HZE5MHQO.js';
21
+ import '../chunk-XEZCSRFG.js';
22
+ import '../chunk-ECYOIRXR.js';
20
23
  import '../chunk-ZQ5YTC3P.js';
21
24
  import '../chunk-RLWIUUQ5.js';
22
25
  import '../chunk-L3BEWZWT.js';
23
26
  import '../chunk-P4CH2ATT.js';
27
+ import '../chunk-XDDORJPA.js';
24
28
  import '../chunk-U53SIJES.js';
29
+ import '../chunk-X5YMI6A7.js';
25
30
  import '../chunk-IU5CHOEU.js';
31
+ import '../chunk-SLSBJRWW.js';
26
32
  import '../chunk-WNDIVNPT.js';
27
33
  import '../chunk-LWEX3AOZ.js';
28
34
  import '../chunk-NUOMPVKQ.js';
29
35
  import '../chunk-BH4MK2J5.js';
30
36
  import '../chunk-USTSEENR.js';
31
- import '../chunk-P6GHJSLR.js';
32
- import '../chunk-7SQVZML4.js';
33
- import '../chunk-XEZCSRFG.js';
34
- import '../chunk-ECYOIRXR.js';
35
- import '../chunk-XDDORJPA.js';
36
- import '../chunk-X5YMI6A7.js';
37
- import '../chunk-SLSBJRWW.js';
38
37
  import '../chunk-NPLYHR2E.js';
38
+ import '../chunk-P6GHJSLR.js';
39
+ import '../chunk-SV65E4QW.js';
39
40
  import '../chunk-YUHSDOPW.js';
40
41
  import '../chunk-WTTPZMZ7.js';
41
42
  import '../chunk-TX2ZICS7.js';
42
- import '../chunk-SV65E4QW.js';
43
43
  import '../chunk-UP3GCNPM.js';
44
44
  import '../chunk-VUNV25KB.js';
45
45
  import { useMemo } from 'react';