@arbidocs/blocks 0.5.29 → 0.5.30

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 (202) hide show
  1. package/dist/{ConnectedCallDock-FDGMFTS5.js → ConnectedCallDock-AWSOPETT.js} +12 -12
  2. package/dist/{ConnectedCallDock-FDGMFTS5.js.map → ConnectedCallDock-AWSOPETT.js.map} +1 -1
  3. package/dist/{ConnectedCallDock-ZIX2ZJCD.cjs → ConnectedCallDock-GM4KOBBS.cjs} +13 -13
  4. package/dist/{ConnectedCallDock-ZIX2ZJCD.cjs.map → ConnectedCallDock-GM4KOBBS.cjs.map} +1 -1
  5. package/dist/{ConnectedCallRoom-VJIHEJ4X.js → ConnectedCallRoom-JMB74KTV.js} +12 -12
  6. package/dist/{ConnectedCallRoom-VJIHEJ4X.js.map → ConnectedCallRoom-JMB74KTV.js.map} +1 -1
  7. package/dist/{ConnectedCallRoom-WZQVXDDW.cjs → ConnectedCallRoom-QE2MMJ6M.cjs} +13 -13
  8. package/dist/{ConnectedCallRoom-WZQVXDDW.cjs.map → ConnectedCallRoom-QE2MMJ6M.cjs.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-KSLSDAAP.cjs → ConnectedNativeDocxComparison-P7IHRMCS.cjs} +17 -17
  10. package/dist/{ConnectedNativeDocxComparison-KSLSDAAP.cjs.map → ConnectedNativeDocxComparison-P7IHRMCS.cjs.map} +1 -1
  11. package/dist/{ConnectedNativeDocxComparison-7ZC7BRY4.js → ConnectedNativeDocxComparison-T6JRDIMR.js} +16 -16
  12. package/dist/{ConnectedNativeDocxComparison-7ZC7BRY4.js.map → ConnectedNativeDocxComparison-T6JRDIMR.js.map} +1 -1
  13. package/dist/{ConnectedNativeDocxEditor-5E64Q7FX.cjs → ConnectedNativeDocxEditor-HBV5EJ63.cjs} +17 -17
  14. package/dist/{ConnectedNativeDocxEditor-5E64Q7FX.cjs.map → ConnectedNativeDocxEditor-HBV5EJ63.cjs.map} +1 -1
  15. package/dist/{ConnectedNativeDocxEditor-B5KDDPRY.js → ConnectedNativeDocxEditor-X6YNPGRL.js} +15 -15
  16. package/dist/{ConnectedNativeDocxEditor-B5KDDPRY.js.map → ConnectedNativeDocxEditor-X6YNPGRL.js.map} +1 -1
  17. package/dist/{ConnectedStreamedWordArtifact-RLU5VYGO.cjs → ConnectedStreamedWordArtifact-GYJEQO4M.cjs} +17 -17
  18. package/dist/ConnectedStreamedWordArtifact-GYJEQO4M.cjs.map +1 -0
  19. package/dist/{ConnectedStreamedWordArtifact-YCQSIGXL.js → ConnectedStreamedWordArtifact-X7R6PBRT.js} +16 -16
  20. package/dist/ConnectedStreamedWordArtifact-X7R6PBRT.js.map +1 -0
  21. package/dist/{WorkspaceTableView-BUWRSR42.cjs → WorkspaceTableView-FTQZJDRB.cjs} +10 -10
  22. package/dist/{WorkspaceTableView-BUWRSR42.cjs.map → WorkspaceTableView-FTQZJDRB.cjs.map} +1 -1
  23. package/dist/{WorkspaceTableView-62PJLX7V.js → WorkspaceTableView-NWRVACJL.js} +8 -8
  24. package/dist/{WorkspaceTableView-62PJLX7V.js.map → WorkspaceTableView-NWRVACJL.js.map} +1 -1
  25. package/dist/agents/index.cjs +373 -373
  26. package/dist/agents/index.js +11 -11
  27. package/dist/calls/index.cjs +39 -39
  28. package/dist/calls/index.js +7 -7
  29. package/dist/chat/index.cjs +167 -167
  30. package/dist/chat/index.js +9 -9
  31. package/dist/{chunk-CPJ2B3QQ.cjs → chunk-24Y36OK6.cjs} +9 -9
  32. package/dist/{chunk-CPJ2B3QQ.cjs.map → chunk-24Y36OK6.cjs.map} +1 -1
  33. package/dist/{chunk-XDFH6ONO.cjs → chunk-2DO5YPDH.cjs} +16 -16
  34. package/dist/{chunk-XDFH6ONO.cjs.map → chunk-2DO5YPDH.cjs.map} +1 -1
  35. package/dist/{chunk-GJI5PEGR.js → chunk-2JARBDEK.js} +4 -4
  36. package/dist/{chunk-GJI5PEGR.js.map → chunk-2JARBDEK.js.map} +1 -1
  37. package/dist/{chunk-HT62K3UO.cjs → chunk-3YVWAYXU.cjs} +4 -4
  38. package/dist/{chunk-HT62K3UO.cjs.map → chunk-3YVWAYXU.cjs.map} +1 -1
  39. package/dist/{chunk-EJSVRT3G.js → chunk-5VSMJ674.js} +56 -66
  40. package/dist/chunk-5VSMJ674.js.map +1 -0
  41. package/dist/{chunk-XGUN44A4.js → chunk-5XG7YD4V.js} +8 -8
  42. package/dist/{chunk-XGUN44A4.js.map → chunk-5XG7YD4V.js.map} +1 -1
  43. package/dist/{chunk-EVV32AXB.cjs → chunk-62G4HK7C.cjs} +6 -6
  44. package/dist/{chunk-EVV32AXB.cjs.map → chunk-62G4HK7C.cjs.map} +1 -1
  45. package/dist/{chunk-7U2DNPMZ.cjs → chunk-63FOCF46.cjs} +12 -12
  46. package/dist/{chunk-7U2DNPMZ.cjs.map → chunk-63FOCF46.cjs.map} +1 -1
  47. package/dist/{chunk-NIS5TLOM.cjs → chunk-6LVVW6VB.cjs} +4 -4
  48. package/dist/{chunk-NIS5TLOM.cjs.map → chunk-6LVVW6VB.cjs.map} +1 -1
  49. package/dist/{chunk-JS7KJRKG.js → chunk-75Z5AUMM.js} +3 -3
  50. package/dist/{chunk-JS7KJRKG.js.map → chunk-75Z5AUMM.js.map} +1 -1
  51. package/dist/{chunk-CRUCMRFC.cjs → chunk-76G2DAOF.cjs} +18 -18
  52. package/dist/{chunk-CRUCMRFC.cjs.map → chunk-76G2DAOF.cjs.map} +1 -1
  53. package/dist/{chunk-AHYSHKPL.cjs → chunk-7THRBD42.cjs} +57 -16
  54. package/dist/chunk-7THRBD42.cjs.map +1 -0
  55. package/dist/{chunk-SBHWRN2D.js → chunk-BBSXBABG.js} +3 -3
  56. package/dist/{chunk-SBHWRN2D.js.map → chunk-BBSXBABG.js.map} +1 -1
  57. package/dist/{chunk-WG2VDUEI.cjs → chunk-BVMPP574.cjs} +4 -4
  58. package/dist/{chunk-WG2VDUEI.cjs.map → chunk-BVMPP574.cjs.map} +1 -1
  59. package/dist/{chunk-3IRIITUW.cjs → chunk-BVXI7W7Z.cjs} +9 -9
  60. package/dist/{chunk-3IRIITUW.cjs.map → chunk-BVXI7W7Z.cjs.map} +1 -1
  61. package/dist/{chunk-EVYUYVH2.cjs → chunk-C5J74Y6N.cjs} +5 -5
  62. package/dist/{chunk-EVYUYVH2.cjs.map → chunk-C5J74Y6N.cjs.map} +1 -1
  63. package/dist/{chunk-WY626DNG.cjs → chunk-CGUDTSGI.cjs} +10 -10
  64. package/dist/{chunk-WY626DNG.cjs.map → chunk-CGUDTSGI.cjs.map} +1 -1
  65. package/dist/{chunk-WBCGVEJX.js → chunk-CMTAOVUX.js} +3 -3
  66. package/dist/{chunk-WBCGVEJX.js.map → chunk-CMTAOVUX.js.map} +1 -1
  67. package/dist/{chunk-OGADWN5L.js → chunk-DHTBHALC.js} +4 -4
  68. package/dist/{chunk-OGADWN5L.js.map → chunk-DHTBHALC.js.map} +1 -1
  69. package/dist/{chunk-UXIMEFEF.js → chunk-DWERY33L.js} +8 -8
  70. package/dist/{chunk-UXIMEFEF.js.map → chunk-DWERY33L.js.map} +1 -1
  71. package/dist/{chunk-A634VUNB.js → chunk-EPNJOP2M.js} +5 -5
  72. package/dist/{chunk-A634VUNB.js.map → chunk-EPNJOP2M.js.map} +1 -1
  73. package/dist/{chunk-4RMI6D64.cjs → chunk-EZLZ3MDU.cjs} +3 -3
  74. package/dist/{chunk-4RMI6D64.cjs.map → chunk-EZLZ3MDU.cjs.map} +1 -1
  75. package/dist/{chunk-3OKBEVP3.js → chunk-FAILAFD6.js} +3 -3
  76. package/dist/{chunk-3OKBEVP3.js.map → chunk-FAILAFD6.js.map} +1 -1
  77. package/dist/{chunk-OZSAQJO4.js → chunk-FODIZWMX.js} +3 -3
  78. package/dist/{chunk-OZSAQJO4.js.map → chunk-FODIZWMX.js.map} +1 -1
  79. package/dist/{chunk-V2GEULRG.cjs → chunk-GK35JEWW.cjs} +4 -4
  80. package/dist/{chunk-V2GEULRG.cjs.map → chunk-GK35JEWW.cjs.map} +1 -1
  81. package/dist/{chunk-52GITM4V.cjs → chunk-GNWQS6S4.cjs} +144 -154
  82. package/dist/{chunk-EJSVRT3G.js.map → chunk-GNWQS6S4.cjs.map} +1 -1
  83. package/dist/{chunk-R3HZBTE3.cjs → chunk-HMEP4EZ3.cjs} +4 -4
  84. package/dist/{chunk-R3HZBTE3.cjs.map → chunk-HMEP4EZ3.cjs.map} +1 -1
  85. package/dist/{chunk-5ETT7ZIO.js → chunk-IYKGI2DQ.js} +3 -3
  86. package/dist/{chunk-5ETT7ZIO.js.map → chunk-IYKGI2DQ.js.map} +1 -1
  87. package/dist/{chunk-3PQPA5K6.cjs → chunk-J4VP2PQJ.cjs} +28 -28
  88. package/dist/{chunk-3PQPA5K6.cjs.map → chunk-J4VP2PQJ.cjs.map} +1 -1
  89. package/dist/{chunk-TY76UEFK.js → chunk-JLJVEQFN.js} +6 -6
  90. package/dist/{chunk-TY76UEFK.js.map → chunk-JLJVEQFN.js.map} +1 -1
  91. package/dist/{chunk-G3MZ5S2Q.js → chunk-KYHDMUPW.js} +3 -3
  92. package/dist/{chunk-G3MZ5S2Q.js.map → chunk-KYHDMUPW.js.map} +1 -1
  93. package/dist/{chunk-DF2GSH4D.js → chunk-L2MMIC3S.js} +3 -3
  94. package/dist/{chunk-DF2GSH4D.js.map → chunk-L2MMIC3S.js.map} +1 -1
  95. package/dist/{chunk-46XON6PW.js → chunk-L4Q7FWBQ.js} +3 -3
  96. package/dist/{chunk-46XON6PW.js.map → chunk-L4Q7FWBQ.js.map} +1 -1
  97. package/dist/{chunk-OQCUIN6Z.cjs → chunk-M6N7XJH7.cjs} +5 -5
  98. package/dist/{chunk-OQCUIN6Z.cjs.map → chunk-M6N7XJH7.cjs.map} +1 -1
  99. package/dist/{chunk-MTHAQGJB.js → chunk-MNLMPH45.js} +3 -3
  100. package/dist/{chunk-MTHAQGJB.js.map → chunk-MNLMPH45.js.map} +1 -1
  101. package/dist/{chunk-W43S7COD.js → chunk-NBQNDHOW.js} +4 -4
  102. package/dist/{chunk-W43S7COD.js.map → chunk-NBQNDHOW.js.map} +1 -1
  103. package/dist/{chunk-7YGUUUL7.cjs → chunk-NF7CGYZF.cjs} +4 -4
  104. package/dist/{chunk-7YGUUUL7.cjs.map → chunk-NF7CGYZF.cjs.map} +1 -1
  105. package/dist/{chunk-DNGA25ZA.js → chunk-NI3O4UZL.js} +5 -5
  106. package/dist/{chunk-DNGA25ZA.js.map → chunk-NI3O4UZL.js.map} +1 -1
  107. package/dist/{chunk-T3JW5BYG.cjs → chunk-OSCWFBRD.cjs} +4 -4
  108. package/dist/{chunk-T3JW5BYG.cjs.map → chunk-OSCWFBRD.cjs.map} +1 -1
  109. package/dist/{chunk-TKOP6WMD.js → chunk-OYKITGTK.js} +4 -4
  110. package/dist/{chunk-TKOP6WMD.js.map → chunk-OYKITGTK.js.map} +1 -1
  111. package/dist/{chunk-2TB4UDBH.js → chunk-PKDGP6ZH.js} +3 -3
  112. package/dist/{chunk-2TB4UDBH.js.map → chunk-PKDGP6ZH.js.map} +1 -1
  113. package/dist/{chunk-AKW4JLHQ.cjs → chunk-PO2QI2OI.cjs} +4 -4
  114. package/dist/{chunk-AKW4JLHQ.cjs.map → chunk-PO2QI2OI.cjs.map} +1 -1
  115. package/dist/{chunk-4UREQY5X.js → chunk-Q56LAJRP.js} +4 -4
  116. package/dist/{chunk-4UREQY5X.js.map → chunk-Q56LAJRP.js.map} +1 -1
  117. package/dist/{chunk-SQAVWMGV.cjs → chunk-R6GIDWEH.cjs} +59 -59
  118. package/dist/{chunk-SQAVWMGV.cjs.map → chunk-R6GIDWEH.cjs.map} +1 -1
  119. package/dist/{chunk-KKBYWVEL.js → chunk-SLGRQMHW.js} +5 -5
  120. package/dist/{chunk-KKBYWVEL.js.map → chunk-SLGRQMHW.js.map} +1 -1
  121. package/dist/{chunk-LXB756TN.cjs → chunk-SN5VHPF4.cjs} +3 -3
  122. package/dist/{chunk-LXB756TN.cjs.map → chunk-SN5VHPF4.cjs.map} +1 -1
  123. package/dist/{chunk-CJWZYK5K.cjs → chunk-SVL2OM7T.cjs} +5 -5
  124. package/dist/{chunk-CJWZYK5K.cjs.map → chunk-SVL2OM7T.cjs.map} +1 -1
  125. package/dist/{chunk-SSRFSSIT.js → chunk-TGVBLXLV.js} +52 -17
  126. package/dist/chunk-TGVBLXLV.js.map +1 -0
  127. package/dist/{chunk-DV25UPJ7.js → chunk-THNTNAYI.js} +3 -3
  128. package/dist/{chunk-DV25UPJ7.js.map → chunk-THNTNAYI.js.map} +1 -1
  129. package/dist/{chunk-AYAWG2CM.js → chunk-TNWJPTDG.js} +3 -3
  130. package/dist/{chunk-AYAWG2CM.js.map → chunk-TNWJPTDG.js.map} +1 -1
  131. package/dist/{chunk-SN7X7C7H.cjs → chunk-UAMY7KHW.cjs} +5 -5
  132. package/dist/{chunk-SN7X7C7H.cjs.map → chunk-UAMY7KHW.cjs.map} +1 -1
  133. package/dist/{chunk-H72SWOUS.js → chunk-VTGRCJLP.js} +3 -3
  134. package/dist/{chunk-H72SWOUS.js.map → chunk-VTGRCJLP.js.map} +1 -1
  135. package/dist/{chunk-W5PKYJX5.cjs → chunk-W6DDSZUD.cjs} +14 -14
  136. package/dist/{chunk-W5PKYJX5.cjs.map → chunk-W6DDSZUD.cjs.map} +1 -1
  137. package/dist/{chunk-ZXXXLYZY.cjs → chunk-WG2IPVLA.cjs} +7 -7
  138. package/dist/{chunk-ZXXXLYZY.cjs.map → chunk-WG2IPVLA.cjs.map} +1 -1
  139. package/dist/{chunk-RWU3C4MK.js → chunk-WLWY43FR.js} +3 -3
  140. package/dist/{chunk-RWU3C4MK.js.map → chunk-WLWY43FR.js.map} +1 -1
  141. package/dist/{chunk-OZRGYS3J.js → chunk-X3LM4KRW.js} +3 -3
  142. package/dist/{chunk-OZRGYS3J.js.map → chunk-X3LM4KRW.js.map} +1 -1
  143. package/dist/{chunk-IZJ3BOJO.js → chunk-XMDIXNLW.js} +3 -3
  144. package/dist/{chunk-IZJ3BOJO.js.map → chunk-XMDIXNLW.js.map} +1 -1
  145. package/dist/{chunk-7FKVJUR4.js → chunk-Y6F6UF2W.js} +3 -3
  146. package/dist/{chunk-7FKVJUR4.js.map → chunk-Y6F6UF2W.js.map} +1 -1
  147. package/dist/{chunk-F72ZD5Q2.cjs → chunk-YD3RN2FY.cjs} +3 -3
  148. package/dist/{chunk-F72ZD5Q2.cjs.map → chunk-YD3RN2FY.cjs.map} +1 -1
  149. package/dist/{chunk-QHWDV2VB.cjs → chunk-YJJNDKA3.cjs} +6 -6
  150. package/dist/{chunk-QHWDV2VB.cjs.map → chunk-YJJNDKA3.cjs.map} +1 -1
  151. package/dist/{chunk-NZCAWWV4.cjs → chunk-YP643FYT.cjs} +4 -4
  152. package/dist/{chunk-NZCAWWV4.cjs.map → chunk-YP643FYT.cjs.map} +1 -1
  153. package/dist/{chunk-BBTHGWZO.cjs → chunk-ZUOU54X3.cjs} +5 -5
  154. package/dist/{chunk-BBTHGWZO.cjs.map → chunk-ZUOU54X3.cjs.map} +1 -1
  155. package/dist/citations/index.cjs +10 -10
  156. package/dist/citations/index.js +2 -2
  157. package/dist/collaboration/index.cjs +9 -9
  158. package/dist/collaboration/index.js +1 -1
  159. package/dist/connect/docx.cjs +19 -19
  160. package/dist/connect/docx.js +15 -15
  161. package/dist/connect/index.cjs +1885 -1856
  162. package/dist/connect/index.cjs.map +1 -1
  163. package/dist/connect/index.d.ts +1 -0
  164. package/dist/connect/index.js +686 -659
  165. package/dist/connect/index.js.map +1 -1
  166. package/dist/connect/viewer.cjs +83 -83
  167. package/dist/connect/viewer.js +18 -18
  168. package/dist/connection/ConnectedSettings.d.ts +1 -1
  169. package/dist/connection/dialogs/ConnectedGlobalDialogs.d.ts +26 -0
  170. package/dist/connection/dialogs/index.d.ts +1 -0
  171. package/dist/connection/files/upload/ConnectedUploadDropzone.d.ts +2 -1
  172. package/dist/connection/workspace-access/access-review.d.ts +6 -0
  173. package/dist/facts/index.cjs +60 -60
  174. package/dist/facts/index.js +7 -7
  175. package/dist/files/index.cjs +225 -225
  176. package/dist/files/index.js +5 -5
  177. package/dist/home/index.cjs +31 -31
  178. package/dist/home/index.js +6 -6
  179. package/dist/index.cjs +780 -756
  180. package/dist/index.d.ts +2 -1
  181. package/dist/index.js +27 -27
  182. package/dist/provider/dialog-registry.d.ts +85 -0
  183. package/dist/provider/environment.d.ts +11 -11
  184. package/dist/retrieval/index.cjs +4 -4
  185. package/dist/retrieval/index.js +2 -2
  186. package/dist/settings/index.cjs +156 -156
  187. package/dist/settings/index.js +3 -3
  188. package/dist/shell/index.cjs +42 -42
  189. package/dist/shell/index.js +4 -4
  190. package/dist/studio/index.cjs +18 -18
  191. package/dist/studio/index.js +10 -10
  192. package/dist/workflow-canvas/index.cjs +69 -69
  193. package/dist/workflow-canvas/index.js +14 -14
  194. package/dist/workspaces/index.cjs +29 -29
  195. package/dist/workspaces/index.js +4 -4
  196. package/node_modules/@arbidocs/coedit/package.json +1 -1
  197. package/package.json +5 -5
  198. package/dist/ConnectedStreamedWordArtifact-RLU5VYGO.cjs.map +0 -1
  199. package/dist/ConnectedStreamedWordArtifact-YCQSIGXL.js.map +0 -1
  200. package/dist/chunk-52GITM4V.cjs.map +0 -1
  201. package/dist/chunk-AHYSHKPL.cjs.map +0 -1
  202. package/dist/chunk-SSRFSSIT.js.map +0 -1
