@uipath/flow-tool 1.202.1 → 1.203.0-preview.160

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 (239) hide show
  1. package/dist/THIRD-PARTY-NOTICES.md +162 -9
  2. package/dist/{authoring-113fk5ep.js → authoring-tv4dh80p.js} +31 -9
  3. package/dist/{binding-service-4y4gk5rb.js → binding-service-m1729g4d.js} +39 -31
  4. package/dist/{connector-service-n0jw38wq.js → connector-service-hcscpb7k.js} +227 -59
  5. package/dist/{conversion-QANACVCM-zs0hhfjv.js → conversion-FQTRFHRX-5bww6cg9.js} +213 -129
  6. package/dist/{de-6U7ECGHH-xwsw33fk.js → de-B3EKCNFC-zdwybhh7.js} +7 -4
  7. package/dist/{de-7XQXX2DK-IDWR6CAR-n4z245kt.js → de-FGHEJRCI-PK6WALXW-0dnvnmke.js} +153 -9
  8. package/dist/de-FGHEJRCI-gn4cf5gh.js +2697 -0
  9. package/dist/{de-7XQXX2DK-tqdy5n2b.js → de-FGHEJRCI-rv513mfh.js} +153 -9
  10. package/dist/{de-5KVP66U6-1bnf4zt5.js → de-MUJPA4EB-209jpeqe.js} +14 -2
  11. package/dist/de-MUJPA4EB-dpg7t2rw.js +173 -0
  12. package/dist/{de-HKTOVV4H-pe9w0xn8.js → de-VMMG2MN7-2ecwpg1b.js} +2 -5
  13. package/dist/{de-XLT4QPIP-kj81dxjc.js → de-XNTCMP5Z-xfkfqg20.js} +7 -4
  14. package/dist/{debug-conversation-trigger-9gwtwxn6.js → debug-conversation-trigger-m9zwsek2.js} +23 -20
  15. package/dist/{debug-http-client-mc67gw2b.js → debug-http-client-53qk6pc5.js} +2 -2
  16. package/dist/{debug-service-h0mpv9mh.js → debug-service-nyk0s6mc.js} +3 -3
  17. package/dist/{edge-service-pxwzsne6.js → edge-service-ey6a128k.js} +21 -18
  18. package/dist/{index-rmym7hm4.js → embedded-file-reader-0sjt4nkj.js} +96 -16641
  19. package/dist/en-BPJVY3U7-xkpj5xc5.js +52 -0
  20. package/dist/{en-5ZGC5VQ3-h581y30k.js → en-BWGKA5OE-1qkvb9rn.js} +140 -2
  21. package/dist/{en-P4AS26D7-zptp77bm.js → en-E454CJNK-ytfw06kj.js} +4 -2
  22. package/dist/en-FBPVNKFN-dqt573xn.js +138 -0
  23. package/dist/{en-X3S6IZ5J-nhkg6pwn.js → en-GN2ZGWUE-03z2df4k.js} +26 -2
  24. package/dist/en-TBNO2WUV-77KTKLDE-4ktf0pqw.js +1942 -0
  25. package/dist/{en-5ZGC5VQ3-EWX7ILY7-rmtj70fk.js → en-TBNO2WUV-9nan43e5.js} +141 -9
  26. package/dist/es-7SE7HX2X-8yh1aj2y.js +173 -0
  27. package/dist/{es-VFPNVMP5-bx2c337j.js → es-7SE7HX2X-qda7whn6.js} +14 -2
  28. package/dist/{es-NQICVYSQ-3dtqgget.js → es-EKHIPSW6-ya88nvm0.js} +7 -4
  29. package/dist/{es-PQ3RA33Q-y4kxhjfr.js → es-KEBF3AIM-g5rszh8f.js} +7 -4
  30. package/dist/es-KR3ZSNMP-0cszm2n3.js +2697 -0
  31. package/dist/{es-ZGCPPOME-8gazspjj.js → es-KR3ZSNMP-84zphx0x.js} +153 -9
  32. package/dist/{es-ZGCPPOME-24PJEGPV-rn86z9kn.js → es-KR3ZSNMP-QLWVVWKJ-5egs0gj9.js} +153 -9
  33. package/dist/es-MX-2MYFZU7X-3rek4r73.js +173 -0
  34. package/dist/{es-MX-XAVLOQW3-q00km2y7.js → es-MX-2MYFZU7X-6v0q5rbn.js} +14 -2
  35. package/dist/{es-MX-NHTIP5YM-ar6zfx95.js → es-MX-EL3CDS3F-sh84yvjr.js} +7 -4
  36. package/dist/{es-MX-OKNDG2NH-tcac6j4g.js → es-MX-OR6G2SFR-7yykk5ma.js} +7 -4
  37. package/dist/{es-MX-U2VN3SZW-anynsmd8.js → es-MX-XXZJGC4R-2mr8jtgm.js} +153 -9
  38. package/dist/{es-MX-U2VN3SZW-KYAJ2ONK-kdram1g1.js → es-MX-XXZJGC4R-W6EEIHXR-c2m4yjpj.js} +153 -9
  39. package/dist/es-MX-XXZJGC4R-b4fbwe9d.js +2697 -0
  40. package/dist/{es-MX-H2EAXLYI-j42kfkxy.js → es-MX-ZP2LJ3V7-k4brnfa9.js} +2 -5
  41. package/dist/{es-O4PAV2CR-0g23ve3v.js → es-WY6FZ3HO-zksnn6dp.js} +2 -5
  42. package/dist/first-party-service-srxaftkn.js +27 -0
  43. package/dist/{flow-api-p6vabmea.js → flow-api-f49qbvf6.js} +8 -8
  44. package/dist/{flow-debug-service-m2ch7mwg.js → flow-debug-service-12553vsz.js} +67 -42
  45. package/dist/flow-eval-node-target-y11g5wga.js +53 -0
  46. package/dist/flow-eval-run-api-1bw5e0k4.js +13 -0
  47. package/dist/{flow-eval-run-service-pdkvt1tp.js → flow-eval-run-service-5yb42k28.js} +107 -222
  48. package/dist/{flow-eval-service-4zhncch4.js → flow-eval-service-62jbxh61.js} +352 -308
  49. package/dist/flow-init-service-8my1tazk.js +42 -0
  50. package/dist/flow-io-fftvq9gn.js +41 -0
  51. package/dist/{flow-migrate-service-n8bjdds3.js → flow-migrate-service-bh0cxn16.js} +29 -25
  52. package/dist/{flow-pack-service-sw4dbxvr.js → flow-pack-service-z34abxpg.js} +46 -38
  53. package/dist/flow-validate-service-kesk1p8a.js +65 -0
  54. package/dist/{fr-R4L3OAWI-30khpsmn.js → fr-DPD4GHX3-exeypjwk.js} +7 -4
  55. package/dist/{fr-PFHIL7YZ-2n589p47.js → fr-IHD66TVT-vfvmefbx.js} +7 -4
  56. package/dist/fr-MDFKNZ4C-h4a122k9.js +173 -0
  57. package/dist/{fr-E5MDO4EG-c3mkty2t.js → fr-MDFKNZ4C-qmypp92m.js} +14 -2
  58. package/dist/{fr-5YRGHXF5-kz1ywpv6.js → fr-PRMYCRDC-0bk078by.js} +2 -5
  59. package/dist/{fr-T3G5GZCT-y3f7xb1q.js → fr-Y6NPVODW-8vr1ja4b.js} +153 -9
  60. package/dist/{fr-T3G5GZCT-TU4IKBEG-k6xz1s1f.js → fr-Y6NPVODW-AS7T42TR-v4qe2tha.js} +153 -9
  61. package/dist/fr-Y6NPVODW-q5ef3htr.js +2697 -0
  62. package/dist/{governance-fetcher-kaarfkse.js → governance-fetcher-qqp2kfm6.js} +6 -5
  63. package/dist/{headless-h1myzz32.js → headless-rkxtgwts.js} +43066 -1733
  64. package/dist/{hitl-service-sztgwdqk.js → hitl-service-sbdq031m.js} +20 -17
  65. package/dist/{index-1kgxzh8x.js → index-3ts7y9d3.js} +15 -3
  66. package/dist/{index-zw4jx227.js → index-51z10z84.js} +4 -4
  67. package/dist/{index-eybzsdcc.js → index-55cym5j7.js} +66 -6
  68. package/dist/index-kmp9fmhb.js +25 -0
  69. package/dist/index-sc7ddh21.js +16742 -0
  70. package/dist/{index-4zrwgb3c.js → index-ymsd3pyx.js} +12 -15
  71. package/dist/{index-4y4rvc7g.js → index-zc0rre3h.js} +6 -4
  72. package/dist/index.js +13 -24
  73. package/dist/init.js +25 -21
  74. package/dist/{input-reader-cex1tqwe.js → input-reader-tw0j373f.js} +1 -1
  75. package/dist/{ja-SDAPAVCR-kg39dfap.js → ja-HFEQKCZF-hb2f25p8.js} +2 -5
  76. package/dist/{ja-P4OSE367-srr3qypg.js → ja-JE5ZL7EY-hacj2m31.js} +7 -4
  77. package/dist/{ja-ZHKCBE5W-x73w6x3e.js → ja-MDG4BKZQ-gayaca2c.js} +7 -4
  78. package/dist/{ja-BI5K3JDZ-GTIHISTZ-s6n3r2ab.js → ja-Q5PXKJ2V-BR5GRIDQ-fgqqpryf.js} +153 -9
  79. package/dist/{ja-BI5K3JDZ-77zat4z2.js → ja-Q5PXKJ2V-p4msxzjd.js} +153 -9
  80. package/dist/ja-Q5PXKJ2V-tzf2rvz2.js +2697 -0
  81. package/dist/ja-UTQEAP34-8e0q6swp.js +173 -0
  82. package/dist/{ja-DPO5PPLO-mysfmznx.js → ja-UTQEAP34-hvyf683h.js} +14 -2
  83. package/dist/known-types-8dhhqk35.js +19 -0
  84. package/dist/ko-AXCHW2OK-askct7f6.js +173 -0
  85. package/dist/{ko-ITOPNIYI-hmxd2asd.js → ko-AXCHW2OK-pkwdcbmx.js} +14 -2
  86. package/dist/{ko-JOBF5V7N-4bv0mjje.js → ko-AYBDSRZG-41mdmsg1.js} +153 -9
  87. package/dist/{ko-JOBF5V7N-O7T4HKIE-ape840y0.js → ko-AYBDSRZG-G43C3XUW-kng13fsg.js} +153 -9
  88. package/dist/ko-AYBDSRZG-am0h0m2r.js +2697 -0
  89. package/dist/{ko-NAGOZLC3-gaxxsnd2.js → ko-B4SEC7QX-thq2wt6a.js} +2 -5
  90. package/dist/{ko-PYOS2KJP-e7dshyxy.js → ko-DJJRKCG5-5h3k9csc.js} +7 -4
  91. package/dist/{ko-6W7OGLLB-mnmqc584.js → ko-LA5OSS5P-mq5h8sbk.js} +7 -4
  92. package/dist/localization-y790z9vm.js +47 -0
  93. package/dist/{maestro-automate-entry-6bxz7zxn.js → maestro-automate-entry-pqy9xqm3.js} +2 -2
  94. package/dist/node-service-ttx9qj8a.js +80 -0
  95. package/dist/node-sync-service-t1atntv4.js +40 -0
  96. package/dist/{node-tgybta62.js → node-wn6npa2d.js} +2344 -376
  97. package/dist/{packager-tool-3wzbcn5q.js → packager-tool-0egkaa38.js} +1 -1
  98. package/dist/{packager-tool-29vnb5v1.js → packager-tool-10t52r3c.js} +7 -7
  99. package/dist/{packager-tool-nq4rcqqg.js → packager-tool-1frs4sr4.js} +32 -2
  100. package/dist/{packager-tool-p96yqdnk.js → packager-tool-1r5dnt9q.js} +1 -1
  101. package/dist/{packager-tool-f0kd5kq4.js → packager-tool-26ydwf12.js} +130 -15
  102. package/dist/{packager-tool-gkhk6ty0.js → packager-tool-2c2wm7ss.js} +10 -10
  103. package/dist/{packager-tool-cphdcys0.js → packager-tool-321a1806.js} +1 -1
  104. package/dist/packager-tool-4mna26cc.js +133 -0
  105. package/dist/packager-tool-53w8skv5.js +262 -0
  106. package/dist/{packager-tool-m056vsmy.js → packager-tool-6k8s7pt9.js} +269 -23
  107. package/dist/{packager-tool-tn5e7wnb.js → packager-tool-6rsegsby.js} +6 -7
  108. package/dist/packager-tool-795gzq9k.js +208 -0
  109. package/dist/packager-tool-7q6z6npd.js +1937 -0
  110. package/dist/{packager-tool-77f5xeqw.js → packager-tool-8dj442ex.js} +5 -4
  111. package/dist/packager-tool-8qp60s20.js +12 -0
  112. package/dist/packager-tool-94nyzk85.js +1889 -0
  113. package/dist/{packager-tool-aea5psjw.js → packager-tool-9kx94sj5.js} +16 -6
  114. package/dist/{packager-tool-3g534a1a.js → packager-tool-9mm51nrg.js} +1 -1
  115. package/dist/{packager-tool-0d7tcvg1.js → packager-tool-b1xs6aty.js} +4 -1
  116. package/dist/{packager-tool-pb1g4qnb.js → packager-tool-b3m0jr5g.js} +8 -7
  117. package/dist/{packager-tool-cbvcyr3t.js → packager-tool-bhgzjh7h.js} +310 -13
  118. package/dist/{packager-tool-s7tgf9kh.js → packager-tool-cgr7y554.js} +23 -5
  119. package/dist/packager-tool-d6qf5qmb.js +49 -0
  120. package/dist/{packager-tool-a42jnpy5.js → packager-tool-d88rqwk8.js} +29 -3
  121. package/dist/{packager-tool-7exrv6w7.js → packager-tool-dh5nppv4.js} +1 -1
  122. package/dist/{packager-tool-09xysehb.js → packager-tool-e3yks66r.js} +5 -3
  123. package/dist/{packager-tool-58q3tvh7.js → packager-tool-e87tzg4y.js} +159 -21
  124. package/dist/packager-tool-e93xbetx.js +3513 -0
  125. package/dist/{packager-tool-7gx51wnq.js → packager-tool-edemj2dc.js} +10 -13
  126. package/dist/packager-tool-fvm2dddf.js +6297 -0
  127. package/dist/{packager-tool-3bra2c4j.js → packager-tool-gctpkdzs.js} +1 -1
  128. package/dist/packager-tool-gdtpsdn7.js +342 -0
  129. package/dist/{packager-tool-em5r6g6j.js → packager-tool-gpwec9sp.js} +217 -26
  130. package/dist/{packager-tool-a1hbfmws.js → packager-tool-gzpvdcnw.js} +124 -2
  131. package/dist/{packager-tool-ck10v2ve.js → packager-tool-h9d8c9rf.js} +1 -1
  132. package/dist/packager-tool-j78fwwhq.js +16 -0
  133. package/dist/{packager-tool-0g00g1a5.js → packager-tool-j7fbzh3b.js} +2 -2
  134. package/dist/packager-tool-jysvpt8p.js +11 -0
  135. package/dist/{packager-tool-yw0zcs7r.js → packager-tool-np5sdn2n.js} +9 -9
  136. package/dist/{packager-tool-7c18ekyp.js → packager-tool-nsmy7aap.js} +5 -5
  137. package/dist/{packager-tool-e0p2zsyc.js → packager-tool-p79yh9ww.js} +16 -16
  138. package/dist/packager-tool-paq9c70w.js +1332 -0
  139. package/dist/{packager-tool-p7c203yf.js → packager-tool-qzg0br7p.js} +100 -127
  140. package/dist/packager-tool-qzxscmvb.js +261 -0
  141. package/dist/{packager-tool-af8bw5wd.js → packager-tool-r7j4amsv.js} +228 -217
  142. package/dist/{packager-tool-rfkx60be.js → packager-tool-rpr68as1.js} +8 -8
  143. package/dist/{packager-tool-py7cevyk.js → packager-tool-s0mzv3sx.js} +1 -1
  144. package/dist/{packager-tool-5wmnpaf0.js → packager-tool-t9c77psy.js} +3098 -3179
  145. package/dist/{packager-tool-n09qbckn.js → packager-tool-vbser1d9.js} +7 -7
  146. package/dist/packager-tool-vcjq9xkc.js +1895 -0
  147. package/dist/{packager-tool-p9stswjj.js → packager-tool-vck7ct1e.js} +13248 -8037
  148. package/dist/{packager-tool-m5qfverj.js → packager-tool-vdc8r21p.js} +10279 -16112
  149. package/dist/{packager-tool-9bec251q.js → packager-tool-vqcnvaae.js} +10896 -6243
  150. package/dist/packager-tool-w5a1hhyj.js +13 -0
  151. package/dist/{packager-tool-yaabg8qc.js → packager-tool-yfbcqbvs.js} +39 -43
  152. package/dist/packager-tool-z185rq2a.js +180 -0
  153. package/dist/{packager-tool-z9bfhmm5.js → packager-tool-z83pga0z.js} +159 -21
  154. package/dist/{packager-tool-vzj3dha7.js → packager-tool-zh87cczz.js} +15 -56
  155. package/dist/packager-tool.js +19 -16
  156. package/dist/pt-3DIO5QWG-59b3f4bc.js +173 -0
  157. package/dist/{pt-YI4VE4YQ-wdkn2dcf.js → pt-3DIO5QWG-hb763vct.js} +14 -2
  158. package/dist/{pt-D6A6MVB2-yvxca8vz.js → pt-3KUMINBZ-d0fexmny.js} +7 -4
  159. package/dist/{pt-BR-Z3TUDJHM-8v73x9s7.js → pt-BR-3LGIH33I-tqbrd89y.js} +7 -4
  160. package/dist/{pt-BR-DXXSYJDO-a2tp13v7.js → pt-BR-6VFBW5QT-hsck9gjj.js} +2 -5
  161. package/dist/{pt-BR-7DYX2YPT-LZYH4YFD-bx43vx3z.js → pt-BR-TKHNHMET-4Z5H4N5G-pzw3328h.js} +153 -9
  162. package/dist/pt-BR-TKHNHMET-dn6zxk1d.js +2697 -0
  163. package/dist/{pt-BR-7DYX2YPT-fqxqzqtf.js → pt-BR-TKHNHMET-sn91xyq0.js} +153 -9
  164. package/dist/{pt-BR-UQCYHKMJ-q78n7q70.js → pt-BR-WNNZTIMN-6fent688.js} +7 -4
  165. package/dist/{pt-BR-BXURWX4W-bwfcwhk1.js → pt-BR-Y6K6XHXK-37a932vp.js} +14 -2
  166. package/dist/pt-BR-Y6K6XHXK-mp3hwhw1.js +173 -0
  167. package/dist/{pt-KSBWHAVQ-mhvhgr2p.js → pt-PFZXVOQH-qshq0b2m.js} +7 -4
  168. package/dist/{pt-HTXGGX6Y-97t21dty.js → pt-ROXU257Y-2f6bxev4.js} +153 -9
  169. package/dist/{pt-HTXGGX6Y-ZHQSDFKI-vehfxadc.js → pt-ROXU257Y-OWZOS54V-ywap2t39.js} +153 -9
  170. package/dist/pt-ROXU257Y-yd80gx6s.js +2697 -0
  171. package/dist/{pt-7TR74ZMB-bmphh4x2.js → pt-WOTPKWPZ-1rxcy8hs.js} +2 -5
  172. package/dist/{ro-VZUZTAMR-f4q0g3em.js → ro-AN5G62WQ-kcj00jwq.js} +7 -4
  173. package/dist/ro-AVAWPKOO-42m6am1w.js +2697 -0
  174. package/dist/{ro-KTNQ3MNU-XIE6YPQN-gen8p82z.js → ro-AVAWPKOO-6WCG756B-v7pjv1hc.js} +153 -9
  175. package/dist/{ro-KTNQ3MNU-y08n1x5g.js → ro-AVAWPKOO-b89pw79r.js} +153 -9
  176. package/dist/{ro-RKXZUG7Z-nndrrsq7.js → ro-BWR3ONRR-jmap5ajd.js} +14 -2
  177. package/dist/ro-BWR3ONRR-vzx3hy8a.js +173 -0
  178. package/dist/{ro-4TMBHS5M-jz0anpt6.js → ro-KMDT7LYJ-yhpnsdvw.js} +7 -4
  179. package/dist/{ro-BJFER5OI-83tq8vxh.js → ro-PB44YXML-zmhhwp5h.js} +2 -5
  180. package/dist/ru-GSCT4ARZ-jrxwev63.js +10 -0
  181. package/dist/ru-WBLQ5B2U-s4em88p0.js +10 -0
  182. package/dist/{serialization-J5QK3HPY-bgewpt6f.js → serialization-BXU6AKAN-z0vcrhpz.js} +1949 -906
  183. package/dist/services/connector-binding-validator.d.ts +10 -1
  184. package/dist/services/definitions-lookup.d.ts +27 -0
  185. package/dist/services/flow-debug-service.d.ts +290 -0
  186. package/dist/services/flow-eval-types.d.ts +2 -2
  187. package/dist/services/flow-eval-utils.d.ts +29 -0
  188. package/dist/services/flow-validate-service.d.ts +39 -0
  189. package/dist/services/node-validators/connector-validator.d.ts +8 -0
  190. package/dist/services/vars-reference-rule.d.ts +113 -13
  191. package/dist/{shared-utils-3cwmvxdc.js → shared-utils-wv356cvj.js} +1 -1
  192. package/dist/tidy-service-6s3tg778.js +39 -0
  193. package/dist/tool.js +13 -24
  194. package/dist/tr-5IIHSFW5-hw4cewew.js +173 -0
  195. package/dist/{tr-AA6O2WSR-86ba4bdf.js → tr-5IIHSFW5-stsb3dar.js} +14 -2
  196. package/dist/{tr-XHSSPNK7-GW5KVXR3-2w3f1ss6.js → tr-JMIP7ZSL-G3QYPVT2-gswngwcr.js} +153 -9
  197. package/dist/{tr-XHSSPNK7-cmqyc4wd.js → tr-JMIP7ZSL-c39b6pe4.js} +153 -9
  198. package/dist/tr-JMIP7ZSL-fb67ft9w.js +2696 -0
  199. package/dist/{tr-W4AVRSQ4-hjr81xzk.js → tr-KHOCWWLF-8apf5y44.js} +7 -4
  200. package/dist/{tr-GSQQ6SOT-hv1gyeaa.js → tr-SC55DYHY-e4zgcd4t.js} +7 -4
  201. package/dist/{tr-RQTZ2DMS-w3cwv8s4.js → tr-SEC6RGZ4-0ttavjya.js} +2 -5
  202. package/dist/utils/handle-expansion.d.ts +34 -0
  203. package/dist/utils/write-resolved-flow.d.ts +7 -0
  204. package/dist/validation.js +48 -41
  205. package/dist/{variable-service-xm8dh1gw.js → variable-service-73bvxzy9.js} +24 -21
  206. package/dist/{wait-for-flow-job-4cyc36yg.js → wait-for-flow-job-yp3mhy43.js} +8 -8
  207. package/dist/{zh-CN-6YRAN57T-rd7x2tqs.js → zh-CN-4NI2EGMV-8g027vv3.js} +7 -4
  208. package/dist/{zh-CN-2EHQT23P-mr63c4xz.js → zh-CN-IFFXSEJS-9wm9gmrv.js} +153 -9
  209. package/dist/{zh-CN-2EHQT23P-T5XRQCVS-ac17dpc1.js → zh-CN-IFFXSEJS-MZQ4HU3Z-ge1ynmtz.js} +153 -9
  210. package/dist/zh-CN-IFFXSEJS-tke4mzty.js +2697 -0
  211. package/dist/{zh-CN-ZC6LT4IN-kbzvvzz5.js → zh-CN-MX7VIOF2-xznrtchf.js} +2 -5
  212. package/dist/{zh-CN-EDFRBU32-vvj7tmaq.js → zh-CN-OUMLDKDS-q3a1rr5c.js} +7 -4
  213. package/dist/{zh-CN-R2KLHXQV-agqr45ds.js → zh-CN-R2KU4U5L-q4yhc33t.js} +14 -2
  214. package/dist/zh-CN-R2KU4U5L-tc1hat59.js +173 -0
  215. package/dist/{zh-TW-SO2245GN-n2bn1gg4.js → zh-TW-53SU6EH4-33x57egq.js} +7 -4
  216. package/dist/{zh-TW-R7Y5KVMU-m61y07e3.js → zh-TW-5SJ3GZT2-bsg054mw.js} +2 -5
  217. package/dist/zh-TW-GNKMELBF-j674515r.js +173 -0
  218. package/dist/{zh-TW-RJGCQANM-w0x3qc1p.js → zh-TW-GNKMELBF-r4ay2475.js} +14 -2
  219. package/dist/{zh-TW-MGZCE5BT-c4ekmrz9.js → zh-TW-IYBNYAMG-8727c7v2.js} +153 -9
  220. package/dist/{zh-TW-MGZCE5BT-P6FLIUAR-zmq07vhs.js → zh-TW-IYBNYAMG-J7FWTQTK-sx8d4ymg.js} +153 -9
  221. package/dist/zh-TW-IYBNYAMG-wcan0qpb.js +2697 -0
  222. package/dist/{zh-TW-HAICM6DE-rh7k3cq7.js → zh-TW-TN3MPNXL-jcgg2hcs.js} +7 -4
  223. package/package.json +3 -2
  224. package/dist/en-EPWMLP2N-2wvge238.js +0 -28
  225. package/dist/flow-eval-node-target-3530n69r.js +0 -46
  226. package/dist/flow-init-service-40r1q53q.js +0 -38
  227. package/dist/flow-io-23wgj1sg.js +0 -38
  228. package/dist/flow-validate-service-k7s2rbgc.js +0 -59
  229. package/dist/known-types-a20evmmg.js +0 -20
  230. package/dist/localization-1br6h143.js +0 -47
  231. package/dist/node-service-n183yy2f.js +0 -72
  232. package/dist/node-sync-service-dk9jazv4.js +0 -42
  233. package/dist/packager-tool-2wefykg9.js +0 -106
  234. package/dist/packager-tool-8j92afwp.js +0 -58
  235. package/dist/packager-tool-abbtfk2v.js +0 -54
  236. package/dist/packager-tool-gaa5ss24.js +0 -4945
  237. package/dist/packager-tool-k99nf3pq.js +0 -25
  238. package/dist/packager-tool-vpqyvh4c.js +0 -304
  239. package/dist/tidy-service-4q2mrf2y.js +0 -36
