@uipath/flow-tool 1.205.0-preview.277 → 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 +74 -46
  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-kdg7mq7z.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-0xn8fk4a.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-dcj8p7n7.js → flow-eval-run-service-5en4ahyn.js} +125 -149
  47. package/dist/{flow-eval-service-6c0y5a3b.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-9w8dgydd.js → flow-migrate-service-dkx85jj5.js} +33 -54
  52. package/dist/{flow-pack-service-5s2cthq4.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-mx8gr86x.js → governance-fetcher-h8hpcwyh.js} +17 -21
  61. package/dist/{headless-4x4v3sy6.js → headless-41t9wwb7.js} +2395 -43269
  62. package/dist/{hitl-service-d943rxgm.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-5ay0ddfj.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-xf9vf5nj.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-a5ywkf0w.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-kkwrd05c.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-hgfygxyj.js → packager-tool-6jpvvxyb.js} +27 -22
  117. package/dist/packager-tool-6vhefpmq.js +461 -0
  118. package/dist/{packager-tool-v9vpk48j.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-gpwnzqd9.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-143kcy6z.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-zjv3f1k3.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-3jkppykr.js → packager-tool-b2pkwwj1.js} +1273 -1300
  132. package/dist/{packager-tool-nhrc54tz.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-mgwzjh8c.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-z502rf8m.js → packager-tool-rxqxza90.js} +192 -183
  152. package/dist/{packager-tool-vzezw19a.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-c3xbcma6.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-s0srgj90.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-v1ejjevw.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-vq8cjh0x.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-b5xwf5gp.js +0 -52
  249. package/dist/flow-eval-run-api-xdygjzfv.js +0 -13
  250. package/dist/flow-init-service-z6xc9zsz.js +0 -47
  251. package/dist/flow-io-hf4szx79.js +0 -44
  252. package/dist/flow-validate-service-3974mcq1.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-cexznmfe.js +0 -667
  257. package/dist/index-cg9qhfb1.js +0 -635
  258. package/dist/index-d090f35d.js +0 -66
  259. package/dist/index-gxcjq6ns.js +0 -110
  260. package/dist/index-kmp9fmhb.js +0 -25
  261. package/dist/index-nsn889vf.js +0 -27
  262. package/dist/index-sqhbn7ew.js +0 -157
  263. package/dist/index-wycgq0ff.js +0 -3178
  264. package/dist/index.umd.min-fqefd9kn.js +0 -7814
  265. package/dist/inline-entity-resolver-23tt0g1j.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-0t16wfqk.js +0 -92
  278. package/dist/node-sync-service-w84f66pb.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-79jnagb9.js +0 -5367
  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-dw1bm5y7.js +0 -8809
  291. package/dist/packager-tool-e3yks66r.js +0 -95
  292. package/dist/packager-tool-e5hj89zm.js +0 -6
  293. package/dist/packager-tool-e87tzg4y.js +0 -1937
  294. package/dist/packager-tool-eypvc2kv.js +0 -23
  295. package/dist/packager-tool-gbgfwx8f.js +0 -2
  296. package/dist/packager-tool-hk1gxnth.js +0 -11
  297. package/dist/packager-tool-hxyjn885.js +0 -24
  298. package/dist/packager-tool-j78fwwhq.js +0 -16
  299. package/dist/packager-tool-jgfzfqjm.js +0 -53
  300. package/dist/packager-tool-jysvpt8p.js +0 -11
  301. package/dist/packager-tool-m3wkcxf5.js +0 -11
  302. package/dist/packager-tool-mcaf4ewf.js +0 -46
  303. package/dist/packager-tool-mgcz986r.js +0 -143
  304. package/dist/packager-tool-p79yh9ww.js +0 -97
  305. package/dist/packager-tool-paq9c70w.js +0 -1332
  306. package/dist/packager-tool-pcvhcn2k.js +0 -2019
  307. package/dist/packager-tool-qkn0c042.js +0 -1922
  308. package/dist/packager-tool-qszay16r.js +0 -180
  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
@@ -0,0 +1,1274 @@
1
+ import {
2
+ getFileSystem
3
+ } from "./packager-tool-vgrswa8p.js";
4
+ import {
5
+ catchError2
6
+ } from "./packager-tool-pxq0bwp0.js";
7
+ import {
8
+ logger
9
+ } from "./packager-tool-8ed52y5r.js";
10
+ import {
11
+ isConversationalOrVoiceAgentNodeType2,
12
+ isVoiceAgentNodeType2,
13
+ DYNAMIC_EXTRACT_NODE_TYPE2,
14
+ EntryPointType2,
15
+ ProjectType2,
16
+ getBindingResources2,
17
+ getEntryPoints2,
18
+ generateOperateJson2,
19
+ generateBindingsJson2,
20
+ generateEntryPointsJson2,
21
+ mergeBindingResources2
22
+ } from "./packager-tool-fzgfb0jt.js";
23
+ import {
24
+ createBinding2,
25
+ generateNodeIdAndName2,
26
+ addNode2,
27
+ addBinding2
28
+ } from "./packager-tool-2b0tn4p4.js";
29
+ import {
30
+ buildExtractDocumentBuilderNode
31
+ } from "./packager-tool-gdpw0daf.js";
32
+ import {
33
+ isConnectorNode2,
34
+ getConnectorInfo2,
35
+ isTenantManifestInvalidError2,
36
+ isTenantManifestUnavailableError2,
37
+ getNode2
38
+ } from "./packager-tool-kz3t4raw.js";
39
+ import {
40
+ isKnownSdkNodeType2
41
+ } from "./packager-tool-d07g2kpn.js";
42
+ import {
43
+ explainNodeTypeWithoutProcessResource2
44
+ } from "./packager-tool-a1h0q79w.js";
45
+ import {
46
+ buildInlineAgentContract,
47
+ extractProcessGuid,
48
+ createProcessBindings,
49
+ bindingNodesOf,
50
+ allNodesOf,
51
+ readInlineAgentSource,
52
+ isBareProjectIdSource,
53
+ agentJsonReader,
54
+ isInlineAgentNodeType,
55
+ INLINE_AGENT_STRUCTURAL_INPUT_KEYS,
56
+ agentOutputVariablesFromSchema,
57
+ reconcileInlineAgentInputVariables,
58
+ isEntityNodeType,
59
+ entityScopeKey,
60
+ operateRuntimeOptions
61
+ } from "./packager-tool-mdf7bws6.js";
62
+ import {
63
+ readFlowWorkflow2,
64
+ writeFlowWorkflow2
65
+ } from "./packager-tool-6jpvvxyb.js";
66
+ import {
67
+ resolveInlineEntity2
68
+ } from "./packager-tool-8n4bdvke.js";
69
+ import {
70
+ findNodeDefinition,
71
+ ensureDirectory,
72
+ findMatchingDefinition
73
+ } from "./packager-tool-ac6rvny7.js";
74
+ import {
75
+ findFlowProjectRoot,
76
+ withRuntimeProfile2
77
+ } from "./packager-tool-14rdgz3c.js";
78
+ import {
79
+ defaultEntryPointNodeId
80
+ } from "./packager-tool-jd3v0bh1.js";
81
+
82
+ // src/services/connector-request-buckets.ts
83
+ var REQUEST_BUCKETS = [
84
+ "bodyParameters",
85
+ "queryParameters",
86
+ "pathParameters",
87
+ "eventParameters"
88
+ ];
89
+
90
+ // src/services/extract-schema/default-schema-document.ts
91
+ var DEFAULT_FIELD_TYPE_DEFINITIONS = {
92
+ "ft-exact-text": {
93
+ title: "Exact Text",
94
+ type: ["string", "null"],
95
+ format: "verbatim"
96
+ },
97
+ "ft-inferred-text": {
98
+ title: "Inferred Text",
99
+ type: ["string", "null"]
100
+ },
101
+ "ft-date": {
102
+ title: "Date",
103
+ type: ["string", "null"],
104
+ format: "date"
105
+ },
106
+ "ft-number": {
107
+ title: "Number",
108
+ type: ["string", "null"],
109
+ format: "decimal"
110
+ },
111
+ "ft-monetary-quantity": {
112
+ title: "Monetary Quantity",
113
+ type: ["string", "null"],
114
+ format: "monetary"
115
+ },
116
+ "ft-boolean": {
117
+ title: "Boolean",
118
+ type: ["boolean", "null"]
119
+ }
120
+ };
121
+ function buildDefaultSchemaDocument() {
122
+ return {
123
+ prompt: "",
124
+ outputSchema: {
125
+ type: "object",
126
+ additionalProperties: false,
127
+ required: [],
128
+ properties: {},
129
+ $defs: structuredClone(DEFAULT_FIELD_TYPE_DEFINITIONS)
130
+ }
131
+ };
132
+ }
133
+
134
+ // src/services/inline-activity-service.ts
135
+ import { randomUUID } from "node:crypto";
136
+ var INLINE_ACTIVITY_TYPE_PREFIX = "uipath.connector.custom.";
137
+ var INLINE_ACTIVITY_SOURCE = "inline";
138
+ var INLINE_ACTIVITY_VERSION = "4.0.0";
139
+
140
+ class InlineActivityError2 extends Error {
141
+ code = "InlineActivityInvalid";
142
+ instructions;
143
+ constructor(message, instructions) {
144
+ super(message);
145
+ this.name = "InlineActivityError";
146
+ this.instructions = instructions;
147
+ }
148
+ }
149
+ var asBag = (v) => v && typeof v === "object" && !Array.isArray(v) ? v : {};
150
+ var text = (v) => typeof v === "string" ? v : "";
151
+ function parseInlineActivityNodeType(nodeType) {
152
+ if (!nodeType.startsWith(INLINE_ACTIVITY_TYPE_PREFIX)) {
153
+ throw new InlineActivityError2(`Node type "${nodeType}" is not a non-catalog activity type.`, `A non-catalog activity node type is "${INLINE_ACTIVITY_TYPE_PREFIX}<connector-key>.<activity-slug>", e.g. "${INLINE_ACTIVITY_TYPE_PREFIX}uipath-salesforce-slack.add-users-to-user-group".`);
154
+ }
155
+ const rest = nodeType.slice(INLINE_ACTIVITY_TYPE_PREFIX.length);
156
+ const dot = rest.indexOf(".");
157
+ const connectorKey = dot === -1 ? rest : rest.slice(0, dot);
158
+ const slug = dot === -1 ? "" : rest.slice(dot + 1);
159
+ if (!connectorKey || !slug) {
160
+ throw new InlineActivityError2(`Node type "${nodeType}" is missing the connector key or the activity slug.`, `Use "${INLINE_ACTIVITY_TYPE_PREFIX}<connector-key>.<activity-slug>" — both parts are required.`);
161
+ }
162
+ return { connectorKey, slug };
163
+ }
164
+ async function readInlineActivityMetadata(metadataFile) {
165
+ const fs = getFileSystem();
166
+ const raw = await fs.readFile(metadataFile, "utf-8");
167
+ if (raw === null || raw === undefined) {
168
+ throw new InlineActivityError2(`Activity metadata file not found: ${metadataFile}`, "Pass the <Name>.json that `uip is activities metadata generate` wrote.");
169
+ }
170
+ let parsed;
171
+ try {
172
+ parsed = JSON.parse(String(raw));
173
+ } catch (err) {
174
+ throw new InlineActivityError2(`Activity metadata is not valid JSON (${metadataFile}): ${err instanceof Error ? err.message : String(err)}`, "Regenerate it with `uip is activities metadata generate <min-file>` — never hand-edit generated metadata.");
175
+ }
176
+ return assertInlineActivityMetadata(parsed, metadataFile);
177
+ }
178
+ function assertInlineActivityMetadata(value, where) {
179
+ const m = asBag(value);
180
+ const problems = [];
181
+ for (const key of ["name", "elementKey", "path"]) {
182
+ if (!text(m[key])) {
183
+ problems.push(`missing top-level "${key}"`);
184
+ }
185
+ }
186
+ const slots = asBag(asBag(m.metadata).method);
187
+ const verbs = Object.keys(slots);
188
+ if (verbs.length !== 1) {
189
+ problems.push(`metadata.method must have exactly one verb slot (got ${verbs.length})`);
190
+ } else {
191
+ const slot = asBag(slots[verbs[0]]);
192
+ for (const key of ["operation", "method", "path", "scriptRef"]) {
193
+ if (!text(slot[key])) {
194
+ problems.push(`method ${verbs[0]}: missing "${key}"`);
195
+ }
196
+ }
197
+ }
198
+ if (problems.length > 0) {
199
+ throw new InlineActivityError2(`Activity metadata is not a v4 activity (${where}):
200
+ - ${problems.join(`
201
+ - `)}`, "Regenerate it with `uip is activities metadata generate <min-file>`; this command reads the file that writes.");
202
+ }
203
+ return m;
204
+ }
205
+ function verbSlotOf(metadata) {
206
+ const verb = Object.keys(metadata.metadata.method)[0];
207
+ return { verb, slot: metadata.metadata.method[verb] };
208
+ }
209
+ function collectScriptRefs(metadata) {
210
+ const { slot } = verbSlotOf(metadata);
211
+ const lookups = [];
212
+ const add = (ref) => {
213
+ const r = text(ref);
214
+ if (r && r !== slot.scriptRef && !lookups.includes(r)) {
215
+ lookups.push(r);
216
+ }
217
+ };
218
+ for (const p of slot.parameters ?? []) {
219
+ add(asBag(p.reference).scriptRef);
220
+ }
221
+ for (const f of Object.values(metadata.fields ?? {})) {
222
+ add(asBag(asBag(f).reference).scriptRef);
223
+ }
224
+ return { main: slot.scriptRef, lookups };
225
+ }
226
+ async function readInlineScripts(scriptsDir, refs) {
227
+ const fs = getFileSystem();
228
+ const scripts = {};
229
+ const missing = [];
230
+ for (const ref of refs) {
231
+ const file = fs.path.join(scriptsDir, `${ref}.js`);
232
+ const source = await fs.readFile(file, "utf-8");
233
+ if (source === null || source === undefined) {
234
+ missing.push(file);
235
+ continue;
236
+ }
237
+ scripts[ref] = String(source);
238
+ }
239
+ if (missing.length > 0) {
240
+ throw new InlineActivityError2(`Action script(s) not found:
241
+ - ${missing.join(`
242
+ - `)}`, "Every scriptRef in the metadata — the main action and each lookup reference — needs a <scriptRef>.js in --scripts. Generate the missing script, or fix the scriptRef in the min-file and regenerate.");
243
+ }
244
+ return scripts;
245
+ }
246
+ function buildInlineActivityDefinition(args) {
247
+ const { nodeType, connectorKey, metadata, activityTypeId } = args;
248
+ const { slot } = verbSlotOf(metadata);
249
+ const label = metadata.displayName ?? metadata.name;
250
+ const description = metadata.description ?? "";
251
+ const configuration = {
252
+ connectorKey,
253
+ objectName: metadata.name,
254
+ httpMethod: slot.method,
255
+ activityType: "Curated",
256
+ activitySource: INLINE_ACTIVITY_SOURCE,
257
+ version: INLINE_ACTIVITY_VERSION,
258
+ operation: slot.operation,
259
+ supportsStreaming: false,
260
+ subType: "standard"
261
+ };
262
+ const manifest = {
263
+ nodeType,
264
+ version: INLINE_ACTIVITY_VERSION,
265
+ category: `connector.${connectorKey}`,
266
+ tags: ["connector", "activity", INLINE_ACTIVITY_SOURCE],
267
+ sortOrder: 1,
268
+ supportsErrorHandling: true,
269
+ description,
270
+ display: {
271
+ label,
272
+ description,
273
+ sourceDisplayName: connectorKey
274
+ },
275
+ handleConfiguration: [
276
+ {
277
+ position: "left",
278
+ handles: [
279
+ {
280
+ id: "input",
281
+ type: "target",
282
+ handleType: "input",
283
+ label: ""
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ position: "right",
289
+ handles: [
290
+ {
291
+ id: "output",
292
+ type: "source",
293
+ handleType: "output",
294
+ label: ""
295
+ }
296
+ ]
297
+ }
298
+ ],
299
+ model: {
300
+ type: "bpmn:SendTask",
301
+ serviceType: "Intsvc.ActivityExecution",
302
+ bindings: {
303
+ resource: "Connection",
304
+ resourceKey: "",
305
+ values: [
306
+ {
307
+ name: `${connectorKey} connection`,
308
+ propertyAttribute: "ConnectionId"
309
+ },
310
+ { name: "FolderKey", propertyAttribute: "FolderKey" }
311
+ ]
312
+ },
313
+ context: [
314
+ { name: "connectorKey", type: "string", value: connectorKey },
315
+ { name: "operation", type: "string", value: slot.operation },
316
+ { name: "objectName", type: "string", value: metadata.name },
317
+ { name: "method", type: "string", value: slot.method },
318
+ {
319
+ name: "connection",
320
+ type: "string",
321
+ value: `<bindings.${connectorKey} connection>`
322
+ },
323
+ {
324
+ name: "folderKey",
325
+ type: "string",
326
+ value: "<bindings.FolderKey>"
327
+ },
328
+ {
329
+ name: "activityConfigurationVersion",
330
+ type: "string",
331
+ value: "v1"
332
+ },
333
+ {
334
+ name: "metadata",
335
+ type: "json",
336
+ body: {
337
+ telemetryData: {
338
+ connectorKey,
339
+ connectorName: label
340
+ },
341
+ inputMetadata: {},
342
+ errorState: { hasError: true }
343
+ }
344
+ }
345
+ ]
346
+ },
347
+ form: {
348
+ id: "connector-properties",
349
+ title: "Connector configuration",
350
+ sections: [
351
+ {
352
+ id: "connector",
353
+ title: "Connector",
354
+ collapsible: true,
355
+ defaultExpanded: true,
356
+ fields: [
357
+ {
358
+ label: "",
359
+ name: "inputs.detail",
360
+ type: "custom",
361
+ component: "dap-config",
362
+ componentProps: {
363
+ connectorDetail: {
364
+ uiPathActivityTypeId: activityTypeId,
365
+ displayName: label,
366
+ description,
367
+ configuration: JSON.stringify(configuration)
368
+ }
369
+ }
370
+ }
371
+ ]
372
+ }
373
+ ]
374
+ },
375
+ inputDefinition: {},
376
+ inputDefaults: {},
377
+ outputDefinition: {
378
+ output: {
379
+ type: "object",
380
+ description: "The return value of the connector.",
381
+ source: "=result.response",
382
+ var: "output"
383
+ }
384
+ },
385
+ debug: { runtime: "bpmnEngine" }
386
+ };
387
+ return manifest;
388
+ }
389
+ async function prepareInlineActivity(nodeType, input) {
390
+ const { connectorKey } = parseInlineActivityNodeType(nodeType);
391
+ const metadata = await readInlineActivityMetadata(input.metadataFile);
392
+ if (metadata.elementKey !== connectorKey) {
393
+ throw new InlineActivityError2(`Node type names connector "${connectorKey}" but the metadata was generated for "${metadata.elementKey}".`, `Use "${INLINE_ACTIVITY_TYPE_PREFIX}${metadata.elementKey}.<activity-slug>", or regenerate the metadata for "${connectorKey}".`);
394
+ }
395
+ const { main, lookups } = collectScriptRefs(metadata);
396
+ const scripts = await readInlineScripts(input.scriptsDir, [
397
+ main,
398
+ ...lookups
399
+ ]);
400
+ const manifest = buildInlineActivityDefinition({
401
+ nodeType,
402
+ connectorKey,
403
+ metadata,
404
+ activityTypeId: randomUUID()
405
+ });
406
+ return {
407
+ manifest,
408
+ connectorKey,
409
+ configuration: { metadata, scriptRef: main, scripts }
410
+ };
411
+ }
412
+ function getInlineActivityConfiguration(node) {
413
+ const raw = node.inputs?.inlineActivityConfiguration;
414
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
415
+ return;
416
+ }
417
+ return raw;
418
+ }
419
+ function definitionConfigurationOf(definition) {
420
+ const form = asBag(definition.form);
421
+ for (const section of form.sections ?? []) {
422
+ for (const field of asBag(section).fields ?? []) {
423
+ const detail = asBag(asBag(asBag(field).componentProps).connectorDetail);
424
+ if (typeof detail.configuration === "string") {
425
+ return detail.configuration;
426
+ }
427
+ }
428
+ }
429
+ return;
430
+ }
431
+
432
+ // src/services/orchestrator-connection-field.ts
433
+ var ORCHESTRATOR_CONNECTION_PICKER = "orchestrator-connection-picker";
434
+ function findOrchestratorConnectionField(definitions, node) {
435
+ const definition = findNodeDefinition(definitions, node);
436
+ const form = definition?.form;
437
+ for (const section of form?.sections ?? []) {
438
+ for (const field of section.fields ?? []) {
439
+ if (field.name !== "inputs.connectionId" || field.component !== ORCHESTRATOR_CONNECTION_PICKER) {
440
+ continue;
441
+ }
442
+ const props = field.componentProps ?? {};
443
+ if (typeof props.connectorKey === "string" && typeof props.bindingConnectorKey === "string") {
444
+ return {
445
+ connectorKey: props.connectorKey,
446
+ bindingConnectorKey: props.bindingConnectorKey
447
+ };
448
+ }
449
+ }
450
+ }
451
+ return;
452
+ }
453
+ function orchestratorConnectionKey(definitions, node) {
454
+ if (!findOrchestratorConnectionField(definitions, node))
455
+ return;
456
+ const id = node.inputs?.connectionId;
457
+ return typeof id === "string" && id.length > 0 ? id : undefined;
458
+ }
459
+
460
+ // src/services/packaging-utils.ts
461
+ function fileNodesToPackagingNodes(nodes) {
462
+ return nodes.map((node) => ({
463
+ id: node.id,
464
+ type: node.type,
465
+ typeVersion: node.typeVersion ?? "1.0",
466
+ display: node.display,
467
+ inputs: node.inputs,
468
+ outputs: node.outputs,
469
+ ...node.model ? { model: node.model } : {}
470
+ }));
471
+ }
472
+ function flowToPackagingNodes(workflow) {
473
+ return fileNodesToPackagingNodes(bindingNodesOf(workflow));
474
+ }
475
+ function isRecord(value) {
476
+ return typeof value === "object" && value !== null && !Array.isArray(value);
477
+ }
478
+ function toResourceList(value) {
479
+ if (!Array.isArray(value))
480
+ return;
481
+ const resources = value.filter(isRecord);
482
+ return resources.length === value.length ? resources : undefined;
483
+ }
484
+ function normalizePackagingBindingsJson(value) {
485
+ if (!isRecord(value))
486
+ return;
487
+ const resources = toResourceList(value.resources);
488
+ if (!resources)
489
+ return;
490
+ return {
491
+ ...value,
492
+ version: typeof value.version === "string" ? value.version : "2.0",
493
+ resources
494
+ };
495
+ }
496
+ function emptyPackagingBindingsJson() {
497
+ return { version: "2.0", resources: [] };
498
+ }
499
+ function mergePackagingBindingsJson(bindingsJsons) {
500
+ const first = bindingsJsons.find((bindingsJson) => bindingsJson !== undefined);
501
+ return {
502
+ ...first ?? emptyPackagingBindingsJson(),
503
+ resources: mergeBindingResources2(bindingsJsons.flatMap((bindingsJson) => bindingsJson?.resources ?? []))
504
+ };
505
+ }
506
+ var inlineAgentPackagerLogger = {
507
+ debug: (message) => logger.debug(message),
508
+ info: (message) => logger.info(message),
509
+ warn: (message) => logger.warn(message),
510
+ error: (message) => logger.error(message),
511
+ progress: (message) => logger.info(message),
512
+ log: (message, level) => {
513
+ if (level === "Error" /* Error */)
514
+ logger.error(message);
515
+ else if (level === "Warning" /* Warn */)
516
+ logger.warn(message);
517
+ else if (level === "Debug" /* Debug */)
518
+ logger.debug(message);
519
+ else
520
+ logger.info(message);
521
+ },
522
+ logMessage: (message) => inlineAgentPackagerLogger.log(message.message, message.logLevel)
523
+ };
524
+ async function createInlineAgentContract(fs, agentDir) {
525
+ const outputPath = fs.path.join(fs.env.tmpdir(), `.inline-agent-contract-${crypto.randomUUID()}`);
526
+ await fs.mkdir(outputPath);
527
+ try {
528
+ const built = await buildInlineAgentContract({
529
+ fileSystem: fs,
530
+ logger: inlineAgentPackagerLogger,
531
+ projectPath: agentDir,
532
+ outputPath
533
+ });
534
+ const bindingsJson = normalizePackagingBindingsJson(built.bindingsJson);
535
+ if (!bindingsJson) {
536
+ throw new Error("Agent packager returned an invalid binding contract");
537
+ }
538
+ return { agentJson: built.agentJson, bindingsJson };
539
+ } finally {
540
+ const [cleanupError] = await catchError2(fs.rm(outputPath));
541
+ if (cleanupError) {
542
+ logger.debug(`Could not remove inline-agent contract directory ${outputPath}: ${cleanupError.message}`);
543
+ }
544
+ }
545
+ }
546
+ async function inlineAgentExists(fs, projectDir, source) {
547
+ const agentJsonPath = fs.path.join(projectDir, source, "agent.json");
548
+ return fs.exists(agentJsonPath);
549
+ }
550
+ async function packageInlineAgents(fs, projectDir, nodes) {
551
+ const result = [];
552
+ const seen = new Set;
553
+ for (const node of nodes) {
554
+ if (!isInlineAgentNodeType(node.type))
555
+ continue;
556
+ const source = readInlineAgentSource(node);
557
+ if (!source)
558
+ continue;
559
+ if (!isBareProjectIdSource(source))
560
+ continue;
561
+ if (seen.has(source))
562
+ continue;
563
+ seen.add(source);
564
+ if (!await inlineAgentExists(fs, projectDir, source))
565
+ continue;
566
+ const contract = await createInlineAgentContract(fs, fs.path.join(projectDir, source));
567
+ const inputSchema = contract.agentJson.inputSchema ?? {
568
+ type: "object",
569
+ properties: {}
570
+ };
571
+ const outputSchema = contract.agentJson.outputSchema ?? {
572
+ type: "object",
573
+ properties: {}
574
+ };
575
+ result.push({
576
+ source,
577
+ entryPoint: {
578
+ filePath: `content/${source}/agent.json`,
579
+ uniqueId: contract.agentJson.projectId ?? source,
580
+ type: EntryPointType2.Agent,
581
+ input: inputSchema,
582
+ output: outputSchema,
583
+ displayName: contract.agentJson.name ?? "Agent"
584
+ },
585
+ agentJson: contract.agentJson,
586
+ bindingsJson: contract.bindingsJson
587
+ });
588
+ logger.info(`Packaged inline agent "${source}" for entry-points`);
589
+ }
590
+ return result;
591
+ }
592
+ async function stageInlineAgentPackageFiles(fs, sourceProjectPath, stagingProjectDir, inlineAgents, formatLogMessage) {
593
+ for (const agent of inlineAgents) {
594
+ const srcDir = fs.path.join(sourceProjectPath, agent.source);
595
+ const destDir = fs.path.join(stagingProjectDir, agent.source);
596
+ if (fs.path.resolve(srcDir) !== fs.path.resolve(destDir) && await fs.exists(srcDir)) {
597
+ await fs.copyDirectory(srcDir, destDir);
598
+ }
599
+ const agentBuilderDir = fs.path.join(destDir, ".agent-builder");
600
+ await ensureDirectory(fs, agentBuilderDir);
601
+ await fs.writeFile(fs.path.join(agentBuilderDir, "agent.json"), JSON.stringify({
602
+ ...agent.agentJson,
603
+ resources: agent.agentJson.resources ?? [],
604
+ features: agent.agentJson.features ?? []
605
+ }, null, 2));
606
+ await fs.writeFile(fs.path.join(agentBuilderDir, "bindings.json"), `${JSON.stringify(agent.bindingsJson ?? emptyPackagingBindingsJson(), null, 2)}
607
+ `);
608
+ logger.info(formatLogMessage(agent.source));
609
+ }
610
+ }
611
+ function buildInlineAgentDescriptors(nodes) {
612
+ const out = [];
613
+ const seen = new Set;
614
+ for (const node of nodes) {
615
+ if (!isInlineAgentNodeType(node.type))
616
+ continue;
617
+ const source = readInlineAgentSource(node);
618
+ if (!source)
619
+ continue;
620
+ if (seen.has(source))
621
+ continue;
622
+ seen.add(source);
623
+ const label = node.display?.label ?? "Agent";
624
+ out.push({
625
+ name: label,
626
+ agentProjectId: source,
627
+ isConversational: isConversationalOrVoiceAgentNodeType2(node.type),
628
+ entryPointPath: `${source}/agent.json`
629
+ });
630
+ }
631
+ return out;
632
+ }
633
+ async function writePackagingArtifacts(fs, projectDir, projectId, packagingNodes, bindings, variables, bpmnFileName, startEventId, flowFileName, definitions = [], options = {}) {
634
+ const { entryPoints } = await writePackagingArtifactsDetailed(fs, projectDir, projectId, packagingNodes, bindings, variables, bpmnFileName, startEventId, flowFileName, definitions, options);
635
+ return entryPoints;
636
+ }
637
+ async function writePackagingArtifactsDetailed(fs, projectDir, projectId, packagingNodes, bindings, variables, bpmnFileName, startEventId, flowFileName, definitions = [], options = {}) {
638
+ const startNodes = options.entryPointNodes ?? packagingNodes;
639
+ const flowEntryPoints = getEntryPoints2(bpmnFileName, startNodes, variables, definitions, ProjectType2.Flow);
640
+ const entryPoints = [
641
+ ...flowEntryPoints,
642
+ ...options.additionalEntryPoints ?? []
643
+ ];
644
+ await fs.writeFile(fs.path.join(projectDir, "entry-points.json"), `${JSON.stringify(generateEntryPointsJson2(entryPoints), null, 2)}
645
+ `);
646
+ const bindingResources = getBindingResources2(packagingNodes, bindings, definitions);
647
+ const bindingsJson = normalizePackagingBindingsJson(generateBindingsJson2(bindingResources)) ?? emptyPackagingBindingsJson();
648
+ const stagedBindingsJson = mergePackagingBindingsJson([
649
+ bindingsJson,
650
+ ...options.additionalBindingsJsons ?? []
651
+ ]);
652
+ await fs.writeFile(fs.path.join(projectDir, "bindings_v2.json"), `${JSON.stringify(stagedBindingsJson, null, 2)}
653
+ `);
654
+ const mainEntryPoint = `/${bpmnFileName}#${defaultEntryPointNodeId(startNodes) ?? startEventId}`;
655
+ const operateJson = withRuntimeProfile2(generateOperateJson2(projectId, mainEntryPoint, operateRuntimeOptions(startNodes)), options.profile ?? "Standard" /* Standard */);
656
+ await fs.writeFile(fs.path.join(projectDir, "operate.json"), `${JSON.stringify(operateJson, null, 2)}
657
+ `);
658
+ const packageDescriptorJson = options.packageDescriptorJson ?? {
659
+ $schema: "https://cloud.uipath.com/draft/2024-12/package-descriptor",
660
+ files: {
661
+ "operate.json": "operate.json",
662
+ "entry-points.json": "entry-points.json",
663
+ "bindings.json": "bindings_v2.json",
664
+ [bpmnFileName]: bpmnFileName,
665
+ ...flowFileName ? { [flowFileName]: flowFileName } : {}
666
+ }
667
+ };
668
+ await fs.writeFile(fs.path.join(projectDir, "package-descriptor.json"), `${JSON.stringify(packageDescriptorJson, null, 2)}
669
+ `);
670
+ return { entryPoints, bindingsJson: stagedBindingsJson };
671
+ }
672
+ function backfillNodeModelsFromDefinitions(nodes, definitions) {
673
+ if (definitions.length === 0)
674
+ return nodes;
675
+ const definitionByType = new Map;
676
+ for (const def of definitions) {
677
+ if (def?.nodeType)
678
+ definitionByType.set(def.nodeType, def);
679
+ }
680
+ return nodes.map((n) => {
681
+ if (n.model)
682
+ return n;
683
+ const def = definitionByType.get(n.type);
684
+ if (!def?.model)
685
+ return n;
686
+ return { ...n, model: def.model };
687
+ });
688
+ }
689
+ async function regenerateBindingsFile(fs, flowFilePath) {
690
+ const absolutePath = fs.path.resolve(flowFilePath);
691
+ const projectDir = fs.path.dirname(absolutePath);
692
+ const [readErr, read] = await catchError2(readFlowWorkflow2(absolutePath, fs));
693
+ if (readErr) {
694
+ throw new Error(`Failed to read .flow file at ${absolutePath}: ${readErr.message}`);
695
+ }
696
+ const flowData = read.workflow;
697
+ const packagingNodes = backfillNodeModelsFromDefinitions(flowToPackagingNodes(flowData), flowData.definitions ?? []);
698
+ const bindingResources = getBindingResources2(packagingNodes, flowData.bindings ?? [], flowData.definitions ?? []);
699
+ const flowBindingsJson = normalizePackagingBindingsJson(generateBindingsJson2(bindingResources)) ?? emptyPackagingBindingsJson();
700
+ const [agentErr, inlineAgents] = await catchError2(packageInlineAgents(fs, projectDir, allNodesOf(flowData)));
701
+ if (agentErr) {
702
+ logger.warn(`Wrote bindings_v2.json without inline agent tool bindings: ${agentErr.message}`);
703
+ }
704
+ await fs.writeFile(fs.path.join(projectDir, "bindings_v2.json"), `${JSON.stringify(mergePackagingBindingsJson([
705
+ flowBindingsJson,
706
+ ...(inlineAgents ?? []).map((agent) => agent.bindingsJson)
707
+ ]), null, 2)}
708
+ `);
709
+ }
710
+ // src/services/node-service.ts
711
+ class NodeTypeNotFoundError2 extends Error {
712
+ code = "NodeTypeNotFound";
713
+ instructions;
714
+ constructor(message, instructions) {
715
+ super(message);
716
+ this.name = "NodeTypeNotFoundError";
717
+ this.instructions = instructions;
718
+ }
719
+ }
720
+
721
+ class NodeTypeNotEnabledError2 extends Error {
722
+ code = "NodeTypeNotEnabled";
723
+ instructions;
724
+ constructor(message, instructions) {
725
+ super(message);
726
+ this.name = "NodeTypeNotEnabledError";
727
+ this.instructions = instructions;
728
+ }
729
+ }
730
+
731
+ class SourceRequiredError2 extends Error {
732
+ code = "SourceRequired";
733
+ instructions;
734
+ constructor(message, instructions) {
735
+ super(message);
736
+ this.name = "SourceRequiredError";
737
+ this.instructions = instructions;
738
+ }
739
+ }
740
+ var listNodesInFlow2 = async (filePath) => {
741
+ const { workflow } = await readFlowWorkflow2(filePath);
742
+ const nodes = workflow.nodes.map((n) => ({
743
+ id: n.id,
744
+ type: n.type,
745
+ label: n.display.label ?? "",
746
+ position: n.ui.position
747
+ }));
748
+ return { nodes, count: nodes.length };
749
+ };
750
+ var PROCESS_NODE_PREFIXES = [
751
+ "uipath.core.rpa-workflow.",
752
+ "uipath.agent.resource.tool.process.",
753
+ "uipath.core.agent.",
754
+ "uipath.core.api-workflow."
755
+ ];
756
+ function isProcessNode2(manifest) {
757
+ return PROCESS_NODE_PREFIXES.some((prefix) => manifest.nodeType?.startsWith(prefix));
758
+ }
759
+ function isEntityNode2(manifest) {
760
+ return isEntityNodeType(manifest.nodeType);
761
+ }
762
+ function createEntityBindings2(node) {
763
+ const entityConfig = node.inputs?.entityConfig;
764
+ const entityName = entityConfig?.entityName;
765
+ if (typeof entityName !== "string" || entityName === "")
766
+ return [];
767
+ const scopeKey = entityScopeKey(entityConfig);
768
+ if (!scopeKey)
769
+ return [];
770
+ const bindings = [
771
+ createBinding2({
772
+ name: entityName,
773
+ value: entityName,
774
+ resource: "Entity",
775
+ resourceKey: scopeKey,
776
+ propertyAttribute: "name"
777
+ })
778
+ ];
779
+ const folderKey = entityConfig?._folderKey;
780
+ if (typeof folderKey === "string" && folderKey !== "") {
781
+ bindings.push(createBinding2({
782
+ name: `${entityName}Folder`,
783
+ value: folderKey,
784
+ resource: "Entity",
785
+ resourceKey: scopeKey,
786
+ propertyAttribute: "folderKey"
787
+ }));
788
+ }
789
+ return bindings;
790
+ }
791
+ async function resolveEntityIdentity2(filePath, node) {
792
+ const entityConfig = node.inputs?.entityConfig;
793
+ const entityName = entityConfig?.entityName;
794
+ if (entityConfig == null || typeof entityName !== "string" || entityName === "") {
795
+ return;
796
+ }
797
+ const entity = await resolveInlineEntity2(getFileSystem(), filePath, entityName);
798
+ if (entity === undefined) {
799
+ return;
800
+ }
801
+ const current = entityScopeKey(entityConfig);
802
+ if (current !== "" && current !== entity.resourceKey) {
803
+ return;
804
+ }
805
+ entityConfig.entityName = entity.name;
806
+ if (current === "") {
807
+ entityConfig._resourceKey = entity.resourceKey;
808
+ entityConfig._folderKey = entity.folderId;
809
+ }
810
+ }
811
+ function resolveProcessTarget2(node, definitions) {
812
+ if (!isProcessNode2({ nodeType: node.type }))
813
+ return;
814
+ let subType = "Process";
815
+ if (definitions) {
816
+ const def = findMatchingDefinition(node.type, node.typeVersion, definitions);
817
+ const model = def?.model;
818
+ const defBindings = model?.bindings;
819
+ if (defBindings?.resourceSubType)
820
+ subType = defBindings.resourceSubType;
821
+ if (defBindings?.resourceKey) {
822
+ return { key: defBindings.resourceKey, subType };
823
+ }
824
+ }
825
+ return { key: extractProcessGuid(node.type), subType };
826
+ }
827
+ function resolveProcessTargetKey(node, definitions) {
828
+ return resolveProcessTarget2(node, definitions)?.key;
829
+ }
830
+ async function writeInlineAgentStepFromAgent(node, filePath, outputsFromInput) {
831
+ const inputs = node.inputs;
832
+ for (const key of Object.keys(inputs)) {
833
+ if (!INLINE_AGENT_STRUCTURAL_INPUT_KEYS.has(key) && !(key === "callContext" && isVoiceAgentNodeType2(node.type))) {
834
+ delete inputs[key];
835
+ }
836
+ }
837
+ const source = inputs.source;
838
+ if (typeof source !== "string" || /[/\\.]/.test(source)) {
839
+ return;
840
+ }
841
+ const fs = getFileSystem();
842
+ const projectRoot = await findFlowProjectRoot(fs, filePath);
843
+ const agent = await agentJsonReader(fs, projectRoot)(source);
844
+ if (agent) {
845
+ const existing = Array.isArray(inputs.agentInputVariables) ? inputs.agentInputVariables : [];
846
+ inputs.agentInputVariables = reconcileInlineAgentInputVariables(existing, agent.inputSchema).variables;
847
+ const metadata = agent.metadata;
848
+ if (!outputsFromInput && inputs.agentOutputVariables !== undefined) {
849
+ inputs.agentOutputVariables = agentOutputVariablesFromSchema(agent.outputSchema, metadata?.isConversational === true);
850
+ }
851
+ }
852
+ }
853
+ function resolveProcessBindingsInContext(node, nameBinding, folderBinding) {
854
+ const model = node.model;
855
+ if (!model?.context)
856
+ return;
857
+ for (const entry of model.context) {
858
+ if (entry.name === "name" && typeof entry.value === "string") {
859
+ entry.default = nameBinding.default;
860
+ entry.value = `=bindings.${nameBinding.id}`;
861
+ } else if (entry.name === "folderPath" && typeof entry.value === "string") {
862
+ entry.default = folderBinding.default;
863
+ entry.value = `=bindings.${folderBinding.id}`;
864
+ }
865
+ }
866
+ }
867
+ var UNRESOLVED_BINDING_PATTERN = /^<bindings\.\w+>$/;
868
+ function ensureProcessBindings2(workflow) {
869
+ const nodes = workflow.nodes;
870
+ const definitions = workflow.definitions ?? [];
871
+ let bindingsCreated = 0;
872
+ for (const node of nodes) {
873
+ if (!isProcessNode2({ nodeType: node.type }))
874
+ continue;
875
+ const nodeModel = node.model;
876
+ const defModel = definitions.find((d) => d.nodeType === node.type)?.model;
877
+ const hasUnresolved = [nodeModel, defModel].some((m) => m?.context?.some((entry) => typeof entry.value === "string" && UNRESOLVED_BINDING_PATTERN.test(entry.value)));
878
+ if (!hasUnresolved)
879
+ continue;
880
+ const definition = definitions.find((d) => d.nodeType === node.type);
881
+ if (!definition)
882
+ continue;
883
+ const [err, bindings] = catchError2(() => createProcessBindings({
884
+ nodeType: node.type,
885
+ model: definition.model
886
+ }));
887
+ if (err) {
888
+ logger.warn(`Skipping binding resolution for node "${node.id}": ${err.message}`);
889
+ continue;
890
+ }
891
+ const { nameBinding, folderBinding } = bindings;
892
+ const beforeCount = workflow.bindings?.length ?? 0;
893
+ addBinding2(workflow, nameBinding);
894
+ addBinding2(workflow, folderBinding);
895
+ const storedBindings = workflow.bindings;
896
+ const storedName = storedBindings.find((b) => b.resourceKey === nameBinding.resourceKey && b.propertyAttribute === nameBinding.propertyAttribute) ?? nameBinding;
897
+ const storedFolder = storedBindings.find((b) => b.resourceKey === folderBinding.resourceKey && b.propertyAttribute === folderBinding.propertyAttribute) ?? folderBinding;
898
+ resolveProcessBindingsInContext(node, storedName, storedFolder);
899
+ if (defModel?.context) {
900
+ for (const entry of defModel.context) {
901
+ if (entry.name === "name" && typeof entry.value === "string" && UNRESOLVED_BINDING_PATTERN.test(entry.value)) {
902
+ entry.default = storedName.default;
903
+ entry.value = `=bindings.${storedName.id}`;
904
+ } else if (entry.name === "folderPath" && typeof entry.value === "string" && UNRESOLVED_BINDING_PATTERN.test(entry.value)) {
905
+ entry.default = storedFolder.default;
906
+ entry.value = `=bindings.${storedFolder.id}`;
907
+ }
908
+ }
909
+ }
910
+ const added = (workflow.bindings?.length ?? 0) - beforeCount;
911
+ bindingsCreated += added;
912
+ logger.info(`Resolved process bindings for node "${node.id}" (${node.type})`);
913
+ }
914
+ if (bindingsCreated > 0) {
915
+ logger.info(`ensureProcessBindings: created ${bindingsCreated} binding(s) for directly-authored nodes`);
916
+ }
917
+ return bindingsCreated;
918
+ }
919
+ var BINDING_REF_PATTERN = /^=bindings\.(.+)$/;
920
+ function collectNodeBindingRefs(node) {
921
+ const refs = new Set;
922
+ const addRef = (value) => {
923
+ if (typeof value !== "string")
924
+ return;
925
+ const match = value.match(BINDING_REF_PATTERN);
926
+ if (match)
927
+ refs.add(match[1]);
928
+ };
929
+ if (node.inputs) {
930
+ const inputs = node.inputs;
931
+ for (const value of Object.values(inputs))
932
+ addRef(value);
933
+ const detail = inputs.detail;
934
+ for (const bucket of REQUEST_BUCKETS) {
935
+ const values = detail?.[bucket];
936
+ if (values !== null && typeof values === "object") {
937
+ for (const value of Object.values(values))
938
+ addRef(value);
939
+ }
940
+ }
941
+ }
942
+ return refs;
943
+ }
944
+ function collectNodeBindingResourceKeys2(node, bindings, definitions) {
945
+ const keys = new Set;
946
+ const processKey = resolveProcessTargetKey(node, definitions);
947
+ if (processKey) {
948
+ keys.add(processKey);
949
+ }
950
+ const inputs = node.inputs;
951
+ if (typeof inputs?.detail?.connectionResourceId === "string") {
952
+ keys.add(inputs.detail.connectionResourceId);
953
+ }
954
+ const fileNodeConnection = orchestratorConnectionKey(definitions, node);
955
+ if (fileNodeConnection) {
956
+ keys.add(fileNodeConnection);
957
+ }
958
+ const entityKey = entityScopeKey(inputs?.entityConfig);
959
+ if (entityKey !== "") {
960
+ keys.add(entityKey);
961
+ }
962
+ const refs = collectNodeBindingRefs(node);
963
+ for (const binding of bindings) {
964
+ if (refs.has(binding.id)) {
965
+ keys.add(binding.resourceKey);
966
+ }
967
+ }
968
+ return keys;
969
+ }
970
+ var addNodeToFlow2 = async (filePath, nodeType, options = {}) => {
971
+ let inline;
972
+ if (options.inlineActivity) {
973
+ inline = await prepareInlineActivity(nodeType, options.inlineActivity);
974
+ } else if (nodeType.startsWith("uipath.connector.custom.")) {
975
+ throw new InlineActivityError2(`Node type "${nodeType}" is a non-catalog activity, which the registry does not carry.`, "Pass --metadata <Name>.json and --scripts <dir> (the files `uip is activities metadata generate` and `script update` produced) so the definition is built locally.");
976
+ }
977
+ let manifest = inline?.manifest ?? null;
978
+ let registryErr;
979
+ if (!manifest) {
980
+ const [err, registryManifest] = await catchError2(getNode2(nodeType));
981
+ manifest = registryManifest ?? null;
982
+ registryErr = err;
983
+ if (err) {
984
+ logger.debug(`Registry node lookup failed for ${nodeType}: ${err.message}`);
985
+ }
986
+ }
987
+ let localErr = null;
988
+ if (!manifest) {
989
+ const [err, localManifest] = await catchError2(getNode2(nodeType, { local: true }));
990
+ manifest = localManifest ?? null;
991
+ if (err) {
992
+ localErr = err;
993
+ logger.warn(`In-solution node lookup failed for ${nodeType}: ${err.message}`);
994
+ }
995
+ }
996
+ if (!manifest && nodeType === DYNAMIC_EXTRACT_NODE_TYPE2) {
997
+ manifest = buildExtractDocumentBuilderNode();
998
+ }
999
+ if (!manifest && (isTenantManifestInvalidError2(registryErr) || isTenantManifestUnavailableError2(registryErr))) {
1000
+ throw registryErr;
1001
+ }
1002
+ if (!manifest) {
1003
+ if (isKnownSdkNodeType2(nodeType)) {
1004
+ throw new NodeTypeNotEnabledError2(`Node type '${nodeType}' is not enabled for this tenant.`, "Ask an admin to enable the feature flag for this node type, " + "or run `uip maestro flow registry list` to see every " + "known type with its `AvailableOnTenant` flag.");
1005
+ }
1006
+ const [, withoutProcessResource] = await catchError2(explainNodeTypeWithoutProcessResource2(nodeType));
1007
+ if (withoutProcessResource) {
1008
+ throw new NodeTypeNotFoundError2(`Node type not found: ${nodeType}. ${withoutProcessResource.message}`, withoutProcessResource.instructions);
1009
+ }
1010
+ const details = [
1011
+ registryErr && `Registry lookup failed: ${registryErr.message}`,
1012
+ localErr && `In-solution lookup failed: ${localErr.message}`
1013
+ ].filter(Boolean).join(". ");
1014
+ const hint = details || "If this is an in-solution node, make sure you are running " + "from inside a solution directory (with a .uipx file in CWD, parent, or grandparent).";
1015
+ throw new NodeTypeNotFoundError2(`Node type not found: ${nodeType}. ${hint}`, "Run `uip maestro flow registry search <keyword>` to find the " + "correct node type, or `uip maestro flow registry list` " + "to see every known type (including ones not enabled on this tenant).");
1016
+ }
1017
+ if (manifest.model?.source === true && nodeType !== DYNAMIC_EXTRACT_NODE_TYPE2) {
1018
+ const fromFlag = typeof options.source === "string" && options.source.length > 0;
1019
+ const inputsSourceCandidate = options.inputs?.source;
1020
+ const fromInputs = typeof inputsSourceCandidate === "string" && inputsSourceCandidate.length > 0;
1021
+ if (!fromFlag && !fromInputs) {
1022
+ throw new SourceRequiredError2(`Node type "${nodeType}" requires a source UUID at inputs.source. Pass --source <uuid>.`, "Use the agent's ProjectId (returned by " + '`uip agent init "<flow-dir>" --inline-in-flow`) for inline ' + "agent nodes, or the resource id declared in the parent " + "inline agent's `resources[]` for agent-tool resource nodes. " + '`--input \'{"source":"<uuid>"}\'` is also accepted.');
1023
+ }
1024
+ }
1025
+ const { workflow, refMap } = await readFlowWorkflow2(filePath);
1026
+ if (inline) {
1027
+ const existing = workflow.definitions.find((d) => d.nodeType === manifest.nodeType && d.version === manifest.version);
1028
+ if (existing && definitionConfigurationOf(existing) !== definitionConfigurationOf(manifest)) {
1029
+ throw new InlineActivityError2(`"${nodeType}" is already defined in this flow with different activity metadata.`, "Use a different activity slug for this node type, or remove the existing nodes of this type first so the definition is rebuilt from the new metadata.");
1030
+ }
1031
+ }
1032
+ const existingIds = new Set(workflow.nodes.map((n) => n.id));
1033
+ const existingDefCount = workflow.definitions.length;
1034
+ const { id, displayName } = generateNodeIdAndName2(options.label ?? manifest.display.label, existingIds);
1035
+ const bindingsBefore = workflow.bindings?.length ?? 0;
1036
+ const node = addNode2(workflow, manifest, id, options.position ?? { x: 0, y: 0 }, options.label ?? displayName);
1037
+ const schema = manifest.inputDefinition;
1038
+ if (node.inputs && manifest.inputDefaults === undefined && schema?.type === "object") {
1039
+ for (const schemaKey of Object.keys(schema)) {
1040
+ delete node.inputs[schemaKey];
1041
+ }
1042
+ }
1043
+ let bindingsCreated = 0;
1044
+ if (isProcessNode2(manifest)) {
1045
+ const { nameBinding, folderBinding } = createProcessBindings(manifest);
1046
+ addBinding2(workflow, nameBinding);
1047
+ addBinding2(workflow, folderBinding);
1048
+ const storedBindings = workflow.bindings;
1049
+ const storedName = storedBindings.find((b) => b.resourceKey === nameBinding.resourceKey && b.propertyAttribute === nameBinding.propertyAttribute) ?? nameBinding;
1050
+ const storedFolder = storedBindings.find((b) => b.resourceKey === folderBinding.resourceKey && b.propertyAttribute === folderBinding.propertyAttribute) ?? folderBinding;
1051
+ if (folderBinding.default === "" && storedFolder.default === undefined) {
1052
+ storedFolder.default = "";
1053
+ }
1054
+ resolveProcessBindingsInContext(node, storedName, storedFolder);
1055
+ bindingsCreated = (workflow.bindings?.length ?? 0) - bindingsBefore;
1056
+ }
1057
+ if (options.inputs && Object.keys(options.inputs).length > 0) {
1058
+ node.inputs = { ...node.inputs ?? {}, ...options.inputs };
1059
+ }
1060
+ if (inline) {
1061
+ node.inputs = {
1062
+ ...node.inputs ?? {},
1063
+ inlineActivityConfiguration: inline.configuration
1064
+ };
1065
+ }
1066
+ if (isEntityNode2(manifest)) {
1067
+ await resolveEntityIdentity2(filePath, node);
1068
+ for (const entityBinding of createEntityBindings2(node)) {
1069
+ addBinding2(workflow, entityBinding);
1070
+ }
1071
+ bindingsCreated = (workflow.bindings?.length ?? 0) - bindingsBefore;
1072
+ }
1073
+ const manifestModel = manifest.model;
1074
+ if (manifestModel?.source === true) {
1075
+ if (typeof options.source === "string" && options.source.length > 0) {
1076
+ const inputs = node.inputs ?? {};
1077
+ inputs.source = options.source;
1078
+ node.inputs = inputs;
1079
+ }
1080
+ if (nodeType === DYNAMIC_EXTRACT_NODE_TYPE2) {
1081
+ const inputs = node.inputs ?? {};
1082
+ const existingSource = inputs.source;
1083
+ if (typeof existingSource !== "string" || existingSource.length === 0) {
1084
+ inputs.source = crypto.randomUUID();
1085
+ node.inputs = inputs;
1086
+ }
1087
+ }
1088
+ if (node.model) {
1089
+ delete node.model;
1090
+ }
1091
+ if (isInlineAgentNodeType(node.type)) {
1092
+ await writeInlineAgentStepFromAgent(node, filePath, options.inputs?.agentOutputVariables !== undefined);
1093
+ }
1094
+ }
1095
+ if (nodeType === DYNAMIC_EXTRACT_NODE_TYPE2) {
1096
+ const inputs = node.inputs ?? {};
1097
+ if (inputs.schemaDocument === undefined) {
1098
+ inputs.schemaDocument = buildDefaultSchemaDocument();
1099
+ node.inputs = inputs;
1100
+ }
1101
+ }
1102
+ if (nodeType === DYNAMIC_EXTRACT_NODE_TYPE2) {
1103
+ const outputDefinition = manifest.outputDefinition;
1104
+ if (outputDefinition) {
1105
+ const outputs = {};
1106
+ for (const [port, definition] of Object.entries(outputDefinition)) {
1107
+ outputs[port] = {
1108
+ type: definition.type,
1109
+ source: definition.source,
1110
+ var: definition.var ?? port
1111
+ };
1112
+ }
1113
+ node.outputs = outputs;
1114
+ }
1115
+ }
1116
+ if (typeof options.parent === "string" && options.parent.length > 0) {
1117
+ const allNodes = workflow.nodes;
1118
+ if (!allNodes.some((n) => n.id === options.parent)) {
1119
+ throw new Error(`--parent value "${options.parent}" is not an existing node id in this flow. ` + "Run 'uip maestro flow nodes list <file>' to see valid ids.");
1120
+ }
1121
+ node.parentId = options.parent;
1122
+ }
1123
+ await writeFlowWorkflow2(filePath, workflow, refMap);
1124
+ if (isProcessNode2(manifest) || isEntityNode2(manifest)) {
1125
+ const fs = getFileSystem();
1126
+ const [regenErr] = await catchError2(regenerateBindingsFile(fs, filePath));
1127
+ if (regenErr) {
1128
+ logger.warn(`Failed to regenerate bindings_v2.json after adding ${manifest.nodeType}: ${regenErr.message}`);
1129
+ }
1130
+ }
1131
+ const definitionAdded = workflow.definitions.length > existingDefCount;
1132
+ const variableCount = workflow.variables?.nodes?.length ?? 0;
1133
+ const inlineActivity = inline ? {
1134
+ scriptRef: inline.configuration.scriptRef,
1135
+ scripts: Object.keys(inline.configuration.scripts)
1136
+ } : undefined;
1137
+ if (isConnectorNode2(manifest)) {
1138
+ const connInfo = getConnectorInfo2(manifest);
1139
+ return {
1140
+ node,
1141
+ definitionAdded,
1142
+ bindingsCreated,
1143
+ variableCount,
1144
+ connectorInfo: connInfo ?? undefined,
1145
+ ...inlineActivity && { inlineActivity }
1146
+ };
1147
+ } else {
1148
+ return {
1149
+ node,
1150
+ definitionAdded,
1151
+ bindingsCreated,
1152
+ variableCount,
1153
+ ...inlineActivity && { inlineActivity }
1154
+ };
1155
+ }
1156
+ };
1157
+ function removeConnectedEdges(workflow, nodeId) {
1158
+ const edges = workflow.edges ?? [];
1159
+ const before = edges.length;
1160
+ workflow.edges = edges.filter((e) => e.sourceNodeId !== nodeId && e.targetNodeId !== nodeId);
1161
+ return before - workflow.edges.length;
1162
+ }
1163
+ function subflowNodes(workflow) {
1164
+ return Object.values(workflow.subflows ?? {}).flatMap((entry) => entry?.nodes ?? []);
1165
+ }
1166
+ function removeOrphanedBindings(workflow, deletedNodeKeys, remainingNodes, bindings) {
1167
+ if (deletedNodeKeys.size === 0 || bindings.length === 0)
1168
+ return 0;
1169
+ const defs = workflow.definitions ?? [];
1170
+ const remainingKeys = new Set;
1171
+ for (const node of remainingNodes) {
1172
+ for (const key of collectNodeBindingResourceKeys2(node, bindings, defs)) {
1173
+ remainingKeys.add(key);
1174
+ }
1175
+ }
1176
+ const before = bindings.length;
1177
+ workflow.bindings = bindings.filter((b) => !deletedNodeKeys.has(b.resourceKey) || remainingKeys.has(b.resourceKey));
1178
+ return before - workflow.bindings.length;
1179
+ }
1180
+ function connectorConnectionBindingName(node, definitions) {
1181
+ if (!node.type.startsWith("uipath.connector"))
1182
+ return "";
1183
+ const def = definitions.find((d) => d.nodeType === node.type);
1184
+ const context = def?.model?.context;
1185
+ const connectorKey = context?.find((c) => c.name === "connectorKey")?.value;
1186
+ return typeof connectorKey === "string" && connectorKey.length > 0 ? `${connectorKey} connection` : "";
1187
+ }
1188
+ function removeOrphanedConnectorStub(workflow, deletedNode, remainingNodes, definitions) {
1189
+ const stubName = connectorConnectionBindingName(deletedNode, definitions);
1190
+ if (!stubName)
1191
+ return 0;
1192
+ const stillOwned = remainingNodes.some((n) => connectorConnectionBindingName(n, definitions) === stubName);
1193
+ if (stillOwned)
1194
+ return 0;
1195
+ const bindings = workflow.bindings ?? [];
1196
+ if (bindings.length === 0)
1197
+ return 0;
1198
+ const before = bindings.length;
1199
+ workflow.bindings = bindings.filter((b) => !(b.resource?.toLowerCase() === "connection" && b.propertyAttribute === "ConnectionId" && !b.resourceKey && !b.default && b.name === stubName));
1200
+ return before - workflow.bindings.length;
1201
+ }
1202
+ function removeOrphanedDefinitions(workflow, remainingNodes) {
1203
+ const definitions = workflow.definitions ?? [];
1204
+ const usedKeys = new Set(remainingNodes.map((n) => `${n.type}:${n.typeVersion}`));
1205
+ const before = definitions.length;
1206
+ workflow.definitions = definitions.filter((d) => usedKeys.has(`${d.nodeType}:${d.version}`));
1207
+ return before - workflow.definitions.length;
1208
+ }
1209
+ function removeVariableUpdates(workflow, nodeId) {
1210
+ const variables = workflow.variables;
1211
+ if (!variables?.variableUpdates)
1212
+ return 0;
1213
+ const updates = variables.variableUpdates[nodeId];
1214
+ if (!updates)
1215
+ return 0;
1216
+ const count = updates.length;
1217
+ delete variables.variableUpdates[nodeId];
1218
+ return count;
1219
+ }
1220
+ function removeNodeVariables(workflow, nodeId) {
1221
+ const variables = workflow.variables;
1222
+ if (!variables?.nodes)
1223
+ return 0;
1224
+ const before = variables.nodes.length;
1225
+ variables.nodes = variables.nodes.filter((v) => v.binding.nodeId !== nodeId);
1226
+ return before - variables.nodes.length;
1227
+ }
1228
+ var deleteNodeFromFlow2 = async (filePath, nodeId) => {
1229
+ const { workflow, refMap } = await readFlowWorkflow2(filePath);
1230
+ const nodes = workflow.nodes;
1231
+ const nodeIndex = nodes.findIndex((n) => n.id === nodeId);
1232
+ if (nodeIndex === -1) {
1233
+ const available = nodes.map((n) => n.id).join(", ") || "(none)";
1234
+ throw new Error(`Node not found: "${nodeId}". Available node IDs: ${available}`);
1235
+ }
1236
+ const targetNode = nodes[nodeIndex];
1237
+ const deletedWasProcessNode = isProcessNode2({ nodeType: targetNode.type });
1238
+ const deletedNode = {
1239
+ id: targetNode.id,
1240
+ type: targetNode.type,
1241
+ label: targetNode.display.label ?? "",
1242
+ position: targetNode.ui.position
1243
+ };
1244
+ const bindings = workflow.bindings ?? [];
1245
+ const definitions = workflow.definitions ?? [];
1246
+ const deletedNodeResourceKeys = collectNodeBindingResourceKeys2(targetNode, bindings, definitions);
1247
+ nodes.splice(nodeIndex, 1);
1248
+ const edgesRemoved = removeConnectedEdges(workflow, nodeId);
1249
+ const remainingNodes = [...nodes, ...subflowNodes(workflow)];
1250
+ const bindingsRemoved = removeOrphanedBindings(workflow, deletedNodeResourceKeys, remainingNodes, bindings) + removeOrphanedConnectorStub(workflow, targetNode, remainingNodes, definitions);
1251
+ const definitionsRemoved = removeOrphanedDefinitions(workflow, remainingNodes);
1252
+ const variablesRemoved = removeNodeVariables(workflow, nodeId);
1253
+ const variableUpdatesRemoved = removeVariableUpdates(workflow, nodeId);
1254
+ await writeFlowWorkflow2(filePath, workflow, refMap);
1255
+ if (deletedWasProcessNode || bindingsRemoved > 0) {
1256
+ const fs = getFileSystem();
1257
+ const [regenErr] = await catchError2(regenerateBindingsFile(fs, filePath));
1258
+ if (regenErr) {
1259
+ logger.warn(`Failed to regenerate bindings_v2.json after deleting ${targetNode.type}: ${regenErr.message}`);
1260
+ }
1261
+ }
1262
+ return {
1263
+ deletedNode,
1264
+ edgesRemoved,
1265
+ bindingsRemoved,
1266
+ definitionsRemoved,
1267
+ variablesRemoved,
1268
+ variableUpdatesRemoved
1269
+ };
1270
+ };
1271
+
1272
+ export { REQUEST_BUCKETS, INLINE_ACTIVITY_TYPE_PREFIX, INLINE_ACTIVITY_SOURCE, InlineActivityError2, collectScriptRefs, getInlineActivityConfiguration, findOrchestratorConnectionField, orchestratorConnectionKey, fileNodesToPackagingNodes, flowToPackagingNodes, packageInlineAgents, stageInlineAgentPackageFiles, buildInlineAgentDescriptors, writePackagingArtifacts, writePackagingArtifactsDetailed, regenerateBindingsFile, NodeTypeNotFoundError2, NodeTypeNotEnabledError2, SourceRequiredError2, listNodesInFlow2, isProcessNode2, isEntityNode2, createEntityBindings2, resolveEntityIdentity2, resolveProcessTarget2, ensureProcessBindings2, collectNodeBindingResourceKeys2, addNodeToFlow2, deleteNodeFromFlow2 };
1273
+
1274
+ //# debugId=BEA93E4CFE39CB1C64756E2164756E21