@@ -2,17 +2,17 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkRFIBUWLF_cjs = require('./chunk-RFIBUWLF.cjs');
5
- var chunkWY626DNG_cjs = require('./chunk-WY626DNG.cjs');
6
- var chunkQHWDV2VB_cjs = require('./chunk-QHWDV2VB.cjs');
5
+ var chunkCGUDTSGI_cjs = require('./chunk-CGUDTSGI.cjs');
6
+ var chunkYJJNDKA3_cjs = require('./chunk-YJJNDKA3.cjs');
7
7
  var chunkSIB6C7P7_cjs = require('./chunk-SIB6C7P7.cjs');
8
8
  var chunkAHDJXIUB_cjs = require('./chunk-AHDJXIUB.cjs');
9
- var chunkNIS5TLOM_cjs = require('./chunk-NIS5TLOM.cjs');
10
- var chunkMEMWZ72Y_cjs = require('./chunk-MEMWZ72Y.cjs');
9
+ var chunk6LVVW6VB_cjs = require('./chunk-6LVVW6VB.cjs');
11
10
  var chunkLKK52DEY_cjs = require('./chunk-LKK52DEY.cjs');
12
- var chunk4RMI6D64_cjs = require('./chunk-4RMI6D64.cjs');
11
+ var chunkMEMWZ72Y_cjs = require('./chunk-MEMWZ72Y.cjs');
12
+ var chunkEZLZ3MDU_cjs = require('./chunk-EZLZ3MDU.cjs');
13
13
  var chunk76L6LOP3_cjs = require('./chunk-76L6LOP3.cjs');