@@ -31,6 +31,7 @@ export declare const MANAGED_HTTP_NODE_TYPE = "core.action.http.v2";
31
31
  export interface ConnectorBindingNode {
32
32
  id: string;
33
33
  type: string;
34
+ typeVersion?: unknown;
34
35
  name?: unknown;
35
36
  display?: {
36
37
  label?: unknown;
@@ -43,6 +44,13 @@ export interface ConnectorBindingWorkflow {
43
44
  subflows?: Record<string, {
44
45
  nodes?: ConnectorBindingNode[];
45
46
  }>;
47
+ /**
48
+ * The flow's `definitions[]` list. Read only to skip the MCP check on a
49
+ * node whose definition already marks `toolName` required (the shared
50
+ * `schema-validation` rule reports that one — avoid a second, softer
51
+ * report for the same defect).
52
+ */
53
+ definitions?: unknown[];
46
54
  }
47
55
  export interface ConnectorBindingValidationOptions {
48
56
  /**
@@ -88,7 +96,8 @@ export interface ConnectorCatalog {
88
96
  export declare function loadConnectorCatalog(): Promise<ConnectorCatalog>;
89
97
  /**
90
98
  * Walk every node in the flow + every subflow and emit one issue per
91
- * unbound, connector-shaped Managed HTTP node. Scope mirrors
99
+ * unbound, connector-shaped Managed HTTP node — plus one per MCP "Run a Tool"
100
+ * node with no selected tool (UV-15018). Scope mirrors
92
101
  * `validateResourceBindings` so the new check stays consistent with the
93
102
  * §A4 binding-integrity pass already in `FlowValidateService`.
94
103
  */
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The one lookup for a node's `definitions[]` entry, shared by every site
3
+ * that resolves a definition to WRITE to it or to act on its content
4
+ * (`patchOutputType` / `patchRequiredInputs` in connector-service, the
5
+ * toolName-required suppression in connector-binding-validator).
6
+ *
7
+ * `definitions[]` can legitimately hold two versions of one `nodeType`
8
+ * (schema-validation keys manifests by `nodeType:version`), so an unversioned
9
+ * lookup can resolve the wrong version's entry. The rules:
10
+ *
11
+ * - A node that carries a `typeVersion` resolves ONLY the entry with that
12
+ * exact `version`. A node whose version has no entry resolves nothing —
13
+ * it does not validate against any of the present entries either
14
+ * (`validateDefinitionsPresent` reports it), and patching a different
15
+ * version's entry would stamp this node's truth onto other nodes' schema.
16
+ * - A node with NO `typeVersion` (hand-authored flows, unit fixtures) falls
17
+ * back to a SOLE `nodeType` match — never one of several versions picked
18
+ * arbitrarily.
19
+ *
20
+ * Read-only display paths that prefer a best guess over nothing wrap this
21
+ * with a first-entry fallback (`findMatchingDefinition` in flow-eval-utils);
22
+ * write paths must not.
23
+ */
24
+ export declare function findNodeDefinition(definitions: ReadonlyArray<unknown> | undefined, node: {
25
+ type?: string;
26
+ typeVersion?: unknown;
27
+ }): Record<string, unknown> | undefined;
@@ -0,0 +1,290 @@
1
+ /**
2
+ * Service for debugging Flow files.
3
+ *
4
+ * Converts a .flow file to BPMN XML, generates the required project files,
5
+ * begins a debug session in Orchestrator, creates a debug instance in PIMS,
6
+ * and polls for execution status.
7
+ */
8
+ import type { Workflow } from "@uipath/flow-core";
9
+ import type { BeginSessionResponse, DebugCallbacks, DebugInstanceResponse, DebugInstanceStatusResponse, DebugResult, DebugVariablesResponse, ElementExecution, StudioWebDebugConfig } from "@uipath/maestro-sdk";
10
+ import { RuntimeProfile } from "@uipath/packager-tool-flow";
11
+ import { type SolutionImportResponse } from "@uipath/solution-sdk";
12
+ export type { BeginSessionResponse, DebugCallbacks, DebugInstanceResponse, DebugInstanceStatusResponse, DebugResult, DebugVariablesResponse, ElementExecution, SolutionImportResponse, StudioWebDebugConfig, };
13
+ /**
14
+ * Canonical user-facing message + instructions surfaced when `flow debug`
15
+ * is run against a standalone Flow project (no enclosing `.uipx`).
16
+ *
17
+ * Exported so the command layer (and tests) can assert the exact envelope
18
+ * shape required by UiPath/cli#2023 without re-stringifying it.
19
+ */
20
+ export declare const FLOW_DEBUG_MISSING_SOLUTION_MESSAGE = "Flow debug requires this Flow to be inside a solution.";
21
+ export declare const FLOW_DEBUG_MISSING_SOLUTION_INSTRUCTIONS = "Create a solution wrapper and import this Flow before debugging: `uip solution init <name>` then `uip solution projects import <flow-dir>` from inside the solution directory, then re-run `uip maestro flow debug`.";
22
+ /**
23
+ * Canonical user-facing message surfaced when the Flow project's directory
24
+ * is not listed in the enclosing solution's `.uipx` Projects[] manifest.
25
+ *
26
+ * Without this preflight, Studio Web rejects the upload with an opaque
27
+ * `Import failed (400): The solution archive does not contain any valid projects.`
28
+ * (MST-10004). Failing locally with the project path + solution path is
29
+ * far more actionable.
30
+ */
31
+ export declare const FLOW_DEBUG_UNREGISTERED_PROJECT_MESSAGE = "Flow project is not registered in the enclosing solution.";
32
+ export declare const buildFlowDebugUnregisteredProjectInstructions: (projectDir: string, solutionFile: string) => string;
33
+ /**
34
+ * Thrown by {@link FlowDebugService.executeProjectViaStudioWeb} when the
35
+ * Flow project is not enclosed by a `.uipx` solution wrapper.
36
+ *
37
+ * The command layer translates this into a `ValidationError` envelope
38
+ * (exit code 3) so users get an actionable, locally-generated diagnostic
39
+ * before any upload is attempted — fixing the opaque server-side 400
40
+ * tracked in UiPath/cli#2023.
41
+ */
42
+ export declare class MissingSolutionWrapperError extends Error {
43
+ readonly instructions: string;
44
+ constructor(message?: string, instructions?: string);
45
+ }
46
+ /**
47
+ * Thrown by {@link FlowDebugService.executeProjectViaStudioWeb} when an
48
+ * enclosing `.uipx` solution wrapper exists but does not list the Flow
49
+ * project directory in its `Projects[]` manifest.
50
+ *
51
+ * The command layer translates this into a `ValidationError` envelope
52
+ * (exit code 3). This replaces the opaque server-side
53
+ * `Import failed (400): The solution archive does not contain any valid projects.`
54
+ * surfaced from Studio Web (MST-10004) with a typed, locally-detected
55
+ * diagnostic that names the exact repair command.
56
+ */
57
+ export declare class UnregisteredProjectError extends Error {
58
+ readonly instructions: string;
59
+ readonly projectDir: string;
60
+ readonly solutionFile: string;
61
+ constructor(projectDir: string, solutionFile: string);
62
+ }
63
+ /**
64
+ * What an upload-only run returns: the solution is on Studio Web and the
65
+ * designer URL is known, but no debug session or instance was created.
66
+ */
67
+ export interface StudioWebUploadResult {
68
+ uploadedOnly: true;
69
+ solutionId: string;
70
+ studioWebUrl: string;
71
+ }
72
+ export declare const FLOW_DEBUG_INBOUND_VOICE_MESSAGE = "Inbound voice flows cannot be debugged from the CLI.";
73
+ export declare const buildFlowDebugInboundVoiceInstructions: (triggerLabel: string) => string;
74
+ /**
75
+ * Thrown when the flow starts from an incoming-call trigger. Only a real call
76
+ * to a published flow can raise one, so the run would never advance.
77
+ */
78
+ export declare class InboundVoiceDebugError extends Error {
79
+ readonly instructions: string;
80
+ constructor(triggerLabel: string);
81
+ }
82
+ /**
83
+ * Reject a flow that starts from an incoming-call trigger. Keyed on the
84
+ * trigger, not on voice nodes: an outbound flow carries the same nodes.
85
+ */
86
+ export declare function assertNotInboundVoiceFlow(workflow: {
87
+ nodes?: readonly unknown[];
88
+ }): void;
89
+ export declare class FlowDebugService {
90
+ private readonly fs;
91
+ constructor();
92
+ /**
93
+ * Pre-flight check: confirm the Flow project lives inside a `.uipx`
94
+ * solution wrapper by walking ancestor directories.
95
+ *
96
+ * Throws {@link MissingSolutionWrapperError} if no `.uipx` is found.
97
+ * Reuses {@link findNearestParentUipxFile} from `@uipath/solution-sdk`
98
+ * to share the ancestor-walk semantics with `uip solution projects import`.
99
+ *
100
+ * Returns the absolute path of the `.uipx` file when present so callers
101
+ * can log it without re-walking.
102
+ */
103
+ assertEnclosingSolution(projectPath: string): Promise<string>;
104
+ /**
105
+ * Pre-flight check: confirm the Flow project's directory is actually
106
+ * listed in the enclosing solution's `.uipx` `Projects[]` manifest.
107
+ *
108
+ * Throws {@link UnregisteredProjectError} when the manifest does not
109
+ * include the project. Comparison is canonicalized via `realpath()`
110
+ * so case-insensitive filesystems and symlinks don't yield false
111
+ * negatives.
112
+ *
113
+ * This is the local guard for MST-10004: without it, Studio Web
114
+ * silently accepts the upload and then rejects the import with an
115
+ * opaque `code:20001 / "The solution archive does not contain any
116
+ * valid projects."` HTTP 400. By failing locally, the agent (or
117
+ * human) gets the exact repair command (`uip solution projects add`)
118
+ * before any network I/O.
119
+ */
120
+ assertProjectRegisteredInSolution(projectPath: string, solutionFile: string): Promise<void>;
121
+ /**
122
+ * Read and parse a .flow file.
123
+ */
124
+ readFlowFile(flowFilePath: string): Promise<Workflow>;
125
+ /**
126
+ * Read a .bpmn file and return the raw XML string.
127
+ */
128
+ readBpmnFile(bpmnFilePath: string): Promise<string>;
129
+ /**
130
+ * Convert a Workflow to BPMN XML using @uipath/flow-converter.
131
+ *
132
+ * The inline-agent `Orchestrator.StartInlineAgentJob` activity's
133
+ * `entryPoint` must stay BARE (`<projectId>/agent.json`, no `content/`
134
+ * prefix). At debug time Orchestrator's debug-flow detector resolves the
135
+ * agent by matching the activity `entryPoint` against the
136
+ * `FpsProperties.debug.master.processes[].entryPointPath` entry, and that
137
+ * entry uses the bare path. A `content/`-prefixed activity entryPoint never
138
+ * matches, so the agent faults with `[170007]` "the job's associated
139
+ * process could not be found" (verified byte-for-byte against a working
140
+ * Studio Web debug capture, which also emits the bare path).
141
+ *
142
+ * We therefore do NOT call `setPublishIntentOnInlineAgents` here — that
143
+ * marks agents `__packageIntent = "Publish"`, which makes the converter
144
+ * emit the `content/`-prefixed form used by real publish/deploy. That form
145
+ * is wrong for a debug session.
146
+ */
147
+ convertToBpmn(workflow: Workflow, projectDir?: string): Promise<string>;
148
+ /**
149
+ * Reconstruct inline-agent `agentInputVariables` from each agent's
150
+ * `agent.json` `inputSchema` when the flow node leaves them empty.
151
+ *
152
+ * Studio Web keeps the input binding in the agent's `inputSchema` and rebuilds
153
+ * the node's `agentInputVariables` from it on load; the `.flow` it writes
154
+ * carries an empty `agentInputVariables`. The CLI converter derives the
155
+ * agent's `JobArguments` from `agentInputVariables` (it never reads
156
+ * `agent.json`), so an SW-authored flow would otherwise convert to an agent
157
+ * with empty input — works in SW, fails on `uip maestro flow debug`.
158
+ *
159
+ * We mirror SW: for each inline-agent node, read `<projectDir>/<source>/agent.json`
160
+ * and **reconcile** the node's `agentInputVariables` against the agent's
161
+ * `inputSchema.properties` — the contract the runtime actually binds. We
162
+ * *add* a derived entry for every schema input LEAF the node is missing and
163
+ * *preserve* every entry the node already declares, so a custom/divergent
164
+ * binding is never clobbered. Leaves are enumerated encoding-agnostically
165
+ * (MST-12020): a flat key (`<node>__output__<field>`) is one leaf; a NESTED
166
+ * schema's `x-uipath-container` trees are descended to their leaves — so an
167
+ * agent.json authored by a nested-flag canvas still reconciles per-field
168
+ * bindings instead of one un-navigable whole-container binding. Either way
169
+ * the derived id is the FLAT spelling (matching the packager's flat-healed
170
+ * prompt tokens), the binding is `=$vars.<node>.output.<field>`
171
+ * (`metadata`-rooted paths → `$metadata`), and "already declares" is
172
+ * checked on the CANONICAL dotted path so a flat and a nested spelling of
173
+ * the same input never produce a duplicate JobArgument.
174
+ *
175
+ * Reconciling (rather than only filling an empty list) also catches drift: an
176
+ * `agent.json` that gained an input the `.flow` node never re-wired would
177
+ * otherwise silently drop that input at debug. We therefore always read the
178
+ * agent.json. Best-effort — a missing/unreadable `agent.json` or absent
179
+ * `inputSchema` leaves the node as-is, and a node that already covers every
180
+ * schema key is left untouched (no spurious mutation).
181
+ */
182
+ private hydrateInlineAgentInputs;
183
+ /**
184
+ * Generate project files (operate.json, entry-points.json, bindings_v2.json,
185
+ * package-descriptor.json) into a temporary directory alongside the BPMN and .flow file.
186
+ */
187
+ generateProjectFiles(flowData: Workflow, bpmnXml: string, flowFileContent?: string, startEventId?: string, profile?: RuntimeProfile): Promise<string>;
188
+ /**
189
+ * Build a .uis solution package from the generated project files.
190
+ * Creates a solution wrapper, zips it into .uis format.
191
+ */
192
+ buildSolutionPackage(projectDir: string, projectName: string): Promise<string>;
193
+ private writeSingleProjectSolutionMetadata;
194
+ /**
195
+ * Build the `debug.master.processes` descriptors for every in-solution
196
+ * project so a flow-as-node callee's `Orchestrator.StartAgenticProcess`
197
+ * resolves the child — the same FpsProperties registry inline agents use,
198
+ * so no Orchestrator provisioning or deployed release is needed.
199
+ *
200
+ * Each descriptor pairs the Studio Web-minted `projectId` (from the upload
201
+ * result, matched by folder name) and the uploaded `solutionId` with the
202
+ * project's type + per-project entry point read from the staged solution.
203
+ * The lead Flow being debugged gets the exact BPMN + start node the session
204
+ * launches from; standalone Agent projects are skipped (inline agents are
205
+ * registered separately via `inlineAgents`).
206
+ */
207
+ private buildSolutionProjectDescriptors;
208
+ /**
209
+ * Compile a sibling flow project's `.flow` to BPMN + packaging artifacts
210
+ * in place inside its staged directory. Sibling flow projects are copied
211
+ * from the solution with only their `.flow` source; a flow-as-node call
212
+ * needs the compiled `.bpmn` (and bindings/manifests) in the package or the
213
+ * child job faults with 180003 (FileMissingInProjectArchive). Mirrors the
214
+ * artifact generation the lead flow already gets.
215
+ */
216
+ private generateSiblingFlowPackage;
217
+ /**
218
+ * Write a flow project's debug-package artifacts (`.flow`, compiled
219
+ * `.bpmn`, packaging manifests, resolved flow) into `projectDir`. Shared by
220
+ * the lead flow being debugged and each sibling flow-as-node callee so the
221
+ * conversion/packaging pipeline lives in one place. Returns the values the
222
+ * lead path needs downstream (entry points, start node, bpmn file name).
223
+ */
224
+ private writeFlowProjectPackage;
225
+ /** Map a raw `.uiproj` ProjectType to the BeginSession wire vocabulary. */
226
+ private toWireProjectType;
227
+ /**
228
+ * Normalize an entry point to the `debug.master` form: no leading slash,
229
+ * no `content/` prefix (e.g. `/Flow.bpmn#start` or
230
+ * `content/new.bpmn#manualTrigger1` → `Flow.bpmn#start` / `new.bpmn#manualTrigger1`).
231
+ */
232
+ private normalizeEntryPoint;
233
+ /** Read the first `entry-points.json` filePath in a project dir, or "". */
234
+ private readFirstEntryPointPath;
235
+ /**
236
+ * Derive an entry point from a project's compiled `.bpmn` start event,
237
+ * for projects whose `entry-points.json` is empty (ProcessOrchestration).
238
+ * Matches Studio Web's `/{bpmn}#{startEvent}` form (leading slash kept).
239
+ * Returns "" when no `.bpmn` is present.
240
+ */
241
+ private deriveEntryPointFromBpmn;
242
+ /** Read a project's `.uiproj` `ProjectType`, or undefined if unavailable. */
243
+ private readProjectTypeRaw;
244
+ /**
245
+ * Build a name→type map from the `.uipx` Projects array so
246
+ * {@link buildSolutionProjectDescriptors} can resolve the type for
247
+ * projects that have no `project.uiproj` (JS/TS Functions).
248
+ */
249
+ static buildProjectTypeMap(projects?: Array<{
250
+ ProjectRelativePath: string;
251
+ Type?: unknown;
252
+ }>): Map<string, string>;
253
+ /**
254
+ * Full Studio Web debug flow from a flow project directory:
255
+ * 1. Validate project directory has required files
256
+ * 2. Read .flow file + generate packaging artifacts on the fly
257
+ * 3. Build .uis solution package containing ALL projects in the solution
258
+ * 5. Upload/overwrite to Studio Web → get projectId + solutionId
259
+ * 6. Begin debug session in Orchestrator → get jobKey
260
+ * 7. Create debug instance in PIMS with solutionId + projectId
261
+ * 8. Poll PIMS debug-instances for completion
262
+ */
263
+ executeProjectViaStudioWeb(projectPath: string, config: StudioWebDebugConfig, callbacks?: DebugCallbacks, pollInterval?: number, options?: {
264
+ inputs?: Record<string, unknown>;
265
+ maxPolls?: number;
266
+ /**
267
+ * Upload the solution and stop. For a flow only a chat UI can drive,
268
+ * a debug instance would sit unused — and its message subscription
269
+ * would block the next run — so the CLI hands the user the designer
270
+ * URL instead of starting a session nobody can advance.
271
+ */
272
+ uploadOnly?: boolean;
273
+ }): Promise<DebugResult | StudioWebUploadResult>;
274
+ /**
275
+ * Full Studio Web debug flow:
276
+ * 1. Read .flow/.bpmn file
277
+ * 2. Convert to BPMN (if .flow)
278
+ * 3. Generate project files
279
+ * 4. Build .uis solution package
280
+ * 5. Upload to Studio Web → get projectId + solutionId
281
+ * 6. Begin debug session in Orchestrator → get jobKey
282
+ * 7. Create debug instance in PIMS with solutionId + projectId
283
+ * 8. Poll PIMS debug-instances for completion
284
+ */
285
+ executeViaStudioWeb(filePath: string, config: StudioWebDebugConfig, callbacks?: DebugCallbacks, pollInterval?: number, options?: {
286
+ inputs?: Record<string, unknown>;
287
+ keep?: boolean;
288
+ maxPolls?: number;
289
+ }): Promise<DebugResult>;
290
+ }
@@ -1,6 +1,6 @@
1
- import type { Evaluation, EvaluationSet, Evaluator, EvaluationCriteria as SchemaEvaluationCriteria, Simulation } from "./flow-eval-schema/index.js";
1
+ import type { Evaluation, EvaluationSet, Evaluator, EvaluationCriteria as SchemaEvaluationCriteria, Simulation, SimulationStrategy } from "./flow-eval-schema/index.js";
2
2
  export type EvaluationCriteria = SchemaEvaluationCriteria;
3
3
  export type FlowEvaluator = Evaluator;
4
4
  export type FlowEvaluation = Evaluation;
5
5
  export type FlowEvaluationSet = EvaluationSet;
6
- export type { Simulation };
6
+ export type { Simulation, SimulationStrategy };
@@ -1,3 +1,4 @@
1
+ import type { StudioWebDebugConfig } from "./flow-debug-service.js";
1
2
  import { type EvaluatorTypeId } from "./flow-eval-schema/index.js";
2
3
  import type { EvaluationCriteria, FlowEvaluator } from "./flow-eval-types.js";
3
4
  export declare function isRecord(value: unknown): value is Record<string, unknown>;
@@ -11,4 +12,32 @@ export declare function buildEvaluatorConfig(typeId: EvaluatorTypeId, options: {
11
12
  model?: string;
12
13
  prompt?: string;
13
14
  }): Record<string, unknown>;
15
+ /**
16
+ * Resolves the current login status into a {@link StudioWebDebugConfig}.
17
+ * Throws if the login is missing any required field, including organizationName.
18
+ */
19
+ export declare function resolveLoginConfig(): Promise<StudioWebDebugConfig>;
20
+ /**
21
+ * Resolves the login fields needed by {@link FlowEvalRunApi} metadata calls.
22
+ * Does not require organizationName — only the base URL, org/tenant IDs,
23
+ * and auth token.
24
+ */
25
+ export declare function resolveEvalApiConfig(): Promise<{
26
+ baseUrl: string;
27
+ organizationId: string;
28
+ tenantName: string;
29
+ tenantId: string;
30
+ authToken: string;
31
+ }>;
32
+ /**
33
+ * Finds the definition entry matching a node's type (and optionally version)
34
+ * from the flow's definitions array. Pure logic, no I/O.
35
+ *
36
+ * BEST-EFFORT read variant of `findNodeDefinition` (definitions-lookup.ts):
37
+ * when the strict lookup resolves nothing (several versions, none matching),
38
+ * this falls back to the first same-type entry — display/read paths prefer a
39
+ * best guess over nothing. Paths that WRITE to the definition (or suppress
40
+ * diagnostics based on it) must use the strict helper directly.
41
+ */
42
+ export declare function findMatchingDefinition(nodeType: string, typeVersion: string | undefined, definitions: Array<Record<string, unknown>>): Record<string, unknown> | undefined;
14
43
  export declare function buildDefaultCriteria(evaluators: FlowEvaluator[], expectedOutput: Record<string, unknown> | undefined, searchText: string | undefined): Record<string, EvaluationCriteria | null | undefined>;
@@ -309,6 +309,45 @@ export declare class FlowValidateService {
309
309
  * `validateGlobalVariableUniqueness`.
310
310
  */
311
311
  private validateGlobalTriggerBindings;
312
+ /**
313
+ * Bare `$vars.<id>` read of a trigger-scoped input (UV-16316).
314
+ *
315
+ * When an `in` global declares a `triggerNodeId` that points at a real
316
+ * trigger node in this scope, the runtime surfaces that value ONLY under the
317
+ * trigger's output — `$vars.<triggerNodeId>.output.<id>`. A bare `$vars.<id>`
318
+ * read does not address the trigger input; it resolves today only because a
319
+ * `core.trigger.manual` node also emits a process-level input of the same
320
+ * name, so re-pointing the flow at a connector or scheduled trigger makes the
321
+ * bare read resolve to null and the flow faults or silently uses a wrong
322
+ * value.
323
+ *
324
+ * `--strict-expressions` already caught this through the expression type
325
+ * checker (the bare name is not on the `$vars` type for a trigger-scoped
326
+ * input), but plain `flow validate` — the default, and what the maestro-flow
327
+ * skill tells agents to run — returned Valid, so the silent-wrong-value path
328
+ * stayed open by default. This structural check moves that one rule into the
329
+ * default run; every other expression-type check stays behind
330
+ * `--strict-expressions`.
331
+ *
332
+ * Severity: `error` — the bare read addresses nothing the trigger produces,
333
+ * so the value is null or wrong; failing validation is the only way to close
334
+ * the default path. Scope-local, mirroring `validateGlobalTriggerBindings`.
335
+ * A global whose `triggerNodeId` is missing or points at a non-trigger is
336
+ * left to `validateGlobalTriggerBindings` / `validateUnboundInputGlobals`, so
337
+ * one fact is reported once.
338
+ *
339
+ * References come from `collectVarsRefs` (vars-reference-rule.ts), the same
340
+ * extraction `validateVarsReferences` uses, so this rule inherits its chain
341
+ * parser (dot form, bracket form and optional chaining all parse to the same
342
+ * segments), its comment stripping, its skip of the CLI-owned connector
343
+ * `inputs.detail.configuration` blob, and its walk of `variables.variableUpdates`.
344
+ * It parts company on one judgement: text that is not code. `collectVarsRefs`
345
+ * tags each reference with `inProse` and leaves the call to the caller;
346
+ * this rule drops those, because it reports a VALID id and "$vars.<id>" in
347
+ * a help string, a prompt or a regex is ordinary text, while a template
348
+ * interpolation (`${$vars.<id>}`) is code and stays a read.
349
+ */
350
+ private validateTriggerScopedBareVarReads;
312
351
  /**
313
352
  * Entry-point contract integrity for flow inputs (root-cause:
314
353
  * skill-flow-calculator).
@@ -8,3 +8,11 @@ import type { FlowNodeValidator } from "./types.js";
8
8
  * pluggability was introduced.
9
9
  */
10
10
  export declare const connectorNodeValidator: FlowNodeValidator;
11
+ /**
12
+ * The `essentialConfiguration` object inside the CLI-owned `=jsonString:`
13
+ * configuration blob, or `undefined` for a missing, malformed or non-object
14
+ * blob (`=jsonString:null` parses to `null`). The one parser behind every
15
+ * read of that blob in this file (and the connector-binding validator's MCP
16
+ * node identification).
17
+ */
18
+ export declare function readEssentialConfiguration(detail: Record<string, unknown>): Record<string, unknown> | undefined;
@@ -40,7 +40,14 @@
40
40
  * 3. the second segment is an output the producer declares (its instance
41
41
  * `outputs` or its definition's `outputDefinition`), in every reference
42
42
  * form — dot-form `=js:` inputs were left to the schema rule until it
43
- * stopped running;
43
+ * stopped running — EXCEPT a Decision's `matchedCase`/`matchedCaseId`
44
+ * (flow-schema's `SYNTHETIC_GATEWAY_OUTPUT_KEYS`), which the registry
45
+ * declares but the packed `inclusiveGateway` never populates, so a read is
46
+ * always null at runtime and is flagged even though the name is declared
47
+ * (UV-16500). Always an error, `outputs.*.source` included — see
48
+ * `decisionUnpopulatedOutputIssue`. Switch shares this gap and is deferred
49
+ * to a follow-up gated on the archive scan, not left out for lack of
50
+ * evidence;
44
51
  * 4. an identifier read on an output the definition types as `array` — or
45
52
  * a connector `output` whose `inputs.detail.inputMetadata.operation` is
46
53
  * `list` (every configured list node carries it; the `definitions[]`
@@ -54,9 +61,11 @@
54
61
  * 5. an inline-agent input binding (`agentInputVariables[].binding`) names a
55
62
  * node that runs on EVERY path to the agent — a parallel branch counts, an
56
63
  * exclusive branch does not (`[400300]` is certain on the other arm).
57
- * On agent bindings only this check and (4) run: their existence, ancestry
58
- * and output-name checks are `validateAgentInputScopeRefs`'s (which also
59
- * reads the agent.json schema keys), so one defect is reported once.
64
+ * On agent bindings this check, (4) and the Decision `matchedCase*` half of
65
+ * (3) run: their existence, ancestry and ordinary output-name checks are
66
+ * `validateAgentInputScopeRefs`'s (which also reads the agent.json schema
67
+ * keys), so one defect is reported once — but a Decision's declared-yet-
68
+ * unpopulated output passes that check, so this rule owns it here too.
60
69
  *
61
70
  * Severity: a node INPUT that cannot resolve faults the node, so (1)–(5) are
62
71
  * errors there (`validateAgentInputScopeRefs`'s no-edge-path finding on an
@@ -70,13 +79,23 @@
70
79
  * (`$vars.x?.output` is `$vars.x.output`); an End's
71
80
  * `outputs.*.source` and variable updates evaluate leniently (an undefined
72
81
  * intermediate yields null — archived debug-graded passes carry such reads),
73
- * so every finding there is a warning.
82
+ * so every finding there is a warning — except the synthetic gateway outputs
83
+ * of (3), which are null on EVERY path rather than merely sometimes absent, so
84
+ * leniency there returns a wrong answer instead of faulting.
74
85
  *
75
86
  * JavaScript texts (a Script node's `inputs.script`, `=js:` strings and
76
87
  * `jsExpression` objects) are scanned with their `//` and `/* *\/` comments
77
88
  * removed, so a commented-out reference left behind by an edit is not a
78
89
  * finding. String and template literals are kept: `${$vars.x.y}` is evaluated,
79
- * and a plain string mentioning `$vars` is rare enough to accept.
90
+ * and a plain string mentioning `$vars` is rare enough to accept. THIS rule
91
+ * keeps accepting it — every finding it makes needs a reference that is
92
+ * already broken (an unknown root, a producer that runs later, an output name
93
+ * the producer does not declare), and a broken reference sitting in prose is
94
+ * rare on top of rare; the 9,016-flow archive scan below was graded with that
95
+ * behavior. The extraction does now tag such references (`ref.inProse`,
96
+ * see `collectVarsRefs`) for callers whose tolerance is lower —
97
+ * `validateTriggerScopedBareVarReads` fires on a perfectly valid id, where
98
+ * "$vars.<id>" in a help string is ordinary prose, so it drops them.
80
99
  *
81
100
  * Overlap with the expression type checker (`expression-validator.ts`, the
82
101
  * canvas's `@uipath/flow-expression-model`): it also reports an unresolved
@@ -144,13 +163,94 @@ export interface VarsRefOptions {
144
163
  */
145
164
  extraKnownRoots?: Iterable<string>;
146
165
  }
166
+ type FlowNode = VarsRefFlow["nodes"][number];
167
+ export interface VarsRef {
168
+ /** Chain segments after `$vars`, e.g. `["checkTemperature", "output", "matchedCaseId"]`. */
169
+ segments: string[];
170
+ /** Verbatim reference text as written (whitespace removed), for messages. */
171
+ text: string;
172
+ /**
173
+ * Indices of the segments read through `?.`. When segment k is undefined
174
+ * (a missing root, a node that has not run, an undeclared output), the
175
+ * fault happens at the NEXT read — `undefined.<k+1>` — so the read is
176
+ * undefined-safe exactly when segment k+1 is optional (`a?.b.c` still
177
+ * throws at `.c` when `a` is defined and `a.b` is not).
178
+ */
179
+ guarded: ReadonlySet<number>;
180
+ /**
181
+ * The reference sits in text the runtime never evaluates — quoted prose
182
+ * (`"mentions $vars.x"`), a regex pattern, or a block comment inside a
183
+ * `${…}` — so nothing reads it. A template interpolation itself is code,
184
+ * so `` `${$vars.x}` `` is false. Always false for a non-JavaScript field,
185
+ * where the whole value is the expression and there is no quoting to read.
186
+ */
187
+ inProse: boolean;
188
+ }
189
+ export interface ScannedJsText {
190
+ /** The source with its top-level comments removed. */
191
+ text: string;
192
+ /**
193
+ * Half-open `[start, end)` spans of `text` the runtime never evaluates as
194
+ * code: the inside of a `'…'`, `"…"` or backtick literal, a `/…/` regex
195
+ * pattern, and a block comment kept verbatim inside a `${…}`. A template
196
+ * literal's interpolations are otherwise NOT in here — they are live code,
197
+ * so `` `${$vars.x}` `` reads `$vars.x` and `"mentions $vars.x"` does not.
198
+ * Ranges are ascending and never overlap.
199
+ */
200
+ proseRanges: Array<[number, number]>;
201
+ }
147
202
  /**
148
- * Remove `//` and `/* *\/` comments from JavaScript source, keeping string and
149
- * template literals verbatim (a `//` inside `'https://x'` is not a comment).
150
- * Regex literals are NOT tracked: a `//` inside one (`split(/\/\//)`) opens a
151
- * line comment and drops the rest of that line — a missed reference at worst,
152
- * never a false finding. Output length may differ from the input; only the
153
- * presence of references matters downstream.
203
+ * Strip comments and record which parts of the result are not live code.
204
+ *
205
+ * A `${…}` body is copied verbatim rather than stripped, which a spec pins —
206
+ * `` `a ${b // c} d` `` has no newline for its comment to end at, and consuming
207
+ * to end-of-input would eat the closing brace. Comments there are therefore
208
+ * TAGGED as prose instead of removed: a block comment by its delimiters, a line
209
+ * comment up to the newline or the `}` that closes the interpolation, whichever
210
+ * comes first. Nested string literals and regex patterns inside an interpolation
211
+ * are tagged too, so `` `${"$vars.x"}` `` is prose and `` `${$vars.x}` `` is a
212
+ * read. The one cost of stopping at `}`: a brace in such a comment ends the
213
+ * interpolation early, so code after it up to the closing backtick is tagged
214
+ * prose — a read there is missed. Rare, and it fails open.
215
+ */
216
+ export declare function scanJsText(source: string): ScannedJsText;
217
+ /** One authored `$vars` reference, with the node and field it was written in. */
218
+ export interface VarsRefOccurrence {
219
+ nodeId: string;
220
+ /** Path inside the node, e.g. `inputs.script`, `outputs.summary.source`, `variableUpdates[0]`. */
221
+ fieldPath: string;
222
+ isAgentBinding: boolean;
223
+ /**
224
+ * The reference sits inside a larger expression rather than BEING the whole
225
+ * field value (`=js:$vars.x.output.issues` is not embedded; a Script body
226
+ * that mentions it is).
227
+ */
228
+ embedded: boolean;
229
+ ref: VarsRef;
230
+ }
231
+ /**
232
+ * Every `$vars` reference an author wrote on these nodes — the single
233
+ * extraction every `$vars` rule shares, so none of them re-derives "what counts
234
+ * as an authored expression".
235
+ *
236
+ * It walks the same fields as the rule below (node `inputs`, `outputs` and the
237
+ * node's entry in `variables.variableUpdates`), skips the CLI-owned connector
238
+ * `inputs.detail.configuration` blob (a serialized manifest, not an authored
239
+ * expression), strips `//` and `/* *\/` comments out of JavaScript texts, and
240
+ * parses each chain with `parseRefs` — so dot form, bracket form
241
+ * (`$vars['a']['b']`, `$vars["a.b"]`) and optional chaining all come back as
242
+ * the same `segments` array.
243
+ *
244
+ * Quoted text is kept, not dropped, and each reference is tagged with
245
+ * `ref.inProse` so a caller can decide for itself: a reference in
246
+ * prose (`"mentions $vars.x"`) is never read at runtime, but one in a template
247
+ * interpolation (`` `${$vars.x}` ``) is. Callers differ — see
248
+ * `validateVarsReferences` (keeps prose) and `validateTriggerScopedBareVarReads`
249
+ * (drops it).
250
+ *
251
+ * `updatesByNode` is `variables.variableUpdates` — a map of node id → the
252
+ * updates that node applies.
154
253
  */
155
- export declare function stripJsComments(source: string): string;
254
+ export declare function collectVarsRefs(nodes: ReadonlyArray<FlowNode>, updatesByNode?: Record<string, unknown>): VarsRefOccurrence[];
156
255
  export declare function validateVarsReferences(flow: VarsRefFlow, options?: VarsRefOptions): ValidationIssue[];
256
+ export {};
@@ -6,7 +6,7 @@ import {
6
6
  } from "./packager-tool-eypvc2kv.js";
7
7
  import {
8
8
  readStdin
9
- } from "./packager-tool-m056vsmy.js";
9
+ } from "./packager-tool-6k8s7pt9.js";
10
10
  import"./packager-tool-0v3s8r01.js";
11
11
  import"./packager-tool-1yh8g550.js";
12
12
  export {