@uipath/flow-tool 1.205.0-preview.276 → 1.206.0-preview.279

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 (350) hide show
  1. package/README.md +14 -12
  2. package/dist/THIRD-PARTY-NOTICES.md +77 -49
  3. package/dist/applicationinsights-web-8m26566f.js +17209 -0
  4. package/dist/authoring-x84r2a2j.js +23 -0
  5. package/dist/binding-service-s0wvr2xm.js +114 -0
  6. package/dist/{browser-strategy-6atc7v8s.js → browser-strategy-gnftxwsf.js} +5 -6
  7. package/dist/connector-library-1yw5r47w.js +99 -0
  8. package/dist/{connector-service-m08dysc2.js → connector-service-r86mtxwn.js} +270 -275
  9. package/dist/{conversion-FQTRFHRX-e5wr281j.js → conversion-7O2PDOQB-3wwppx87.js} +477 -472
  10. package/dist/{de-FGHEJRCI-PK6WALXW-0dnvnmke.js → de-2BEKRUMY-MD7L477H-rj1rmtav.js} +425 -37
  11. package/dist/{de-WLW6KWOJ-2qnsqdtw.js → de-2BEKRUMY-x4dx0nn9.js} +190 -10
  12. package/dist/{de-VMMG2MN7-2ecwpg1b.js → de-3CU65EDB-r7r10am9.js} +82 -7
  13. package/dist/{de-UZI7FJDO-awjpqfz0.js → de-AI7ML6JM-km47f8k4.js} +20 -5
  14. package/dist/{de-B3EKCNFC-zdwybhh7.js → de-VQWT6L5Y-mch4qwyv.js} +38 -5
  15. package/dist/{de-XNTCMP5Z-xfkfqg20.js → de-XNTCMP5Z-nd4scb43.js} +1 -4
  16. package/dist/debug-conversation-trigger-3wzy90kj.js +23 -0
  17. package/dist/debug-http-client-zydr7tna.js +31 -0
  18. package/dist/debug-service-hdktqeek.js +60 -0
  19. package/dist/edge-service-zck3s9ss.js +267 -0
  20. package/dist/{elk.bundled-vpsbxz0p.js → elk.bundled-phy0zc81.js} +6860 -6860
  21. package/dist/{embedded-file-reader-r66242ey.js → embedded-file-reader-0228j82a.js} +1 -4
  22. package/dist/en-LAVDF7IQ-ba7wzsxp.js +254 -0
  23. package/dist/en-LQHKFSEY-zf6a2myg.js +24 -0
  24. package/dist/en-U2NSIIZN-whenw6wh.js +58 -0
  25. package/dist/en-WPCQ4JKF-t3x07ggr.js +148 -0
  26. package/dist/en-X6T4SP2Y-FPGCJIFV-qdfapfzs.js +2756 -0
  27. package/dist/en-X6T4SP2Y-xe57av1w.js +2752 -0
  28. package/dist/{es-5THCNRFN-tqwyrdgy.js → es-7ZTQTGKN-11sj0yjx.js} +190 -10
  29. package/dist/{es-KR3ZSNMP-QLWVVWKJ-5egs0gj9.js → es-7ZTQTGKN-TXQBFYRA-bzh1e1gq.js} +422 -34
  30. package/dist/{es-EKHIPSW6-ya88nvm0.js → es-EKHIPSW6-asfceac2.js} +1 -4
  31. package/dist/{es-KEBF3AIM-g5rszh8f.js → es-EP563JWQ-1agj5n4e.js} +38 -5
  32. package/dist/{es-WY6FZ3HO-zksnn6dp.js → es-KHVY67FO-natcvmmm.js} +82 -7
  33. package/dist/{es-MX-5RELIXKI-jtjbcxbb.js → es-MX-7KJZPEQN-1fq0a9jr.js} +20 -5
  34. package/dist/{es-MX-ZP2LJ3V7-k4brnfa9.js → es-MX-F7ZEHSNE-gxpm47vv.js} +82 -7
  35. package/dist/{es-MX-XXZJGC4R-W6EEIHXR-c2m4yjpj.js → es-MX-IHGRIEWH-23X37OPS-7cqdzpcy.js} +425 -37
  36. package/dist/{es-MX-TWZBRAXK-gqd9swzw.js → es-MX-IHGRIEWH-g63p0gb4.js} +191 -11
  37. package/dist/{es-MX-OR6G2SFR-7yykk5ma.js → es-MX-OR6G2SFR-02t13sen.js} +1 -4
  38. package/dist/{es-MX-EL3CDS3F-sh84yvjr.js → es-MX-S2RFDGDE-x9r0tv30.js} +38 -5
  39. package/dist/{es-4UBUTCQA-t7hsackg.js → es-SPNKTD5Y-vw5cbgv5.js} +20 -5
  40. package/dist/filter-engine-dh9s90gb.js +10 -0
  41. package/dist/first-party-service-ahcc6xc6.js +8 -0
  42. package/dist/flow-api-d4dvmadm.js +38 -0
  43. package/dist/{flow-debug-service-gc2ky1ve.js → flow-debug-service-hy21ddd9.js} +151 -195
  44. package/dist/flow-eval-node-target-tdrwqca7.js +29 -0
  45. package/dist/flow-eval-run-api-w4j8ra60.js +9 -0
  46. package/dist/{flow-eval-run-service-2cbr0jtw.js → flow-eval-run-service-5en4ahyn.js} +125 -149
  47. package/dist/{flow-eval-service-24jbkhhz.js → flow-eval-service-2j28ect1.js} +57 -81
  48. package/dist/{flow-init-sdk-source-xvdvkq7d.js → flow-init-sdk-source-xnr4bg25.js} +8 -11
  49. package/dist/flow-init-service-bj3ev9bz.js +26 -0
  50. package/dist/flow-io-9q6xk473.js +24 -0
  51. package/dist/{flow-migrate-service-t3pnd2r3.js → flow-migrate-service-dkx85jj5.js} +33 -54
  52. package/dist/{flow-pack-service-b910q207.js → flow-pack-service-58m51sp8.js} +79 -103
  53. package/dist/flow-validate-service-9a3zate4.js +46 -0
  54. package/dist/{fr-DPD4GHX3-exeypjwk.js → fr-7LK3QUWT-a94yejcs.js} +38 -5
  55. package/dist/{fr-Y6NPVODW-AS7T42TR-v4qe2tha.js → fr-7ZDL4MVO-CXMRZDOF-qjkg6y2r.js} +425 -37
  56. package/dist/{fr-CERONSRC-edpxhbmb.js → fr-7ZDL4MVO-pd27vwh6.js} +191 -11
  57. package/dist/{fr-VBM5WRC2-707ha692.js → fr-AXJGUT53-hdg3pmd4.js} +20 -5
  58. package/dist/{fr-PRMYCRDC-0bk078by.js → fr-I42FODC5-p80x5v4b.js} +83 -8
  59. package/dist/{fr-IHD66TVT-vfvmefbx.js → fr-IHD66TVT-eq8h0d6c.js} +1 -4
  60. package/dist/{governance-fetcher-ffvbtwbd.js → governance-fetcher-h8hpcwyh.js} +17 -21
  61. package/dist/{headless-4x4v3sy6.js → headless-41t9wwb7.js} +2395 -43269
  62. package/dist/{hitl-service-3m4ce3mt.js → hitl-service-hccqhm63.js} +22 -42
  63. package/dist/index-4e3w8x62.js +31 -0
  64. package/dist/{index-fyc0k5dd.js → index-5pzp2qeb.js} +5350 -3271
  65. package/dist/index-5xh0cjag.js +82 -0
  66. package/dist/index-7fet3f0s.js +10 -0
  67. package/dist/index-d4bdedx3.js +32 -0
  68. package/dist/index-f5kq7265.js +24 -0
  69. package/dist/index-g2p2ww34.js +39 -0
  70. package/dist/index-ng011fzs.js +974 -0
  71. package/dist/{index-h8cph72k.js → index-nzr4mx5p.js} +2 -22
  72. package/dist/{index-1b2je9n2.js → index-px95xmkg.js} +290 -268
  73. package/dist/index-tdwpejt6.js +22 -0
  74. package/dist/index-z2qk2qn6.js +24 -0
  75. package/dist/index.js +19 -28
  76. package/dist/index.umd.min-ttg1qc0x.js +7814 -0
  77. package/dist/init.js +22 -43
  78. package/dist/inline-entity-resolver-0neh2b43.js +25 -0
  79. package/dist/input-reader-zqaep7k7.js +11 -0
  80. package/dist/{ja-43QL7CGO-c3q8gre9.js → ja-C7GZV6YP-hvtbngr5.js} +20 -5
  81. package/dist/{ja-HFEQKCZF-hb2f25p8.js → ja-GI3OUHPZ-28fy60r0.js} +83 -8
  82. package/dist/{ja-JE5ZL7EY-hacj2m31.js → ja-JE5ZL7EY-607k4c7p.js} +1 -4
  83. package/dist/{ja-Q5PXKJ2V-BR5GRIDQ-fgqqpryf.js → ja-LGAM5HKR-NTPKIZEM-nv67917s.js} +422 -34
  84. package/dist/{ja-U2MCNHGT-gz0ap1jk.js → ja-LGAM5HKR-sgrtjqjh.js} +190 -10
  85. package/dist/ja-WY2W6733-ayr36h1f.js +71 -0
  86. package/dist/{jmespath-e4a59c8w.js → jmespath-wwym30dp.js} +1 -1
  87. package/dist/{js-yaml-87cdx6bm.js → js-yaml-a2bk27p6.js} +1 -3
  88. package/dist/known-types-v9sxcq1c.js +13 -0
  89. package/dist/{ko-AYBDSRZG-G43C3XUW-kng13fsg.js → ko-7B4SUZB7-2SLI636D-grbtfrcv.js} +424 -36
  90. package/dist/{ko-XAUYQWDR-zp81gjp4.js → ko-7B4SUZB7-c8wr20sc.js} +190 -10
  91. package/dist/{ko-DJJRKCG5-5h3k9csc.js → ko-DJJRKCG5-4fekzjn4.js} +1 -4
  92. package/dist/{ko-LA5OSS5P-mq5h8sbk.js → ko-H2RGQWKJ-9696w762.js} +38 -5
  93. package/dist/{ko-TLL6Z6CD-wrt3n8a9.js → ko-Q24HSSL4-5vn55pte.js} +20 -5
  94. package/dist/{ko-B4SEC7QX-thq2wt6a.js → ko-RYKAL74T-10m4z8vw.js} +83 -8
  95. package/dist/localization-skqjy9nr.js +45 -0
  96. package/dist/maestro-automate-entry-d1v5q5mv.js +14 -0
  97. package/dist/{node-xqc0h091.js → node-0jy3qx5b.js} +69 -638
  98. package/dist/node-service-2nxpk751.js +64 -0
  99. package/dist/{node-strategy-1dmmhvf3.js → node-strategy-wrjxmbzt.js} +9 -12
  100. package/dist/node-sync-service-68vq10je.js +56 -0
  101. package/dist/packager-tool-14rdgz3c.js +55 -0
  102. package/dist/packager-tool-1rhch6b5.js +496 -0
  103. package/dist/packager-tool-21t17xzz.js +5073 -0
  104. package/dist/{packager-tool-pvhx9e12.js → packager-tool-2b0tn4p4.js} +58 -176
  105. package/dist/{packager-tool-f9jxca9z.js → packager-tool-368bft50.js} +11 -11
  106. package/dist/{packager-tool-a5afh1dc.js → packager-tool-4fv0sq2h.js} +61 -67
  107. package/dist/packager-tool-4g87fbz6.js +273 -0
  108. package/dist/packager-tool-4zt1s51a.js +53 -0
  109. package/dist/{packager-tool-frjt46rb.js → packager-tool-508ka40b.js} +23 -23
  110. package/dist/{packager-tool-gbv6f0ac.js → packager-tool-5104bnpv.js} +22 -21
  111. package/dist/packager-tool-5dgpfh5e.js +1274 -0
  112. package/dist/packager-tool-5ve5ms3b.js +2393 -0
  113. package/dist/{packager-tool-dxgrhfq5.js → packager-tool-64r7e4ek.js} +8 -8
  114. package/dist/{packager-tool-h6pf3qxq.js → packager-tool-65yf8zqb.js} +180 -1237
  115. package/dist/{packager-tool-1yh8g550.js → packager-tool-6an893wm.js} +12 -3
  116. package/dist/{packager-tool-htrt75v4.js → packager-tool-6jpvvxyb.js} +27 -22
  117. package/dist/packager-tool-6vhefpmq.js +461 -0
  118. package/dist/{packager-tool-1nfbzy0h.js → packager-tool-72xwbsmw.js} +441 -556
  119. package/dist/packager-tool-7atc775f.js +30 -0
  120. package/dist/packager-tool-7mxn3e7j.js +27 -0
  121. package/dist/{packager-tool-wvmtp8zt.js → packager-tool-7qtnffkc.js} +8 -7
  122. package/dist/{packager-tool-ymma2s85.js → packager-tool-8ba22j6n.js} +9 -6
  123. package/dist/{packager-tool-apawc11t.js → packager-tool-8ed52y5r.js} +1584 -1261
  124. package/dist/{packager-tool-v11fm907.js → packager-tool-8n4bdvke.js} +13 -13
  125. package/dist/{packager-tool-p8gab24q.js → packager-tool-8qypzm9v.js} +424 -404
  126. package/dist/packager-tool-9217bxm2.js +6 -0
  127. package/dist/{packager-tool-zfrp8ecz.js → packager-tool-951nhh3e.js} +82 -82
  128. package/dist/{packager-tool-ap0zt7de.js → packager-tool-99d2kj94.js} +8 -11
  129. package/dist/{packager-tool-z21c6mbp.js → packager-tool-a1h0q79w.js} +48 -48
  130. package/dist/{packager-tool-xk78j7dz.js → packager-tool-ac6rvny7.js} +52 -57
  131. package/dist/{packager-tool-1d64q5s5.js → packager-tool-b2pkwwj1.js} +1273 -1300
  132. package/dist/{packager-tool-yetpbbey.js → packager-tool-bbkkxbyq.js} +9 -8
  133. package/dist/{packager-tool-409n51pv.js → packager-tool-d07g2kpn.js} +7 -7
  134. package/dist/{packager-tool-8zzmg2f3.js → packager-tool-dx6sjbkd.js} +19 -19
  135. package/dist/{packager-tool-8g5931fz.js → packager-tool-em4ppegs.js} +36 -43
  136. package/dist/{packager-tool-zgsvggdr.js → packager-tool-f7rk9xhv.js} +4 -4
  137. package/dist/{packager-tool-jrnjzs5t.js → packager-tool-fzgfb0jt.js} +32175 -36281
  138. package/dist/{packager-tool-9rmaeaww.js → packager-tool-gdpw0daf.js} +25211 -11966
  139. package/dist/packager-tool-hk0fnvz5.js +14 -0
  140. package/dist/{packager-tool-dbsdy4xx.js → packager-tool-jd3v0bh1.js} +4 -4
  141. package/dist/{packager-tool-tqjfdpda.js → packager-tool-jmrhzfyj.js} +106 -80
  142. package/dist/{packager-tool-2px5qqm4.js → packager-tool-kz3t4raw.js} +490 -246
  143. package/dist/{packager-tool-7bam8cjq.js → packager-tool-mdf7bws6.js} +53255 -27261
  144. package/dist/{packager-tool-gdtpsdn7.js → packager-tool-mm1x18d6.js} +223 -28
  145. package/dist/{packager-tool-nkrmjr3a.js → packager-tool-mphfxa9g.js} +125 -125
  146. package/dist/{packager-tool-kn86394c.js → packager-tool-p123mtfx.js} +66 -692
  147. package/dist/{packager-tool-t7ahhaer.js → packager-tool-pxq0bwp0.js} +208 -138
  148. package/dist/{packager-tool-j95w4fj3.js → packager-tool-q0f1dvtd.js} +11 -11
  149. package/dist/{packager-tool-8qp60s20.js → packager-tool-q2f18crb.js} +3 -3
  150. package/dist/packager-tool-q2kwk5bf.js +57 -0
  151. package/dist/{packager-tool-09rvpfjd.js → packager-tool-rxqxza90.js} +192 -183
  152. package/dist/{packager-tool-3m4ve01f.js → packager-tool-ryds9860.js} +33 -36
  153. package/dist/{packager-tool-ykbahxma.js → packager-tool-t17t9svg.js} +6 -6
  154. package/dist/{packager-tool-myhbp761.js → packager-tool-vgrswa8p.js} +53 -8
  155. package/dist/{packager-tool-7hw344bt.js → packager-tool-xb16e3tz.js} +5 -5
  156. package/dist/{packager-tool-1frs4sr4.js → packager-tool-yewnsyag.js} +37 -5
  157. package/dist/packager-tool-zdqbp34f.js +14 -0
  158. package/dist/{packager-tool-pacrqxv2.js → packager-tool-ze3fnf3s.js} +52 -34
  159. package/dist/packager-tool.js +12 -32
  160. package/dist/prepare-uip-ad7mfs8t.js +92 -0
  161. package/dist/{pt-3KUMINBZ-d0fexmny.js → pt-2RGHDOG4-gwe2ptvg.js} +38 -5
  162. package/dist/{pt-BR-3LGIH33I-tqbrd89y.js → pt-BR-3LGIH33I-hdf332je.js} +1 -4
  163. package/dist/{pt-BR-USP2T7GD-pedn77m1.js → pt-BR-BIUJXIPU-2sqzhr8y.js} +20 -5
  164. package/dist/{pt-BR-6VFBW5QT-hsck9gjj.js → pt-BR-IL3KLBID-m1mvqqzb.js} +83 -8
  165. package/dist/{pt-BR-WNNZTIMN-6fent688.js → pt-BR-JWHVZE6H-gvkknv49.js} +38 -5
  166. package/dist/{pt-BR-TKHNHMET-4Z5H4N5G-pzw3328h.js → pt-BR-PHLFHMXZ-JFPKUXIZ-gyb27t6e.js} +425 -37
  167. package/dist/{pt-BR-GNQNAAZ2-xadharv4.js → pt-BR-PHLFHMXZ-n6de4s7z.js} +191 -11
  168. package/dist/{pt-RMIAKZB4-t80exmp7.js → pt-MHX6JGAX-xfgvdqwg.js} +20 -5
  169. package/dist/{pt-ROXU257Y-OWZOS54V-ywap2t39.js → pt-N7ZTJT4W-GVODJMRX-p5b51p0b.js} +424 -36
  170. package/dist/{pt-TO2DARY2-ftcce1bv.js → pt-N7ZTJT4W-d6c67xcn.js} +190 -10
  171. package/dist/{pt-PFZXVOQH-qshq0b2m.js → pt-PFZXVOQH-xvcm5b61.js} +1 -4
  172. package/dist/{pt-WOTPKWPZ-1rxcy8hs.js → pt-VLA5IOHO-8t4pze0h.js} +83 -8
  173. package/dist/{ro-GHOBYW2S-4zevc9dy.js → ro-3RKJNGJZ-xqj14e3d.js} +20 -5
  174. package/dist/{ro-KMDT7LYJ-yhpnsdvw.js → ro-53TS7SWG-hnjx1c7b.js} +38 -5
  175. package/dist/{ro-AN5G62WQ-kcj00jwq.js → ro-AN5G62WQ-fzsv2ymm.js} +1 -4
  176. package/dist/{ro-AVAWPKOO-6WCG756B-v7pjv1hc.js → ro-FLNXVYJI-ZN43XZKK-2tajkc94.js} +422 -34
  177. package/dist/{ro-WUYJV6OW-a8d9qy1n.js → ro-FLNXVYJI-ytrwabg2.js} +190 -10
  178. package/dist/{ro-PB44YXML-zmhhwp5h.js → ro-IRNFX376-mh84zk3n.js} +82 -7
  179. package/dist/{ru-GSCT4ARZ-FTVCGQTL-gee86v14.js → ru-GSCT4ARZ-FTVCGQTL-v3d4ag31.js} +2 -4
  180. package/dist/ru-GSCT4ARZ-c2cfq4h1.js +7 -0
  181. package/dist/{ru-T73OPRTC-4knxw497.js → ru-T73OPRTC-50m7tty9.js} +1 -4
  182. package/dist/{ru-WBLQ5B2U-wemdzdqd.js → ru-WBLQ5B2U-5qpt0mvh.js} +1 -4
  183. package/dist/{ru-WBLQ5B2U-8r3c7v6d.js → ru-WBLQ5B2U-bf20yr5y.js} +1 -4
  184. package/dist/{ru-WBLQ5B2U-kdey8qa4.js → ru-WBLQ5B2U-w2wmp3xb.js} +1 -4
  185. package/dist/{serialization-BXU6AKAN-vdqyr29x.js → serialization-Z3UYT6BW-y9gb55mp.js} +1638 -761
  186. package/dist/services/extract-schema/default-schema-document.d.ts +31 -0
  187. package/dist/services/node-service.d.ts +6 -3
  188. package/dist/services/node-validators/file-node-connection-validator.d.ts +2 -0
  189. package/dist/services/node-validators/index.d.ts +1 -0
  190. package/dist/services/orchestrator-connection-field.d.ts +24 -0
  191. package/dist/services/packaging-utils.d.ts +2 -2
  192. package/dist/services/vars-reference-rule.d.ts +4 -3
  193. package/dist/solution-auth-j8x84n5z.js +11 -0
  194. package/dist/solution-discovery-vn4q32bf.js +38 -0
  195. package/dist/{tidy-service-hz61ypyj.js → tidy-service-m33hhtc7.js} +37 -55
  196. package/dist/tool.js +18 -27
  197. package/dist/{tr-JMIP7ZSL-G3QYPVT2-gswngwcr.js → tr-7AIZZWZ6-ESAESUPL-77g9b7jb.js} +422 -34
  198. package/dist/{tr-M3F5A6AU-bb0tg39m.js → tr-7AIZZWZ6-pdzp9n0p.js} +190 -10
  199. package/dist/{tr-SEC6RGZ4-0ttavjya.js → tr-EJKY7DVQ-rkctqva4.js} +83 -8
  200. package/dist/{tr-KHOCWWLF-8apf5y44.js → tr-KHOCWWLF-m9t24j5y.js} +1 -4
  201. package/dist/{tr-SC55DYHY-e4zgcd4t.js → tr-PIQY7JIT-2mkwk0kq.js} +38 -5
  202. package/dist/{tr-GDTLECMM-kngksm3r.js → tr-PQLUUHPC-qsb7btxn.js} +20 -5
  203. package/dist/utils/container-ports.d.ts +22 -0
  204. package/dist/utils/handle-expansion.d.ts +57 -3
  205. package/dist/utils/workflow-file-format.d.ts +14 -0
  206. package/dist/validation.js +44 -68
  207. package/dist/{variable-service-9ex4a93n.js → variable-service-ea1erf93.js} +28 -49
  208. package/dist/{wait-for-flow-job-b0vj8828.js → wait-for-flow-job-a4xtda36.js} +29 -36
  209. package/dist/{zh-CN-MX7VIOF2-xznrtchf.js → zh-CN-4FH7E7UL-84y6j2ea.js} +82 -7
  210. package/dist/{zh-CN-4NI2EGMV-8g027vv3.js → zh-CN-4NI2EGMV-dt0wg0wh.js} +1 -4
  211. package/dist/{zh-CN-IFFXSEJS-MZQ4HU3Z-ge1ynmtz.js → zh-CN-CN2ARPFS-NIQTWDK2-b5c91fwn.js} +422 -34
  212. package/dist/{zh-CN-C5G4PC7C-ds9gkptg.js → zh-CN-CN2ARPFS-e0p2qrxf.js} +190 -10
  213. package/dist/{en-BPJVY3U7-xkpj5xc5.js → zh-CN-NIEVKROA-q4tbbwqz.js} +26 -7
  214. package/dist/{zh-CN-I5D7WHBD-ge92tbx9.js → zh-CN-OHNTHZRI-b0hjkfqn.js} +20 -5
  215. package/dist/{zh-TW-53SU6EH4-33x57egq.js → zh-TW-53SU6EH4-w0wz3nwg.js} +1 -4
  216. package/dist/{zh-TW-5SJ3GZT2-bsg054mw.js → zh-TW-5WQA6QTM-hns69sd4.js} +83 -8
  217. package/dist/{zh-TW-IYBNYAMG-J7FWTQTK-sx8d4ymg.js → zh-TW-7RUFEVFK-VKVRSVTP-jq2pcmar.js} +421 -33
  218. package/dist/{zh-TW-62HZIG6O-787kdwex.js → zh-TW-7RUFEVFK-qd7myw31.js} +190 -10
  219. package/dist/{zh-TW-2AVLM723-288pkc1z.js → zh-TW-E4D3Y6ZR-tn3bmzz5.js} +20 -5
  220. package/dist/{zh-TW-TN3MPNXL-jcgg2hcs.js → zh-TW-MSQM7YTT-m7r7nwnj.js} +38 -5
  221. package/package.json +2 -2
  222. package/dist/authoring-e1k40hyw.js +0 -24
  223. package/dist/binding-service-0qffbxg7.js +0 -157
  224. package/dist/de-FGHEJRCI-gn4cf5gh.js +0 -2697
  225. package/dist/de-MUJPA4EB-209jpeqe.js +0 -173
  226. package/dist/de-UZI7FJDO-mwvc4cxe.js +0 -200
  227. package/dist/debug-conversation-trigger-2crr9w4n.js +0 -30
  228. package/dist/debug-http-client-yqjzsnhw.js +0 -32
  229. package/dist/debug-service-nra3n02y.js +0 -61
  230. package/dist/edge-service-y44f2rgd.js +0 -170
  231. package/dist/en-E454CJNK-ytfw06kj.js +0 -98
  232. package/dist/en-EJCBA3LK-0wb3b1xy.js +0 -146
  233. package/dist/en-EJCBA3LK-dtpdghgj.js +0 -146
  234. package/dist/en-GN2ZGWUE-03z2df4k.js +0 -136
  235. package/dist/en-LQHKFSEY-vvbe8ve9.js +0 -26
  236. package/dist/en-M7GQYBV2-5nfmpnfz.js +0 -2018
  237. package/dist/en-TBNO2WUV-77KTKLDE-4ktf0pqw.js +0 -1942
  238. package/dist/en-TBNO2WUV-9nan43e5.js +0 -1936
  239. package/dist/es-4UBUTCQA-m1ytpyx2.js +0 -200
  240. package/dist/es-7SE7HX2X-qda7whn6.js +0 -173
  241. package/dist/es-KR3ZSNMP-0cszm2n3.js +0 -2697
  242. package/dist/es-MX-2MYFZU7X-6v0q5rbn.js +0 -173
  243. package/dist/es-MX-5RELIXKI-9jhqtddc.js +0 -200
  244. package/dist/es-MX-XXZJGC4R-b4fbwe9d.js +0 -2697
  245. package/dist/filter-engine-7ep90g7f.js +0 -11
  246. package/dist/first-party-service-srxaftkn.js +0 -27
  247. package/dist/flow-api-sat010z1.js +0 -42
  248. package/dist/flow-eval-node-target-cwxb4kfe.js +0 -52
  249. package/dist/flow-eval-run-api-xdygjzfv.js +0 -13
  250. package/dist/flow-init-service-k7k5vx2z.js +0 -47
  251. package/dist/flow-io-2qdyj5e0.js +0 -44
  252. package/dist/flow-validate-service-x2mbk3et.js +0 -70
  253. package/dist/fr-MDFKNZ4C-qmypp92m.js +0 -173
  254. package/dist/fr-VBM5WRC2-63z7w4mh.js +0 -200
  255. package/dist/fr-Y6NPVODW-q5ef3htr.js +0 -2697
  256. package/dist/index-cg9qhfb1.js +0 -635
  257. package/dist/index-d090f35d.js +0 -66
  258. package/dist/index-gxcjq6ns.js +0 -110
  259. package/dist/index-kmp9fmhb.js +0 -25
  260. package/dist/index-nsn889vf.js +0 -27
  261. package/dist/index-sqhbn7ew.js +0 -157
  262. package/dist/index-wycgq0ff.js +0 -3178
  263. package/dist/index-y1ym28vg.js +0 -667
  264. package/dist/index.umd.min-fqefd9kn.js +0 -7814
  265. package/dist/inline-entity-resolver-c854cqma.js +0 -45
  266. package/dist/input-reader-n7kzdrev.js +0 -12
  267. package/dist/ja-43QL7CGO-h6qfxfay.js +0 -200
  268. package/dist/ja-MDG4BKZQ-gayaca2c.js +0 -38
  269. package/dist/ja-Q5PXKJ2V-tzf2rvz2.js +0 -2697
  270. package/dist/ja-UTQEAP34-hvyf683h.js +0 -173
  271. package/dist/known-types-r51zxb9g.js +0 -19
  272. package/dist/ko-AXCHW2OK-pkwdcbmx.js +0 -173
  273. package/dist/ko-AYBDSRZG-am0h0m2r.js +0 -2697
  274. package/dist/ko-TLL6Z6CD-ag6gjynr.js +0 -200
  275. package/dist/localization-d6gjmrsw.js +0 -47
  276. package/dist/maestro-automate-entry-6f9act3w.js +0 -22
  277. package/dist/node-service-d4xpqs0z.js +0 -92
  278. package/dist/node-sync-service-76b9e4r5.js +0 -61
  279. package/dist/packager-tool-0gctz400.js +0 -17
  280. package/dist/packager-tool-4mna26cc.js +0 -133
  281. package/dist/packager-tool-4x7tzvv0.js +0 -1176
  282. package/dist/packager-tool-53w8skv5.js +0 -262
  283. package/dist/packager-tool-6ejqwbw9.js +0 -26
  284. package/dist/packager-tool-6z1hsm2h.js +0 -143
  285. package/dist/packager-tool-7ja1b5hh.js +0 -8809
  286. package/dist/packager-tool-9era57c0.js +0 -28
  287. package/dist/packager-tool-9jxzgsxc.js +0 -14
  288. package/dist/packager-tool-c23zrhj8.js +0 -11
  289. package/dist/packager-tool-d6qf5qmb.js +0 -49
  290. package/dist/packager-tool-e3yks66r.js +0 -95
  291. package/dist/packager-tool-e5hj89zm.js +0 -6
  292. package/dist/packager-tool-e87tzg4y.js +0 -1937
  293. package/dist/packager-tool-eypvc2kv.js +0 -23
  294. package/dist/packager-tool-gbgfwx8f.js +0 -2
  295. package/dist/packager-tool-hk1gxnth.js +0 -11
  296. package/dist/packager-tool-hxyjn885.js +0 -24
  297. package/dist/packager-tool-j78fwwhq.js +0 -16
  298. package/dist/packager-tool-jgfzfqjm.js +0 -53
  299. package/dist/packager-tool-jysvpt8p.js +0 -11
  300. package/dist/packager-tool-m3wkcxf5.js +0 -11
  301. package/dist/packager-tool-mcaf4ewf.js +0 -46
  302. package/dist/packager-tool-mgcz986r.js +0 -143
  303. package/dist/packager-tool-p79yh9ww.js +0 -97
  304. package/dist/packager-tool-paq9c70w.js +0 -1332
  305. package/dist/packager-tool-pcvhcn2k.js +0 -2019
  306. package/dist/packager-tool-qkn0c042.js +0 -1922
  307. package/dist/packager-tool-qszay16r.js +0 -180
  308. package/dist/packager-tool-red2crtp.js +0 -5367
  309. package/dist/packager-tool-rs6jm14d.js +0 -23
  310. package/dist/packager-tool-s7wb0s9n.js +0 -6297
  311. package/dist/packager-tool-sc961w0q.js +0 -16
  312. package/dist/packager-tool-skcjythd.js +0 -22085
  313. package/dist/packager-tool-t07ev0jj.js +0 -1083
  314. package/dist/packager-tool-xj0agqpk.js +0 -11
  315. package/dist/packager-tool-z83pga0z.js +0 -1942
  316. package/dist/pt-3DIO5QWG-hb763vct.js +0 -173
  317. package/dist/pt-BR-TKHNHMET-dn6zxk1d.js +0 -2697
  318. package/dist/pt-BR-USP2T7GD-rppy42ym.js +0 -200
  319. package/dist/pt-BR-Y6K6XHXK-37a932vp.js +0 -173
  320. package/dist/pt-RMIAKZB4-67enhx3m.js +0 -200
  321. package/dist/pt-ROXU257Y-yd80gx6s.js +0 -2697
  322. package/dist/ro-AVAWPKOO-42m6am1w.js +0 -2697
  323. package/dist/ro-BWR3ONRR-jmap5ajd.js +0 -173
  324. package/dist/ro-GHOBYW2S-mhnqsgaa.js +0 -200
  325. package/dist/ru-GSCT4ARZ-1sa9wbr8.js +0 -10
  326. package/dist/ru-GSCT4ARZ-jrxwev63.js +0 -10
  327. package/dist/ru-WBLQ5B2U-dpqvtfwr.js +0 -10
  328. package/dist/ru-WBLQ5B2U-s4em88p0.js +0 -10
  329. package/dist/shared-utils-tqnx96mg.js +0 -21
  330. package/dist/solution-auth-8qz5pw7z.js +0 -14
  331. package/dist/solution-discovery-6t0z143v.js +0 -44
  332. package/dist/tr-5IIHSFW5-stsb3dar.js +0 -173
  333. package/dist/tr-GDTLECMM-k5fhmq13.js +0 -200
  334. package/dist/tr-JMIP7ZSL-fb67ft9w.js +0 -2696
  335. package/dist/zh-CN-I5D7WHBD-sr5h0a98.js +0 -200
  336. package/dist/zh-CN-IFFXSEJS-tke4mzty.js +0 -2697
  337. package/dist/zh-CN-OUMLDKDS-q3a1rr5c.js +0 -38
  338. package/dist/zh-CN-R2KU4U5L-q4yhc33t.js +0 -173
  339. package/dist/zh-TW-2AVLM723-xsmap3gk.js +0 -200
  340. package/dist/zh-TW-GNKMELBF-r4ay2475.js +0 -173
  341. package/dist/zh-TW-IYBNYAMG-wcan0qpb.js +0 -2697
  342. /package/dist/{packager-tool-yc4kw997.js → packager-tool-1qg04b7q.js} +0 -0
  343. /package/dist/{packager-tool-cqtsj6yh.js → packager-tool-2sazb7th.js} +0 -0
  344. /package/dist/{packager-tool-s9ff3kk4.js → packager-tool-887wr6jm.js} +0 -0
  345. /package/dist/{packager-tool-aw9v0raw.js → packager-tool-8c7nddd1.js} +0 -0
  346. /package/dist/{packager-tool-9cq9atem.js → packager-tool-a9xgmn1q.js} +0 -0
  347. /package/dist/{packager-tool-4kr6g0zw.js → packager-tool-cvh1a0nm.js} +0 -0
  348. /package/dist/{packager-tool-27avrkyk.js → packager-tool-k3egwd1m.js} +0 -0
  349. /package/dist/{packager-tool-qa9gftnj.js → packager-tool-mxgybnmt.js} +0 -0
  350. /package/dist/{packager-tool-10vc8pq4.js → packager-tool-wr7gn964.js} +0 -0