14
14
  var chunkCQ2YSHIF_cjs = require('./chunk-CQ2YSHIF.cjs');
15
- var chunkAHYSHKPL_cjs = require('./chunk-AHYSHKPL.cjs');
15
+ var chunk7THRBD42_cjs = require('./chunk-7THRBD42.cjs');
16
16
  var chunkULWRNGGE_cjs = require('./chunk-ULWRNGGE.cjs');
17
17
  var chunkMHVNT4J3_cjs = require('./chunk-MHVNT4J3.cjs');
18
18
  var ui = require('@arbidocs/react/ui');
@@ -77,7 +77,7 @@ function defaultScopeRenderer(scopeSource) {
77
77
  if (!scopeSource) return void 0;
78
78
  return function renderScope(_field, value, onChange) {
79
79
  return /* @__PURE__ */ jsxRuntime.jsx(
80
- chunkQHWDV2VB_cjs.ScopePicker,
80
+ chunkYJJNDKA3_cjs.ScopePicker,
81
81
  {
82
82
  folders: scopeSource.folders,
83
83
  unfiledCount: scopeSource.unfiledCount,
@@ -210,7 +210,7 @@ function toStepField(f) {
210
210
  }
211
211
  var compact = (o) => Object.fromEntries(Object.entries(o).filter(([, v]) => v !== void 0 && v !== ""));
212
212
  function placeholders(workflow) {
213
- return Object.fromEntries(chunk4RMI6D64_cjs.runFields(workflow).map((f) => [f.name, `{{${f.name}}}`]));
213
+ return Object.fromEntries(chunkEZLZ3MDU_cjs.runFields(workflow).map((f) => [f.name, `{{${f.name}}}`]));
214
214
  }
215
215
  function agentStep(workflow, step, options) {
216
216
  const target = step.workflow ? options.resolveWorkflow?.(step.workflow) : void 0;
@@ -219,11 +219,11 @@ function agentStep(workflow, step, options) {
219
219
  ([, v]) => v !== void 0 && v !== null && v !== ""
220
220
  );
221
221
  const inputs = { ...placeholders(workflow), ...Object.fromEntries(given) };
222
- return { skill: null, inputs: null, prompt: chunk4RMI6D64_cjs.composeStepPrompt(workflow, step, inputs, options) };
222
+ return { skill: null, inputs: null, prompt: chunkEZLZ3MDU_cjs.composeStepPrompt(workflow, step, inputs, options) };
223
223
  }
224
224
  function toPlanSteps(workflow, options = {}) {
225
225
  const layout = workflow.run.kind === "steps" ? workflow.run.layout : void 0;
226
- return chunk4RMI6D64_cjs.workflowSteps(workflow).map((step) => {
226
+ return chunkEZLZ3MDU_cjs.workflowSteps(workflow).map((step) => {
227
227
  const ui = compact({
228
228
  description: step.description,
229
229
  icon: step.icon,
@@ -250,8 +250,8 @@ function toPlanSteps(workflow, options = {}) {
250
250
  ui,
251
251
  // An unfinished signal (still being typed) is not saved: the server would refuse it.
252
252
  ...step.signals?.some((s) => !isIncompleteSignal(s)) ? { signals: step.signals.filter((s) => !isIncompleteSignal(s)).map(toPlanSignal) } : {},
253
- ...step.assignee && chunk4RMI6D64_cjs.canAssign(step) ? { assignee: toPlanAssignee(step.assignee) } : {},
254
- ...step.remindAfterHours && chunk4RMI6D64_cjs.canAssign(step) ? { remind_after_hours: step.remindAfterHours } : {},
253
+ ...step.assignee && chunkEZLZ3MDU_cjs.canAssign(step) ? { assignee: toPlanAssignee(step.assignee) } : {},
254
+ ...step.remindAfterHours && chunkEZLZ3MDU_cjs.canAssign(step) ? { remind_after_hours: step.remindAfterHours } : {},
255
255
  // A review's fields are what approving it is checked against (the server's `fields`).
256
256
  ...step.kind === "review" && step.fields?.length ? { fields: step.fields.map(toStepField) } : {},
257
257
  ...step.kind === "action" ? { action: toPlanAction(step.action) } : {},
@@ -396,7 +396,7 @@ function workflowFromSkillMarkdown(id, text2) {
396
396
  var errorMessage = (e) => e instanceof Error ? e.message : typeof e === "string" ? e : "Something went wrong.";
397
397
  function firstOpen(steps, states) {
398
398
  const open = steps.find((s) => !["done", "skipped"].includes(states[s.id]?.status ?? "pending"));
399
- return open?.id ?? (steps.length && chunk4RMI6D64_cjs.isRunFinished(steps, states) ? null : steps[0]?.id ?? null);
399
+ return open?.id ?? (steps.length && chunkEZLZ3MDU_cjs.isRunFinished(steps, states) ? null : steps[0]?.id ?? null);
400
400
  }
401
401
  function useWorkflowView(options) {
402
402
  const { steps, states, inputs, setInput, loaded = true } = options;
@@ -436,11 +436,11 @@ function useWorkflowView(options) {
436
436
  }),
437
437
  []
438
438
  );
439
- const action = busy ? "wait" : chunk4RMI6D64_cjs.nextAction(steps, states, current, actionOptions(options));
439
+ const action = busy ? "wait" : chunkEZLZ3MDU_cjs.nextAction(steps, states, current, actionOptions(options));
440
440
  const next = react.useCallback(async () => {
441
441
  const { steps: s, states: st, inputs: values } = optionsRef.current;
442
442
  const at = s.find((x) => x.id === current);
443
- const act2 = chunk4RMI6D64_cjs.nextAction(s, st, current, actionOptions(optionsRef.current));
443
+ const act2 = chunkEZLZ3MDU_cjs.nextAction(s, st, current, actionOptions(optionsRef.current));
444
444
  if (!at || act2 === "wait" || busy) return;
445
445
  setActionError(null);
446
446
  if (act2 === "finish") return setCurrent(null);
@@ -451,7 +451,7 @@ function useWorkflowView(options) {
451
451
  await (act2 === "start" ? optionsRef.current.start?.() : optionsRef.current.retry?.(at.id));
452
452
  return;
453
453
  }
454
- if (Object.keys(chunk4RMI6D64_cjs.validateStep(at, values)).length > 0) {
454
+ if (Object.keys(chunkEZLZ3MDU_cjs.validateStep(at, values)).length > 0) {
455
455
  setShowErrors(true);
456
456
  return;
457
457
  }
@@ -552,10 +552,10 @@ function useWorkflowView(options) {
552
552
  inputs,
553
553
  setInput,
554
554
  stateOf: (id) => states[id],
555
- phaseOf: (id) => chunk4RMI6D64_cjs.stepPhase(steps, states, id),
556
- failedUpstreamOf: (id) => chunk4RMI6D64_cjs.failedUpstream(steps, states, id),
555
+ phaseOf: (id) => chunkEZLZ3MDU_cjs.stepPhase(steps, states, id),
556
+ failedUpstreamOf: (id) => chunkEZLZ3MDU_cjs.failedUpstream(steps, states, id),
557
557
  isLocked,
558
- errors: showErrors && step && !isLocked(step.id) ? chunk4RMI6D64_cjs.validateStep(step, inputs) : {},
558
+ errors: showErrors && step && !isLocked(step.id) ? chunkEZLZ3MDU_cjs.validateStep(step, inputs) : {},
559
559
  busy,
560
560
  actionError,
561
561
  isRunning: Object.values(states).some((s) => s.status === "running"),
@@ -573,11 +573,11 @@ function useWorkflowView(options) {
573
573
  nameOf: options.nameOf,
574
574
  assigneeOf: (id) => {
575
575
  const s = steps.find((x) => x.id === id);
576
- if (!s || !chunk4RMI6D64_cjs.canAssign(s)) return void 0;
577
- return chunk4RMI6D64_cjs.assigneeName(s.assignee, {
576
+ if (!s || !chunkEZLZ3MDU_cjs.canAssign(s)) return void 0;
577
+ return chunkEZLZ3MDU_cjs.assigneeName(s.assignee, {
578
578
  nameOf: options.nameOf,
579
579
  inputs,
580
- fields: chunk4RMI6D64_cjs.runFieldsOf(steps),
580
+ fields: chunkEZLZ3MDU_cjs.runFieldsOf(steps),
581
581
  announcedTo: states[id]?.announcedTo
582
582
  });
583
583
  },
@@ -711,7 +711,7 @@ function StepBarFrame({
711
711
  }) {
712
712
  const l = { ...DEFAULT_STEP_BAR_LABELS, ...labels };
713
713
  const box = react.useRef(null);
714
- const { width } = chunk4RMI6D64_cjs.useElementSize(box);
714
+ const { width } = chunkEZLZ3MDU_cjs.useElementSize(box);
715
715
  const narrow = width > 0 && width < NARROW_PX;
716
716
  const [start, setStart] = react.useState(null);
717
717
  react.useEffect(() => setStart(null), [current]);
@@ -778,7 +778,7 @@ function StepBarFrame({
778
778
  phase === "blocked" && "opacity-60"
779
779
  ),
780
780
  "aria-hidden": true,
781
- children: /* @__PURE__ */ jsxRuntime.jsx(chunk4RMI6D64_cjs.StepBadgeMark, { phase, icon: icon?.(s) })
781
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkEZLZ3MDU_cjs.StepBadgeMark, { phase, icon: icon?.(s) })
782
782
  }
783
783
  ),
784
784
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate", title: s.title, children: s.title }),
@@ -886,7 +886,7 @@ function StepBarFrame({
886
886
  };
887
887
  const running = win.runningHidden;
888
888
  const outOfViewChip = (s, kind) => /* @__PURE__ */ jsxRuntime.jsx(
889
- chunk4RMI6D64_cjs.StepChip,
889
+ chunkEZLZ3MDU_cjs.StepChip,
890
890
  {
891
891
  kind: kindOf(s),
892
892
  phase: kind === "working" ? "running" : "failed",
@@ -1059,7 +1059,7 @@ var DEFAULT_WORKFLOW_STEP_PARTS_LABELS = {
1059
1059
  someone: "someone"
1060
1060
  };
1061
1061
  var docName = (ref, nameOfDoc) => {
1062
- const { id, version } = chunk4RMI6D64_cjs.splitDocRef(ref);
1062
+ const { id, version } = chunkEZLZ3MDU_cjs.splitDocRef(ref);
1063
1063
  const name = nameOfDoc?.(id) ?? id;
1064
1064
  return version ? `${name} \xB7 v${version}` : name;
1065
1065
  };
@@ -1141,7 +1141,7 @@ function SendBackControl({
1141
1141
  const states = Object.fromEntries(
1142
1142
  run.steps.map((s) => [s.id, run.stateOf(s.id) ?? { status: "pending" }])
1143
1143
  );
1144
- const targets = chunk4RMI6D64_cjs.sendBackTargets(run.steps, states, step.id);
1144
+ const targets = chunkEZLZ3MDU_cjs.sendBackTargets(run.steps, states, step.id);
1145
1145
  const [open, setOpen] = react.useState(false);
1146
1146
  const [to, setTo] = react.useState(targets[0]?.id ?? "");
1147
1147
  const [note, setNote] = react.useState("");
@@ -1231,7 +1231,7 @@ function ApprovalEvidence({
1231
1231
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "flex flex-wrap items-center gap-1.5 text-sm font-medium", children: [
1232
1232
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ShieldCheck, { className: "size-4 text-primary" }),
1233
1233
  approver ? l.approvedBy.replace("{name}", approver) : null,
1234
- state.at && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-normal text-muted-foreground", children: l.approvedAt.replace("{date}", chunk4RMI6D64_cjs.formatDate(state.at)) })
1234
+ state.at && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-normal text-muted-foreground", children: l.approvedAt.replace("{date}", chunkEZLZ3MDU_cjs.formatDate(state.at)) })
1235
1235
  ] }),
1236
1236
  evidence.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
1237
1237
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: l.approvedWhat }),
@@ -1264,7 +1264,7 @@ function ApprovalEvidence({
1264
1264
  ] }),
1265
1265
  (step.fields ?? []).length > 0 && /* @__PURE__ */ jsxRuntime.jsx("dl", { className: "grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-xs", children: (step.fields ?? []).map((f) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "contents", children: [
1266
1266
  /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: f.label }),
1267
- /* @__PURE__ */ jsxRuntime.jsx("dd", { "data-testid": `${testId}-evidence-field-${f.name}`, children: chunk4RMI6D64_cjs.shownValue(run.inputs[f.name], f, run.nameOf) })
1267
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { "data-testid": `${testId}-evidence-field-${f.name}`, children: chunkEZLZ3MDU_cjs.shownValue(run.inputs[f.name], f, run.nameOf) })
1268
1268
  ] }, f.name)) })
1269
1269
  ] });
1270
1270
  }
@@ -1360,7 +1360,7 @@ function ActionStepBody({
1360
1360
  waiting?.expires_at && phase === "waiting" && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
1361
1361
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "size-3.5" }),
1362
1362
  " ",
1363
- l.expires.replace("{date}", chunk4RMI6D64_cjs.formatDate(waiting.expires_at))
1363
+ l.expires.replace("{date}", chunkEZLZ3MDU_cjs.formatDate(waiting.expires_at))
1364
1364
  ] }),
1365
1365
  phase === "waiting" && mine && !declining && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-2", children: [
1366
1366
  actions?.sign && state && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1518,7 +1518,7 @@ function WorkflowStepBar({
1518
1518
  const name = `${title} (${l.phases[phase]})`;
1519
1519
  if (s.id === DONE)
1520
1520
  return /* @__PURE__ */ jsxRuntime.jsx(
1521
- chunk4RMI6D64_cjs.StepChip,
1521
+ chunkEZLZ3MDU_cjs.StepChip,
1522
1522
  {
1523
1523
  inert: true,
1524
1524
  kind: "start",
@@ -1532,17 +1532,17 @@ function WorkflowStepBar({
1532
1532
  "data-testid": tid("step-done")
1533
1533
  }
1534
1534
  );
1535
- const kind = chunk4RMI6D64_cjs.stepKindOf(s);
1536
- const KindIcon = chunk4RMI6D64_cjs.STEP_KIND_ICONS[kind];
1535
+ const kind = chunkEZLZ3MDU_cjs.stepKindOf(s);
1536
+ const KindIcon = chunkEZLZ3MDU_cjs.STEP_KIND_ICONS[kind];
1537
1537
  return /* @__PURE__ */ jsxRuntime.jsx(
1538
- chunk4RMI6D64_cjs.StepChip,
1538
+ chunkEZLZ3MDU_cjs.StepChip,
1539
1539
  {
1540
1540
  kind,
1541
1541
  phase,
1542
1542
  icon: icon(s.icon) ?? /* @__PURE__ */ jsxRuntime.jsx(KindIcon, {}),
1543
1543
  label: s.title,
1544
1544
  current: isCurrent,
1545
- heading: chunk4RMI6D64_cjs.DEFAULT_STEP_KIND_LABELS[kind],
1545
+ heading: chunkEZLZ3MDU_cjs.DEFAULT_STEP_KIND_LABELS[kind],
1546
1546
  labelClassName: isCurrent ? STEP_LABEL_CURRENT : ui.cn(STEP_LABEL, STEP_LABEL_MAX),
1547
1547
  labelTestId: tid(`step-${s.id}-label`),
1548
1548
  onClick: () => run.goTo(s.id),
@@ -1575,7 +1575,7 @@ function WorkflowStepBar({
1575
1575
  isSelectable: (id) => id !== DONE,
1576
1576
  renderStep: (s) => pill(s),
1577
1577
  icon: (s) => s.id === DONE ? doneIcon : icon(s.icon),
1578
- kindOf: (s) => s.id === DONE ? "start" : chunk4RMI6D64_cjs.stepKindOf(s),
1578
+ kindOf: (s) => s.id === DONE ? "start" : chunkEZLZ3MDU_cjs.stepKindOf(s),
1579
1579
  disabled: run.busy,
1580
1580
  labels,
1581
1581
  tid,
@@ -1658,7 +1658,7 @@ function WorkflowRunner({
1658
1658
  const { steps, step, isComplete, action } = run;
1659
1659
  const completion = workflow.run.kind === "steps" ? workflow.run.completion : void 0;
1660
1660
  const tid = (suffix) => `${testIdPrefix}-${suffix}`;
1661
- const levels = chunk4RMI6D64_cjs.stepLevels(steps);
1661
+ const levels = chunkEZLZ3MDU_cjs.stepLevels(steps);
1662
1662
  const icon = (key) => key && renderIcon ? renderIcon(key) : void 0;
1663
1663
  const added = step?.kind === "upload" ? (files ?? []).filter((f) => f.addedFor === step.id) : [];
1664
1664
  const unread = added.filter((f) => f.status === "processing").length;
@@ -1666,7 +1666,7 @@ function WorkflowRunner({
1666
1666
  const sending = added.filter((f) => f.status === "uploading").length;
1667
1667
  const unsent = added.filter((f) => f.status === "upload-failed").length;
1668
1668
  const uploadHold = step?.kind === "upload" && (sending > 0 || uploading || unsent > 0);
1669
- const docsWait = !!step && chunk4RMI6D64_cjs.waitingDocuments(run.stateOf(step.id)).length > 0;
1669
+ const docsWait = !!step && chunkEZLZ3MDU_cjs.waitingDocuments(run.stateOf(step.id)).length > 0;
1670
1670
  const nextLabel = sending ? sending === 1 ? l.uploadingFile : l.uploadingFiles.replace("{count}", String(sending)) : uploadHold && uploading ? l.uploadingAny : uploadHold ? unsent === 1 ? l.uploadFailed : l.uploadsFailed.replace("{count}", String(unsent)) : reading ? l.readingFiles.replace("{current}", String(Math.min(added.length - unread + 1, added.length))).replace("{count}", String(added.length)) : action === "start" ? l.start : action === "retry" ? l.retry : action === "finish" ? l.finish : action === "complete" && step?.kind === "review" ? l.approve : action === "complete" && step?.kind === "action" ? l.markSent : action === "wait" && (run.isRunning || run.busy || docsWait) ? l.working : (step && !run.isLocked(step.id) ? step.nextLabel : void 0) ?? l.next;
1671
1671
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn(compact2 ? "space-y-3" : "space-y-6", className), "data-testid": testIdPrefix, children: [
1672
1672
  !hideStepBar && /* @__PURE__ */ jsxRuntime.jsx(
@@ -1698,13 +1698,13 @@ function WorkflowRunner({
1698
1698
  /* @__PURE__ */ jsxRuntime.jsx(StepNotices, { run, step, l, tid }),
1699
1699
  run.phaseOf(step.id) === "blocked" ? /* @__PURE__ */ jsxRuntime.jsx(ui.Card, { className: ui.cn(box, "p-6"), "data-testid": tid(step.id), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", "data-testid": tid(`${step.id}-blocked`), children: l.blocked.replace(
1700
1700
  "{steps}",
1701
- chunk4RMI6D64_cjs.stepDependencies(steps, step.id).map((d) => steps.find((s) => s.id === d)?.title ?? d).join(", ")
1701
+ chunkEZLZ3MDU_cjs.stepDependencies(steps, step.id).map((d) => steps.find((s) => s.id === d)?.title ?? d).join(", ")
1702
1702
  ) }) }) : step.kind === "form" ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Card, { className: ui.cn(box, "space-y-4"), "data-testid": tid(step.id), children: [
1703
1703
  /* @__PURE__ */ jsxRuntime.jsx(StepHeading, { step, icon: icon(step.icon), testId: tid(`${step.id}-title`) }),
1704
1704
  /* @__PURE__ */ jsxRuntime.jsx(SentBackNote, { state: run.stateOf(step.id), l: pl, testId: tid(step.id) }),
1705
1705
  /* @__PURE__ */ jsxRuntime.jsx(AssigneeLine, { run, stepId: step.id, l: pl, testId: tid(step.id) }),
1706
1706
  /* @__PURE__ */ jsxRuntime.jsx("fieldset", { disabled: run.isLocked(step.id), className: "contents", children: /* @__PURE__ */ jsxRuntime.jsx(
1707
- chunkWY626DNG_cjs.SchemaForm,
1707
+ chunkCGUDTSGI_cjs.SchemaForm,
1708
1708
  {
1709
1709
  fields: step.inputs,
1710
1710
  values: run.inputs,
@@ -1754,11 +1754,11 @@ function WorkflowRunner({
1754
1754
  ] }) : step.kind === "review" ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Card, { className: ui.cn(box, "space-y-4"), "data-testid": tid(step.id), children: [
1755
1755
  /* @__PURE__ */ jsxRuntime.jsx(StepHeading, { step, icon: icon(step.icon) }),
1756
1756
  /* @__PURE__ */ jsxRuntime.jsx(SentBackNote, { state: run.stateOf(step.id), l: pl, testId: tid(step.id) }),
1757
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "whitespace-pre-line text-sm text-muted-foreground", children: chunk4RMI6D64_cjs.reviewInstructions(step, run.inputs) }),
1757
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "whitespace-pre-line text-sm text-muted-foreground", children: chunkEZLZ3MDU_cjs.reviewInstructions(step, run.inputs) }),
1758
1758
  /* @__PURE__ */ jsxRuntime.jsx(AssigneeLine, { run, stepId: step.id, l: pl, testId: tid(step.id) }),
1759
1759
  !(run.phaseOf(step.id) === "done" && run.stateOf(step.id)?.by) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", "data-testid": tid(`${step.id}-status`), children: run.phaseOf(step.id) === "done" ? l.approved : run.phaseOf(step.id) === "skipped" ? l.skipped : l.awaitingReview }),
1760
1760
  (step.fields ?? []).length > 0 && run.phaseOf(step.id) === "ready" && /* @__PURE__ */ jsxRuntime.jsx(
1761
- chunkWY626DNG_cjs.SchemaForm,
1761
+ chunkCGUDTSGI_cjs.SchemaForm,
1762
1762
  {
1763
1763
  fields: step.fields ?? [],
1764
1764
  values: run.inputs,
@@ -2021,8 +2021,8 @@ function AgentStepBody({
2021
2021
  }) {
2022
2022
  const state = run.stateOf(step.id);
2023
2023
  const phase = run.phaseOf(step.id);
2024
- const pending = chunk4RMI6D64_cjs.waitingDocuments(state);
2025
- const pendingNames = pending.flatMap((ref) => nameOfDoc?.(chunk4RMI6D64_cjs.splitDocRef(ref).id) ?? []);
2024
+ const pending = chunkEZLZ3MDU_cjs.waitingDocuments(state);
2025
+ const pendingNames = pending.flatMap((ref) => nameOfDoc?.(chunkEZLZ3MDU_cjs.splitDocRef(ref).id) ?? []);
2026
2026
  const header = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
2027
2027
  /* @__PURE__ */ jsxRuntime.jsx(StepHeading, { step, icon }),
2028
2028
  phase === "failed" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: run.retry && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2107,7 +2107,7 @@ function StepNotices({
2107
2107
  l,
2108
2108
  tid
2109
2109
  }) {
2110
- const notStarted = !chunk4RMI6D64_cjs.isPersonStep(step) && run.needsStart && run.phaseOf(step.id) === "ready";
2110
+ const notStarted = !chunkEZLZ3MDU_cjs.isPersonStep(step) && run.needsStart && run.phaseOf(step.id) === "ready";
2111
2111
  const failed = run.failedUpstreamOf(step.id);
2112
2112
  if (!notStarted && failed.length === 0) return null;
2113
2113
  const why = (error) => error ? `: ${error}` : "";
@@ -2143,26 +2143,16 @@ function StepNotices({
2143
2143
  ))
2144
2144
  ] });
2145
2145
  }
2146
- var request = null;
2147
- var listeners = /* @__PURE__ */ new Set();
2148
- function set(next) {
2149
- if (request === next) return;
2150
- request = next;
2151
- listeners.forEach((listener) => listener());
2152
- }
2146
+
2147
+ // src/agents/workflows/launchRequest.ts
2153
2148
  function openWorkflowLaunch(next) {
2154
- set(next);
2149
+ chunk7THRBD42_cjs.openDialog("workflowLaunch", next);
2155
2150
  }
2156
2151
  function closeWorkflowLaunch() {
2157
- set(null);
2158
- }
2159
- function subscribe(listener) {
2160
- listeners.add(listener);
2161
- return () => listeners.delete(listener);
2152
+ chunk7THRBD42_cjs.closeDialog("workflowLaunch");
2162
2153
  }
2163
- var snapshot = () => request;
2164
2154
  function useWorkflowLaunchRequest() {
2165
- return react.useSyncExternalStore(subscribe, snapshot, snapshot);
2155
+ return chunk7THRBD42_cjs.useDialogProps("workflowLaunch");
2166
2156
  }
2167
2157
  var TIMELINE_PROMPT = "Build a timeline from the selected files. Record every dated event as its own fact: put the date in the fact\u2019s date field at exactly the precision the file gives, cite the file you took it from, and label them all \u201CMain Events\u201D. Then show me the chronology, oldest first.";
2168
2158
  var DEEP_RESEARCH_ID = "deep-research";
@@ -2586,7 +2576,7 @@ var WEB_WORKFLOWS = chunk76L6LOP3_cjs.workflowsForHost(WORKFLOW_REGISTRY, "web")
2586
2576
  var STORAGE_KEY = "arbi.workflow-usage.v1";
2587
2577
  var EMPTY = {};
2588
2578
  var cache = null;
2589
- var listeners2 = /* @__PURE__ */ new Set();
2579
+ var listeners = /* @__PURE__ */ new Set();
2590
2580
  function read() {
2591
2581
  if (cache) return cache;
2592
2582
  try {
@@ -2605,13 +2595,13 @@ function recordWorkflowUse(workflowId, now = Date.now()) {
2605
2595
  window.localStorage.setItem(STORAGE_KEY, JSON.stringify(cache));
2606
2596
  } catch {
2607
2597
  }
2608
- listeners2.forEach((l) => l());
2598
+ listeners.forEach((l) => l());
2609
2599
  }
2610
2600
  function useWorkflowUsage() {
2611
2601
  return react.useSyncExternalStore(
2612
2602
  (listener) => {
2613
- listeners2.add(listener);
2614
- return () => listeners2.delete(listener);
2603
+ listeners.add(listener);
2604
+ return () => listeners.delete(listener);
2615
2605
  },
2616
2606
  read,
2617
2607
  () => EMPTY
@@ -2631,7 +2621,7 @@ function resetWorkflowUsage() {
2631
2621
  window.localStorage.removeItem(STORAGE_KEY);
2632
2622
  } catch {
2633
2623
  }
2634
- listeners2.forEach((l) => l());
2624
+ listeners.forEach((l) => l());
2635
2625
  }
2636
2626
 
2637
2627
  // src/agents/workflows/catalogue/annotation-name.ts
@@ -2656,7 +2646,7 @@ var asForm = (step) => ({
2656
2646
  id: step.id,
2657
2647
  title: step.title,
2658
2648
  description: "",
2659
- inputs: chunk4RMI6D64_cjs.stepFields(step),
2649
+ inputs: chunkEZLZ3MDU_cjs.stepFields(step),
2660
2650
  run: { kind: "operation" },
2661
2651
  landing: "chat"
2662
2652
  });
@@ -2675,13 +2665,13 @@ function WorkflowStepAction({
2675
2665
  onOpenDraft,
2676
2666
  onOpenReview
2677
2667
  }) {
2678
- const fields = chunk4RMI6D64_cjs.stepFields(step);
2668
+ const fields = chunkEZLZ3MDU_cjs.stepFields(step);
2679
2669
  const [values, setValues] = react.useState(
2680
2670
  () => fields.length ? { ...chunk76L6LOP3_cjs.defaultInputs(asForm(step)), ...inputs } : {}
2681
2671
  );
2682
2672
  const [open, setOpen] = react.useState(null);
2683
2673
  const [note, setNote] = react.useState("");
2684
- const targets = chunk4RMI6D64_cjs.sendBackTargets(steps, states, step.id);
2674
+ const targets = chunkEZLZ3MDU_cjs.sendBackTargets(steps, states, step.id);
2685
2675
  const [to, setTo] = react.useState(targets[0]?.id ?? "");
2686
2676
  const [busy, setBusy] = react.useState(false);
2687
2677
  const [error, setError] = react.useState(null);
@@ -2853,7 +2843,7 @@ function WorkflowStepAction({
2853
2843
  const errors = chunk76L6LOP3_cjs.validateInputs(asForm(step), values);
2854
2844
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 p-1", "data-testid": tid, children: [
2855
2845
  /* @__PURE__ */ jsxRuntime.jsx(
2856
- chunkWY626DNG_cjs.SchemaForm,
2846
+ chunkCGUDTSGI_cjs.SchemaForm,
2857
2847
  {
2858
2848
  fields,
2859
2849
  values,
@@ -3278,7 +3268,7 @@ function AgentCreator({
3278
3268
  ] })
3279
3269
  ] }),
3280
3270
  /* @__PURE__ */ jsxRuntime.jsx(
3281
- chunkQHWDV2VB_cjs.FoldSection,
3271
+ chunkYJJNDKA3_cjs.FoldSection,
3282
3272
  {
3283
3273
  label: l.advanced,
3284
3274
  open: advancedOpen,
@@ -3525,7 +3515,7 @@ var DEFAULT_AGENT_TYPES = [
3525
3515
  }
3526
3516
  ];
3527
3517
  function AgentConnectInstructions({ email, signingKey }) {
3528
- const { notify, runtimeConfig } = chunkAHYSHKPL_cjs.useBlocksEnvironment();
3518
+ const { notify, runtimeConfig } = chunk7THRBD42_cjs.useBlocksEnvironment();
3529
3519
  const [agentBackend, setAgentBackend] = react.useState("claude");
3530
3520
  const [copied, setCopied] = react.useState(false);
3531
3521
  const setupScript = react.useMemo(
@@ -5132,7 +5122,7 @@ function TaskStartDialog({
5132
5122
  setSourceOpen(false);
5133
5123
  }, [open]);
5134
5124
  const textareaRef = react.useRef(null);
5135
- const mention = chunk4RMI6D64_cjs.useMentionAutocomplete({
5125
+ const mention = chunkEZLZ3MDU_cjs.useMentionAutocomplete({
5136
5126
  value: prompt,
5137
5127
  onValueChange: setPrompt,
5138
5128
  candidates: people,
@@ -5808,7 +5798,7 @@ function NewThreadDialog({
5808
5798
  const [detailsOpen, setDetailsOpen] = react.useState(hasTaskFields(seed));
5809
5799
  const [submitError, setSubmitError] = react.useState(null);
5810
5800
  const id = chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "new-thread" });
5811
- const set2 = (key, value) => setValues((v) => ({ ...v, [key]: value }));
5801
+ const set = (key, value) => setValues((v) => ({ ...v, [key]: value }));
5812
5802
  const canSubmit = values.prompt.trim() !== "" && !isPending;
5813
5803
  const pillLabels = { search: l.search, empty: l.empty };
5814
5804
  const taskOptions = tasks.map((t) => ({
@@ -5855,7 +5845,7 @@ function NewThreadDialog({
5855
5845
  value: values.prompt,
5856
5846
  placeholder: l.promptPlaceholder,
5857
5847
  rows: 4,
5858
- onChange: (e) => set2("prompt", e.target.value),
5848
+ onChange: (e) => set("prompt", e.target.value),
5859
5849
  onKeyDown: (e) => {
5860
5850
  if (e.key === "Enter" && (e.metaKey || e.ctrlKey) && canSubmit) onSubmit(values);
5861
5851
  },
@@ -5869,7 +5859,7 @@ function NewThreadDialog({
5869
5859
  ui.Switch,
5870
5860
  {
5871
5861
  checked: values.assistant,
5872
- onCheckedChange: (on) => set2("assistant", on),
5862
+ onCheckedChange: (on) => set("assistant", on),
5873
5863
  "data-testid": `${id}-assistant-switch`
5874
5864
  }
5875
5865
  ),
@@ -5882,7 +5872,7 @@ function NewThreadDialog({
5882
5872
  ui.VisibilityToggle,
5883
5873
  {
5884
5874
  items: { shared: values.shared },
5885
- onToggle: (share) => set2("shared", share),
5875
+ onToggle: (share) => set("shared", share),
5886
5876
  label: l.visibility,
5887
5877
  presentation: "select",
5888
5878
  "data-testid": `${id}-visibility`
@@ -5932,7 +5922,7 @@ function NewThreadDialog({
5932
5922
  id: `${id}-due`,
5933
5923
  label: l.due,
5934
5924
  value: values.dueAt,
5935
- onChange: (v) => set2("dueAt", v),
5925
+ onChange: (v) => set("dueAt", v),
5936
5926
  labels: { clear: l.dueClear }
5937
5927
  }
5938
5928
  ) })
@@ -5945,7 +5935,7 @@ function NewThreadDialog({
5945
5935
  value: values.parentId,
5946
5936
  options: taskOptions,
5947
5937
  noneOption: { id: "", label: l.parentTaskNone },
5948
- onChange: (v) => set2("parentId", v),
5938
+ onChange: (v) => set("parentId", v),
5949
5939
  searchable: true,
5950
5940
  labels: pillLabels,
5951
5941
  testId: `${id}-parent`
@@ -5959,7 +5949,7 @@ function NewThreadDialog({
5959
5949
  id: "new-thread-title",
5960
5950
  value: values.title,
5961
5951
  placeholder: l.titlePlaceholder,
5962
- onChange: (e) => set2("title", e.target.value),
5952
+ onChange: (e) => set("title", e.target.value),
5963
5953
  "data-testid": `${id}-title`
5964
5954
  }
5965
5955
  )
@@ -6086,12 +6076,12 @@ function taskActivityHeadline(e, labels = DEFAULT_TASK_ACTIVITY_LABELS, agentNam
6086
6076
  case "step_skipped":
6087
6077
  return "Step skipped";
6088
6078
  case "step_waiting": {
6089
- const documents = chunk4RMI6D64_cjs.eventWaitingDocuments(detail);
6090
- return documents ? chunk4RMI6D64_cjs.waitingForDocumentsText(documents.length) : "Waiting on people";
6079
+ const documents = chunkEZLZ3MDU_cjs.eventWaitingDocuments(detail);
6080
+ return documents ? chunkEZLZ3MDU_cjs.waitingForDocumentsText(documents.length) : "Waiting on people";
6091
6081
  }
6092
6082
  case "step_progress": {
6093
- const documents = chunk4RMI6D64_cjs.eventWaitingDocuments(detail);
6094
- return documents ? chunk4RMI6D64_cjs.waitingForDocumentsText(documents.length) : detail.signed ? "Signed" : "Step moved on";
6083
+ const documents = chunkEZLZ3MDU_cjs.eventWaitingDocuments(detail);
6084
+ return documents ? chunkEZLZ3MDU_cjs.waitingForDocumentsText(documents.length) : detail.signed ? "Signed" : "Step moved on";
6095
6085
  }
6096
6086
  case "step_sent_back":
6097
6087
  return "Sent the work back";
@@ -6255,7 +6245,7 @@ function TaskFlow({
6255
6245
  },
6256
6246
  children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "flex w-max min-w-full items-center gap-1 py-0.5", children: items.map((item, i) => {
6257
6247
  const chip = (props) => /* @__PURE__ */ jsxRuntime.jsx(
6258
- chunk4RMI6D64_cjs.StepChip,
6248
+ chunkEZLZ3MDU_cjs.StepChip,
6259
6249
  {
6260
6250
  kind: "adhoc",
6261
6251
  phase: "ready",
@@ -6309,7 +6299,7 @@ function ThreadActivity({ item, children }) {
6309
6299
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-xl items-center gap-2", children: [
6310
6300
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "wf-link", "data-done": done || void 0 }),
6311
6301
  /* @__PURE__ */ jsxRuntime.jsx(
6312
- chunk4RMI6D64_cjs.StepChip,
6302
+ chunkEZLZ3MDU_cjs.StepChip,
6313
6303
  {
6314
6304
  inert: true,
6315
6305
  kind,
@@ -6328,7 +6318,7 @@ function ThreadActivity({ item, children }) {
6328
6318
  }
6329
6319
  ),
6330
6320
  document && /* @__PURE__ */ jsxRuntime.jsx(
6331
- chunk4RMI6D64_cjs.StepDocumentButton,
6321
+ chunkEZLZ3MDU_cjs.StepDocumentButton,
6332
6322
  {
6333
6323
  kind,
6334
6324
  name: document.name,
@@ -6395,7 +6385,7 @@ function ThreadLauncher({
6395
6385
  const [shared, setShared] = react.useState(false);
6396
6386
  const [started, setStarted] = react.useState(null);
6397
6387
  const textareaRef = react.useRef(null);
6398
- const mention = chunk4RMI6D64_cjs.useMentionAutocomplete({
6388
+ const mention = chunkEZLZ3MDU_cjs.useMentionAutocomplete({
6399
6389
  value: prompt,
6400
6390
  onValueChange: setPrompt,
6401
6391
  candidates: people,
@@ -6592,10 +6582,10 @@ function WorkflowRunStatus({
6592
6582
  testId = "workflow-run-status"
6593
6583
  }) {
6594
6584
  const l = { ...DEFAULT_WORKFLOW_RUN_STATUS_LABELS, ...labels };
6595
- const ordered = chunk4RMI6D64_cjs.stepLevels(steps).flat();
6596
- const phaseOf = (id) => isLoading ? "blocked" : chunk4RMI6D64_cjs.stepPhase(steps, states, id);
6597
- const finished = !isLoading && chunk4RMI6D64_cjs.isRunFinished(steps, states);
6598
- const atId = finished || isLoading ? void 0 : activeStepId(chunk4RMI6D64_cjs.stepLevels(steps), phaseOf);
6585
+ const ordered = chunkEZLZ3MDU_cjs.stepLevels(steps).flat();
6586
+ const phaseOf = (id) => isLoading ? "blocked" : chunkEZLZ3MDU_cjs.stepPhase(steps, states, id);
6587
+ const finished = !isLoading && chunkEZLZ3MDU_cjs.isRunFinished(steps, states);
6588
+ const atId = finished || isLoading ? void 0 : activeStepId(chunkEZLZ3MDU_cjs.stepLevels(steps), phaseOf);
6599
6589
  const at = ordered.find((s) => s.id === atId);
6600
6590
  const phase = at ? phaseOf(at.id) : "done";
6601
6591
  const assignee = at && ["ready", "waiting"].includes(phase) ? assigneeOf?.(at) : void 0;
@@ -6627,7 +6617,7 @@ function WorkflowRunStatus({
6627
6617
  "span",
6628
6618
  {
6629
6619
  className: ui.cn(
6630
- `wf-kind-${chunk4RMI6D64_cjs.stepKindOf(s)}`,
6620
+ `wf-kind-${chunkEZLZ3MDU_cjs.stepKindOf(s)}`,
6631
6621
  "h-1.5 w-3 shrink-0 rounded-full",
6632
6622
  SEGMENT[phaseOf(s.id)],
6633
6623
  s.id === atId && "w-5"
@@ -6673,7 +6663,7 @@ function groupThreadActivity(steps, items) {
6673
6663
  continue;
6674
6664
  }
6675
6665
  if (current === void 0) out.before.push(item);
6676
- else if (chunk4RMI6D64_cjs.isRunFinished(steps, states)) out.after.push(item);
6666
+ else if (chunkEZLZ3MDU_cjs.isRunFinished(steps, states)) out.after.push(item);
6677
6667
  else {
6678
6668
  const status = states[current]?.status;
6679
6669
  const at = status === "done" || status === "skipped" ? steps.find((s) => !["done", "skipped"].includes(states[s.id]?.status ?? ""))?.id ?? current : current;
@@ -6696,9 +6686,9 @@ var DEFAULT_WORKFLOW_THREAD_STRIP_LABELS = {
6696
6686
  after: "After",
6697
6687
  beforeSteps: "Before the first step",
6698
6688
  afterSteps: "After the last step",
6699
- kinds: chunk4RMI6D64_cjs.DEFAULT_STEP_KIND_LABELS,
6700
- documents: chunk4RMI6D64_cjs.DEFAULT_STEP_DOCUMENT_LABELS,
6701
- record: chunk4RMI6D64_cjs.DEFAULT_STEP_RECORD_LABELS
6689
+ kinds: chunkEZLZ3MDU_cjs.DEFAULT_STEP_KIND_LABELS,
6690
+ documents: chunkEZLZ3MDU_cjs.DEFAULT_STEP_DOCUMENT_LABELS,
6691
+ record: chunkEZLZ3MDU_cjs.DEFAULT_STEP_RECORD_LABELS
6702
6692
  };
6703
6693
  function WorkflowThreadStartedBy({
6704
6694
  origin,
@@ -6829,7 +6819,7 @@ function EntriesChip({
6829
6819
  const latest = items.at(-1);
6830
6820
  return /* @__PURE__ */ jsxRuntime.jsxs(ui.Popover, { children: [
6831
6821
  /* @__PURE__ */ jsxRuntime.jsx(ui.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
6832
- chunk4RMI6D64_cjs.StepChip,
6822
+ chunkEZLZ3MDU_cjs.StepChip,
6833
6823
  {
6834
6824
  kind,
6835
6825
  phase: "ready",
@@ -6874,17 +6864,17 @@ function WorkflowThreadStrip({
6874
6864
  const link = /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "wf-link wf-kind-start max-w-6", "data-done": true });
6875
6865
  const [selected, setSelected] = react.useState(null);
6876
6866
  const [open, setOpen] = react.useState(null);
6877
- const phaseOf = (id) => chunk4RMI6D64_cjs.stepPhase(steps, states, id);
6867
+ const phaseOf = (id) => chunkEZLZ3MDU_cjs.stepPhase(steps, states, id);
6878
6868
  const iconOf = (step) => step.icon && renderIcon ? renderIcon(step.icon) : void 0;
6879
6869
  const glyphOf = (step) => {
6880
- const KindIcon = chunk4RMI6D64_cjs.STEP_KIND_ICONS[chunk4RMI6D64_cjs.stepKindOf(step)];
6870
+ const KindIcon = chunkEZLZ3MDU_cjs.STEP_KIND_ICONS[chunkEZLZ3MDU_cjs.stepKindOf(step)];
6881
6871
  return iconOf(step) ?? /* @__PURE__ */ jsxRuntime.jsx(KindIcon, {});
6882
6872
  };
6883
6873
  const waitingOf = (id) => {
6884
6874
  const step = steps.find((s) => s.id === id);
6885
6875
  const phase = phaseOf(id);
6886
- const documents = chunk4RMI6D64_cjs.waitingDocuments(states[id]);
6887
- if (documents.length) return chunk4RMI6D64_cjs.waitingForDocumentsText(documents.length);
6876
+ const documents = chunkEZLZ3MDU_cjs.waitingDocuments(states[id]);
6877
+ if (documents.length) return chunkEZLZ3MDU_cjs.waitingForDocumentsText(documents.length);
6888
6878
  const name = step && (phase === "ready" || phase === "waiting") ? assigneeOf?.(step) : void 0;
6889
6879
  return name ? l.waitingFor.replace("{name}", name) : void 0;
6890
6880
  };
@@ -6894,8 +6884,8 @@ function WorkflowThreadStrip({
6894
6884
  const assignee = phase === "ready" || phase === "waiting" ? assigneeOf?.(step) : void 0;
6895
6885
  const waiting = waitingOf(step.id);
6896
6886
  const sentBack = states[step.id]?.sentBack;
6897
- const kind = chunk4RMI6D64_cjs.stepKindOf(step);
6898
- const documents = chunk4RMI6D64_cjs.stepDocuments(steps, states, step.id);
6887
+ const kind = chunkEZLZ3MDU_cjs.stepKindOf(step);
6888
+ const documents = chunkEZLZ3MDU_cjs.stepDocuments(steps, states, step.id);
6899
6889
  const latestDoc = onOpenDocument ? documents.at(-1) : void 0;
6900
6890
  const finished = ["done", "skipped", "failed"].includes(phase);
6901
6891
  const chip = /* @__PURE__ */ jsxRuntime.jsxs(
@@ -6908,7 +6898,7 @@ function WorkflowThreadStrip({
6908
6898
  },
6909
6899
  children: [
6910
6900
  /* @__PURE__ */ jsxRuntime.jsx(ui.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
6911
- chunk4RMI6D64_cjs.StepChip,
6901
+ chunkEZLZ3MDU_cjs.StepChip,
6912
6902
  {
6913
6903
  kind,
6914
6904
  phase,
@@ -6957,7 +6947,7 @@ function WorkflowThreadStrip({
6957
6947
  ),
6958
6948
  sentBack && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-1 text-xs text-amber-700 dark:text-amber-300", children: l.sentBack }),
6959
6949
  /* @__PURE__ */ jsxRuntime.jsx(
6960
- chunk4RMI6D64_cjs.StepDocumentCards,
6950
+ chunkEZLZ3MDU_cjs.StepDocumentCards,
6961
6951
  {
6962
6952
  refs: documents,
6963
6953
  heading: step.kind === "review" ? phase === "done" ? l.documents.approved : l.documents.toApprove : l.documents.produced,
@@ -6968,7 +6958,7 @@ function WorkflowThreadStrip({
6968
6958
  }
6969
6959
  ),
6970
6960
  /* @__PURE__ */ jsxRuntime.jsx(
6971
- chunk4RMI6D64_cjs.StepRecord,
6961
+ chunkEZLZ3MDU_cjs.StepRecord,
6972
6962
  {
6973
6963
  step,
6974
6964
  state: states[step.id],
@@ -7000,10 +6990,10 @@ function WorkflowThreadStrip({
7000
6990
  return latestDoc ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 items-center", children: [
7001
6991
  chip,
7002
6992
  /* @__PURE__ */ jsxRuntime.jsx(
7003
- chunk4RMI6D64_cjs.StepDocumentButton,
6993
+ chunkEZLZ3MDU_cjs.StepDocumentButton,
7004
6994
  {
7005
6995
  kind,
7006
- name: nameOfDoc?.(chunk4RMI6D64_cjs.splitDocRef(latestDoc).id) ?? latestDoc,
6996
+ name: nameOfDoc?.(chunkEZLZ3MDU_cjs.splitDocRef(latestDoc).id) ?? latestDoc,
7007
6997
  onOpen: () => onOpenDocument?.(latestDoc),
7008
6998
  testId: `workflow-thread-step-${step.id}-open-document`
7009
6999
  }
@@ -7042,17 +7032,17 @@ function WorkflowThreadStrip({
7042
7032
  ] }),
7043
7033
  strays.map((s) => /* @__PURE__ */ jsxRuntime.jsx(SignalPill, { signal: s, l }, `${s.step}-${s.signal}`))
7044
7034
  ] }) : null;
7045
- const at = steps.find((s) => s.id === (selected ?? activeStepId(chunk4RMI6D64_cjs.stepLevels(steps), phaseOf)));
7046
- const headingPx = (step) => `${l.kinds[chunk4RMI6D64_cjs.stepKindOf(step)]} \xB7 ${waitingOf(step.id) ?? ""}`.length * 5.6 - step.title.length * 6.5;
7035
+ const at = steps.find((s) => s.id === (selected ?? activeStepId(chunkEZLZ3MDU_cjs.stepLevels(steps), phaseOf)));
7036
+ const headingPx = (step) => `${l.kinds[chunkEZLZ3MDU_cjs.stepKindOf(step)]} \xB7 ${waitingOf(step.id) ?? ""}`.length * 5.6 - step.title.length * 6.5;
7047
7037
  const reserve = {
7048
- always: (at ? Math.max(0, headingPx(at)) : 0) + steps.filter((s) => grouped.byStep[s.id]?.length).length * BEADS_PX + (onOpenDocument ? steps.filter((s) => chunk4RMI6D64_cjs.stepDocuments(steps, states, s.id).length).length * DOC_BUTTON_PX : 0),
7038
+ always: (at ? Math.max(0, headingPx(at)) : 0) + steps.filter((s) => grouped.byStep[s.id]?.length).length * BEADS_PX + (onOpenDocument ? steps.filter((s) => chunkEZLZ3MDU_cjs.stepDocuments(steps, states, s.id).length).length * DOC_BUTTON_PX : 0),
7049
7039
  leading: leading ? 150 : 0,
7050
7040
  trailing: trailing ? 120 : 0
7051
7041
  };
7052
7042
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cn("min-w-0 flex-1", className), "data-testid": "workflow-thread-strip", children: /* @__PURE__ */ jsxRuntime.jsx(
7053
7043
  StepBarFrame,
7054
7044
  {
7055
- levels: chunk4RMI6D64_cjs.stepLevels(steps),
7045
+ levels: chunkEZLZ3MDU_cjs.stepLevels(steps),
7056
7046
  phaseOf,
7057
7047
  current: selected,
7058
7048
  onSelect: (id) => {
@@ -7065,7 +7055,7 @@ function WorkflowThreadStrip({
7065
7055
  trailing,
7066
7056
  reservePx: reserve,
7067
7057
  icon: glyphOf,
7068
- kindOf: chunk4RMI6D64_cjs.stepKindOf,
7058
+ kindOf: chunkEZLZ3MDU_cjs.stepKindOf,
7069
7059
  labels: { waitingFor: l.waitingFor, ...barLabels },
7070
7060
  tid: (suffix) => `workflow-thread-${suffix}`
7071
7061
  }
@@ -7141,11 +7131,11 @@ function compactThreadActivity(events, stepTitleOf) {
7141
7131
  const count = Math.max(1, entry.recipients.length);
7142
7132
  entry.label = `Notified ${count} ${count === 1 ? "user" : "users"}`;
7143
7133
  } else if (STEP_LABELS[event.kind]) {
7144
- const documents = chunk4RMI6D64_cjs.eventWaitingDocuments(event.detail);
7134
+ const documents = chunkEZLZ3MDU_cjs.eventWaitingDocuments(event.detail);
7145
7135
  const title = typeof event.detail?.step === "string" ? stepTitleOf?.(event.detail.step) : void 0;
7146
7136
  result.push({
7147
7137
  event,
7148
- label: documents ? chunk4RMI6D64_cjs.waitingForDocumentsText(documents.length) : title && STEP_VERBS[event.kind] ? `${title} ${STEP_VERBS[event.kind]}` : STEP_LABELS[event.kind],
7138
+ label: documents ? chunkEZLZ3MDU_cjs.waitingForDocumentsText(documents.length) : title && STEP_VERBS[event.kind] ? `${title} ${STEP_VERBS[event.kind]}` : STEP_LABELS[event.kind],
7149
7139
  recipients: []
7150
7140
  });
7151
7141
  } else if (["artifact_created", "artifact_edited", "document_added", "document_removed"].includes(
@@ -7235,7 +7225,7 @@ function TaskRunsDialog({
7235
7225
  "rounded-full px-2 py-0.5 text-xs font-medium capitalize",
7236
7226
  STATUS_STYLE[data.status] ?? "text-muted-foreground"
7237
7227
  ),
7238
- children: chunkWY626DNG_cjs.workflowRunStatusLabel(data.status)
7228
+ children: chunkCGUDTSGI_cjs.workflowRunStatusLabel(data.status)
7239
7229
  }
7240
7230
  )
7241
7231
  },
@@ -7251,7 +7241,7 @@ function TaskRunsDialog({
7251
7241
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full items-center gap-2", children: [
7252
7242
  run.error && renderErrorReport?.(run),
7253
7243
  (run.conversationId || run.resultId && onOpenResult) && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { asChild: true, variant: "ghost", size: "sm", className: "h-7 gap-1.5", children: /* @__PURE__ */ jsxRuntime.jsxs(
7254
- chunkNIS5TLOM_cjs.ActionLink,
7244
+ chunk6LVVW6VB_cjs.ActionLink,
7255
7245
  {
7256
7246
  href: getRunHref?.(run),
7257
7247
  onSelect: () => {
@@ -7525,7 +7515,7 @@ function WorkflowComposer({
7525
7515
  }
7526
7516
  }, [open]);
7527
7517
  const id = chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "task-composer" });
7528
- const set2 = (key, value) => setValues({ ...values, [key]: value });
7518
+ const set = (key, value) => setValues({ ...values, [key]: value });
7529
7519
  const workflow = workflows.find((w) => w.id === values.workflowId);
7530
7520
  const fields = workflow?.inputs ?? [];
7531
7521
  const noFiles = Boolean(
@@ -7575,7 +7565,7 @@ function WorkflowComposer({
7575
7565
  }, [scheduled, defaultAgentId, values.agentId]);
7576
7566
  const pickAgent = (agentId) => {
7577
7567
  setAgentAutoSet(false);
7578
- set2("agentId", agentId);
7568
+ set("agentId", agentId);
7579
7569
  };
7580
7570
  const submit = () => {
7581
7571
  const submitted = {
@@ -7633,10 +7623,10 @@ function WorkflowComposer({
7633
7623
  onTabChange: (tab) => {
7634
7624
  if (tab === "start-task" && !runOnce) {
7635
7625
  setAutomationWhen(values.when);
7636
- set2("when", "now");
7626
+ set("when", "now");
7637
7627
  setRunOnce(true);
7638
7628
  } else if (tab === "automation-setup" && runOnce) {
7639
- set2("when", automationWhen);
7629
+ set("when", automationWhen);
7640
7630
  setRunOnce(false);
7641
7631
  }
7642
7632
  },
@@ -7679,7 +7669,7 @@ function WorkflowComposer({
7679
7669
  },
7680
7670
  "data-testid": `${id}-dropzone`,
7681
7671
  children: /* @__PURE__ */ jsxRuntime.jsx(
7682
- chunkQHWDV2VB_cjs.AddFilesFirst,
7672
+ chunkYJJNDKA3_cjs.AddFilesFirst,
7683
7673
  {
7684
7674
  reason: l.addFilesReason,
7685
7675
  action: addFilesAction,
@@ -7689,11 +7679,11 @@ function WorkflowComposer({
7689
7679
  }
7690
7680
  ),
7691
7681
  !noFiles && workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
7692
- chunkWY626DNG_cjs.SchemaForm,
7682
+ chunkCGUDTSGI_cjs.SchemaForm,
7693
7683
  {
7694
7684
  fields,
7695
7685
  values: values.inputs,
7696
- onChange: (name, value) => set2("inputs", { ...values.inputs, [name]: value }),
7686
+ onChange: (name, value) => set("inputs", { ...values.inputs, [name]: value }),
7697
7687
  renderScope: renderScope ?? defaultScopeRenderer(scopeSource),
7698
7688
  renderDocuments,
7699
7689
  renderIcon,
@@ -7772,7 +7762,7 @@ function WorkflowComposer({
7772
7762
  id: "task-composer-runat",
7773
7763
  type: "datetime-local",
7774
7764
  value: values.runAt,
7775
- onChange: (e) => set2("runAt", e.target.value),
7765
+ onChange: (e) => set("runAt", e.target.value),
7776
7766
  className: "max-w-xs",
7777
7767
  "aria-invalid": runAtPast || void 0,
7778
7768
  "data-testid": `${id}-run-at`
@@ -7785,7 +7775,7 @@ function WorkflowComposer({
7785
7775
  RecurrenceBuilder,
7786
7776
  {
7787
7777
  rrule: values.rrule,
7788
- onChange: (r) => set2("rrule", r),
7778
+ onChange: (r) => set("rrule", r),
7789
7779
  ...recurrence
7790
7780
  }
7791
7781
  ),
@@ -7797,7 +7787,7 @@ function WorkflowComposer({
7797
7787
  id: "task-composer-timezone",
7798
7788
  list: "task-composer-timezones",
7799
7789
  value: values.timezone,
7800
- onChange: (e) => set2("timezone", e.target.value),
7790
+ onChange: (e) => set("timezone", e.target.value),
7801
7791
  className: "max-w-xs",
7802
7792
  "data-testid": `${id}-timezone`
7803
7793
  }
@@ -7820,7 +7810,7 @@ function WorkflowComposer({
7820
7810
  label: values.eventKind.replaceAll("_", " ")
7821
7811
  }
7822
7812
  ],
7823
- onChange: (event) => set2("eventKind", event),
7813
+ onChange: (event) => set("eventKind", event),
7824
7814
  labels: pillLabels,
7825
7815
  testId: `${id}-event`,
7826
7816
  className: "self-start"
@@ -7831,7 +7821,7 @@ function WorkflowComposer({
7831
7821
  id: "task-composer-event",
7832
7822
  value: values.eventKind,
7833
7823
  placeholder: l.eventPlaceholder,
7834
- onChange: (e) => set2("eventKind", e.target.value),
7824
+ onChange: (e) => set("eventKind", e.target.value),
7835
7825
  className: "max-w-xs",
7836
7826
  "data-testid": `${id}-event`
7837
7827
  }
@@ -7845,7 +7835,7 @@ function WorkflowComposer({
7845
7835
  prefix: "Automation",
7846
7836
  value: typeof values.eventFilter?.workflow_ext_id === "string" ? values.eventFilter.workflow_ext_id : "",
7847
7837
  options: [{ id: "", label: "Any automation" }, ...eventWorkflowOptions],
7848
- onChange: (id2) => set2(
7838
+ onChange: (id2) => set(
7849
7839
  "eventFilter",
7850
7840
  id2 ? { ...values.eventFilter, workflow_ext_id: id2 } : null
7851
7841
  ),
@@ -7861,7 +7851,7 @@ function WorkflowComposer({
7861
7851
  prefix: l.afterTask,
7862
7852
  value: values.afterTaskId,
7863
7853
  options: taskOptions,
7864
- onChange: (v) => set2("afterTaskId", v),
7854
+ onChange: (v) => set("afterTaskId", v),
7865
7855
  searchable: true,
7866
7856
  labels: pillLabels,
7867
7857
  testId: `${id}-after-task`,
@@ -7949,7 +7939,7 @@ function WorkflowComposer({
7949
7939
  label: l.accessOptions[mode].label
7950
7940
  })
7951
7941
  ),
7952
- onChange: (v) => set2("access", v),
7942
+ onChange: (v) => set("access", v),
7953
7943
  labels: pillLabels,
7954
7944
  testId: `${id}-access`,
7955
7945
  className: "self-start"
@@ -7980,7 +7970,7 @@ function WorkflowComposer({
7980
7970
  id: "task-composer-title",
7981
7971
  value: values.name,
7982
7972
  placeholder: derivedName || l.workflowNamePlaceholder,
7983
- onChange: (e) => set2("name", e.target.value),
7973
+ onChange: (e) => set("name", e.target.value),
7984
7974
  className: "h-10 text-base font-medium",
7985
7975
  "data-testid": `${id}-title`
7986
7976
  }
@@ -7994,7 +7984,7 @@ function WorkflowComposer({
7994
7984
  value: values.description,
7995
7985
  placeholder: l.descriptionPlaceholder,
7996
7986
  rows: 2,
7997
- onChange: (e) => set2("description", e.target.value),
7987
+ onChange: (e) => set("description", e.target.value),
7998
7988
  "data-testid": `${id}-description`
7999
7989
  }
8000
7990
  )
@@ -8008,7 +7998,7 @@ function WorkflowComposer({
8008
7998
  ui.VisibilityToggle,
8009
7999
  {
8010
8000
  items: { shared: values.shared },
8011
- onToggle: (share) => set2("shared", share),
8001
+ onToggle: (share) => set("shared", share),
8012
8002
  label: l.visibility,
8013
8003
  "data-testid": `${id}-visibility`
8014
8004
  }
@@ -8133,7 +8123,7 @@ function WorkTaskComposer({
8133
8123
  const unattended = hasWork && values.when !== "now" && values.when !== "manual";
8134
8124
  const canConfigure = !isEdit || seed.assignee === "agent";
8135
8125
  const lockedStart = isEdit;
8136
- const set2 = (key, value) => setValues({ ...values, [key]: value });
8126
+ const set = (key, value) => setValues({ ...values, [key]: value });
8137
8127
  const pickWorkflow = (id2) => {
8138
8128
  const next = workflows.find((w) => w.id === id2);
8139
8129
  setValues({ ...values, workflowId: id2, inputs: next ? chunk76L6LOP3_cjs.defaultInputs(next) : {} });
@@ -8195,7 +8185,7 @@ function WorkTaskComposer({
8195
8185
  id: "task-composer-title",
8196
8186
  value: values.name,
8197
8187
  placeholder: l.titlePlaceholder,
8198
- onChange: (e) => set2("name", e.target.value),
8188
+ onChange: (e) => set("name", e.target.value),
8199
8189
  autoFocus: true,
8200
8190
  className: "h-10 text-base font-medium",
8201
8191
  "data-testid": `${id}-title`
@@ -8209,7 +8199,7 @@ function WorkTaskComposer({
8209
8199
  value: values.description,
8210
8200
  placeholder: l.descriptionPlaceholder,
8211
8201
  rows: 2,
8212
- onChange: (e) => set2("description", e.target.value),
8202
+ onChange: (e) => set("description", e.target.value),
8213
8203
  "data-testid": `${id}-description`
8214
8204
  }
8215
8205
  )
@@ -8233,7 +8223,7 @@ function WorkTaskComposer({
8233
8223
  id: `${id}-due`,
8234
8224
  label: l.due,
8235
8225
  value: values.dueAt,
8236
- onChange: (v) => set2("dueAt", v),
8226
+ onChange: (v) => set("dueAt", v),
8237
8227
  labels: { clear: l.dueClear }
8238
8228
  }
8239
8229
  ) })
@@ -8246,7 +8236,7 @@ function WorkTaskComposer({
8246
8236
  value: values.parentTaskId,
8247
8237
  options: taskOptions,
8248
8238
  noneOption: { id: "", label: l.parentTaskNone },
8249
- onChange: (v) => set2("parentTaskId", v),
8239
+ onChange: (v) => set("parentTaskId", v),
8250
8240
  searchable: true,
8251
8241
  labels: pillLabels,
8252
8242
  testId: `${id}-parent`
@@ -8256,7 +8246,7 @@ function WorkTaskComposer({
8256
8246
  ui.VisibilityToggle,
8257
8247
  {
8258
8248
  items: { shared: values.shared },
8259
- onToggle: (share) => set2("shared", share),
8249
+ onToggle: (share) => set("shared", share),
8260
8250
  label: l.visibility,
8261
8251
  presentation: "select",
8262
8252
  "data-testid": `${id}-visibility`
@@ -8322,11 +8312,11 @@ function WorkTaskComposer({
8322
8312
  )
8323
8313
  ] }),
8324
8314
  workflow && fields.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
8325
- chunkWY626DNG_cjs.SchemaForm,
8315
+ chunkCGUDTSGI_cjs.SchemaForm,
8326
8316
  {
8327
8317
  fields,
8328
8318
  values: values.inputs,
8329
- onChange: (name, value) => set2("inputs", { ...values.inputs, [name]: value }),
8319
+ onChange: (name, value) => set("inputs", { ...values.inputs, [name]: value }),
8330
8320
  renderScope: renderScope ?? defaultScopeRenderer(scopeSource),
8331
8321
  renderDocuments,
8332
8322
  renderIcon,
@@ -8349,7 +8339,7 @@ function WorkTaskComposer({
8349
8339
  prefix: l.start,
8350
8340
  value: values.when === "manual" ? "now" : values.when,
8351
8341
  options: whenOptions,
8352
- onChange: (v) => set2("when", v),
8342
+ onChange: (v) => set("when", v),
8353
8343
  disabled: lockedStart,
8354
8344
  labels: pillLabels,
8355
8345
  testId: `${id}-when`
@@ -8363,7 +8353,7 @@ function WorkTaskComposer({
8363
8353
  value: values.agentId,
8364
8354
  options: assistantOptions,
8365
8355
  noneOption: { id: "", label: l.myAssistant },
8366
- onChange: (v) => set2("agentId", v),
8356
+ onChange: (v) => set("agentId", v),
8367
8357
  disabled: lockedStart,
8368
8358
  searchable: assistantOptions.length > 6,
8369
8359
  labels: pillLabels,
@@ -8382,7 +8372,7 @@ function WorkTaskComposer({
8382
8372
  label: l.accessOptions[mode].label
8383
8373
  })
8384
8374
  ),
8385
- onChange: (v) => set2("access", v),
8375
+ onChange: (v) => set("access", v),
8386
8376
  labels: pillLabels,
8387
8377
  testId: `${id}-access`
8388
8378
  }
@@ -8396,7 +8386,7 @@ function WorkTaskComposer({
8396
8386
  id: "task-composer-runat",
8397
8387
  type: "datetime-local",
8398
8388
  value: values.runAt,
8399
- onChange: (e) => set2("runAt", e.target.value),
8389
+ onChange: (e) => set("runAt", e.target.value),
8400
8390
  className: "max-w-xs",
8401
8391
  "aria-invalid": runAtPast || void 0,
8402
8392
  "data-testid": `${id}-run-at`
@@ -8408,7 +8398,7 @@ function WorkTaskComposer({
8408
8398
  RecurrenceBuilder,
8409
8399
  {
8410
8400
  rrule: values.rrule,
8411
- onChange: (r) => set2("rrule", r),
8401
+ onChange: (r) => set("rrule", r),
8412
8402
  ...recurrence
8413
8403
  }
8414
8404
  ),
@@ -8420,7 +8410,7 @@ function WorkTaskComposer({
8420
8410
  id: "task-composer-event",
8421
8411
  value: values.eventKind,
8422
8412
  placeholder: l.eventPlaceholder,
8423
- onChange: (e) => set2("eventKind", e.target.value),
8413
+ onChange: (e) => set("eventKind", e.target.value),
8424
8414
  className: "max-w-xs",
8425
8415
  "data-testid": `${id}-event`
8426
8416
  }
@@ -8434,7 +8424,7 @@ function WorkTaskComposer({
8434
8424
  prefix: l.afterTask,
8435
8425
  value: values.afterTaskId,
8436
8426
  options: taskOptions,
8437
- onChange: (v) => set2("afterTaskId", v),
8427
+ onChange: (v) => set("afterTaskId", v),
8438
8428
  searchable: true,
8439
8429
  labels: pillLabels,
8440
8430
  testId: `${id}-after-task`,
@@ -8464,7 +8454,7 @@ function WorkTaskComposer({
8464
8454
  id: "task-composer-timezone",
8465
8455
  list: "task-composer-timezones",
8466
8456
  value: values.timezone,
8467
- onChange: (e) => set2("timezone", e.target.value),
8457
+ onChange: (e) => set("timezone", e.target.value),
8468
8458
  className: "max-w-xs",
8469
8459
  "data-testid": `${id}-timezone`
8470
8460
  }
@@ -8981,7 +8971,7 @@ function ConfigFieldComponent({
8981
8971
  const fieldTestId = chunkMHVNT4J3_cjs.testIdOr(testIds?.field?.(section, fieldName), {
8982
8972
  testId: `config-field-${section}-${fieldName.replace(/\./g, "-")}`
8983
8973
  });
8984
- const { notify } = chunkAHYSHKPL_cjs.useBlocksEnvironment();
8974
+ const { notify } = chunk7THRBD42_cjs.useBlocksEnvironment();
8985
8975
  const fieldId = `${section}-${fieldName}`;
8986
8976
  const label = fieldSchema.title || prettifyKey(fieldName.split(".").pop() ?? fieldName);
8987
8977
  const description = fieldSchema.description || "";
@@ -10711,5 +10701,5 @@ exports.workflowTaskFields = workflowTaskFields;
10711
10701
  exports.workflowToComposerValues = workflowToComposerValues;
10712
10702
  exports.workflowToSkillMarkdown = workflowToSkillMarkdown;
10713
10703
  exports.workflowWhen = workflowWhen;
10714
- //# sourceMappingURL=chunk-52GITM4V.cjs.map
10715
- //# sourceMappingURL=chunk-52GITM4V.cjs.map
10704
+ //# sourceMappingURL=chunk-GNWQS6S4.cjs.map
10705
+ //# sourceMappingURL=chunk-GNWQS6S4.cjs.map