@@ -1,18 +1,42 @@
1
1
  import {
2
- DEFAULT_INTERVAL_MS,
3
- DEFAULT_TIMEOUT_MS,
4
- pendingSecondsFor,
5
- pendingStallInstructions
6
- } from "./packager-tool-aw9v0raw.js";
7
- import {
8
- package_default
9
- } from "./packager-tool-wvmtp8zt.js";
2
+ getFileSystem
3
+ } from "./packager-tool-vgrswa8p.js";
10
4
  import {
11
- VALID_RESOURCE_TYPES
12
- } from "./packager-tool-27avrkyk.js";
5
+ CommandDimensions,
6
+ ShipDimensions,
7
+ catchError2
8
+ } from "./packager-tool-pxq0bwp0.js";
13
9
  import {
14
- UnknownEntryPointError
15
- } from "./packager-tool-4kr6g0zw.js";
10
+ carriedErrorCode,
11
+ extractErrorDetails,
12
+ extractErrorMessage,
13
+ extractErrorMessageSync,
14
+ appendOption,
15
+ ATTACHMENT_INSTRUCTIONS,
16
+ ATTACHMENT_UPLOAD_INSTRUCTIONS,
17
+ parseAttachmentSpec,
18
+ resolveAttachmentInputs,
19
+ instructionsFor,
20
+ RESULTS,
21
+ classifiedFailure,
22
+ authContextFailure,
23
+ summarizePlatformBody,
24
+ Option,
25
+ logger,
26
+ Pagination,
27
+ apiPagination,
28
+ OutputFormatter,
29
+ processContext,
30
+ createHiddenDeprecatedTenantOption,
31
+ parseLimit,
32
+ parseOffset,
33
+ parseBoundedInt,
34
+ registerPackageMetadataOptions,
35
+ mapPackageMetadataOptions,
36
+ ScreenLogger,
37
+ splitPackagedName,
38
+ trackShipSucceeded
39
+ } from "./packager-tool-8ed52y5r.js";
16
40
  import {
17
41
  registerRegistryCommand,
18
42
  registerSharedDebugInstanceCommands,
@@ -20,56 +44,42 @@ import {
20
44
  registerSharedInstanceCommands,
21
45
  registerSharedProcessCommands,
22
46
  registerSharedProcessesCommands
23
- } from "./packager-tool-1d64q5s5.js";
47
+ } from "./packager-tool-b2pkwwj1.js";
24
48
  import {
25
49
  evaluatorTypeAliases,
50
+ resolveLoginConfig,
26
51
  formatDuration,
27
- formatEvalSetRunRow,
28
52
  formatEvaluatorScores,
53
+ remoteRunScore,
29
54
  formatRemoteEvalRunRow,
30
55
  isFailedRemoteRun,
31
56
  isTerminalRemoteStatus,
32
- remoteRunScore,
33
- resolveLoginConfig
34
- } from "./packager-tool-xk78j7dz.js";
57
+ formatEvalSetRunRow
58
+ } from "./packager-tool-ac6rvny7.js";
59
+ import {
60
+ pendingSecondsFor,
61
+ pendingStallInstructions,
62
+ DEFAULT_TIMEOUT_MS,
63
+ DEFAULT_INTERVAL_MS
64
+ } from "./packager-tool-8c7nddd1.js";
35
65
  import {
36
- setAgentProjectMetadataReader
37
- } from "./packager-tool-8qp60s20.js";
66
+ VALID_RESOURCE_TYPES
67
+ } from "./packager-tool-k3egwd1m.js";
38
68
  import {
39
- ATTACHMENT_INSTRUCTIONS,
40
- ATTACHMENT_UPLOAD_INSTRUCTIONS,
41
- CommandDimensions,
42
- OutputFormatter,
43
- Pagination,
44
- RESULTS,
45
- ScreenLogger,
46
- ShipDimensions,
47
- appendOption,
48
- createHiddenDeprecatedTenantOption,
49
- extractErrorMessage,
50
- extractErrorMessageSync,
51
- instructionsFor,
52
- logger,
53
- mapPackageMetadataOptions,
54
- parseAttachmentSpec,
55
- parseLimit,
56
- parseOffset,
57
- processContext,
58
- registerPackageMetadataOptions,
59
- resolveAttachmentInputs,
60
- splitPackagedName,
61
- summarizePlatformBody,
62
- trackShipSucceeded
63
- } from "./packager-tool-apawc11t.js";
69
+ package_default
70
+ } from "./packager-tool-7qtnffkc.js";
64
71
  import {
65
- catchError
66
- } from "./packager-tool-t7ahhaer.js";
72
+ UnknownEntryPointError
73
+ } from "./packager-tool-cvh1a0nm.js";
67
74
  import {
68
- getFileSystem
69
- } from "./packager-tool-myhbp761.js";
75
+ setAgentProjectMetadataReader2
76
+ } from "./packager-tool-q2f18crb.js";
70
77
  import {
71
- __require
72
- } from "./packager-tool-1yh8g550.js";
78
+ formatTraceLine,
79
+ backendFailure,
80
+ genericObjectDiscoveryCommands,
81
+ addJobTracesOptions
82
+ } from "./packager-tool-4zt1s51a.js";
73
83
 
74
84
  // src/utils/row-window.ts
75
85
  function addRowWindowOptions(command) {
@@ -91,17 +101,6 @@ function rowWindow(rows, options) {
91
101
  })
92
102
  };
93
103
  }
94
- function apiPagination(returned, options) {
95
- const { limit, offset } = options;
96
- if (limit === undefined && offset === 0) {
97
- return;
98
- }
99
- return new Pagination({
100
- returned,
101
- limit: limit ?? Math.max(returned, 1),
102
- offset
103
- });
104
- }
105
104
 
106
105
  // src/commands/binding.ts
107
106
  var BINDING_LIST_EXAMPLES = [
@@ -163,8 +162,8 @@ var BINDING_DELETE_EXAMPLES = [
163
162
  var registerBindingCommand = (program) => {
164
163
  const binding = program.command("bindings").alias("binding").description("Manage bindings in a Flow file");
165
164
  addRowWindowOptions(binding.command("list")).description("List all bindings in a Flow file").argument("<file>", "Path to the .flow file").examples(BINDING_LIST_EXAMPLES).trackedAction(processContext, async (file, options) => {
166
- const { listBindingsInFlow } = await import("./binding-service-0qffbxg7.js");
167
- const [error, result] = await catchError(listBindingsInFlow(file));
165
+ const { listBindingsInFlow } = await import("./binding-service-s0wvr2xm.js");
166
+ const [error, result] = await catchError2(listBindingsInFlow(file));
168
167
  if (error) {
169
168
  OutputFormatter.error({
170
169
  Result: RESULTS.Failure,
@@ -187,8 +186,8 @@ var registerBindingCommand = (program) => {
187
186
  });
188
187
  binding.command("create").alias("add").description(`Add a binding to a Flow file.
189
188
  ` + `Valid resource types: ${VALID_RESOURCE_TYPES.join(", ")}`).argument("<file>", "Path to the .flow file").argument("<name>", "Binding display name").argument("<resource>", "Resource type").argument("<default-value>", "Default value for the binding").option("--resource-key <key>", "Resource catalog identifier").option("--property-attribute <attr>", "Target node property (e.g., name, folderPath, connection)").option("--resource-sub-type <type>", "Resource sub-classification (e.g., Agent, Process)").examples(BINDING_ADD_EXAMPLES).trackedAction(processContext, async (file, name, resource, defaultValue, options) => {
190
- const { addBindingToFlow } = await import("./binding-service-0qffbxg7.js");
191
- const [error, result] = await catchError(addBindingToFlow(file, name, resource, defaultValue, {
189
+ const { addBindingToFlow } = await import("./binding-service-s0wvr2xm.js");
190
+ const [error, result] = await catchError2(addBindingToFlow(file, name, resource, defaultValue, {
192
191
  resourceKey: options.resourceKey,
193
192
  propertyAttribute: options.propertyAttribute,
194
193
  resourceSubType: options.resourceSubType
@@ -211,8 +210,8 @@ var registerBindingCommand = (program) => {
211
210
  });
212
211
  });
213
212
  binding.command("delete").alias("remove").description("Remove all bindings with a given resource key from a Flow file").argument("<file>", "Path to the .flow file").argument("<resource-key>", "Resource key of the bindings to remove").examples(BINDING_DELETE_EXAMPLES).trackedAction(processContext, async (file, resourceKey) => {
214
- const { deleteBindingFromFlow } = await import("./binding-service-0qffbxg7.js");
215
- const [error, result] = await catchError(deleteBindingFromFlow(file, resourceKey));
213
+ const { deleteBindingFromFlow } = await import("./binding-service-s0wvr2xm.js");
214
+ const [error, result] = await catchError2(deleteBindingFromFlow(file, resourceKey));
216
215
  if (error) {
217
216
  OutputFormatter.error({
218
217
  Result: RESULTS.Failure,
@@ -267,7 +266,7 @@ function buildDebugSummary(result) {
267
266
  var FULL_DEBUG_OUTPUT_DIR = ".flow-debug";
268
267
  var FULL_DEBUG_OUTPUT_GITIGNORE = "# Written by `uip maestro flow debug --summary`: local debug records with tenant data.\n*\n";
269
268
  async function writeFullDebugOutput(fs, projectPath, envelope) {
270
- const { findNearestParentUipxFile } = await import("./index-y1ym28vg.js");
269
+ const { findNearestParentUipxFile } = await import("./index-g2p2ww34.js");
271
270
  const projectDir = fs.path.resolve(projectPath);
272
271
  const discovery = await findNearestParentUipxFile(fs, projectDir);
273
272
  const solutionDir = discovery.status === "found" ? fs.path.dirname(discovery.solutionFile) : fs.path.resolve(projectDir, "..");
@@ -321,11 +320,14 @@ function buildHttpFailureOutput(err) {
321
320
  return output;
322
321
  }
323
322
  function pickRetryHint(err) {
323
+ if (isRetriedPoll403(err))
324
+ return "RetryAfter30Seconds";
324
325
  if (err.httpStatus < 500 || err.httpStatus >= 600) {
325
326
  return;
326
327
  }
327
328
  return (err.attempts ?? 1) > 1 ? "RetryWillNotFix" : "RetryAfter30Seconds";
328
329
  }
330
+ var isRetriedPoll403 = (err) => err.httpStatus === 403 && err.stage === "poll-instance-status" && (err.attempts ?? 1) > 1;
329
331
  function pickInstructions(err) {
330
332
  const isOpaque5xx = err.httpStatus >= 500 && err.httpStatus < 600 && (err.parsedErrorCode === undefined || err.parsedErrorCode === "0");
331
333
  if (isOpaque5xx) {
@@ -338,6 +340,10 @@ function pickInstructions(err) {
338
340
  }
339
341
  return `The backend returned an unstructured ${err.httpStatus} during '${stage}'.${traceHint} ` + `This is often transient — wait ~30s and retry once. If it fails again, capture the traceId ` + `and ${err.method} ${err.endpoint} and escalate to the owning service team.`;
340
342
  }
343
+ if (isRetriedPoll403(err)) {
344
+ const traceIds = err.traceIds?.length ? ` traceIds: ${err.traceIds.join(", ")}.` : "";
345
+ return `${err.method} ${err.endpoint} returned 403 on all ${err.attempts} attempts during ` + `'poll-instance-status', after the run had started. PIMS answers 403 here when its ` + `authorization check times out, so this is usually not your login. Re-run 'debug' ` + `in ~30s. If it fails the same way again, run 'uip login' and verify the active ` + `tenant has access.${traceIds}`;
346
+ }
341
347
  if (err.httpStatus === 401 || err.httpStatus === 403) {
342
348
  return `Authentication/authorization rejected by ${err.method} ${err.endpoint}. ` + `Run 'uip login' and verify the active tenant has access.`;
343
349
  }
@@ -348,8 +354,8 @@ function pickInstructions(err) {
348
354
  const bodySuffix = body ? ` Platform response: "${body}".` : "";
349
355
  return `${err.method} ${err.endpoint} returned 404 during '${err.stage ?? "request"}', ` + `but the response was not a structured Orchestrator error — the request likely ` + `did not reach the tenant. This usually means the organization or tenant in your ` + `login session is wrong or was renamed. Run 'uip login tenant list' to see the ` + `current tenant names, re-select with 'uip login tenant set <name>' (or re-run ` + `'uip login'), then retry. Do not create a new workspace or retry as-is — the ` + `resource likely exists under the current tenant name.${bodySuffix}`;
350
356
  }
351
- const detail2 = err.parsedErrorMessage ? ` Backend reported: "${err.parsedErrorMessage}".` : "";
352
- return `${err.method} ${err.endpoint} returned 404 during '${err.stage ?? "request"}'. ` + `The target resource may not exist — verify upstream IDs (solutionId, instanceId) ` + `and re-run.${detail2}`;
357
+ const detail = err.parsedErrorMessage ? ` Backend reported: "${err.parsedErrorMessage}".` : "";
358
+ return `${err.method} ${err.endpoint} returned 404 during '${err.stage ?? "request"}'. ` + `The target resource may not exist — verify upstream IDs (solutionId, instanceId) ` + `and re-run.${detail}`;
353
359
  }
354
360
  const detail = err.parsedErrorMessage ? ` Backend reported: "${err.parsedErrorMessage}".` : "";
355
361
  return `${err.method} ${err.endpoint} failed with HTTP ${err.httpStatus} during ` + `'${err.stage ?? "request"}'.${detail} Inspect the response body for details ` + `and retry once before reporting.`;
@@ -365,7 +371,7 @@ function buildIncidentInstructions(incidents, instanceId) {
365
371
  const lines = summarizeIncidents(incidents);
366
372
  const first = incidents[0];
367
373
  const traceHint = first?.traceId ? ` traceId=${first.traceId}.` : "";
368
- const detailHint = `Run 'uip maestro flow debug-instance incidents ${instanceId}' for ` + `the full backend payload (incidentId, errorDetails, AI summary).`;
374
+ const detailHint = `Run 'uip maestro flow debug-instances incidents ${instanceId}' for ` + `the full backend payload (incidentId, errorDetails, AI summary).`;
369
375
  return `Incident(s):
370
376
  - ${lines.join(`
371
377
  - `)}
@@ -374,14 +380,14 @@ ${detailHint}${traceHint}`;
374
380
  function variablesRetryCommand(instanceId, error) {
375
381
  const ids = error.expectedGlobals?.length ? error.expectedGlobals : error.missingGlobals;
376
382
  const expect = ids?.length ? ` --expected-outputs ${ids.join(" ")}` : "";
377
- return `'uip maestro flow debug-instance variables ${instanceId}${expect}'`;
383
+ return `'uip maestro flow debug-instances variables ${instanceId}${expect}'`;
378
384
  }
379
385
  var CONVERSATIONAL_DEBUG_WARNING = "This flow, which starts on a conversation trigger, can only be debugged from a chat UI. " + `Debug it using the chat panel from either:
380
386
  ` + " 1. Studio Web — open the debug URL printed once the solution uploads " + `(also 'Data.studioWebUrl' in the result).
381
387
  ` + " 2. UiPath Maestro VS Code extension — open the flow and hit Debug.";
382
388
  async function readProjectFlowNodes(projectPath) {
383
- const [error, nodes] = await catchError((async () => {
384
- const { readFlowWorkflow, resolveProjectFlowFile } = await import("./flow-io-2qdyj5e0.js");
389
+ const [error, nodes] = await catchError2((async () => {
390
+ const { readFlowWorkflow, resolveProjectFlowFile } = await import("./flow-io-9q6xk473.js");
385
391
  const flowFilePath = await resolveProjectFlowFile(projectPath);
386
392
  const { workflow } = await readFlowWorkflow(flowFilePath);
387
393
  return workflow.nodes ?? [];
@@ -469,7 +475,7 @@ var FOLDER_RESOLUTION_INSTRUCTIONS = "Provide a valid --folder-key (UUID) or --f
469
475
  var FOLDER_RESOLUTION_NETWORK_INSTRUCTIONS = "The folder lookup itself failed (network / Orchestrator API). Re-authenticate with 'uip login', verify connectivity, and retry.";
470
476
  var DEBUG_FAILURE_INSTRUCTIONS = "Check that the flow project is valid, the selected folder is accessible, and Studio Web debug is available, then retry.";
471
477
  async function openInBrowserOrWarn(url) {
472
- const [openError] = await catchError(async () => {
478
+ const [openError] = await catchError2(async () => {
473
479
  await getFileSystem().utils.open(url);
474
480
  });
475
481
  if (openError) {
@@ -512,12 +518,12 @@ function parsePositiveIntegerOption(value, optionName) {
512
518
  }
513
519
  function registerDebugCommand(program) {
514
520
  program.command("debug").description("Debug a flow project by uploading to Studio Web and running a debug session").argument("<project-path>", "Path to the flow project directory (must contain project.uiproj)").option("--folder-id <id>", "Orchestrator folder ID (OrganizationUnitId) as a positive integer. Mutually exclusive with --folder-key/--folder-path. Auto-detected if none are provided.").option("--folder-key <key>", "Orchestrator folder key (UUID). The CLI resolves it to the folder ID. Mutually exclusive with --folder-id/--folder-path.").option("--folder-path <path>", "Orchestrator folder path (e.g. 'Shared/Sub'). The CLI resolves it to the folder ID. Mutually exclusive with --folder-id/--folder-key.").option("--poll-interval <ms>", "Polling interval in milliseconds", "2000").option("--timeout <seconds>", "Maximum seconds to wait for debug completion").option("-i, --inputs <json>", "Input parameters as JSON string or @file.json").option("--entry-point <id>", "Entry point node id — a trigger node id from the .flow file. Defaults to the trigger marked isDefaultEntryPoint, else the first trigger").option("--attachment <name=path>", "Upload a file as a file-typed workflow input variable (repeatable). " + "Example: --attachment file1=./resume.pdf", appendOption, []).option("--summary", "Return only the run's status, its failed elements and the flow's declared outputs, " + "instead of every node's raw output. The full result, tenant data included, is written to " + "<solution>/.flow-debug/<project>.json (<project> relative to the solution; the folder's own " + ".gitignore ignores it; never packed or uploaded) and named in Data.fullOutputPath.").option("--open-in-browser", "Open the Studio Web URL in the browser once it is known.").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).examples(FLOW_DEBUG_EXAMPLES).trackedAction(processContext, async (projectPath, options) => {
515
- const { getLoginStatusAsync } = await import("./index-sqhbn7ew.js");
521
+ const { getAuthContext } = await import("./index-f5kq7265.js");
516
522
  const nodes = await readProjectFlowNodes(projectPath);
517
523
  let isConversational = false;
518
524
  if (nodes !== undefined) {
519
- const { startsOnConversationTrigger } = await import("./debug-conversation-trigger-2crr9w4n.js");
520
- const [entryPointError, conversational] = catchError(() => startsOnConversationTrigger({ nodes }, options.entryPoint));
525
+ const { startsOnConversationTrigger } = await import("./debug-conversation-trigger-3wzy90kj.js");
526
+ const [entryPointError, conversational] = catchError2(() => startsOnConversationTrigger({ nodes }, options.entryPoint));
521
527
  if (entryPointError instanceof UnknownEntryPointError) {
522
528
  OutputFormatter.error({
523
529
  Result: RESULTS.ValidationError,
@@ -540,82 +546,26 @@ function registerDebugCommand(program) {
540
546
  }
541
547
  }
542
548
  let urlReported = false;
543
- const [loginError, login] = await catchError(getLoginStatusAsync({
544
- ensureTokenValidityMinutes: options.loginValidity
549
+ const [authError, auth] = await catchError2(getAuthContext({
550
+ ensureTokenValidityMinutes: options.loginValidity,
551
+ requireOrganizationId: true,
552
+ requireOrganizationName: true,
553
+ requireTenantId: true,
554
+ requireTenantName: true
545
555
  }));
546
- if (loginError) {
547
- OutputFormatter.error({
548
- Result: RESULTS.Failure,
549
- Message: loginError.message,
550
- Instructions: LOGIN_INSTRUCTIONS
551
- });
556
+ if (authError) {
557
+ OutputFormatter.error(await authContextFailure(authError, LOGIN_INSTRUCTIONS));
552
558
  processContext.exit(1);
553
559
  return;
554
560
  }
555
561
  const {
556
- loginStatus,
557
562
  baseUrl,
558
563
  accessToken,
559
564
  organizationId,
560
565
  tenantId,
561
566
  tenantName,
562
- organizationUnitId,
563
567
  organizationName
564
- } = login;
565
- if (loginStatus !== "Logged in" || !baseUrl) {
566
- OutputFormatter.error({
567
- Result: RESULTS.Failure,
568
- Message: "Not logged in. Run 'uip login' first.",
569
- Instructions: LOGIN_INSTRUCTIONS
570
- });
571
- processContext.exit(1);
572
- return;
573
- }
574
- if (!organizationId) {
575
- OutputFormatter.error({
576
- Result: RESULTS.Failure,
577
- Message: "Organization ID not available from login.",
578
- Instructions: LOGIN_INSTRUCTIONS
579
- });
580
- processContext.exit(1);
581
- return;
582
- }
583
- if (!tenantId) {
584
- OutputFormatter.error({
585
- Result: RESULTS.Failure,
586
- Message: "Tenant ID not available from login.",
587
- Instructions: LOGIN_INSTRUCTIONS
588
- });
589
- processContext.exit(1);
590
- return;
591
- }
592
- if (!tenantName) {
593
- OutputFormatter.error({
594
- Result: RESULTS.Failure,
595
- Message: "Tenant name not available from login.",
596
- Instructions: LOGIN_INSTRUCTIONS
597
- });
598
- processContext.exit(1);
599
- return;
600
- }
601
- if (!accessToken) {
602
- OutputFormatter.error({
603
- Result: RESULTS.Failure,
604
- Message: "Access token not available from login.",
605
- Instructions: LOGIN_INSTRUCTIONS
606
- });
607
- processContext.exit(1);
608
- return;
609
- }
610
- if (!organizationName) {
611
- OutputFormatter.error({
612
- Result: RESULTS.Failure,
613
- Message: "Organization name not available from login. Required for Studio Web debug.",
614
- Instructions: LOGIN_INSTRUCTIONS
615
- });
616
- processContext.exit(1);
617
- return;
618
- }
568
+ } = auth;
619
569
  const folderTargetingFlags = [
620
570
  options.folderId !== undefined ? "--folder-id" : undefined,
621
571
  options.folderKey !== undefined ? "--folder-key" : undefined,
@@ -644,8 +594,8 @@ function registerDebugCommand(program) {
644
594
  }
645
595
  userProvidedFolderId = parsed.value;
646
596
  } else if (options.folderKey !== undefined || options.folderPath !== undefined) {
647
- const { resolveFolder } = await import("./index-wycgq0ff.js");
648
- const [folderError, folder] = await catchError(resolveFolder({
597
+ const { resolveFolder } = await import("./index-4e3w8x62.js");
598
+ const [folderError, folder] = await catchError2(resolveFolder({
649
599
  folderKey: options.folderKey,
650
600
  folderPath: options.folderPath
651
601
  }, { loginValidity: options.loginValidity }));
@@ -669,7 +619,7 @@ function registerDebugCommand(program) {
669
619
  tenantId,
670
620
  tenantName,
671
621
  authToken: accessToken,
672
- organizationUnitId: userProvidedFolderId ?? organizationUnitId,
622
+ organizationUnitId: userProvidedFolderId,
673
623
  organizationName,
674
624
  userProvidedFolderId
675
625
  };
@@ -678,23 +628,23 @@ function registerDebugCommand(program) {
678
628
  logger.info(` Tenant: ${tenantName} (${tenantId})`);
679
629
  logger.info(` Base URL: ${baseUrl}`);
680
630
  const {
681
- DebugProvisioningMissingResourcesError,
631
+ FlowDebugMissingResourcesError,
682
632
  FlowDebugService,
683
633
  InboundVoiceDebugError,
684
634
  MissingSolutionWrapperError,
685
635
  UnregisteredProjectError
686
- } = await import("./flow-debug-service-gc2ky1ve.js");
687
- const { UnboundInlineEntityError } = await import("./inline-entity-resolver-c854cqma.js");
688
- const { MaestroHttpError } = await import("./debug-http-client-yqjzsnhw.js");
636
+ } = await import("./flow-debug-service-hy21ddd9.js");
637
+ const { UnboundInlineEntityError } = await import("./inline-entity-resolver-0neh2b43.js");
638
+ const { MaestroHttpError } = await import("./debug-http-client-zydr7tna.js");
689
639
  const {
690
640
  buildPollTimeoutFailureOutput,
691
641
  DebugPollTimeoutError,
692
642
  isSuccessfulDebugStatus
693
- } = await import("./debug-service-nra3n02y.js");
643
+ } = await import("./debug-service-hdktqeek.js");
694
644
  const {
695
645
  buildSolutionUploadFailureOutput,
696
646
  isSolutionUploadHttpError
697
- } = await import("./index-y1ym28vg.js");
647
+ } = await import("./index-g2p2ww34.js");
698
648
  const service = new FlowDebugService;
699
649
  const parsedPollInterval = parsePositiveNumberOption(options.pollInterval || "2000", "--poll-interval");
700
650
  if (!parsedPollInterval.ok) {
@@ -723,8 +673,8 @@ function registerDebugCommand(program) {
723
673
  }
724
674
  let inputs;
725
675
  if (options.inputs) {
726
- const { parseFlowInputs } = await import("./flow-api-sat010z1.js");
727
- const [parseError, parsed] = await catchError(parseFlowInputs(options.inputs));
676
+ const { parseFlowInputs } = await import("./flow-api-d4dvmadm.js");
677
+ const [parseError, parsed] = await catchError2(parseFlowInputs(options.inputs));
728
678
  if (parseError) {
729
679
  OutputFormatter.error({
730
680
  Result: RESULTS.Failure,
@@ -738,7 +688,7 @@ function registerDebugCommand(program) {
738
688
  }
739
689
  const attachmentSpecs = options.attachment ?? [];
740
690
  if (attachmentSpecs.length > 0) {
741
- const [parseError, specs] = catchError(() => attachmentSpecs.map(parseAttachmentSpec));
691
+ const [parseError, specs] = catchError2(() => attachmentSpecs.map(parseAttachmentSpec));
742
692
  if (parseError) {
743
693
  OutputFormatter.error({
744
694
  Result: RESULTS.Failure,
@@ -748,8 +698,8 @@ function registerDebugCommand(program) {
748
698
  processContext.exit(1);
749
699
  return;
750
700
  }
751
- const { uploadJobAttachment } = await import("./index-wycgq0ff.js");
752
- const [uploadError, resolved] = await catchError(resolveAttachmentInputs(specs, (bytes, fileName) => uploadJobAttachment(bytes, fileName, {
701
+ const { uploadJobAttachment } = await import("./index-4e3w8x62.js");
702
+ const [uploadError, resolved] = await catchError2(resolveAttachmentInputs(specs, (bytes, fileName) => uploadJobAttachment(bytes, fileName, {
753
703
  tenant: tenantName
754
704
  })));
755
705
  if (uploadError) {
@@ -780,7 +730,7 @@ function registerDebugCommand(program) {
780
730
  ...isConversational ? { uploadOnly: true } : {}
781
731
  };
782
732
  logger.info(`Starting Studio Web debug session for: ${projectPath}`);
783
- const [executeError, result] = await catchError(service.executeProjectViaStudioWeb(projectPath, studioWebConfig, {
733
+ const [executeError, result] = await catchError2(service.executeProjectViaStudioWeb(projectPath, studioWebConfig, {
784
734
  onStatusChange: (st, executions) => {
785
735
  const completed = executions.filter((e) => e.status === "Completed").length;
786
736
  const total = executions.length;
@@ -790,8 +740,8 @@ function registerDebugCommand(program) {
790
740
  logger.info(` ${icon} ${exec.elementId} [${exec.status}]`);
791
741
  }
792
742
  },
793
- onIncident: (incidents2) => {
794
- logger.warn(`Incidents: ${JSON.stringify(incidents2)}`);
743
+ onIncident: (incidents) => {
744
+ logger.warn(`Incidents: ${JSON.stringify(incidents)}`);
795
745
  },
796
746
  onStudioWebUrl: (url) => {
797
747
  if (options.openInBrowser !== true)
@@ -842,7 +792,7 @@ function registerDebugCommand(program) {
842
792
  processContext.exit(3);
843
793
  return;
844
794
  }
845
- if (executeError instanceof DebugProvisioningMissingResourcesError) {
795
+ if (executeError instanceof FlowDebugMissingResourcesError) {
846
796
  OutputFormatter.error({
847
797
  Result: RESULTS.Failure,
848
798
  ErrorCode: "configuration_error",
@@ -851,14 +801,13 @@ function registerDebugCommand(program) {
851
801
  Retry: "RetryWillNotFix",
852
802
  Context: { stage: "prepare-debug-resources" },
853
803
  Data: {
854
- provisioningStatus: executeError.status,
855
804
  missingResources: [
856
805
  ...executeError.missingResources
857
806
  ]
858
807
  }
859
808
  });
860
809
  } else if (executeError instanceof DebugPollTimeoutError) {
861
- OutputFormatter.error(buildPollTimeoutFailureOutput(executeError, "uip maestro flow debug-instance incidents"));
810
+ OutputFormatter.error(buildPollTimeoutFailureOutput(executeError, "uip maestro flow debug-instances incidents"));
862
811
  } else if (executeError instanceof MaestroHttpError) {
863
812
  OutputFormatter.error(buildHttpFailureOutput(executeError));
864
813
  } else if (isSolutionUploadHttpError(executeError)) {
@@ -908,19 +857,19 @@ function registerDebugCommand(program) {
908
857
  };
909
858
  let data = fullData;
910
859
  if (options.summary) {
911
- const summary2 = buildDebugSummary(result);
912
- const [writeError, fullOutputPath] = await catchError(writeFullDebugOutput(getFileSystem(), projectPath, {
860
+ const summary = buildDebugSummary(result);
861
+ const [writeError, fullOutputPath] = await catchError2(writeFullDebugOutput(getFileSystem(), projectPath, {
913
862
  Result: success ? RESULTS.Success : RESULTS.Failure,
914
863
  Code: "FlowDebug",
915
864
  Data: fullData
916
865
  }));
917
866
  if (writeError) {
918
867
  logger.warn(`Could not write the full debug output: ${writeError.message}`);
919
- summary2.fullOutputError = writeError.message;
868
+ summary.fullOutputError = writeError.message;
920
869
  } else {
921
- summary2.fullOutputPath = fullOutputPath;
870
+ summary.fullOutputPath = fullOutputPath;
922
871
  }
923
- data = summary2;
872
+ data = summary;
924
873
  }
925
874
  if (success) {
926
875
  const instructions = result.variablesError ? `Debug completed with status: ${result.finalStatus}, but the output variables could not be read after ${result.variablesError.attempts} attempt(s): ${result.variablesError.message}. Data.${options.summary ? "outputs" : "variables"} is absent and Data.variablesError explains why — treat the outputs as UNKNOWN, not empty. ` + `Retry with ${variablesRetryCommand(result.instanceId, result.variablesError)}.` : `Debug completed with status: ${result.finalStatus}`;
@@ -936,7 +885,7 @@ function registerDebugCommand(program) {
936
885
  const incidents = result.incidents ?? [];
937
886
  const summary = summarizeIncidents(incidents);
938
887
  const Message = incidents.length ? `Debug session ${result.finalStatus}. ${summary[0]}` : `Debug session ${result.finalStatus}. No incident details returned by PIMS.`;
939
- const Instructions = incidents.length ? buildIncidentInstructions(incidents, result.instanceId) : `Run 'uip maestro flow debug-instance incidents ${result.instanceId}' to inspect the backend payload, then 'uip maestro flow incident summary' to confirm whether the process recorded a tenant-level incident.`;
888
+ const Instructions = incidents.length ? buildIncidentInstructions(incidents, result.instanceId) : `Run 'uip maestro flow debug-instances incidents ${result.instanceId}' to inspect the backend payload, then 'uip maestro flow incidents summary' to confirm whether the process recorded a tenant-level incident.`;
940
889
  const Context = {};
941
890
  if (incidents[0]?.errorCode) {
942
891
  Context.errorCode = incidents[0].errorCode;
@@ -955,6 +904,10 @@ function registerDebugCommand(program) {
955
904
  processContext.exit(1);
956
905
  });
957
906
  }
907
+ // ../maestro-sdk/src/shared-commands/process-list-window.ts
908
+ var MAX_PROCESS_PAGE_SIZE = 1000;
909
+ var createProcessLimitOption = () => new Option("-l, --limit <number>", `Number of items to return (1-${MAX_PROCESS_PAGE_SIZE})`).argParser((raw) => parseBoundedInt(raw, "--limit", { min: 1, max: MAX_PROCESS_PAGE_SIZE }));
910
+ var createProcessOffsetOption = () => new Option("--offset <number>", "Number of items to skip (0-1000000)").argParser(parseOffset).default(0);
958
911
  // src/commands/debug-instances.ts
959
912
  var registerDebugInstancesCommand = (program) => {
960
913
  registerSharedDebugInstanceCommands(program, {
@@ -984,7 +937,7 @@ var EDGE_LIST_EXAMPLES = [
984
937
  ];
985
938
  var EDGE_ADD_EXAMPLES = [
986
939
  {
987
- Description: "Add an edge between two nodes in a flow",
940
+ Description: `Add an edge between two nodes. Without --source-port / --target-port each end uses its default port: the one the node's definition marks as default, else "output" / "input", else the node's only flow port.`,
988
941
  Command: "uip maestro flow edges create flow.json Node_1 Node_2",
989
942
  Output: {
990
943
  Code: "EdgeAddSuccess",
@@ -999,6 +952,38 @@ var EDGE_ADD_EXAMPLES = [
999
952
  }
1000
953
  }
1001
954
  },
955
+ {
956
+ Description: 'A script node has no "output" port, so the edge leaves on its only flow port, "success" ("error" is never a default)',
957
+ Command: "uip maestro flow edges create flow.json script1 Node_2",
958
+ Output: {
959
+ Code: "EdgeAddSuccess",
960
+ Data: {
961
+ Edge: {
962
+ id: "script1-success-Node_2-input",
963
+ source: "script1",
964
+ target: "Node_2",
965
+ sourcePort: "success",
966
+ targetPort: "input"
967
+ }
968
+ }
969
+ }
970
+ },
971
+ {
972
+ Description: "A decision has two flow ports and no default, so name the branch with --source-port",
973
+ Command: "uip maestro flow edges create flow.json decision1 Node_2 --source-port true",
974
+ Output: {
975
+ Code: "EdgeAddSuccess",
976
+ Data: {
977
+ Edge: {
978
+ id: "decision1-true-Node_2-input",
979
+ source: "decision1",
980
+ target: "Node_2",
981
+ sourcePort: "true",
982
+ targetPort: "input"
983
+ }
984
+ }
985
+ }
986
+ },
1002
987
  {
1003
988
  Description: "Re-running with the same arguments is idempotent: returns the existing edge id with code EdgeAlreadyExists and a stderr warning.",
1004
989
  Command: "uip maestro flow edges create flow.json Node_1 Node_2",
@@ -1052,9 +1037,9 @@ function getDeleteEdgeInstructions(file) {
1052
1037
  return `Check that "${file}" exists and run 'uip maestro flow edges list ${file}' to find a valid edge ID, then retry.`;
1053
1038
  }
1054
1039
  async function runDeleteEdge(file, edgeId, code) {
1055
- const { deleteEdgeFromFlow } = await import("./edge-service-y44f2rgd.js");
1040
+ const { deleteEdgeFromFlow } = await import("./edge-service-zck3s9ss.js");
1056
1041
  const normalizedEdgeId = edgeId.trim();
1057
- const [error, result] = await catchError(deleteEdgeFromFlow(file, normalizedEdgeId));
1042
+ const [error, result] = await catchError2(deleteEdgeFromFlow(file, normalizedEdgeId));
1058
1043
  if (error) {
1059
1044
  OutputFormatter.error({
1060
1045
  Result: RESULTS.Failure,
@@ -1075,8 +1060,8 @@ async function runDeleteEdge(file, edgeId, code) {
1075
1060
  var registerEdgeCommand = (program) => {
1076
1061
  const edge = program.command("edges").alias("edge").description("Manage edges in a Flow file");
1077
1062
  addRowWindowOptions(edge.command("list")).description("List all edges in a Flow file").argument("<file>", "Path to the .flow file").examples(EDGE_LIST_EXAMPLES).trackedAction(processContext, async (file, options) => {
1078
- const { listEdgesInFlow } = await import("./edge-service-y44f2rgd.js");
1079
- const [error, result] = await catchError(listEdgesInFlow(file));
1063
+ const { listEdgesInFlow } = await import("./edge-service-zck3s9ss.js");
1064
+ const [error, result] = await catchError2(listEdgesInFlow(file));
1080
1065
  if (error) {
1081
1066
  OutputFormatter.error({
1082
1067
  Result: RESULTS.Failure,
@@ -1097,9 +1082,9 @@ var registerEdgeCommand = (program) => {
1097
1082
  Pagination: window.pagination
1098
1083
  });
1099
1084
  });
1100
- edge.command("create").alias("add").description("Add an edge between two nodes in a Flow file").argument("<file>", "Path to the .flow file").argument("<source-id>", "ID of the source node").argument("<target-id>", "ID of the target node").option("--source-port <port>", 'Source port name (defaults to "output")').option("--target-port <port>", 'Target port name (defaults to "input")').examples(EDGE_ADD_EXAMPLES).trackedAction(processContext, async (file, sourceId, targetId, options) => {
1101
- const { addEdgeToFlow } = await import("./edge-service-y44f2rgd.js");
1102
- const [error, result] = await catchError(addEdgeToFlow(file, sourceId, targetId, {
1085
+ edge.command("create").alias("add").description("Add an edge between two nodes in a Flow file").argument("<file>", "Path to the .flow file").argument("<source-id>", "ID of the source node").argument("<target-id>", "ID of the target node").option("--source-port <port>", `Source port name (defaults to the port the node's definition marks as default, else "output", else the node's only flow port)`).option("--target-port <port>", `Target port name (defaults to the port the node's definition marks as default, else "input", else the node's only flow port)`).examples(EDGE_ADD_EXAMPLES).trackedAction(processContext, async (file, sourceId, targetId, options) => {
1086
+ const { addEdgeToFlow } = await import("./edge-service-zck3s9ss.js");
1087
+ const [error, result] = await catchError2(addEdgeToFlow(file, sourceId, targetId, {
1103
1088
  sourcePort: options.sourcePort,
1104
1089
  targetPort: options.targetPort
1105
1090
  }));
@@ -1107,7 +1092,8 @@ var registerEdgeCommand = (program) => {
1107
1092
  OutputFormatter.error({
1108
1093
  Result: RESULTS.Failure,
1109
1094
  Message: "Error adding edge",
1110
- Instructions: error.message
1095
+ Instructions: error.message,
1096
+ ErrorCode: carriedErrorCode(error)
1111
1097
  });
1112
1098
  processContext.exit(1);
1113
1099
  return;
@@ -1251,7 +1237,7 @@ async function resolveStudioWebConfig() {
1251
1237
  async function pollRemoteEvalSetRun(service, config, workloadId, evalSetRunId, timeoutMs) {
1252
1238
  const start = Date.now();
1253
1239
  while (Date.now() - start < timeoutMs) {
1254
- const [error, run] = await catchError(service.getRemoteEvalSetRun(config, workloadId, evalSetRunId));
1240
+ const [error, run] = await catchError2(service.getRemoteEvalSetRun(config, workloadId, evalSetRunId));
1255
1241
  if (error) {
1256
1242
  OutputFormatter.log({
1257
1243
  Message: `Polling error: ${error.message}. Retrying...`
@@ -1338,9 +1324,9 @@ async function resolveRemoteTarget(service, options, config, requireSolutionId =
1338
1324
  function registerEvalRunCommand(evalCmd) {
1339
1325
  const runCmd = evalCmd.command("runs").alias("run").description("Run Flow evaluation sets in Studio Web");
1340
1326
  addStartOptions(runCmd.command("start").description("Start a Studio Web evaluation run (Flow solution must be available in Studio Web)")).option("--wait", "Wait for the evaluation to complete and show results").option("--timeout <seconds>", "Timeout in seconds for --wait polling", (value) => Number.parseInt(value, 10)).examples(FLOW_EVAL_RUN_START_EXAMPLES).trackedAction(processContext, async (options) => {
1341
- const [error] = await catchError((async () => {
1327
+ const [error] = await catchError2((async () => {
1342
1328
  const config = await resolveStudioWebConfig();
1343
- const { FlowEvalRunService } = await import("./flow-eval-run-service-2cbr0jtw.js");
1329
+ const { FlowEvalRunService } = await import("./flow-eval-run-service-5en4ahyn.js");
1344
1330
  const service = new FlowEvalRunService;
1345
1331
  const result = await service.startRemoteEvalRun(options.path, options.set, config, {
1346
1332
  solutionId: options.solutionId,
@@ -1370,9 +1356,9 @@ function registerEvalRunCommand(evalCmd) {
1370
1356
  }
1371
1357
  });
1372
1358
  addTargetOptions(runCmd.command("status").description("Check the status of a Studio Web Flow evaluation run").argument("<eval-set-run-id>", "Evaluation set run ID")).examples(FLOW_EVAL_RUN_STATUS_EXAMPLES).trackedAction(processContext, async (evalSetRunId, options) => {
1373
- const [error] = await catchError((async () => {
1359
+ const [error] = await catchError2((async () => {
1374
1360
  const config = await resolveStudioWebConfig();
1375
- const { FlowEvalRunService } = await import("./flow-eval-run-service-2cbr0jtw.js");
1361
+ const { FlowEvalRunService } = await import("./flow-eval-run-service-5en4ahyn.js");
1376
1362
  const service = new FlowEvalRunService;
1377
1363
  const target = await resolveRemoteTarget(service, options, config);
1378
1364
  const [run, evaluators] = await Promise.all([
@@ -1396,9 +1382,9 @@ function registerEvalRunCommand(evalCmd) {
1396
1382
  }
1397
1383
  });
1398
1384
  addTargetOptions(runCmd.command("results").description("Get detailed results for a Studio Web Flow evaluation run").argument("<eval-set-run-id>", "Evaluation set run ID")).option("--only-failed", "Show only failed or errored data points").option("--verbose", "Include evaluator justifications in output").option("--export-format <json|csv>", "Export results to file (json or csv)").examples(FLOW_EVAL_RUN_RESULTS_EXAMPLES).trackedAction(processContext, async (evalSetRunId, options) => {
1399
- const [error] = await catchError((async () => {
1385
+ const [error] = await catchError2((async () => {
1400
1386
  const config = await resolveStudioWebConfig();
1401
- const { FlowEvalRunService } = await import("./flow-eval-run-service-2cbr0jtw.js");
1387
+ const { FlowEvalRunService } = await import("./flow-eval-run-service-5en4ahyn.js");
1402
1388
  const service = new FlowEvalRunService;
1403
1389
  const target = await resolveRemoteTarget(service, options, config);
1404
1390
  let evalRuns = await service.getRemoteEvalRuns(config, target.workloadId, evalSetRunId);
@@ -1430,9 +1416,9 @@ function registerEvalRunCommand(evalCmd) {
1430
1416
  }
1431
1417
  });
1432
1418
  addTargetOptions(addRowWindowOptions(runCmd.command("list")).description("List Studio Web evaluation runs for a Flow eval set")).examples(FLOW_EVAL_RUN_LIST_EXAMPLES).trackedAction(processContext, async (options) => {
1433
- const [error] = await catchError((async () => {
1419
+ const [error] = await catchError2((async () => {
1434
1420
  const config = await resolveStudioWebConfig();
1435
- const { FlowEvalRunService } = await import("./flow-eval-run-service-2cbr0jtw.js");
1421
+ const { FlowEvalRunService } = await import("./flow-eval-run-service-5en4ahyn.js");
1436
1422
  const service = new FlowEvalRunService;
1437
1423
  const target = await resolveRemoteTarget(service, options, config);
1438
1424
  const allRuns = await service.listRemoteEvalSetRuns(config, target.workloadId, target.evalSet.id);
@@ -1459,9 +1445,9 @@ function registerEvalRunCommand(evalCmd) {
1459
1445
  }
1460
1446
  });
1461
1447
  addTargetOptions(runCmd.command("compare").description("Compare results of two Studio Web Flow evaluation runs").argument("<eval-set-run-id>", "First evaluation set run ID").requiredOption("--compare-to <id>", "Second evaluation set run ID to compare against")).examples(FLOW_EVAL_RUN_COMPARE_EXAMPLES).trackedAction(processContext, async (evalSetRunId, options) => {
1462
- const [error] = await catchError((async () => {
1448
+ const [error] = await catchError2((async () => {
1463
1449
  const config = await resolveStudioWebConfig();
1464
- const { FlowEvalRunService } = await import("./flow-eval-run-service-2cbr0jtw.js");
1450
+ const { FlowEvalRunService } = await import("./flow-eval-run-service-5en4ahyn.js");
1465
1451
  const service = new FlowEvalRunService;
1466
1452
  const target = await resolveRemoteTarget(service, options, config);
1467
1453
  const [runsA, runsB, runMetaA, runMetaB] = await Promise.all([
@@ -1593,8 +1579,8 @@ function registerEvalCommand(program) {
1593
1579
  function registerEvaluatorCommands(evalCmd) {
1594
1580
  const evaluator = evalCmd.command("evaluators").alias("evaluator").description("Manage Flow evaluators");
1595
1581
  evaluator.command("create").alias("add").description("Add an evaluator to the flow project").argument("<name>", "Evaluator name").requiredOption("--type <type>", `Evaluator type: ${evaluatorTypeAliases().join(", ")}`).option("--description <text>", "Evaluator description").option("--target-key <key>", "Target output key", "*").option("--model <model>", "LLM model for LLM judge evaluators").option("--prompt <prompt>", "Custom LLM judge prompt").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (name, options) => {
1596
- const [error] = await catchError((async () => {
1597
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1582
+ const [error] = await catchError2((async () => {
1583
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1598
1584
  const service = new FlowEvalService;
1599
1585
  const created = await service.addEvaluator(options.path, {
1600
1586
  name,
@@ -1620,8 +1606,8 @@ function registerEvaluatorCommands(evalCmd) {
1620
1606
  }
1621
1607
  });
1622
1608
  addRowWindowOptions(evaluator.command("list")).description("List evaluators in a flow project").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (options) => {
1623
- const [error] = await catchError((async () => {
1624
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1609
+ const [error] = await catchError2((async () => {
1610
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1625
1611
  const service = new FlowEvalService;
1626
1612
  const evaluators = await service.listEvaluators(options.path);
1627
1613
  const window = rowWindow(evaluators, options);
@@ -1643,8 +1629,8 @@ function registerEvaluatorCommands(evalCmd) {
1643
1629
  }
1644
1630
  });
1645
1631
  evaluator.command("delete").alias("remove").description("Remove an evaluator from a flow project").argument("<id>", "Evaluator ID, name, or file base name").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (id, options) => {
1646
- const [error] = await catchError((async () => {
1647
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1632
+ const [error] = await catchError2((async () => {
1633
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1648
1634
  const service = new FlowEvalService;
1649
1635
  const removed = await service.removeEvaluator(options.path, id);
1650
1636
  if (!removed) {
@@ -1664,9 +1650,9 @@ function registerEvaluatorCommands(evalCmd) {
1664
1650
  function registerEvalSetCommands(evalCmd) {
1665
1651
  const set = evalCmd.command("sets").alias("set").description("Manage evaluation sets");
1666
1652
  set.command("create").alias("add").description("Create an evaluation set").argument("<name>", "Evaluation set name").option("--evaluators <refs>", "Comma-separated evaluator IDs or file base names (default: all)").option("--entry-point <id>", "Entry point node id — a trigger node id from the .flow file (not a BPMN path), stored as the eval set's selectedEntrypoint; defaults to the flow's trigger. An agent node id creates a node-scoped eval set (evaluates that node in isolation)").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (name, options) => {
1667
- const [error] = await catchError((async () => {
1668
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1669
- const { readEvalSetScope, readNodeTargetId } = await import("./flow-eval-node-target-cwxb4kfe.js");
1653
+ const [error] = await catchError2((async () => {
1654
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1655
+ const { readEvalSetScope, readNodeTargetId } = await import("./flow-eval-node-target-tdrwqca7.js");
1670
1656
  const service = new FlowEvalService;
1671
1657
  const created = await service.addEvalSet(options.path, {
1672
1658
  name,
@@ -1692,9 +1678,9 @@ function registerEvalSetCommands(evalCmd) {
1692
1678
  }
1693
1679
  });
1694
1680
  addRowWindowOptions(set.command("list")).description("List evaluation sets").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (options) => {
1695
- const [error] = await catchError((async () => {
1696
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1697
- const { readEvalSetScope, readNodeTargetId } = await import("./flow-eval-node-target-cwxb4kfe.js");
1681
+ const [error] = await catchError2((async () => {
1682
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1683
+ const { readEvalSetScope, readNodeTargetId } = await import("./flow-eval-node-target-tdrwqca7.js");
1698
1684
  const service = new FlowEvalService;
1699
1685
  const sets = await service.listEvalSets(options.path);
1700
1686
  const window = rowWindow(sets, options);
@@ -1721,8 +1707,8 @@ function registerEvalSetCommands(evalCmd) {
1721
1707
  }
1722
1708
  });
1723
1709
  set.command("delete").alias("remove").description("Remove an evaluation set").argument("<id>", "Evaluation set ID, name, or file base name").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (id, options) => {
1724
- const [error] = await catchError((async () => {
1725
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1710
+ const [error] = await catchError2((async () => {
1711
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1726
1712
  const service = new FlowEvalService;
1727
1713
  const removed = await service.removeEvalSet(options.path, id);
1728
1714
  if (!removed) {
@@ -1741,12 +1727,12 @@ function registerEvalSetCommands(evalCmd) {
1741
1727
  }
1742
1728
  function registerEvaluationCommands(evalCmd) {
1743
1729
  evalCmd.command("create").alias("add").description("Add a data point to an evaluation set").argument("<name>", "Data point name").requiredOption("--set <name>", "Evaluation set name or ID").option("--inputs <json>", "Input values as a JSON object").option("--input-file <key=path>", "Attach a file as input <key>; repeatable", collectInputFile, []).option("--expected <json>", "Expected output as a JSON object").option("--criteria <json>", "Per-evaluator criteria JSON object keyed by evaluator id").option("--search-text <text>", "Search text for contains evaluators").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (name, options) => {
1744
- const [error] = await catchError((async () => {
1730
+ const [error] = await catchError2((async () => {
1745
1731
  const inputs = options.inputs === undefined ? {} : parseJsonObject(options.inputs, "--inputs");
1746
1732
  const inputFiles = parseInputFiles(options.inputFile);
1747
1733
  const expectedOutput = options.expected ? parseJsonObject(options.expected, "--expected") : undefined;
1748
1734
  const criteria = options.criteria ? parseCriteriaOption(options.criteria) : undefined;
1749
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1735
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1750
1736
  const service = new FlowEvalService;
1751
1737
  const evaluation = await service.addEvaluation(options.path, options.set, {
1752
1738
  name,
@@ -1772,8 +1758,8 @@ function registerEvaluationCommands(evalCmd) {
1772
1758
  }
1773
1759
  });
1774
1760
  addRowWindowOptions(evalCmd.command("list")).description("List data points in an evaluation set").requiredOption("--set <name>", "Evaluation set name or ID").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (options) => {
1775
- const [error] = await catchError((async () => {
1776
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1761
+ const [error] = await catchError2((async () => {
1762
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1777
1763
  const service = new FlowEvalService;
1778
1764
  const evaluations = await service.listEvaluations(options.path, options.set);
1779
1765
  const window = rowWindow(evaluations, options);
@@ -1795,8 +1781,8 @@ function registerEvaluationCommands(evalCmd) {
1795
1781
  }
1796
1782
  });
1797
1783
  evalCmd.command("delete").alias("remove").description("Remove a data point from an evaluation set").argument("<id>", "Data point ID or name").requiredOption("--set <name>", "Evaluation set name or ID").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (id, options) => {
1798
- const [error] = await catchError((async () => {
1799
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1784
+ const [error] = await catchError2((async () => {
1785
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1800
1786
  const service = new FlowEvalService;
1801
1787
  const removed = await service.removeEvaluation(options.path, options.set, id);
1802
1788
  if (!removed) {
@@ -1816,7 +1802,7 @@ function registerEvaluationCommands(evalCmd) {
1816
1802
  function registerSimulationCommands(evalCmd) {
1817
1803
  const simulation = evalCmd.command("simulations").alias("simulation").description("Manage simulations on eval data points");
1818
1804
  simulation.command("create").alias("add").description("Add or update a simulation on a data point").argument("<component-id>", "Component ID to simulate").requiredOption("--set <name>", "Evaluation set name or ID").requiredOption("--data-point <id>", "Data point name or ID").requiredOption("--strategy <strategy>", "Simulation strategy: Static or Llm").option("--component-type <type>", "Component type (defaults to Node when --parent is used)").option("--component-description <text>", "Component description").option("--simulation-instructions <text>", "Simulation instructions (for Llm strategy)").option("--mock-value <json>", "Mock output value as JSON (for Static strategy)").option("--parent <component-id>", "Parent agent component ID. When set, the simulation is added as a child tool simulation on the parent agent node.").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (componentId, options) => {
1819
- const [error] = await catchError((async () => {
1805
+ const [error] = await catchError2((async () => {
1820
1806
  const strategy = options.strategy;
1821
1807
  if (strategy !== "Static" && strategy !== "Llm") {
1822
1808
  throw new Error(`--strategy must be Static or Llm (got "${strategy}")`);
@@ -1832,7 +1818,7 @@ function registerSimulationCommands(evalCmd) {
1832
1818
  throw new Error("--simulation-instructions is required for the Llm strategy");
1833
1819
  }
1834
1820
  const mockValue = options.mockValue !== undefined ? parseJsonValue(options.mockValue, "--mock-value") : undefined;
1835
- const simulation2 = {
1821
+ const simulation = {
1836
1822
  componentId,
1837
1823
  componentType,
1838
1824
  componentDescription: options.componentDescription,
@@ -1840,10 +1826,10 @@ function registerSimulationCommands(evalCmd) {
1840
1826
  simulationInstruction: options.simulationInstructions,
1841
1827
  mockValue
1842
1828
  };
1843
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1829
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1844
1830
  const service = new FlowEvalService;
1845
1831
  if (options.parent !== undefined) {
1846
- const { simulation: created, warning } = await service.addChildSimulation(options.path, options.set, options.dataPoint, options.parent, simulation2);
1832
+ const { simulation: created, warning } = await service.addChildSimulation(options.path, options.set, options.dataPoint, options.parent, simulation);
1847
1833
  const data = {
1848
1834
  ComponentId: created.componentId,
1849
1835
  ComponentType: created.componentType,
@@ -1862,7 +1848,7 @@ function registerSimulationCommands(evalCmd) {
1862
1848
  Data: data
1863
1849
  });
1864
1850
  } else {
1865
- const created = await service.addSimulation(options.path, options.set, options.dataPoint, simulation2);
1851
+ const created = await service.addSimulation(options.path, options.set, options.dataPoint, simulation);
1866
1852
  OutputFormatter.success({
1867
1853
  Result: RESULTS.Success,
1868
1854
  Code: "FlowEvalSimulationAdd",
@@ -1881,8 +1867,8 @@ function registerSimulationCommands(evalCmd) {
1881
1867
  }
1882
1868
  });
1883
1869
  addRowWindowOptions(simulation.command("list")).description("List simulations on a data point").requiredOption("--set <name>", "Evaluation set name or ID").requiredOption("--data-point <id>", "Data point name or ID").option("--parent <component-id>", "Parent agent component ID. When set, lists child tool simulations on the parent agent node.").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (options) => {
1884
- const [error] = await catchError((async () => {
1885
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1870
+ const [error] = await catchError2((async () => {
1871
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1886
1872
  const service = new FlowEvalService;
1887
1873
  const simulations = options.parent !== undefined ? await service.listChildSimulations(options.path, options.set, options.dataPoint, options.parent) : await service.listSimulations(options.path, options.set, options.dataPoint);
1888
1874
  const window = rowWindow(simulations, options);
@@ -1905,8 +1891,8 @@ function registerSimulationCommands(evalCmd) {
1905
1891
  }
1906
1892
  });
1907
1893
  simulation.command("delete").alias("remove").description("Remove a simulation from a data point").argument("<component-id>", "Component ID to remove").requiredOption("--set <name>", "Evaluation set name or ID").requiredOption("--data-point <id>", "Data point name or ID").option("--parent <component-id>", "Parent agent component ID. When set, removes a child tool simulation from the parent agent node.").option("--path <path>", FLOW_EVAL_PATH_OPTION_DESCRIPTION2, ".").trackedAction(processContext, async (componentId, options) => {
1908
- const [error] = await catchError((async () => {
1909
- const { FlowEvalService } = await import("./flow-eval-service-24jbkhhz.js");
1894
+ const [error] = await catchError2((async () => {
1895
+ const { FlowEvalService } = await import("./flow-eval-service-2j28ect1.js");
1910
1896
  const service = new FlowEvalService;
1911
1897
  const removed = options.parent !== undefined ? await service.removeChildSimulation(options.path, options.set, options.dataPoint, options.parent, componentId) : await service.removeSimulation(options.path, options.set, options.dataPoint, componentId);
1912
1898
  if (!removed) {
@@ -1943,10 +1929,10 @@ function parsePosition(value) {
1943
1929
  return { x, y };
1944
1930
  }
1945
1931
  function parsePositionOption(raw) {
1946
- return catchError(() => parsePosition(raw));
1932
+ return catchError2(() => parsePosition(raw));
1947
1933
  }
1948
1934
  function parseSchemaOption(raw) {
1949
- const [parseErr, parsed] = catchError(() => JSON.parse(raw));
1935
+ const [parseErr, parsed] = catchError2(() => JSON.parse(raw));
1950
1936
  if (parseErr)
1951
1937
  return [parseErr, undefined];
1952
1938
  if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
@@ -2051,8 +2037,8 @@ var registerHitlCommand = (program) => {
2051
2037
  }
2052
2038
  schema = parsed;
2053
2039
  }
2054
- const { addHitlNode } = await import("./hitl-service-3m4ce3mt.js");
2055
- const [error, result] = await catchError(addHitlNode(file, {
2040
+ const { addHitlNode } = await import("./hitl-service-hccqhm63.js");
2041
+ const [error, result] = await catchError2(addHitlNode(file, {
2056
2042
  schema,
2057
2043
  priority: options.priority,
2058
2044
  position,
@@ -2144,9 +2130,9 @@ Packing or uploading the solution will sync solution resources automatically.`
2144
2130
  ];
2145
2131
  var registerInitCommand = (program) => {
2146
2132
  program.command("init").description("Create a new Flow project with boilerplate files. If run outside an existing solution, a parent '<name>Solution' is scaffolded automatically and the flow project is created inside it. If run inside an existing solution, the project is added to that solution.").argument("<name>", "Flow project name").option("--force", "Force initialization even if target directory exists and is not empty").option("--skip-solution-registration", "Do not auto-register this project in the surrounding solution").option("--automate", "Create a Maestro Automate project. Same Flow project and the same commands — it only changes the runtime profile written into operate.json.").option("--sdk-source [file]", "Also write the builder-SDK source: decompile the new .flow into <project>/.flow-sdk/<name>.flow.ts, or into [file] (relative to the current directory), creating its folder. Same as running 'uip maestro flow decompile <name>.flow -o <file> --no-pipeline' after init. Requires @uipath/maestro-builder-sdk.").examples(FLOW_INIT_EXAMPLES).trackedAction(processContext, async (name, options) => {
2147
- const { flowInitAsync, FlowInitSdkSourceError } = await import("./flow-init-service-k7k5vx2z.js");
2148
- const { RuntimeProfile } = await import("./maestro-automate-entry-6f9act3w.js");
2149
- const [error, result] = await catchError(flowInitAsync(name, {
2133
+ const { flowInitAsync, FlowInitSdkSourceError } = await import("./flow-init-service-bj3ev9bz.js");
2134
+ const { RuntimeProfile } = await import("./maestro-automate-entry-d1v5q5mv.js");
2135
+ const [error, result] = await catchError2(flowInitAsync(name, {
2150
2136
  force: options.force,
2151
2137
  skipRegistration: options.skipSolutionRegistration === true,
2152
2138
  profile: options.automate ? RuntimeProfile.Lite : RuntimeProfile.Standard,
@@ -2217,6 +2203,8 @@ var VALID_JOB_STATES = [
2217
2203
  var DEFAULT_JOB_LIST_LIMIT = "50";
2218
2204
  var DEFAULT_JOB_LIST_OFFSET = "0";
2219
2205
  var DEFAULT_JOB_LIST_ORDER_BY = "Id desc";
2206
+ var FOLDER_KEY_ERRORS = new Set(["not_found", "invalid_argument"]);
2207
+ var FOLDER_KEY_INSTRUCTIONS = "Check the --folder-key (uip or folders list) and retry.";
2220
2208
  var FLOW_JOB_LIST_EXAMPLES = [
2221
2209
  {
2222
2210
  Description: "List recent Flow jobs in a folder",
@@ -2303,28 +2291,7 @@ function formatFlowJob(job) {
2303
2291
  function registerJobCommand(program) {
2304
2292
  const jobCmd = program.command("jobs").alias("job").description("Manage Flow jobs");
2305
2293
  jobCmd.command("list").description("List Flow jobs in a folder").addOption(createHiddenDeprecatedTenantOption("-t, --tenant <tenant-name>")).option("--folder-key <key>", "Folder key (GUID, defaults to authenticated folder)").option("--state <state>", `Filter by job state (${VALID_JOB_STATES.join(", ")})`).option("--process-name <name>", "Filter by Flow process name (contains match)").option("-l, --limit <number>", "Number of items to return", DEFAULT_JOB_LIST_LIMIT).option("--offset <number>", "Number of items to skip", DEFAULT_JOB_LIST_OFFSET).option("--sort-by <field>", "Sort results by field (e.g., 'Id desc')", DEFAULT_JOB_LIST_ORDER_BY).option("--all-fields", "Return all fields from the API response instead of a curated summary").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", (value) => Number.parseInt(value, 10), 10).examples(FLOW_JOB_LIST_EXAMPLES).trackedAction(processContext, async (options) => {
2306
- const { getLoginStatusAsync } = await import("./index-sqhbn7ew.js");
2307
- const [loginError, loginStatus] = await catchError(getLoginStatusAsync({
2308
- ensureTokenValidityMinutes: options.loginValidity
2309
- }));
2310
- if (loginError) {
2311
- OutputFormatter.error({
2312
- Result: RESULTS.Failure,
2313
- Message: loginError.message,
2314
- Instructions: instructionsFor("auth", loginError)
2315
- });
2316
- processContext.exit(1);
2317
- return;
2318
- }
2319
- if (loginStatus.loginStatus !== "Logged in" || !loginStatus.baseUrl) {
2320
- OutputFormatter.error({
2321
- Result: RESULTS.Failure,
2322
- Message: "Not logged in. Run 'uip login' first.",
2323
- Instructions: instructionsFor("auth")
2324
- });
2325
- processContext.exit(1);
2326
- return;
2327
- }
2294
+ const { getAuthContext } = await import("./index-f5kq7265.js");
2328
2295
  const normalizedOptions = {
2329
2296
  tenant: normalizeOptionalOption(options.tenant),
2330
2297
  folderKey: normalizeOptionalOption(options.folderKey),
@@ -2332,16 +2299,18 @@ function registerJobCommand(program) {
2332
2299
  processName: normalizeOptionalOption(options.processName),
2333
2300
  orderBy: normalizeOptionalOption(options.sortBy)
2334
2301
  };
2335
- const tenantName = normalizedOptions.tenant || loginStatus.tenantName;
2336
- if (!tenantName || !loginStatus.organizationId) {
2337
- OutputFormatter.error({
2338
- Result: RESULTS.Failure,
2339
- Message: "Missing tenant or organization info.",
2340
- Instructions: instructionsFor("identity")
2341
- });
2302
+ const [authError, auth] = await catchError2(getAuthContext({
2303
+ ensureTokenValidityMinutes: options.loginValidity,
2304
+ tenant: normalizedOptions.tenant,
2305
+ requireOrganizationId: true,
2306
+ requireTenantName: true
2307
+ }));
2308
+ if (authError) {
2309
+ OutputFormatter.error(await authContextFailure(authError));
2342
2310
  processContext.exit(1);
2343
2311
  return;
2344
2312
  }
2313
+ const { tenantName } = auth;
2345
2314
  const state = normalizedOptions.state;
2346
2315
  if (state && !VALID_JOB_STATES.includes(state)) {
2347
2316
  OutputFormatter.error({
@@ -2370,14 +2339,14 @@ function registerJobCommand(program) {
2370
2339
  processKey: "",
2371
2340
  folderKey: normalizedOptions.folderKey ?? "",
2372
2341
  inputs: {},
2373
- authToken: loginStatus.accessToken ?? "",
2374
- organizationId: loginStatus.organizationId,
2342
+ authToken: auth.accessToken,
2343
+ organizationId: auth.organizationId,
2375
2344
  tenantName,
2376
- tenantId: loginStatus.tenantId,
2377
- baseUrl: loginStatus.baseUrl
2345
+ tenantId: auth.tenantId,
2346
+ baseUrl: auth.baseUrl
2378
2347
  };
2379
- const { listFlowJobs } = await import("./flow-api-sat010z1.js");
2380
- const [listError, jobs] = await catchError(listFlowJobs(config, {
2348
+ const { listFlowJobs } = await import("./flow-api-d4dvmadm.js");
2349
+ const [listError, jobs] = await catchError2(listFlowJobs(config, {
2381
2350
  state,
2382
2351
  processName: normalizedOptions.processName,
2383
2352
  limit,
@@ -2406,48 +2375,30 @@ function registerJobCommand(program) {
2406
2375
  }
2407
2376
  });
2408
2377
  });
2409
- jobCmd.command("traces").description("Stream traces for a running job").argument("<job-key>", "Job key (GUID from run command)").addOption(createHiddenDeprecatedTenantOption("-t, --tenant <tenant-name>")).option("--poll-interval <ms>", "Polling interval in milliseconds", "2000").option("--traces-service <name>", "Traces service name (default: llmopstenant_)", "llmopstenant_").option("--pretty", "Show traces in human-readable format instead of raw JSON").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).trackedAction(processContext, async (jobKey, options) => {
2410
- const { getLoginStatusAsync } = await import("./index-sqhbn7ew.js");
2411
- const [loginError, loginStatus] = await catchError(getLoginStatusAsync({
2412
- ensureTokenValidityMinutes: options.loginValidity
2378
+ const tracesCmd = jobCmd.command("traces").description("Stream traces for a running job").argument("<job-key>", "Job key (GUID from run command)");
2379
+ addJobTracesOptions(tracesCmd).trackedAction(processContext, async (jobKey, options) => {
2380
+ const { getAuthContext } = await import("./index-f5kq7265.js");
2381
+ const [authError, auth] = await catchError2(getAuthContext({
2382
+ ensureTokenValidityMinutes: options.loginValidity,
2383
+ tenant: options.tenant,
2384
+ requireOrganizationId: true,
2385
+ requireTenantName: true
2413
2386
  }));
2414
- if (loginError) {
2415
- OutputFormatter.error({
2416
- Result: RESULTS.Failure,
2417
- Message: loginError.message,
2418
- Instructions: instructionsFor("auth", loginError)
2419
- });
2420
- processContext.exit(1);
2421
- return;
2422
- }
2423
- if (loginStatus.loginStatus !== "Logged in" || !loginStatus.baseUrl) {
2424
- OutputFormatter.error({
2425
- Result: RESULTS.Failure,
2426
- Message: "Not logged in. Run 'uip login' first.",
2427
- Instructions: instructionsFor("auth")
2428
- });
2429
- processContext.exit(1);
2430
- return;
2431
- }
2432
- const tenantName = options.tenant || loginStatus.tenantName;
2433
- if (!tenantName || !loginStatus.organizationId) {
2434
- OutputFormatter.error({
2435
- Result: RESULTS.Failure,
2436
- Message: "Missing tenant or organization info.",
2437
- Instructions: instructionsFor("identity")
2438
- });
2387
+ if (authError) {
2388
+ OutputFormatter.error(await authContextFailure(authError));
2439
2389
  processContext.exit(1);
2440
2390
  return;
2441
2391
  }
2392
+ const { tenantName } = auth;
2442
2393
  const config = {
2443
2394
  processKey: "",
2444
- folderKey: "",
2395
+ folderKey: options.folderKey ?? "",
2445
2396
  inputs: {},
2446
- authToken: loginStatus.accessToken ?? "",
2447
- organizationId: loginStatus.organizationId,
2397
+ authToken: auth.accessToken,
2398
+ organizationId: auth.organizationId,
2448
2399
  tenantName,
2449
- tenantId: loginStatus.tenantId,
2450
- baseUrl: loginStatus.baseUrl,
2400
+ tenantId: auth.tenantId,
2401
+ baseUrl: auth.baseUrl,
2451
2402
  tracesServiceName: options.tracesService
2452
2403
  };
2453
2404
  const pollIntervalMs = parseInt(options.pollInterval || "2000", 10);
@@ -2463,9 +2414,23 @@ function registerJobCommand(program) {
2463
2414
  const pollSeconds = pollIntervalMs / 1000;
2464
2415
  logger.info(`Streaming traces for job: ${jobKey}
2465
2416
  Polling every ${pollSeconds}s...`);
2466
- const { formatTraceLine } = await import("./shared-utils-tqnx96mg.js");
2467
- const { streamJobTraces } = await import("./flow-api-sat010z1.js");
2468
- const [tracesError, result] = await catchError(streamJobTraces(config, jobKey, {
2417
+ const { resolveFlowFolderId, streamJobTraces } = await import("./flow-api-d4dvmadm.js");
2418
+ let folderId;
2419
+ if (config.folderKey) {
2420
+ const [folderError, resolvedId] = await catchError2(resolveFlowFolderId(config));
2421
+ if (folderError) {
2422
+ const failure = await backendFailure(folderError, instructionsFor("backend", folderError));
2423
+ if (failure.ErrorCode !== undefined && FOLDER_KEY_ERRORS.has(failure.ErrorCode)) {
2424
+ failure.Instructions = FOLDER_KEY_INSTRUCTIONS;
2425
+ }
2426
+ OutputFormatter.error(failure);
2427
+ processContext.exit(1);
2428
+ return;
2429
+ }
2430
+ folderId = resolvedId;
2431
+ }
2432
+ const [tracesError, result] = await catchError2(streamJobTraces(config, jobKey, {
2433
+ folderId,
2469
2434
  onTrace: (trace) => {
2470
2435
  if (options.pretty) {
2471
2436
  ScreenLogger.progress(formatTraceLine(trace));
@@ -2473,8 +2438,8 @@ function registerJobCommand(program) {
2473
2438
  ScreenLogger.progress(JSON.stringify(trace));
2474
2439
  }
2475
2440
  },
2476
- onComplete: (result2) => {
2477
- ScreenLogger.progress(`Job ${jobKey}: ${result2.finalState} (${result2.duration}ms)`);
2441
+ onComplete: (result) => {
2442
+ ScreenLogger.progress(`Job ${jobKey}: ${result.finalState} (${result.duration}ms)`);
2478
2443
  },
2479
2444
  onError: (error) => {
2480
2445
  ScreenLogger.progress(`Error: ${error.message}`);
@@ -2502,50 +2467,31 @@ function registerJobCommand(program) {
2502
2467
  processContext.exit(result.success ? 0 : 1);
2503
2468
  });
2504
2469
  jobCmd.command("status").description("Get detailed status of a Flow job").argument("<job-key>", "Job key (GUID from run command)").addOption(createHiddenDeprecatedTenantOption("-t, --tenant <tenant-name>")).option("--folder-key <key>", "Folder key (GUID from list command, defaults to authenticated folder)").option("--detailed", "Show full response with all fields").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).examples(FLOW_JOB_STATUS_EXAMPLES).trackedAction(processContext, async (jobKey, options) => {
2505
- const { getLoginStatusAsync } = await import("./index-sqhbn7ew.js");
2506
- const [loginError, loginStatus] = await catchError(getLoginStatusAsync({
2507
- ensureTokenValidityMinutes: options.loginValidity
2470
+ const { getAuthContext } = await import("./index-f5kq7265.js");
2471
+ const [authError, auth] = await catchError2(getAuthContext({
2472
+ ensureTokenValidityMinutes: options.loginValidity,
2473
+ tenant: options.tenant,
2474
+ requireOrganizationId: true,
2475
+ requireTenantName: true
2508
2476
  }));
2509
- if (loginError) {
2510
- OutputFormatter.error({
2511
- Result: RESULTS.Failure,
2512
- Message: loginError.message,
2513
- Instructions: instructionsFor("auth", loginError)
2514
- });
2515
- processContext.exit(1);
2516
- return;
2517
- }
2518
- if (loginStatus.loginStatus !== "Logged in" || !loginStatus.baseUrl) {
2519
- OutputFormatter.error({
2520
- Result: RESULTS.Failure,
2521
- Message: "Not logged in. Run 'uip login' first.",
2522
- Instructions: instructionsFor("auth")
2523
- });
2524
- processContext.exit(1);
2525
- return;
2526
- }
2527
- const tenantName = options.tenant || loginStatus.tenantName;
2528
- if (!tenantName || !loginStatus.organizationId) {
2529
- OutputFormatter.error({
2530
- Result: RESULTS.Failure,
2531
- Message: "Missing tenant or organization info.",
2532
- Instructions: instructionsFor("identity")
2533
- });
2477
+ if (authError) {
2478
+ OutputFormatter.error(await authContextFailure(authError));
2534
2479
  processContext.exit(1);
2535
2480
  return;
2536
2481
  }
2482
+ const { tenantName } = auth;
2537
2483
  const config = {
2538
2484
  processKey: "",
2539
2485
  folderKey: options.folderKey ?? "",
2540
2486
  inputs: {},
2541
- authToken: loginStatus.accessToken ?? "",
2542
- organizationId: loginStatus.organizationId,
2487
+ authToken: auth.accessToken,
2488
+ organizationId: auth.organizationId,
2543
2489
  tenantName,
2544
- tenantId: loginStatus.tenantId,
2545
- baseUrl: loginStatus.baseUrl
2490
+ tenantId: auth.tenantId,
2491
+ baseUrl: auth.baseUrl
2546
2492
  };
2547
- const { getJobStatusDetailed } = await import("./flow-api-sat010z1.js");
2548
- const [statusError, status] = await catchError(getJobStatusDetailed(config, jobKey));
2493
+ const { getJobStatusDetailed } = await import("./flow-api-d4dvmadm.js");
2494
+ const [statusError, status] = await catchError2(getJobStatusDetailed(config, jobKey));
2549
2495
  if (statusError) {
2550
2496
  OutputFormatter.error({
2551
2497
  Result: RESULTS.Failure,
@@ -2628,8 +2574,8 @@ var FLOW_MIGRATE_EXAMPLES = [
2628
2574
  ];
2629
2575
  var registerMigrateCommand = (program) => {
2630
2576
  program.command("migrate").description("Migrate a .flow file to the current workflow and node schema versions").argument("<file>", "Path to the .flow file").option("--dry-run", "Show what would change without writing the file").option("--no-include-optional", "Skip optional node migrations (e.g. typeVersion normalization). Default: optional migrations are applied.").examples(FLOW_MIGRATE_EXAMPLES).trackedAction(processContext, async (file, options) => {
2631
- const { migrateFlow } = await import("./flow-migrate-service-t3pnd2r3.js");
2632
- const [error, result] = await catchError(migrateFlow(file, {
2577
+ const { migrateFlow } = await import("./flow-migrate-service-dkx85jj5.js");
2578
+ const [error, result] = await catchError2(migrateFlow(file, {
2633
2579
  dryRun: options.dryRun,
2634
2580
  includeOptional: options.includeOptional
2635
2581
  }));
@@ -2794,9 +2740,9 @@ function getDeleteNodeInstructions(file) {
2794
2740
  return `Check that "${file}" exists and run 'uip maestro flow nodes list ${file}' to find a valid node ID, then retry.`;
2795
2741
  }
2796
2742
  async function runDeleteNode(file, nodeId, code) {
2797
- const { deleteNodeFromFlow } = await import("./node-service-d4xpqs0z.js");
2743
+ const { deleteNodeFromFlow } = await import("./node-service-2nxpk751.js");
2798
2744
  const normalizedNodeId = nodeId.trim();
2799
- const [error, result] = await catchError(deleteNodeFromFlow(file, normalizedNodeId));
2745
+ const [error, result] = await catchError2(deleteNodeFromFlow(file, normalizedNodeId));
2800
2746
  if (error) {
2801
2747
  OutputFormatter.error({
2802
2748
  Result: RESULTS.Failure,
@@ -2823,6 +2769,7 @@ var registerNodeCommand = (program) => {
2823
2769
  const node = program.command("nodes").alias("node").description("Manage nodes in a Flow file");
2824
2770
  node.command("create").alias("add").description(`Add a node to a Flow file.
2825
2771
  ` + "For connector nodes (type uipath.connector), do NOT pass --input here — " + `run 'nodes configure' afterwards to supply connection and endpoint details.
2772
+ Read file / Create file (core.action.file.*) also need 'nodes configure' to bind their Orchestrator connection; a connectionId passed in --input alone is not bound.
2826
2773
  Example: uip maestro flow nodes create flow.flow uipath.connector.jira.createIssue --label 'Create Jira Issue'`).argument("<file>", "Path to the .flow file").argument("<node-type>", "Node type identifier (e.g. core.trigger.manual)").option("-i, --input <json>", `JSON object of input values to set on the node (e.g. '{"script": "..."}')`).option("--position <x,y>", "Node position in the canvas (e.g. 250,150)").option("--label <label>", "Display label for the node").option("--source <uuid>", "Source UUID for nodes whose manifest declares a source dependency. Use the agent's ProjectId (inline agent nodes) or the resource id from the parent inline agent's resources[] (agent-tool resource nodes). Populates inputs.source.").option("--parent <node-id>", "Id of the existing node that should contain this node. Set when authoring a loop body whose containment cannot be " + "inferred from edges alone — typically the id of a " + "core.logic.loop node.").option("--metadata <file>", "Non-catalog activity only: the generated activity metadata (<Name>.json from 'uip is activities metadata generate'). The node definition is built from it instead of the registry; the node type must be uipath.connector.custom.<connector-key>.<slug>. Requires --scripts.").option("--scripts <dir>", "Non-catalog activity only: directory holding <scriptRef>.js for the action and every lookup the metadata references; the sources are embedded in the node. Requires --metadata.").examples(NODE_ADD_EXAMPLES).trackedAction(processContext, async (file, nodeType, options) => {
2827
2774
  if (options.metadata === undefined !== (options.scripts === undefined)) {
2828
2775
  OutputFormatter.error({
@@ -2839,7 +2786,7 @@ Example: uip maestro flow nodes create flow.flow uipath.connector.jira.createIss
2839
2786
  } : undefined;
2840
2787
  let inputs;
2841
2788
  if (options.input !== undefined) {
2842
- const [parseError, parsed] = catchError(() => JSON.parse(options.input));
2789
+ const [parseError, parsed] = catchError2(() => JSON.parse(options.input));
2843
2790
  if (parseError) {
2844
2791
  OutputFormatter.error({
2845
2792
  Result: RESULTS.Failure,
@@ -2862,7 +2809,7 @@ Example: uip maestro flow nodes create flow.flow uipath.connector.jira.createIss
2862
2809
  }
2863
2810
  let position;
2864
2811
  if (options.position !== undefined) {
2865
- const [posError, parsed] = catchError(() => parsePosition2(options.position));
2812
+ const [posError, parsed] = catchError2(() => parsePosition2(options.position));
2866
2813
  if (posError) {
2867
2814
  OutputFormatter.error({
2868
2815
  Result: RESULTS.Failure,
@@ -2880,8 +2827,8 @@ Example: uip maestro flow nodes create flow.flow uipath.connector.jira.createIss
2880
2827
  NodeTypeNotEnabledError,
2881
2828
  NodeTypeNotFoundError,
2882
2829
  SourceRequiredError
2883
- } = await import("./node-service-d4xpqs0z.js");
2884
- const [error, result] = await catchError(addNodeToFlow(file, nodeType, {
2830
+ } = await import("./node-service-2nxpk751.js");
2831
+ const [error, result] = await catchError2(addNodeToFlow(file, nodeType, {
2885
2832
  position,
2886
2833
  label: options.label,
2887
2834
  inputs,
@@ -2899,11 +2846,7 @@ Example: uip maestro flow nodes create flow.flow uipath.connector.jira.createIss
2899
2846
  processContext.exit(1);
2900
2847
  return;
2901
2848
  }
2902
- OutputFormatter.error({
2903
- Result: RESULTS.Failure,
2904
- Message: "Error adding node",
2905
- Instructions: error.message
2906
- });
2849
+ OutputFormatter.error(await classifiedFailure("Error adding node", error));
2907
2850
  processContext.exit(1);
2908
2851
  return;
2909
2852
  }
@@ -2924,7 +2867,7 @@ Example: uip maestro flow nodes create flow.flow uipath.connector.jira.createIss
2924
2867
  }
2925
2868
  });
2926
2869
  });
2927
- node.command("configure").description(`Configure a connector or managed HTTP node with connection and method details.
2870
+ node.command("configure").description(`Configure a connector, managed HTTP or file node with connection and method details.
2928
2871
  ` + `Run this after 'nodes create' — populates inputs.detail and creates workflow bindings.
2929
2872
  ` + `Use 'nodes list' to find the node ID.
2930
2873
 
@@ -2932,9 +2875,8 @@ CONNECTOR ACTIVITIES (type uipath.connector.*, NOT *.trigger.*)
2932
2875
  Required: connectionId, folderKey, method, endpoint.
2933
2876
  Generic activities (manifest activityType='Generic', e.g. *.insert-record,
2934
2877
  *.list-records) also require objectName. Discover with:
2935
- uip is resources list <connector-key> --operation <op> --connection-id <uuid>
2936
- uip is resources describe <connector-key> <object> --operation <op> --connection-id <uuid>
2937
- Curated activities: get method/endpoint from connectorMethodInfo in 'registry get'.
2878
+ ` + genericObjectDiscoveryCommands("<connector-key>", "<uuid>", "<op>").map((command) => ` ${command}
2879
+ `).join("") + ` Curated activities: get method/endpoint from connectorMethodInfo in 'registry get'.
2938
2880
  Optional: bodyParameters, queryParameters, pathParameters, filter,
2939
2881
  customFieldsRequestDetails ({ objectActionName, parameterValues: [[k,v],...] });
2940
2882
  Examples:
@@ -2970,6 +2912,13 @@ CONNECTOR WAIT-FOR EVENTS (type uipath.connector.event.*)
2970
2912
  Example:
2971
2913
  --detail '{"connectionId":"<uuid>","folderKey":"<uuid>","eventMode":"polling","queryParameters":{"repo":"cli"}}'
2972
2914
 
2915
+ FILE NODES (type core.action.file.read, core.action.file.create)
2916
+ Bind the Orchestrator connection the node reaches job attachments through.
2917
+ Required: connectionId (a uipath-uipath-orchestrator connection UUID).
2918
+ Optional: folderKey (defaults to the connection's folder).
2919
+ Example:
2920
+ --detail '{"connectionId":"<uuid>"}'
2921
+
2973
2922
  MANAGED HTTP NODES (type core.action.http.v2)
2974
2923
  ` + ` Two authentication modes — set via the 'authentication' key:
2975
2924
 
@@ -2997,7 +2946,7 @@ MANAGED HTTP NODES (type core.action.http.v2)
2997
2946
  processContext.exit(1);
2998
2947
  return;
2999
2948
  }
3000
- const [parseError, parsed] = catchError(() => JSON.parse(options.detail));
2949
+ const [parseError, parsed] = catchError2(() => JSON.parse(options.detail));
3001
2950
  if (parseError) {
3002
2951
  OutputFormatter.error({
3003
2952
  Result: RESULTS.Failure,
@@ -3007,14 +2956,32 @@ MANAGED HTTP NODES (type core.action.http.v2)
3007
2956
  processContext.exit(1);
3008
2957
  return;
3009
2958
  }
3010
- const { configureConnectorNode, InvalidDetailError } = await import("./connector-service-m08dysc2.js");
3011
- const [error, result] = await catchError(configureConnectorNode(file, nodeId, parsed));
2959
+ const [
2960
+ { configureConnectorNode, InvalidDetailError },
2961
+ { ConnectionConnectorMismatchError }
2962
+ ] = await Promise.all([
2963
+ import("./connector-service-r86mtxwn.js"),
2964
+ import("./index-5xh0cjag.js")
2965
+ ]);
2966
+ const [error, result] = await catchError2(configureConnectorNode(file, nodeId, parsed));
3012
2967
  if (error) {
3013
- const message = error instanceof InvalidDetailError ? "Invalid --detail" : "Error configuring node";
2968
+ const callerError = error instanceof ConnectionConnectorMismatchError || error instanceof InvalidDetailError;
2969
+ let message = "Error configuring node";
2970
+ let instructions = error.message;
2971
+ if (error instanceof ConnectionConnectorMismatchError) {
2972
+ message = error.message;
2973
+ instructions = error.instructions;
2974
+ } else if (callerError) {
2975
+ message = "Invalid --detail";
2976
+ }
3014
2977
  OutputFormatter.error({
3015
2978
  Result: RESULTS.Failure,
3016
2979
  Message: message,
3017
- Instructions: error.message
2980
+ Instructions: instructions,
2981
+ ...callerError && {
2982
+ ErrorCode: "invalid_argument",
2983
+ Retry: "RetryWillNotFix"
2984
+ }
3018
2985
  });
3019
2986
  processContext.exit(1);
3020
2987
  return;
@@ -3033,8 +3000,8 @@ MANAGED HTTP NODES (type core.action.http.v2)
3033
3000
  });
3034
3001
  });
3035
3002
  addRowWindowOptions(node.command("list")).description("List all nodes in a Flow file").argument("<file>", "Path to the .flow file").examples(NODE_LIST_EXAMPLES).trackedAction(processContext, async (file, options) => {
3036
- const { listNodesInFlow } = await import("./node-service-d4xpqs0z.js");
3037
- const [error, result] = await catchError(listNodesInFlow(file));
3003
+ const { listNodesInFlow } = await import("./node-service-2nxpk751.js");
3004
+ const [error, result] = await catchError2(listNodesInFlow(file));
3038
3005
  if (error) {
3039
3006
  OutputFormatter.error({
3040
3007
  Result: RESULTS.Failure,
@@ -3080,7 +3047,7 @@ var FLOW_PACK_EXAMPLES = [
3080
3047
  var registerPackCommand = (program) => {
3081
3048
  const command = program.command("pack").description("Pack a Flow project into a .nupkg file").argument("<project-path>", "Path to the Flow project directory").argument("<output-path>", "Output directory where the .nupkg will be saved").option("-n, --name <name>", "Package name (default: project folder name)").option("-v, --version <version>", "Package version (default: 1.0.0)", "1.0.0");
3082
3049
  registerPackageMetadataOptions(command).examples(FLOW_PACK_EXAMPLES).trackedAction(processContext, async (projectPath, outputPath, options) => {
3083
- const { FlowPackService } = await import("./flow-pack-service-b910q207.js");
3050
+ const { FlowPackService } = await import("./flow-pack-service-58m51sp8.js");
3084
3051
  const service = new FlowPackService;
3085
3052
  const exitCode = await service.execute(projectPath, {
3086
3053
  output: outputPath,
@@ -3189,7 +3156,7 @@ async function resolveRelease(config, processKey) {
3189
3156
  const key = separator === -1 ? processKey : processKey.slice(0, separator);
3190
3157
  const version = separator === -1 ? undefined : processKey.slice(separator + 1);
3191
3158
  const byReleaseKey = config.releaseKey !== undefined;
3192
- const { escapeODataStringLiteral: esc, listFlowProcesses } = await import("./flow-api-sat010z1.js");
3159
+ const { escapeODataStringLiteral: esc, listFlowProcesses } = await import("./flow-api-d4dvmadm.js");
3193
3160
  const processes = await listFlowProcesses(config, byReleaseKey ? `Key eq '${esc(config.releaseKey)}'` : `ProcessKey eq '${esc(key)}'`);
3194
3161
  const matches = processes.filter((candidate) => Boolean(candidate.key) && (byReleaseKey ? candidate.key === config.releaseKey : candidate.processKey === key && (version === undefined || candidate.processVersion === version)));
3195
3162
  const [release, ...extra] = matches;
@@ -3202,9 +3169,9 @@ async function resolveRelease(config, processKey) {
3202
3169
  return release;
3203
3170
  }
3204
3171
  async function resolveFolderForList(options) {
3205
- const { resolveFolder } = await import("./index-wycgq0ff.js");
3172
+ const { resolveFolder } = await import("./index-4e3w8x62.js");
3206
3173
  if (options.folderKey && options.folderPath) {
3207
- const [pathError, pathFolder] = await catchError(resolveFolder({ folderPath: options.folderPath }, {
3174
+ const [pathError, pathFolder] = await catchError2(resolveFolder({ folderPath: options.folderPath }, {
3208
3175
  tenant: options.tenant,
3209
3176
  loginValidity: options.loginValidity
3210
3177
  }));
@@ -3217,7 +3184,7 @@ async function resolveFolderForList(options) {
3217
3184
  return options.folderKey;
3218
3185
  }
3219
3186
  if (options.folderPath) {
3220
- const [resolveError, resolved] = await catchError(resolveFolder({ folderPath: options.folderPath }, {
3187
+ const [resolveError, resolved] = await catchError2(resolveFolder({ folderPath: options.folderPath }, {
3221
3188
  tenant: options.tenant,
3222
3189
  loginValidity: options.loginValidity
3223
3190
  }));
@@ -3234,8 +3201,8 @@ async function resolveFolderForList(options) {
3234
3201
  function registerProcessCommand(program) {
3235
3202
  const processCmd = program.command("process").description("Manage Flow processes");
3236
3203
  registerSharedProcessCommands(processCmd, { toolLabel: "Flow" });
3237
- addRowWindowOptions(processCmd.command("list")).description("List available Flow projects. The releaseActive and releaseLatest fields reflect Orchestrator release-level state (whether the release is marked active or the highest version on the manifest) and do not indicate whether the process is deployed or runnable.").addOption(createHiddenDeprecatedTenantOption("-t, --tenant <tenant-name>")).option("--filter <odata>", "Additional OData filter").option("-f, --folder-key <key>", "Folder key (GUID)").option("--folder-path <path>", "Folder path (e.g. 'Shared/Invoices'). Alternative to --folder-key.").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).examples(FLOW_PROCESS_LIST_EXAMPLES).trackedAction(processContext, async (options) => {
3238
- const { getLoginStatusAsync } = await import("./index-sqhbn7ew.js");
3204
+ processCmd.command("list").description("List available Flow projects. The releaseActive and releaseLatest fields reflect Orchestrator release-level state (whether the release is marked active or the highest version on the manifest) and do not indicate whether the process is deployed or runnable.").addOption(createHiddenDeprecatedTenantOption("-t, --tenant <tenant-name>")).addOption(createProcessLimitOption()).addOption(createProcessOffsetOption()).option("--filter <odata>", "Additional OData filter").option("-f, --folder-key <key>", "Folder key (GUID)").option("--folder-path <path>", "Folder path (e.g. 'Shared/Invoices'). Alternative to --folder-key.").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).examples(FLOW_PROCESS_LIST_EXAMPLES).trackedAction(processContext, async (options) => {
3205
+ const { getAuthContext } = await import("./index-f5kq7265.js");
3239
3206
  if (options.folderKey === undefined && options.folderPath === undefined) {
3240
3207
  OutputFormatter.error({
3241
3208
  Result: RESULTS.ValidationError,
@@ -3245,47 +3212,19 @@ function registerProcessCommand(program) {
3245
3212
  processContext.exit(3);
3246
3213
  return;
3247
3214
  }
3248
- const [loginError, loginStatus] = await catchError(getLoginStatusAsync({
3249
- ensureTokenValidityMinutes: options.loginValidity
3215
+ const [authError, auth] = await catchError2(getAuthContext({
3216
+ ensureTokenValidityMinutes: options.loginValidity,
3217
+ tenant: options.tenant,
3218
+ requireOrganizationId: true,
3219
+ requireTenantName: true
3250
3220
  }));
3251
- if (loginError) {
3252
- OutputFormatter.error({
3253
- Result: RESULTS.Failure,
3254
- Message: loginError.message,
3255
- Instructions: instructionsFor("auth")
3256
- });
3221
+ if (authError) {
3222
+ OutputFormatter.error(await authContextFailure(authError));
3257
3223
  processContext.exit(1);
3258
3224
  return;
3259
3225
  }
3260
- if (loginStatus.loginStatus !== "Logged in" || !loginStatus.baseUrl) {
3261
- OutputFormatter.error({
3262
- Result: RESULTS.Failure,
3263
- Message: "Not logged in. Run 'uip login' first.",
3264
- Instructions: instructionsFor("auth")
3265
- });
3266
- processContext.exit(1);
3267
- return;
3268
- }
3269
- const tenantName = options.tenant || loginStatus.tenantName;
3270
- if (!tenantName) {
3271
- OutputFormatter.error({
3272
- Result: RESULTS.Failure,
3273
- Message: "Tenant not provided and not available from login. Run 'uip login' or 'uip login tenant set <tenant>'.",
3274
- Instructions: instructionsFor("identity")
3275
- });
3276
- processContext.exit(1);
3277
- return;
3278
- }
3279
- if (!loginStatus.organizationId) {
3280
- OutputFormatter.error({
3281
- Result: RESULTS.Failure,
3282
- Message: "Organization ID not available from login.",
3283
- Instructions: instructionsFor("identity")
3284
- });
3285
- processContext.exit(1);
3286
- return;
3287
- }
3288
- const [resolveError, resolvedFolderKey] = await catchError(resolveFolderForList(options));
3226
+ const { tenantName } = auth;
3227
+ const [resolveError, resolvedFolderKey] = await catchError2(resolveFolderForList(options));
3289
3228
  if (resolveError) {
3290
3229
  OutputFormatter.error({
3291
3230
  Result: RESULTS.ValidationError,
@@ -3299,13 +3238,13 @@ function registerProcessCommand(program) {
3299
3238
  processKey: "",
3300
3239
  folderKey: resolvedFolderKey,
3301
3240
  inputs: {},
3302
- authToken: loginStatus.accessToken || "",
3303
- organizationId: loginStatus.organizationId,
3241
+ authToken: auth.accessToken,
3242
+ organizationId: auth.organizationId,
3304
3243
  tenantName,
3305
- baseUrl: loginStatus.baseUrl
3244
+ baseUrl: auth.baseUrl
3306
3245
  };
3307
- const { listFlowProcesses } = await import("./flow-api-sat010z1.js");
3308
- const [listError, processes] = await catchError(listFlowProcesses(config, options.filter, {
3246
+ const { listFlowProcesses } = await import("./flow-api-d4dvmadm.js");
3247
+ const [listError, processes] = await catchError2(listFlowProcesses(config, options.filter, {
3309
3248
  limit: options.limit,
3310
3249
  offset: options.offset
3311
3250
  }));
@@ -3334,59 +3273,31 @@ function registerProcessCommand(program) {
3334
3273
  });
3335
3274
  });
3336
3275
  processCmd.command("get").description("Get Flow project schema and details").argument("<process-key>", "Process key (e.g., MyFlow.flow.Flow:1.0.0)").argument("<feed-id>", "Feed ID (from 'flow project list')").addOption(createHiddenDeprecatedTenantOption("-t, --tenant <tenant-name>")).requiredOption("-f, --folder-key <key>", "Folder key (GUID)").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).examples(FLOW_PROCESS_GET_EXAMPLES).trackedAction(processContext, async (processKey, feedId, options) => {
3337
- const { getLoginStatusAsync } = await import("./index-sqhbn7ew.js");
3338
- const [loginError, loginStatus] = await catchError(getLoginStatusAsync({
3339
- ensureTokenValidityMinutes: options.loginValidity
3276
+ const { getAuthContext } = await import("./index-f5kq7265.js");
3277
+ const [authError, auth] = await catchError2(getAuthContext({
3278
+ ensureTokenValidityMinutes: options.loginValidity,
3279
+ tenant: options.tenant,
3280
+ requireOrganizationId: true,
3281
+ requireTenantName: true
3340
3282
  }));
3341
- if (loginError) {
3342
- OutputFormatter.error({
3343
- Result: RESULTS.Failure,
3344
- Message: loginError.message,
3345
- Instructions: instructionsFor("auth")
3346
- });
3347
- processContext.exit(1);
3348
- return;
3349
- }
3350
- if (loginStatus.loginStatus !== "Logged in" || !loginStatus.baseUrl) {
3351
- OutputFormatter.error({
3352
- Result: RESULTS.Failure,
3353
- Message: "Not logged in. Run 'uip login' first.",
3354
- Instructions: instructionsFor("auth")
3355
- });
3356
- processContext.exit(1);
3357
- return;
3358
- }
3359
- const tenantName = options.tenant || loginStatus.tenantName;
3360
- if (!tenantName) {
3361
- OutputFormatter.error({
3362
- Result: RESULTS.Failure,
3363
- Message: "Tenant not provided and not available from login. Run 'uip login' or 'uip login tenant set <tenant>'.",
3364
- Instructions: instructionsFor("identity")
3365
- });
3366
- processContext.exit(1);
3367
- return;
3368
- }
3369
- if (!loginStatus.organizationId) {
3370
- OutputFormatter.error({
3371
- Result: RESULTS.Failure,
3372
- Message: "Organization ID not available from login.",
3373
- Instructions: instructionsFor("identity")
3374
- });
3283
+ if (authError) {
3284
+ OutputFormatter.error(await authContextFailure(authError));
3375
3285
  processContext.exit(1);
3376
3286
  return;
3377
3287
  }
3288
+ const { tenantName } = auth;
3378
3289
  const config = {
3379
3290
  processKey,
3380
3291
  folderKey: options.folderKey,
3381
3292
  inputs: {},
3382
- authToken: loginStatus.accessToken || "",
3383
- organizationId: loginStatus.organizationId,
3293
+ authToken: auth.accessToken,
3294
+ organizationId: auth.organizationId,
3384
3295
  tenantName,
3385
- baseUrl: loginStatus.baseUrl,
3296
+ baseUrl: auth.baseUrl,
3386
3297
  feedId
3387
3298
  };
3388
- const { getFlowEntryPoints } = await import("./flow-api-sat010z1.js");
3389
- const [entryPointsError, entryPoints] = await catchError(getFlowEntryPoints(config));
3299
+ const { getFlowEntryPoints } = await import("./flow-api-d4dvmadm.js");
3300
+ const [entryPointsError, entryPoints] = await catchError2(getFlowEntryPoints(config));
3390
3301
  if (entryPointsError) {
3391
3302
  OutputFormatter.error({
3392
3303
  Result: RESULTS.Failure,
@@ -3406,8 +3317,8 @@ function registerProcessCommand(program) {
3406
3317
  return;
3407
3318
  }
3408
3319
  const formattedData = entryPoints.map((ep) => {
3409
- const [, inputSchema] = catchError(() => JSON.parse(ep.InputArguments));
3410
- const [, outputSchema] = catchError(() => JSON.parse(ep.OutputArguments));
3320
+ const [, inputSchema] = catchError2(() => JSON.parse(ep.InputArguments));
3321
+ const [, outputSchema] = catchError2(() => JSON.parse(ep.OutputArguments));
3411
3322
  return {
3412
3323
  Path: ep.Path,
3413
3324
  DisplayName: ep.DisplayName,
@@ -3424,56 +3335,28 @@ function registerProcessCommand(program) {
3424
3335
  });
3425
3336
  });
3426
3337
  processCmd.command("run").description("Run a Flow project with inputs").argument("<process-key>", "Process key (e.g., MyFlow.flow.Flow:1.0.0)").argument("<folder-key>", "Folder key (GUID)").option("-i, --inputs <json>", "Input parameters as JSON string or @file.json").option("--attachment <name=path>", "Upload a local file as a file-typed workflow input variable (repeatable). Example: --attachment file1=./resume.pdf", appendOption, []).addOption(createHiddenDeprecatedTenantOption("-t, --tenant <tenant-name>")).option("--release-key <key>", "Release key (GUID, from list command)").option("--feed-id <id>", "Feed ID for package lookup (optional)").option("--robot-ids <ids>", "Comma-separated robot IDs (optional)").option("--entry-point <id>", "Entry point node id — a trigger node id from the .flow file. Defaults to the release's default entry point").option("--validate", "Validate inputs against project schema (basic: required fields + primitive types)").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).option("--wait", "Block until the job reaches a terminal state (Successful, Faulted, Stopped)").option("--timeout <seconds>", "Maximum seconds to wait (0 = no timeout). Requires --wait.", String(DEFAULT_TIMEOUT_MS / 1000)).option("--poll-interval <seconds>", "Seconds between status checks. Requires --wait.", String(DEFAULT_INTERVAL_MS / 1000)).examples(FLOW_PROCESS_RUN_EXAMPLES).trackedAction(processContext, async (processKey, folderKey, options) => {
3427
- const { getLoginStatusAsync } = await import("./index-sqhbn7ew.js");
3338
+ const { getAuthContext } = await import("./index-f5kq7265.js");
3428
3339
  const {
3429
3340
  parseFlowInputs,
3430
3341
  resolveEntryPoint,
3431
3342
  startFlowProjectJob,
3432
3343
  validateFlowInputs
3433
- } = await import("./flow-api-sat010z1.js");
3434
- const [loginError, loginStatus] = await catchError(getLoginStatusAsync({
3435
- ensureTokenValidityMinutes: options.loginValidity
3344
+ } = await import("./flow-api-d4dvmadm.js");
3345
+ const [authError, auth] = await catchError2(getAuthContext({
3346
+ ensureTokenValidityMinutes: options.loginValidity,
3347
+ tenant: options.tenant,
3348
+ requireOrganizationId: true,
3349
+ requireTenantName: true
3436
3350
  }));
3437
- if (loginError) {
3438
- OutputFormatter.error({
3439
- Result: RESULTS.Failure,
3440
- Message: loginError.message,
3441
- Instructions: instructionsFor("auth")
3442
- });
3443
- processContext.exit(1);
3444
- return;
3445
- }
3446
- if (loginStatus.loginStatus !== "Logged in" || !loginStatus.baseUrl) {
3447
- OutputFormatter.error({
3448
- Result: RESULTS.Failure,
3449
- Message: "Not logged in. Run 'uip login' first.",
3450
- Instructions: instructionsFor("auth")
3451
- });
3452
- processContext.exit(1);
3453
- return;
3454
- }
3455
- const tenantName = options.tenant || loginStatus.tenantName;
3456
- if (!tenantName) {
3457
- OutputFormatter.error({
3458
- Result: RESULTS.Failure,
3459
- Message: "Tenant not provided and not available from login. Run 'uip login' or 'uip login tenant set <tenant>'.",
3460
- Instructions: instructionsFor("identity")
3461
- });
3462
- processContext.exit(1);
3463
- return;
3464
- }
3465
- if (!loginStatus.organizationId) {
3466
- OutputFormatter.error({
3467
- Result: RESULTS.Failure,
3468
- Message: "Organization ID not available from login.",
3469
- Instructions: instructionsFor("identity")
3470
- });
3351
+ if (authError) {
3352
+ OutputFormatter.error(await authContextFailure(authError));
3471
3353
  processContext.exit(1);
3472
3354
  return;
3473
3355
  }
3356
+ const { tenantName } = auth;
3474
3357
  let inputs = {};
3475
3358
  if (options.inputs) {
3476
- const [parseError, parsed] = await catchError(parseFlowInputs(options.inputs));
3359
+ const [parseError, parsed] = await catchError2(parseFlowInputs(options.inputs));
3477
3360
  if (parseError) {
3478
3361
  OutputFormatter.error({
3479
3362
  Result: RESULTS.Failure,
@@ -3485,8 +3368,8 @@ function registerProcessCommand(program) {
3485
3368
  }
3486
3369
  inputs = parsed;
3487
3370
  } else {
3488
- const { readStdin } = await import("./input-reader-n7kzdrev.js");
3489
- const [stdinError, stdinData] = await catchError(readStdin());
3371
+ const { readStdin } = await import("./input-reader-zqaep7k7.js");
3372
+ const [stdinError, stdinData] = await catchError2(readStdin());
3490
3373
  if (stdinError) {
3491
3374
  OutputFormatter.error({
3492
3375
  Result: RESULTS.Failure,
@@ -3497,7 +3380,7 @@ function registerProcessCommand(program) {
3497
3380
  return;
3498
3381
  }
3499
3382
  if (stdinData) {
3500
- const [parseError, parsed] = await catchError(parseFlowInputs(stdinData));
3383
+ const [parseError, parsed] = await catchError2(parseFlowInputs(stdinData));
3501
3384
  if (parseError) {
3502
3385
  OutputFormatter.error({
3503
3386
  Result: RESULTS.Failure,
@@ -3514,17 +3397,17 @@ function registerProcessCommand(program) {
3514
3397
  processKey,
3515
3398
  folderKey,
3516
3399
  inputs,
3517
- authToken: loginStatus.accessToken || "",
3518
- organizationId: loginStatus.organizationId,
3400
+ authToken: auth.accessToken,
3401
+ organizationId: auth.organizationId,
3519
3402
  tenantName,
3520
- tenantId: loginStatus.tenantId,
3521
- baseUrl: loginStatus.baseUrl,
3403
+ tenantId: auth.tenantId,
3404
+ baseUrl: auth.baseUrl,
3522
3405
  releaseKey: options.releaseKey,
3523
3406
  feedId: options.feedId
3524
3407
  };
3525
3408
  let mainEntryPointId;
3526
3409
  const fillRelease = async () => {
3527
- const [resolveError, release] = await catchError(resolveRelease(config, processKey));
3410
+ const [resolveError, release] = await catchError2(resolveRelease(config, processKey));
3528
3411
  if (resolveError) {
3529
3412
  OutputFormatter.error({
3530
3413
  Result: RESULTS.Failure,
@@ -3550,7 +3433,7 @@ function registerProcessCommand(program) {
3550
3433
  }
3551
3434
  let entryPoint;
3552
3435
  if (options.entryPoint !== undefined) {
3553
- const [entryPointError, resolved] = await catchError(resolveEntryPoint(config, options.entryPoint));
3436
+ const [entryPointError, resolved] = await catchError2(resolveEntryPoint(config, options.entryPoint));
3554
3437
  if (entryPointError instanceof UnknownEntryPointError) {
3555
3438
  OutputFormatter.error({
3556
3439
  Result: RESULTS.ValidationError,
@@ -3574,7 +3457,7 @@ function registerProcessCommand(program) {
3574
3457
  }
3575
3458
  const attachmentSpecs = options.attachment ?? [];
3576
3459
  if (attachmentSpecs.length > 0) {
3577
- const [parseError, specs] = catchError(() => attachmentSpecs.map(parseAttachmentSpec));
3460
+ const [parseError, specs] = catchError2(() => attachmentSpecs.map(parseAttachmentSpec));
3578
3461
  if (parseError) {
3579
3462
  OutputFormatter.error({
3580
3463
  Result: RESULTS.Failure,
@@ -3584,8 +3467,8 @@ function registerProcessCommand(program) {
3584
3467
  processContext.exit(1);
3585
3468
  return;
3586
3469
  }
3587
- const { uploadJobAttachment } = await import("./index-wycgq0ff.js");
3588
- const [uploadError, resolved] = await catchError(resolveAttachmentInputs(specs, (bytes, fileName) => uploadJobAttachment(bytes, fileName, {
3470
+ const { uploadJobAttachment } = await import("./index-4e3w8x62.js");
3471
+ const [uploadError, resolved] = await catchError2(resolveAttachmentInputs(specs, (bytes, fileName) => uploadJobAttachment(bytes, fileName, {
3589
3472
  tenant: tenantName
3590
3473
  })));
3591
3474
  if (uploadError) {
@@ -3618,7 +3501,7 @@ function registerProcessCommand(program) {
3618
3501
  }
3619
3502
  }
3620
3503
  if (options.validate) {
3621
- const [valError, validation] = await catchError(validateFlowInputs(config, inputs, entryPoint, mainEntryPointId));
3504
+ const [valError, validation] = await catchError2(validateFlowInputs(config, inputs, entryPoint, mainEntryPointId));
3622
3505
  if (valError) {
3623
3506
  const code = flowProcessRunErrorCode(valError);
3624
3507
  OutputFormatter.error({
@@ -3674,7 +3557,7 @@ ${errorList}`,
3674
3557
  if (config.releaseKey === undefined && !await fillRelease()) {
3675
3558
  return;
3676
3559
  }
3677
- const [jobError, job] = await catchError(startFlowProjectJob(config));
3560
+ const [jobError, job] = await catchError2(startFlowProjectJob(config));
3678
3561
  if (jobError) {
3679
3562
  const code = flowProcessRunErrorCode(jobError);
3680
3563
  OutputFormatter.error({
@@ -3710,7 +3593,7 @@ ${errorList}`,
3710
3593
  processContext.exit(1);
3711
3594
  return;
3712
3595
  }
3713
- const { handleFlowJobWait } = await import("./wait-for-flow-job-b0vj8828.js");
3596
+ const { handleFlowJobWait } = await import("./wait-for-flow-job-a4xtda36.js");
3714
3597
  await handleFlowJobWait(job.key, {
3715
3598
  config,
3716
3599
  timeoutMs,
@@ -3752,33 +3635,20 @@ function getDefaultOutputPath(fs = getFileSystem()) {
3752
3635
  }
3753
3636
  var registerPublishCommand = (program) => {
3754
3637
  program.command("publish").description("Pack a Flow project and upload the resulting .nupkg to Orchestrator packages").argument("<project-path>", "Path to the Flow project directory").argument("[output-path]", "Output directory where the generated .nupkg will be saved").option("-n, --name <name>", "Package name (default: project folder name)").option("-v, --version <version>", "Package version (default: 1.0.0)", "1.0.0").addOption(createHiddenDeprecatedTenantOption("-t, --tenant <tenant-name>")).option("--feed-id <feedId>", "Feed ID (optional, defaults to tenant feed). Mutually exclusive with --folder-key/--folder-path.").option("--folder-key <key>", "Folder key (GUID) of an Orchestrator folder hierarchy feed. The CLI resolves the folder's feed ID automatically. Mutually exclusive with --feed-id and --folder-path.").option("--folder-path <path>", "Folder path (e.g. 'Shared/Sub') of an Orchestrator folder hierarchy feed. The CLI resolves the folder's feed ID automatically. Mutually exclusive with --feed-id and --folder-key.").examples(FLOW_PUBLISH_EXAMPLES).trackedAction(processContext, async (projectPath, outputPath, options) => {
3755
- const { getLoginStatusAsync } = await import("./index-sqhbn7ew.js");
3638
+ const { getAuthContext } = await import("./index-f5kq7265.js");
3756
3639
  const {
3757
3640
  createApiClient,
3758
3641
  PackageFeedsApi,
3759
3642
  ProcessesApi,
3760
3643
  resolveFolder
3761
- } = await import("./index-wycgq0ff.js");
3644
+ } = await import("./index-4e3w8x62.js");
3762
3645
  const fs = getFileSystem();
3763
3646
  const shouldCleanupOutput = outputPath === undefined;
3764
3647
  const packageOutputPath = outputPath ?? getDefaultOutputPath(fs);
3765
3648
  try {
3766
- const [loginError, loginStatus] = await catchError(getLoginStatusAsync());
3767
- if (loginError) {
3768
- OutputFormatter.error({
3769
- Result: RESULTS.Failure,
3770
- Message: loginError.message,
3771
- Instructions: instructionsFor("auth", loginError)
3772
- });
3773
- processContext.exit(1);
3774
- return;
3775
- }
3776
- if (loginStatus.loginStatus !== "Logged in" || !loginStatus.baseUrl) {
3777
- OutputFormatter.error({
3778
- Result: RESULTS.Failure,
3779
- Message: "Not logged in. Run 'uip login' first.",
3780
- Instructions: instructionsFor("auth")
3781
- });
3649
+ const [authError] = await catchError2(getAuthContext());
3650
+ if (authError) {
3651
+ OutputFormatter.error(await authContextFailure(authError));
3782
3652
  processContext.exit(1);
3783
3653
  return;
3784
3654
  }
@@ -3803,7 +3673,7 @@ var registerPublishCommand = (program) => {
3803
3673
  }
3804
3674
  let resolvedFeedId = options.feedId;
3805
3675
  if (folderTargetingSpecified) {
3806
- const [folderError, folder] = await catchError(resolveFolder({
3676
+ const [folderError, folder] = await catchError2(resolveFolder({
3807
3677
  folderKey: options.folderKey,
3808
3678
  folderPath: options.folderPath
3809
3679
  }, { tenant: options.tenant }));
@@ -3817,7 +3687,7 @@ var registerPublishCommand = (program) => {
3817
3687
  processContext.exit(3);
3818
3688
  return;
3819
3689
  }
3820
- const [feedsApiError, feedsApi] = await catchError(createApiClient(PackageFeedsApi, {
3690
+ const [feedsApiError, feedsApi] = await catchError2(createApiClient(PackageFeedsApi, {
3821
3691
  tenant: options.tenant
3822
3692
  }));
3823
3693
  if (feedsApiError) {
@@ -3829,7 +3699,7 @@ var registerPublishCommand = (program) => {
3829
3699
  processContext.exit(1);
3830
3700
  return;
3831
3701
  }
3832
- const [feedLookupError, folderFeedId] = await catchError(feedsApi.packageFeedsGetFolderFeed({
3702
+ const [feedLookupError, folderFeedId] = await catchError2(feedsApi.packageFeedsGetFolderFeed({
3833
3703
  folderId: folder.id
3834
3704
  }));
3835
3705
  if (feedLookupError || !folderFeedId) {
@@ -3844,9 +3714,9 @@ var registerPublishCommand = (program) => {
3844
3714
  }
3845
3715
  resolvedFeedId = folderFeedId;
3846
3716
  }
3847
- const { FlowPackService } = await import("./flow-pack-service-b910q207.js");
3717
+ const { FlowPackService } = await import("./flow-pack-service-58m51sp8.js");
3848
3718
  const service = new FlowPackService;
3849
- const [packError, packResult] = await catchError(service.executeAsync(projectPath, {
3719
+ const [packError, packResult] = await catchError2(service.executeAsync(projectPath, {
3850
3720
  output: packageOutputPath,
3851
3721
  name: options.name,
3852
3722
  version: options.version
@@ -3869,7 +3739,7 @@ var registerPublishCommand = (program) => {
3869
3739
  processContext.exit(1);
3870
3740
  return;
3871
3741
  }
3872
- const [apiError, api] = await catchError(createApiClient(ProcessesApi, {
3742
+ const [apiError, api] = await catchError2(createApiClient(ProcessesApi, {
3873
3743
  tenant: options.tenant
3874
3744
  }));
3875
3745
  if (apiError) {
@@ -3881,12 +3751,27 @@ var registerPublishCommand = (program) => {
3881
3751
  processContext.exit(1);
3882
3752
  return;
3883
3753
  }
3884
- const [readError, fileBuffer] = await catchError(fs.readFile(packResult.outputPath));
3754
+ const [readError, fileBuffer] = await catchError2(fs.readFile(packResult.outputPath));
3755
+ const readInstructions = `Verify the generated package exists at '${packResult.outputPath}' and that the current user can read it.`;
3885
3756
  if (readError) {
3757
+ const details = await extractErrorDetails(readError);
3886
3758
  OutputFormatter.error({
3887
3759
  Result: RESULTS.Failure,
3760
+ ErrorCode: details.errorCode,
3888
3761
  Message: `Flow publish failed: ${readError.message}`,
3889
- Instructions: `Verify the generated package exists at '${packResult.outputPath}' and that the current user can read it.`
3762
+ Instructions: readInstructions,
3763
+ Retry: details.retry
3764
+ });
3765
+ processContext.exit(1);
3766
+ return;
3767
+ }
3768
+ if (fileBuffer === null) {
3769
+ OutputFormatter.error({
3770
+ Result: RESULTS.Failure,
3771
+ ErrorCode: "not_found",
3772
+ Message: `Flow publish failed: no package found at '${packResult.outputPath}'.`,
3773
+ Instructions: readInstructions,
3774
+ Retry: "RetryWillNotFix"
3890
3775
  });
3891
3776
  processContext.exit(1);
3892
3777
  return;
@@ -3895,7 +3780,7 @@ var registerPublishCommand = (program) => {
3895
3780
  const file = new File([fileBuffer], fileName, {
3896
3781
  type: "application/octet-stream"
3897
3782
  });
3898
- const [uploadError, uploadResult] = await catchError(api.processesUploadPackage({
3783
+ const [uploadError, uploadResult] = await catchError2(api.processesUploadPackage({
3899
3784
  file,
3900
3785
  feedId: resolvedFeedId
3901
3786
  }));
@@ -3931,7 +3816,7 @@ var registerPublishCommand = (program) => {
3931
3816
  });
3932
3817
  } finally {
3933
3818
  if (shouldCleanupOutput) {
3934
- await catchError(fs.rm(packageOutputPath));
3819
+ await catchError2(fs.rm(packageOutputPath));
3935
3820
  }
3936
3821
  }
3937
3822
  });
@@ -3945,8 +3830,8 @@ var registerRegistryCommand2 = (program) => {
3945
3830
  // src/commands/tidy.ts
3946
3831
  var registerTidyCommand = (program) => {
3947
3832
  program.command("format").description("Format a .flow file by auto-laying out nodes to prevent overlaps and arrange in a clean flow").argument("<file>", "Path to the .flow file").trackedAction(processContext, async (file) => {
3948
- const { tidyFlow } = await import("./tidy-service-hz61ypyj.js");
3949
- const [error, result] = await catchError(tidyFlow(file));
3833
+ const { tidyFlow } = await import("./tidy-service-m33hhtc7.js");
3834
+ const [error, result] = await catchError2(tidyFlow(file));
3950
3835
  if (error) {
3951
3836
  OutputFormatter.error({
3952
3837
  Result: RESULTS.Failure,
@@ -4058,8 +3943,8 @@ var registerValidateCommand = (program) => {
4058
3943
  let governanceEnforcements;
4059
3944
  let availableModelNames;
4060
3945
  if (options.governance) {
4061
- const { fetchGovernanceData } = await import("./governance-fetcher-ffvbtwbd.js");
4062
- const [error, data] = await catchError(fetchGovernanceData());
3946
+ const { fetchGovernanceData } = await import("./governance-fetcher-h8hpcwyh.js");
3947
+ const [error, data] = await catchError2(fetchGovernanceData());
4063
3948
  if (error) {
4064
3949
  OutputFormatter.error({
4065
3950
  Result: RESULTS.Failure,
@@ -4072,7 +3957,7 @@ var registerValidateCommand = (program) => {
4072
3957
  governanceEnforcements = data.enforcements;
4073
3958
  availableModelNames = data.modelNames;
4074
3959
  }
4075
- const { FlowValidateService } = await import("./flow-validate-service-x2mbk3et.js");
3960
+ const { FlowValidateService } = await import("./flow-validate-service-9a3zate4.js");
4076
3961
  const service = new FlowValidateService({
4077
3962
  governanceEnforcements,
4078
3963
  availableModelNames,
@@ -4178,7 +4063,7 @@ function parseDefaultValue(value, type) {
4178
4063
  }
4179
4064
  case "object":
4180
4065
  case "array": {
4181
- const [parseErr, parsedValue] = catchError(() => JSON.parse(value));
4066
+ const [parseErr, parsedValue] = catchError2(() => JSON.parse(value));
4182
4067
  if (parseErr) {
4183
4068
  return {
4184
4069
  error: `Invalid default value for type '${type}': must be valid JSON`
@@ -4203,7 +4088,7 @@ function parseDefaultValue(value, type) {
4203
4088
  var registerVariableCommand = (program) => {
4204
4089
  const variable = program.command("variables").alias("variable").description("Manage variables in a Flow file");
4205
4090
  variable.command("create").alias("add").description("Add a variable to a Flow file").argument("<file>", "Path to the .flow file").argument("<variable-id>", "Variable identifier (e.g. myInputVar)").requiredOption("-d, --direction <direction>", `Variable direction (${VALID_DIRECTIONS.join(", ")})`).option("-t, --type <type>", `Data type (${VALID_TYPES.join(", ")})`, "string").option("--default-value <value>", "Default value (parsed based on --type)").option("--description <text>", "Human-readable description").option("--schema <json>", "JSON schema for object/array types").option("--sub-type <subType>", "Sub-type for complex types").option("--trigger-node-id <nodeId>", "Trigger node an input variable belongs to (defaults to the flow's only trigger node; required when the flow has several)").examples(VARIABLE_ADD_EXAMPLES).trackedAction(processContext, async (file, variableId, options) => {
4206
- const { validateIdentifier } = await import("./index-gxcjq6ns.js");
4091
+ const { validateIdentifier } = await import("./index-d4bdedx3.js");
4207
4092
  const identifierError = validateIdentifier(variableId, []);
4208
4093
  if (identifierError) {
4209
4094
  OutputFormatter.error({
@@ -4248,7 +4133,7 @@ var registerVariableCommand = (program) => {
4248
4133
  }
4249
4134
  let schema;
4250
4135
  if (options.schema !== undefined) {
4251
- const [parseError, parsed] = catchError(() => JSON.parse(options.schema));
4136
+ const [parseError, parsed] = catchError2(() => JSON.parse(options.schema));
4252
4137
  if (parseError) {
4253
4138
  OutputFormatter.error({
4254
4139
  Result: RESULTS.Failure,
@@ -4269,8 +4154,8 @@ var registerVariableCommand = (program) => {
4269
4154
  }
4270
4155
  schema = parsed;
4271
4156
  }
4272
- const { addVariableToFlow } = await import("./variable-service-9ex4a93n.js");
4273
- const [error, variable2] = await catchError(addVariableToFlow(file, {
4157
+ const { addVariableToFlow } = await import("./variable-service-ea1erf93.js");
4158
+ const [error, variable] = await catchError2(addVariableToFlow(file, {
4274
4159
  id: variableId,
4275
4160
  direction: options.direction,
4276
4161
  type: options.type,
@@ -4293,12 +4178,12 @@ var registerVariableCommand = (program) => {
4293
4178
  Result: RESULTS.Success,
4294
4179
  Code: "VariableAddSuccess",
4295
4180
  Data: {
4296
- Variable: variable2
4181
+ Variable: variable
4297
4182
  }
4298
4183
  });
4299
4184
  });
4300
4185
  variable.command("delete").alias("remove").description("Remove a variable from a Flow file").argument("<file>", "Path to the .flow file").argument("<variable-id>", "Variable identifier to remove").examples(VARIABLE_DELETE_EXAMPLES).trackedAction(processContext, async (file, variableId) => {
4301
- const { validateIdentifier } = await import("./index-gxcjq6ns.js");
4186
+ const { validateIdentifier } = await import("./index-d4bdedx3.js");
4302
4187
  const identifierError = validateIdentifier(variableId, []);
4303
4188
  if (identifierError) {
4304
4189
  OutputFormatter.error({
@@ -4309,8 +4194,8 @@ var registerVariableCommand = (program) => {
4309
4194
  processContext.exit(1);
4310
4195
  return;
4311
4196
  }
4312
- const { deleteVariableFromFlow } = await import("./variable-service-9ex4a93n.js");
4313
- const [error, deletedVariable] = await catchError(deleteVariableFromFlow(file, variableId));
4197
+ const { deleteVariableFromFlow } = await import("./variable-service-ea1erf93.js");
4198
+ const [error, deletedVariable] = await catchError2(deleteVariableFromFlow(file, variableId));
4314
4199
  if (error) {
4315
4200
  OutputFormatter.error({
4316
4201
  Result: RESULTS.Failure,
@@ -4329,8 +4214,8 @@ var registerVariableCommand = (program) => {
4329
4214
  });
4330
4215
  });
4331
4216
  addRowWindowOptions(variable.command("list")).description("List all variables in a Flow file").argument("<file>", "Path to the .flow file").examples(VARIABLE_LIST_EXAMPLES).trackedAction(processContext, async (file, options) => {
4332
- const { listVariablesInFlow } = await import("./variable-service-9ex4a93n.js");
4333
- const [error, result] = await catchError(listVariablesInFlow(file));
4217
+ const { listVariablesInFlow } = await import("./variable-service-ea1erf93.js");
4218
+ const [error, result] = await catchError2(listVariablesInFlow(file));
4334
4219
  if (error) {
4335
4220
  OutputFormatter.error({
4336
4221
  Result: RESULTS.Failure,
@@ -4356,12 +4241,12 @@ var registerVariableCommand = (program) => {
4356
4241
  // src/services/project-metadata-reader.ts
4357
4242
  async function readAgentProjectMetadata(projectDir) {
4358
4243
  const fs = getFileSystem();
4359
- const [readError, content] = await catchError(fs.readFile(fs.path.join(projectDir, "agent.json"), "utf-8"));
4244
+ const [readError, content] = await catchError2(fs.readFile(fs.path.join(projectDir, "agent.json"), "utf-8"));
4360
4245
  if (readError || typeof content !== "string") {
4361
4246
  logger.debug(`No readable agent.json in ${projectDir}; the node will describe an autonomous agent.`);
4362
4247
  return {};
4363
4248
  }
4364
- const [parseError, parsed] = catchError(() => JSON.parse(content));
4249
+ const [parseError, parsed] = catchError2(() => JSON.parse(content));
4365
4250
  if (parseError) {
4366
4251
  logger.debug(`Unparseable agent.json in ${projectDir}: ${parseError.message}. The node will describe an autonomous agent.`);
4367
4252
  return {};
@@ -4380,15 +4265,15 @@ async function readAgentProjectMetadata(projectDir) {
4380
4265
  var agentProjectMetadataReader = (projectDir, projectType) => projectType === "Agent" ? readAgentProjectMetadata(projectDir) : Promise.resolve({});
4381
4266
 
4382
4267
  // src/tool.ts
4383
- var metadata = {
4268
+ var metadata2 = {
4384
4269
  name: "flow-tool",
4385
4270
  version: package_default.version,
4386
4271
  description: "Create, debug, and run UiPath Flow projects and jobs.",
4387
4272
  commandPrefix: "flow"
4388
4273
  };
4389
- var registerCommands = async (program) => {
4390
- setAgentProjectMetadataReader(agentProjectMetadataReader);
4391
- const { registerFlowAuthoringCommands } = await import("./authoring-e1k40hyw.js");
4274
+ var registerCommands2 = async (program) => {
4275
+ setAgentProjectMetadataReader2(agentProjectMetadataReader);
4276
+ const { registerFlowAuthoringCommands } = await import("./authoring-x84r2a2j.js");
4392
4277
  registerFlowAuthoringCommands(program);
4393
4278
  registerInitCommand(program);
4394
4279
  registerPackCommand(program);
@@ -4412,6 +4297,6 @@ var registerCommands = async (program) => {
4412
4297
  registerVariableCommand(program);
4413
4298
  };
4414
4299
 
4415
- export { metadata, registerCommands };
4300
+ export { metadata2, registerCommands2 };
4416
4301
 
4417
- //# debugId=02B0582EB3A6477164756E2164756E21
4302
+ //# debugId=7295FBFAF8DE3F1964756E2164756E21