@uipath/flow-tool 1.201.0-preview.133 → 1.202.0-preview.134
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.
- package/dist/{authoring-7r6g06c7.js → authoring-dcmray5j.js} +74 -48
- package/dist/binding-service-ftssy5j8.js +141 -0
- package/dist/{browser-strategy-rkcvc6tn.js → browser-strategy-6atc7v8s.js} +3 -3
- package/dist/connector-service-fsvcesfa.js +948 -0
- package/dist/{conversion-H2VEEYLB-ng48mbf7.js → conversion-QANACVCM-zs0hhfjv.js} +39 -33
- package/dist/{de-5KVP66U6-f7knj511.js → de-5KVP66U6-1bnf4zt5.js} +52 -52
- package/dist/de-6U7ECGHH-xwsw33fk.js +35 -0
- package/dist/{de-5HU6GFWV-4EZK6G7N-yrh21f52.js → de-7XQXX2DK-IDWR6CAR-n4z245kt.js} +857 -845
- package/dist/{de-5HU6GFWV-zheyw6d2.js → de-7XQXX2DK-tqdy5n2b.js} +857 -845
- package/dist/{de-HKTOVV4H-d5yw5j21.js → de-HKTOVV4H-pe9w0xn8.js} +46 -46
- package/dist/{de-XLT4QPIP-0rtw349w.js → de-XLT4QPIP-kj81dxjc.js} +9 -9
- package/dist/debug-conversation-trigger-xjcc5wtr.js +41 -0
- package/dist/debug-http-client-94tc1srs.js +31 -0
- package/dist/debug-service-kzqjmam7.js +58 -0
- package/dist/edge-service-kh32a63z.js +162 -0
- package/dist/{elk.bundled-pydbzeez.js → elk.bundled-vpsbxz0p.js} +3 -3
- package/dist/{en-MABQK6C4-REWE2WG2-8dp4cqdg.js → en-5ZGC5VQ3-EWX7ILY7-rmtj70fk.js} +898 -898
- package/dist/{en-MABQK6C4-nkzq2j8t.js → en-5ZGC5VQ3-h581y30k.js} +897 -897
- package/dist/en-EPWMLP2N-2wvge238.js +28 -0
- package/dist/{en-UNT7BE26-rhh65jry.js → en-LQHKFSEY-vvbe8ve9.js} +13 -11
- package/dist/{en-P4AS26D7-szrzfxz1.js → en-P4AS26D7-zptp77bm.js} +45 -45
- package/dist/{en-4KXU7N7B-66fntxa2.js → en-X3S6IZ5J-nhkg6pwn.js} +54 -60
- package/dist/{es-MX-H2EAXLYI-qwnqt48x.js → es-MX-H2EAXLYI-j42kfkxy.js} +46 -46
- package/dist/es-MX-NHTIP5YM-ar6zfx95.js +35 -0
- package/dist/{es-MX-OKNDG2NH-c1k1s1tg.js → es-MX-OKNDG2NH-tcac6j4g.js} +9 -9
- package/dist/{es-MX-POESXYP2-UW6VP5QI-cd3a79g9.js → es-MX-U2VN3SZW-KYAJ2ONK-kdram1g1.js} +857 -845
- package/dist/{es-MX-POESXYP2-9538722k.js → es-MX-U2VN3SZW-anynsmd8.js} +857 -845
- package/dist/{es-MX-XAVLOQW3-9b3cp9n8.js → es-MX-XAVLOQW3-q00km2y7.js} +52 -52
- package/dist/{es-NQICVYSQ-aa9z3nhs.js → es-NQICVYSQ-3dtqgget.js} +9 -9
- package/dist/{es-O4PAV2CR-jwfaawwk.js → es-O4PAV2CR-0g23ve3v.js} +46 -46
- package/dist/es-PQ3RA33Q-y4kxhjfr.js +35 -0
- package/dist/{es-VFPNVMP5-thm0z9sr.js → es-VFPNVMP5-bx2c337j.js} +52 -52
- package/dist/{es-LUTYN7U7-IY5QWOUF-k2aefzc0.js → es-ZGCPPOME-24PJEGPV-rn86z9kn.js} +857 -845
- package/dist/{es-LUTYN7U7-ye5zn4sn.js → es-ZGCPPOME-8gazspjj.js} +857 -845
- package/dist/flow-api-ceb6ex9z.js +36 -0
- package/dist/flow-debug-service-k8nmhy6h.js +741 -0
- package/dist/flow-eval-node-target-6xsgncx3.js +44 -0
- package/dist/flow-eval-run-service-g4a9fz4n.js +961 -0
- package/dist/flow-eval-service-3npsqpmq.js +1338 -0
- package/dist/flow-init-service-d06zcqj1.js +35 -0
- package/dist/flow-io-8makjhpp.js +36 -0
- package/dist/flow-migrate-service-4mg78e8e.js +119 -0
- package/dist/flow-pack-service-v96aee58.js +280 -0
- package/dist/flow-validate-service-6e3phcgw.js +57 -0
- package/dist/{fr-5YRGHXF5-q6b63yg0.js → fr-5YRGHXF5-kz1ywpv6.js} +46 -46
- package/dist/{fr-E5MDO4EG-exvrs7ge.js → fr-E5MDO4EG-c3mkty2t.js} +52 -52
- package/dist/{fr-PFHIL7YZ-cxnshwa8.js → fr-PFHIL7YZ-2n589p47.js} +9 -9
- package/dist/fr-R4L3OAWI-30khpsmn.js +35 -0
- package/dist/{fr-LJIK56LW-STG6QR3T-cextvv8q.js → fr-T3G5GZCT-TU4IKBEG-k6xz1s1f.js} +857 -845
- package/dist/{fr-LJIK56LW-xf3xf2kh.js → fr-T3G5GZCT-y3f7xb1q.js} +857 -845
- package/dist/governance-fetcher-c174x54w.js +391 -0
- package/dist/headless-h1myzz32.js +177196 -0
- package/dist/hitl-service-s0kqrxda.js +256 -0
- package/dist/index-1kgxzh8x.js +143 -0
- package/dist/index-4zrwgb3c.js +111 -0
- package/dist/index-8ebsw1we.js +4801 -0
- package/dist/{index-dhcd9b82.js → index-d5ddwgr3.js} +166 -81
- package/dist/{index-er6vy3jk.js → index-eybzsdcc.js} +295 -317
- package/dist/{index-hsadteg4.js → index-h8cph72k.js} +4 -4
- package/dist/index-hxxk3stj.js +630 -0
- package/dist/{index-p50kx6jv.js → index-k5tbd184.js} +276 -276
- package/dist/{index-9f8q2ege.js → index-p3vk57z7.js} +27 -27
- package/dist/index.js +29 -32
- package/dist/{index.umd.min-drpc57vn.js → index.umd.min-fqefd9kn.js} +3 -3
- package/dist/init.js +24 -25
- package/dist/input-reader-kcdbvd7q.js +11 -0
- package/dist/{ja-FGEGLBJ3-w9byjhze.js → ja-BI5K3JDZ-77zat4z2.js} +857 -845
- package/dist/{ja-FGEGLBJ3-MG3BSWXD-vq19zt2p.js → ja-BI5K3JDZ-GTIHISTZ-s6n3r2ab.js} +857 -845
- package/dist/{ja-DPO5PPLO-s2a7j3nj.js → ja-DPO5PPLO-mysfmznx.js} +52 -52
- package/dist/{ja-P4OSE367-8ywxep9a.js → ja-P4OSE367-srr3qypg.js} +9 -9
- package/dist/{ja-SDAPAVCR-943p5gx7.js → ja-SDAPAVCR-kg39dfap.js} +46 -46
- package/dist/ja-ZHKCBE5W-x73w6x3e.js +35 -0
- package/dist/{js-yaml-cggj6w7q.js → js-yaml-87tvr6f6.js} +16 -16
- package/dist/known-types-a20evmmg.js +20 -0
- package/dist/ko-6W7OGLLB-mnmqc584.js +35 -0
- package/dist/{ko-ITOPNIYI-qz39kamf.js → ko-ITOPNIYI-hmxd2asd.js} +52 -52
- package/dist/{ko-TUAK3G3A-s25w0ckg.js → ko-JOBF5V7N-4bv0mjje.js} +857 -845
- package/dist/{ko-TUAK3G3A-TBEBKOTM-ns78t2rv.js → ko-JOBF5V7N-O7T4HKIE-ape840y0.js} +857 -845
- package/dist/{ko-NAGOZLC3-wb3y9yhh.js → ko-NAGOZLC3-gaxxsnd2.js} +46 -46
- package/dist/{ko-PYOS2KJP-5sbj5bp8.js → ko-PYOS2KJP-e7dshyxy.js} +9 -9
- package/dist/localization-h8a53z6p.js +47 -0
- package/dist/node-service-362d7a6c.js +70 -0
- package/dist/{node-strategy-8gzp67xs.js → node-strategy-gc4sg6a2.js} +132 -16
- package/dist/node-sync-service-09x1zwp9.js +42 -0
- package/dist/{node-qyxvhbw6.js → node-x3a5p2p3.js} +7931 -7132
- package/dist/{packager-tool-9qecd4wb.js → packager-tool-0gctz400.js} +5 -2
- package/dist/{packager-tool-1cb0d5e0.js → packager-tool-0v3s8r01.js} +2 -2
- package/dist/{packager-tool-gasyxww9.js → packager-tool-1r8c83fc.js} +13388 -19366
- package/dist/{packager-tool-wckvcay0.js → packager-tool-1yh8g550.js} +9 -7
- package/dist/{packager-tool-cvwr40ax.js → packager-tool-226mh80j.js} +1425 -550
- package/dist/packager-tool-27avrkyk.js +15 -0
- package/dist/packager-tool-2vnjw67f.js +79 -0
- package/dist/packager-tool-2wefykg9.js +106 -0
- package/dist/{packager-tool-sf18719z.js → packager-tool-38ydychm.js} +17 -13
- package/dist/packager-tool-48f4ekg5.js +262 -0
- package/dist/{packager-tool-7yjpwj92.js → packager-tool-4hx14snw.js} +49 -48
- package/dist/{packager-tool-3wygxefb.js → packager-tool-58q3tvh7.js} +10 -10
- package/dist/packager-tool-5zrgh5vh.js +457 -0
- package/dist/packager-tool-633f58dt.js +8185 -0
- package/dist/packager-tool-7exrv6w7.js +23 -0
- package/dist/packager-tool-88cscbcz.js +757 -0
- package/dist/packager-tool-8aqtjswp.js +4234 -0
- package/dist/packager-tool-8j92afwp.js +58 -0
- package/dist/{packager-tool-vdd02vns.js → packager-tool-9bec251q.js} +543 -1493
- package/dist/packager-tool-a1hbfmws.js +399 -0
- package/dist/{packager-tool-tq9q9m77.js → packager-tool-a42jnpy5.js} +3 -9
- package/dist/packager-tool-abbtfk2v.js +54 -0
- package/dist/packager-tool-ae4jp7gn.js +121 -0
- package/dist/packager-tool-cabxfk33.js +540 -0
- package/dist/packager-tool-d1hvc3jz.js +54 -0
- package/dist/packager-tool-e0p2zsyc.js +97 -0
- package/dist/{packager-tool-m6x5sczh.js → packager-tool-em5r6g6j.js} +14 -21
- package/dist/packager-tool-eypvc2kv.js +23 -0
- package/dist/packager-tool-f0kd5kq4.js +2327 -0
- package/dist/packager-tool-gbgfwx8f.js +2 -0
- package/dist/packager-tool-gcy5q3jv.js +64 -0
- package/dist/packager-tool-h2qfyjf1.js +85 -0
- package/dist/packager-tool-h66mj8f4.js +33289 -0
- package/dist/{packager-tool-pkq70dec.js → packager-tool-h718nvz5.js} +31 -3
- package/dist/packager-tool-k99nf3pq.js +25 -0
- package/dist/packager-tool-kdasymdr.js +443 -0
- package/dist/{packager-tool-jysvpt8p.js → packager-tool-m3wkcxf5.js} +2 -2
- package/dist/{packager-tool-78a3szsp.js → packager-tool-m5qfverj.js} +1720 -2014
- package/dist/packager-tool-nq4rcqqg.js +87 -0
- package/dist/packager-tool-p6eyemwk.js +77 -0
- package/dist/{packager-tool-djagtpkt.js → packager-tool-p9stswjj.js} +2858 -19342
- package/dist/{packager-tool-y3dezh8k.js → packager-tool-rs6jm14d.js} +6 -4
- package/dist/{packager-tool-c42dp002.js → packager-tool-s36jpqhd.js} +2 -2
- package/dist/packager-tool-s9ff3kk4.js +6 -0
- package/dist/packager-tool-ss7cz4qx.js +289 -0
- package/dist/packager-tool-tf3d2y8z.js +31 -0
- package/dist/packager-tool-tn5e7wnb.js +384 -0
- package/dist/packager-tool-vpqyvh4c.js +304 -0
- package/dist/packager-tool-wnfbe9ra.js +188 -0
- package/dist/packager-tool-wzgne1ff.js +18 -0
- package/dist/{packager-tool-2xgc101h.js → packager-tool-x9wxe2bj.js} +1121 -1846
- package/dist/{packager-tool-1gt6js73.js → packager-tool-xhzfwa5p.js} +6 -4
- package/dist/packager-tool-xjbyd9mj.js +602 -0
- package/dist/packager-tool-xp46mzvq.js +4892 -0
- package/dist/{packager-tool-5arsyj36.js → packager-tool-yc4kw997.js} +4 -2
- package/dist/packager-tool-ywe4b330.js +4945 -0
- package/dist/{packager-tool-0567pxpm.js → packager-tool-z9bfhmm5.js} +10 -10
- package/dist/{packager-tool-gmrwvnyh.js → packager-tool-zfrp8ecz.js} +8 -58
- package/dist/packager-tool.js +17 -17
- package/dist/{pt-7TR74ZMB-1g8my56g.js → pt-7TR74ZMB-bmphh4x2.js} +46 -46
- package/dist/{pt-BR-7XGDXRDJ-TR5D7JYL-533wvy7p.js → pt-BR-7DYX2YPT-LZYH4YFD-bx43vx3z.js} +857 -845
- package/dist/{pt-BR-7XGDXRDJ-espnkgrj.js → pt-BR-7DYX2YPT-fqxqzqtf.js} +857 -845
- package/dist/{pt-BR-BXURWX4W-dqr4dnf9.js → pt-BR-BXURWX4W-bwfcwhk1.js} +52 -52
- package/dist/{pt-BR-DXXSYJDO-bn84ewp7.js → pt-BR-DXXSYJDO-a2tp13v7.js} +46 -46
- package/dist/pt-BR-UQCYHKMJ-q78n7q70.js +35 -0
- package/dist/{pt-BR-Z3TUDJHM-n7ngej6s.js → pt-BR-Z3TUDJHM-8v73x9s7.js} +9 -9
- package/dist/pt-D6A6MVB2-yvxca8vz.js +35 -0
- package/dist/{pt-TMVOOITK-myha14p9.js → pt-HTXGGX6Y-97t21dty.js} +857 -845
- package/dist/{pt-TMVOOITK-H2ADYHSD-ezpggv33.js → pt-HTXGGX6Y-ZHQSDFKI-vehfxadc.js} +857 -845
- package/dist/{pt-KSBWHAVQ-hd52bpsz.js → pt-KSBWHAVQ-mhvhgr2p.js} +9 -9
- package/dist/{pt-YI4VE4YQ-v7gjeg82.js → pt-YI4VE4YQ-wdkn2dcf.js} +52 -52
- package/dist/ro-4TMBHS5M-jz0anpt6.js +35 -0
- package/dist/{ro-BJFER5OI-334n28rj.js → ro-BJFER5OI-83tq8vxh.js} +46 -46
- package/dist/{ro-2VALF3S5-NXBJUEZN-nqw1zs33.js → ro-KTNQ3MNU-XIE6YPQN-gen8p82z.js} +857 -845
- package/dist/{ro-2VALF3S5-cdz5afkr.js → ro-KTNQ3MNU-y08n1x5g.js} +857 -845
- package/dist/{ro-RKXZUG7Z-cm3xn3fj.js → ro-RKXZUG7Z-nndrrsq7.js} +52 -52
- package/dist/{ro-VZUZTAMR-tccygznf.js → ro-VZUZTAMR-f4q0g3em.js} +9 -9
- package/dist/{ru-GSCT4ARZ-qj8dm4dp.js → ru-GSCT4ARZ-1sa9wbr8.js} +1 -1
- package/dist/{ru-GSCT4ARZ-FTVCGQTL-5nh4jf2e.js → ru-GSCT4ARZ-FTVCGQTL-gee86v14.js} +1 -1
- package/dist/{ru-T73OPRTC-mp5gn7gs.js → ru-T73OPRTC-4knxw497.js} +1 -1
- package/dist/{ru-WBLQ5B2U-awt245ky.js → ru-WBLQ5B2U-8r3c7v6d.js} +1 -1
- package/dist/ru-WBLQ5B2U-kdey8qa4.js +10 -0
- package/dist/{ru-WBLQ5B2U-57ezmxzz.js → ru-WBLQ5B2U-wemdzdqd.js} +1 -1
- package/dist/{serialization-GAW7UFOK-9hkdmmd2.js → serialization-J5QK3HPY-bgewpt6f.js} +158 -152
- package/dist/services/expression-validator.d.ts +28 -0
- package/dist/services/flow-eval-schema/types.d.ts +17 -0
- package/dist/services/flow-validate-service.d.ts +26 -0
- package/dist/services/node-validators/js-expression-syntax-validator.d.ts +6 -3
- package/dist/services/tidy-service.d.ts +26 -0
- package/dist/services/vars-reference-rule.d.ts +156 -0
- package/dist/shared-utils-jnsfb1v5.js +20 -0
- package/dist/tidy-service-6eyh886t.js +34 -0
- package/dist/tool.js +30 -33
- package/dist/{tr-AA6O2WSR-ga1xnymp.js → tr-AA6O2WSR-86ba4bdf.js} +52 -52
- package/dist/tr-GSQQ6SOT-hv1gyeaa.js +35 -0
- package/dist/{tr-RQTZ2DMS-bpgd4kma.js → tr-RQTZ2DMS-w3cwv8s4.js} +46 -46
- package/dist/{tr-W4AVRSQ4-bt3qqqdy.js → tr-W4AVRSQ4-hjr81xzk.js} +9 -9
- package/dist/{tr-RIFCEXFH-BZS7S7QK-q465b62g.js → tr-XHSSPNK7-GW5KVXR3-2w3f1ss6.js} +857 -845
- package/dist/{tr-RIFCEXFH-hgkb4g8y.js → tr-XHSSPNK7-cmqyc4wd.js} +857 -845
- package/dist/utils/handle-expansion.d.ts +16 -0
- package/dist/validation.js +47 -27
- package/dist/variable-service-6by7q33e.js +152 -0
- package/dist/wait-for-flow-job-zrhcm8we.js +134 -0
- package/dist/{zh-CN-IP3FMXWM-H3JI2XUM-ta4yac7h.js → zh-CN-2EHQT23P-T5XRQCVS-ac17dpc1.js} +857 -845
- package/dist/{zh-CN-IP3FMXWM-1cfarhcp.js → zh-CN-2EHQT23P-mr63c4xz.js} +857 -845
- package/dist/{zh-CN-6YRAN57T-j7jp34ws.js → zh-CN-6YRAN57T-rd7x2tqs.js} +9 -9
- package/dist/zh-CN-EDFRBU32-vvj7tmaq.js +35 -0
- package/dist/{zh-CN-R2KLHXQV-wttmznep.js → zh-CN-R2KLHXQV-agqr45ds.js} +52 -52
- package/dist/{zh-CN-ZC6LT4IN-vty9mvv8.js → zh-CN-ZC6LT4IN-kbzvvzz5.js} +46 -46
- package/dist/zh-TW-HAICM6DE-rh7k3cq7.js +35 -0
- package/dist/{zh-TW-AGIDXIPF-R4XZRDJZ-cgxxz5k4.js → zh-TW-MGZCE5BT-P6FLIUAR-zmq07vhs.js} +857 -845
- package/dist/{zh-TW-AGIDXIPF-n6r6w7vy.js → zh-TW-MGZCE5BT-c4ekmrz9.js} +857 -845
- package/dist/{zh-TW-R7Y5KVMU-q81f4z2p.js → zh-TW-R7Y5KVMU-m61y07e3.js} +46 -46
- package/dist/{zh-TW-RJGCQANM-gqn0aca0.js → zh-TW-RJGCQANM-w0x3qc1p.js} +52 -52
- package/dist/{zh-TW-SO2245GN-m5kh88bg.js → zh-TW-SO2245GN-n2bn1gg4.js} +9 -9
- package/package.json +2 -2
- package/dist/de-5KVP66U6-t37qr521.js +0 -161
- package/dist/de-WMKOGI7B-6dc1zdnp.js +0 -143
- package/dist/en-4KXU7N7B-24v330b5.js +0 -118
- package/dist/en-X4DLPKLJ-1h9gj5c1.js +0 -110
- package/dist/es-BVPGJUWA-0k59eqfv.js +0 -143
- package/dist/es-MX-U6YL5KQX-k4qvpgd4.js +0 -143
- package/dist/es-MX-XAVLOQW3-47a405kf.js +0 -161
- package/dist/es-VFPNVMP5-6sftsdxe.js +0 -161
- package/dist/fr-E5MDO4EG-f3x1jeqw.js +0 -161
- package/dist/fr-EKTTDR7Z-m2t68j0m.js +0 -143
- package/dist/ja-DPO5PPLO-fmbg7zt2.js +0 -161
- package/dist/ja-Y2YBTXNN-5sszk2zv.js +0 -143
- package/dist/ko-ITOPNIYI-aqy82jk8.js +0 -161
- package/dist/ko-S33XAV26-rfsv9myd.js +0 -143
- package/dist/packager-tool-0sz8se22.js +0 -10671
- package/dist/packager-tool-fgdsmd8k.js +0 -9850
- package/dist/packager-tool-p9j43p8h.js +0 -115
- package/dist/packager-tool-v74yk918.js +0 -107
- package/dist/packager-tool-xj0agqpk.js +0 -11
- package/dist/pt-BR-BXURWX4W-xzyndmrx.js +0 -161
- package/dist/pt-BR-JO45SCNI-mt93s33c.js +0 -143
- package/dist/pt-W3NA4LIZ-fwd1q4j0.js +0 -143
- package/dist/pt-YI4VE4YQ-521681zf.js +0 -161
- package/dist/ro-RKXZUG7Z-pdztdafr.js +0 -161
- package/dist/ro-WLKX6HF5-b9tj8q67.js +0 -143
- package/dist/ru-WBLQ5B2U-8xd4gpv2.js +0 -10
- package/dist/ru-WBLQ5B2U-mswqs9wc.js +0 -10
- package/dist/tr-3U2W2XCA-43ptfc0m.js +0 -143
- package/dist/tr-AA6O2WSR-bj9n80k8.js +0 -161
- package/dist/zh-CN-IPZYQR3P-egjmvyjf.js +0 -143
- package/dist/zh-CN-R2KLHXQV-x6gnk2n0.js +0 -161
- package/dist/zh-TW-RJGCQANM-tt8j5wv2.js +0 -161
- package/dist/zh-TW-YPVSQVGT-b378ztph.js +0 -143
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
catchError
|
|
3
|
-
} from "./packager-tool-
|
|
3
|
+
} from "./packager-tool-226mh80j.js";
|
|
4
4
|
import {
|
|
5
5
|
getFileSystem
|
|
6
|
-
} from "./packager-tool-
|
|
6
|
+
} from "./packager-tool-0v3s8r01.js";
|
|
7
7
|
|
|
8
8
|
// ../maestro-sdk/src/registry/snapshot.ts
|
|
9
9
|
function maestroRegistryRoot(filesystem) {
|
|
@@ -14,8 +14,36 @@ function maestroRegistryCurrentPath(filesystem) {
|
|
|
14
14
|
const fs = filesystem ?? getFileSystem();
|
|
15
15
|
return fs.path.join(maestroRegistryRoot(fs), "current.json");
|
|
16
16
|
}
|
|
17
|
+
var CACHE_CURRENT = "current";
|
|
18
|
+
var CACHE_LIBRARY_JSON = "library-json";
|
|
19
|
+
var CACHE_LIBRARY_MARKDOWN = "library-md";
|
|
20
|
+
var PROJECT_CONNECTORS = "connectors";
|
|
21
|
+
function libraryCacheRoot(fs) {
|
|
22
|
+
return fs.env.getenv("UIP_FLOW_SDK_LIBRARY_CACHE") || fs.path.join(fs.env.homedir(), ".uipath", "cache", "flow-sdk", "library");
|
|
23
|
+
}
|
|
24
|
+
async function findCachedLibrary(fs) {
|
|
25
|
+
const current = fs.path.join(libraryCacheRoot(fs), CACHE_CURRENT);
|
|
26
|
+
const libraryJson = fs.path.join(current, CACHE_LIBRARY_JSON);
|
|
27
|
+
if (!await fs.exists(fs.path.join(libraryJson, "index.json")))
|
|
28
|
+
return null;
|
|
29
|
+
return {
|
|
30
|
+
libraryHash: "",
|
|
31
|
+
snapshotPath: current,
|
|
32
|
+
libraryJson,
|
|
33
|
+
libraryMarkdown: fs.path.join(current, CACHE_LIBRARY_MARKDOWN),
|
|
34
|
+
connectors: fs.path.join(fs.path.resolve(fs.env.cwd()), PROJECT_CONNECTORS),
|
|
35
|
+
updatedAt: ""
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async function resolveProjectLibrary(fs) {
|
|
39
|
+
const [error, found] = await catchError(findCachedLibrary(fs));
|
|
40
|
+
return error ? null : found ?? null;
|
|
41
|
+
}
|
|
17
42
|
async function resolveMaestroRegistry(filesystem) {
|
|
18
43
|
const fs = filesystem ?? getFileSystem();
|
|
44
|
+
const project = await resolveProjectLibrary(fs);
|
|
45
|
+
if (project)
|
|
46
|
+
return project;
|
|
19
47
|
const [readError, content] = await catchError(fs.readFile(maestroRegistryCurrentPath(fs), "utf-8"));
|
|
20
48
|
if (readError || content === null)
|
|
21
49
|
return null;
|
|
@@ -38,4 +66,4 @@ async function resolveMaestroRegistry(filesystem) {
|
|
|
38
66
|
|
|
39
67
|
export { resolveMaestroRegistry };
|
|
40
68
|
|
|
41
|
-
//# debugId=
|
|
69
|
+
//# debugId=00A1694DAA6FB01064756E2164756E21
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// ../../node_modules/@uipath/flow-expression-model/dist/chunk-27WH2HMG.js
|
|
2
|
+
var expressionDiagnostic_dollarHint_replacement = ". Use `$vars.<name>`, `$self.<field>`, or another defined variable.";
|
|
3
|
+
var schemaPanel_arrayItemType_description = "Array item type";
|
|
4
|
+
var scopeService_outputDescription_fallback = "Output from {{nodeLabel}}";
|
|
5
|
+
var scopeService_variableName_containsDotsError = "Variable name cannot contain dots";
|
|
6
|
+
var scopeService_variableName_containsSpacesError = "Variable name cannot contain spaces";
|
|
7
|
+
var scopeService_variableName_invalidCharactersError = "Variable name must contain only letters, numbers, and underscores";
|
|
8
|
+
var scopeService_variableName_reservedWordError = '"{{name}}" is a reserved word';
|
|
9
|
+
var scopeService_variableName_startsWithNumberError = "Variable name cannot start with a number";
|
|
10
|
+
var validation_expression_fileExpected_message = "This value must be a file. To use a remote file, download the file first with an action that outputs a file, then reference that output.";
|
|
11
|
+
var en_default = {
|
|
12
|
+
expressionDiagnostic_dollarHint_replacement,
|
|
13
|
+
schemaPanel_arrayItemType_description,
|
|
14
|
+
scopeService_outputDescription_fallback,
|
|
15
|
+
scopeService_variableName_containsDotsError,
|
|
16
|
+
scopeService_variableName_containsSpacesError,
|
|
17
|
+
scopeService_variableName_invalidCharactersError,
|
|
18
|
+
scopeService_variableName_reservedWordError,
|
|
19
|
+
scopeService_variableName_startsWithNumberError,
|
|
20
|
+
validation_expression_fileExpected_message
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { expressionDiagnostic_dollarHint_replacement, schemaPanel_arrayItemType_description, scopeService_outputDescription_fallback, scopeService_variableName_containsDotsError, scopeService_variableName_containsSpacesError, scopeService_variableName_invalidCharactersError, scopeService_variableName_reservedWordError, scopeService_variableName_startsWithNumberError, validation_expression_fileExpected_message, en_default };
|
|
24
|
+
|
|
25
|
+
//# debugId=B4EDE4DF5DC0FCCF64756E2164756E21
|
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseJsonInputOrFile
|
|
3
|
+
} from "./packager-tool-d1hvc3jz.js";
|
|
4
|
+
import {
|
|
5
|
+
JobsApi,
|
|
6
|
+
ReleasesApi,
|
|
7
|
+
createOrchestratorConfig,
|
|
8
|
+
resolveFolder
|
|
9
|
+
} from "./packager-tool-h66mj8f4.js";
|
|
10
|
+
import {
|
|
11
|
+
getPersonalFolderKey
|
|
12
|
+
} from "./packager-tool-xjbyd9mj.js";
|
|
13
|
+
import {
|
|
14
|
+
ErrorDecision,
|
|
15
|
+
MIN_INTERVAL_MS,
|
|
16
|
+
PollOutcome,
|
|
17
|
+
catchError,
|
|
18
|
+
logger,
|
|
19
|
+
pollUntil,
|
|
20
|
+
processContext
|
|
21
|
+
} from "./packager-tool-226mh80j.js";
|
|
22
|
+
|
|
23
|
+
// src/services/http-client.ts
|
|
24
|
+
function buildCommonHeaders(config, options) {
|
|
25
|
+
const headers = {
|
|
26
|
+
Authorization: `Bearer ${config.authToken}`,
|
|
27
|
+
Accept: "application/json"
|
|
28
|
+
};
|
|
29
|
+
if (options?.includeContentType !== false) {
|
|
30
|
+
headers["Content-Type"] = "application/json";
|
|
31
|
+
}
|
|
32
|
+
if (config.organizationUnitId) {
|
|
33
|
+
headers["X-UIPATH-OrganizationUnitId"] = config.organizationUnitId.toString();
|
|
34
|
+
}
|
|
35
|
+
if (config.folderKey) {
|
|
36
|
+
headers["x-uipath-folderkey"] = config.folderKey;
|
|
37
|
+
}
|
|
38
|
+
return headers;
|
|
39
|
+
}
|
|
40
|
+
function buildOrchestratorHeaders(config) {
|
|
41
|
+
return buildCommonHeaders(config);
|
|
42
|
+
}
|
|
43
|
+
function buildOrchestratorUrl(config, path) {
|
|
44
|
+
return `${config.baseUrl}/${config.organizationId}/${config.tenantName}/orchestrator_${path}`;
|
|
45
|
+
}
|
|
46
|
+
async function orchestratorGet(config, path) {
|
|
47
|
+
const url = buildOrchestratorUrl(config, path);
|
|
48
|
+
const headers = buildOrchestratorHeaders(config);
|
|
49
|
+
if (typeof process !== "undefined" && process.env?.DEBUG) {
|
|
50
|
+
logger.info(`DEBUG GET: ${url}`);
|
|
51
|
+
}
|
|
52
|
+
const response = await fetch(url, {
|
|
53
|
+
method: "GET",
|
|
54
|
+
headers
|
|
55
|
+
});
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
const errorText = await response.text();
|
|
58
|
+
throw new Error(`API request failed: ${response.status} ${response.statusText} - ${errorText}`);
|
|
59
|
+
}
|
|
60
|
+
return response.json();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// src/services/flow-api.ts
|
|
64
|
+
function escapeODataStringLiteral(value) {
|
|
65
|
+
return value.replace(/'/g, "''");
|
|
66
|
+
}
|
|
67
|
+
async function resolveFlowFolderId(config) {
|
|
68
|
+
if (config.folderKey) {
|
|
69
|
+
const folder = await resolveFolder({ folderKey: config.folderKey }, { tenant: config.tenantName });
|
|
70
|
+
return folder.id.toString();
|
|
71
|
+
}
|
|
72
|
+
const personalFolder = await getPersonalFolderKey({
|
|
73
|
+
baseUrl: config.baseUrl,
|
|
74
|
+
organizationId: config.organizationId,
|
|
75
|
+
tenantName: config.tenantName,
|
|
76
|
+
tenantId: config.tenantId,
|
|
77
|
+
authToken: config.authToken
|
|
78
|
+
});
|
|
79
|
+
return personalFolder.id.toString();
|
|
80
|
+
}
|
|
81
|
+
async function listFlowProcesses(config, filter) {
|
|
82
|
+
const folder = await resolveFolder({ folderKey: config.folderKey }, { tenant: config.tenantName });
|
|
83
|
+
const sdkConfig = await createOrchestratorConfig({
|
|
84
|
+
folderId: folder.id.toString()
|
|
85
|
+
});
|
|
86
|
+
const releasesApi = new ReleasesApi(sdkConfig);
|
|
87
|
+
const filters = ["ProcessType eq 'Flow'"];
|
|
88
|
+
if (filter) {
|
|
89
|
+
filters.push(filter);
|
|
90
|
+
}
|
|
91
|
+
const filterQuery = filters.length > 0 ? filters.join(" and ") : undefined;
|
|
92
|
+
const response = await releasesApi.releasesGet({
|
|
93
|
+
$filter: filterQuery
|
|
94
|
+
});
|
|
95
|
+
return response.value || [];
|
|
96
|
+
}
|
|
97
|
+
async function listFlowJobs(config, options = {}) {
|
|
98
|
+
const folderId = await resolveFlowFolderId(config);
|
|
99
|
+
const sdkConfig = await createOrchestratorConfig({
|
|
100
|
+
folderId
|
|
101
|
+
});
|
|
102
|
+
const jobsApi = new JobsApi(sdkConfig);
|
|
103
|
+
const filters = ["ProcessType eq 'Flow'"];
|
|
104
|
+
if (options.state) {
|
|
105
|
+
filters.push(`State eq '${escapeODataStringLiteral(options.state)}'`);
|
|
106
|
+
}
|
|
107
|
+
if (options.processName) {
|
|
108
|
+
filters.push(`contains(ReleaseName, '${escapeODataStringLiteral(options.processName)}')`);
|
|
109
|
+
}
|
|
110
|
+
const response = await jobsApi.jobsGet({
|
|
111
|
+
$filter: filters.join(" and "),
|
|
112
|
+
$expand: "Release,Machine",
|
|
113
|
+
$top: options.limit,
|
|
114
|
+
$skip: options.offset,
|
|
115
|
+
$orderby: options.orderBy
|
|
116
|
+
});
|
|
117
|
+
return response.value || [];
|
|
118
|
+
}
|
|
119
|
+
async function getFlowEntryPoints(config) {
|
|
120
|
+
const folder = await resolveFolder({ folderKey: config.folderKey }, { tenant: config.tenantName });
|
|
121
|
+
const apiConfig = {
|
|
122
|
+
baseUrl: config.baseUrl,
|
|
123
|
+
organizationId: config.organizationId,
|
|
124
|
+
tenantName: config.tenantName,
|
|
125
|
+
authToken: config.authToken,
|
|
126
|
+
organizationUnitId: folder.id
|
|
127
|
+
};
|
|
128
|
+
const feedIdParam = config.feedId ? `?feedId=${config.feedId}` : "";
|
|
129
|
+
const path = `/odata/Processes/UiPath.Server.Configuration.OData.GetPackageEntryPointsV2(key='${config.processKey}')${feedIdParam}`;
|
|
130
|
+
const response = await orchestratorGet(apiConfig, path);
|
|
131
|
+
return response.value;
|
|
132
|
+
}
|
|
133
|
+
async function startFlowJob(config) {
|
|
134
|
+
const folder = await resolveFolder({ folderKey: config.folderKey }, { tenant: config.tenantName });
|
|
135
|
+
const sdkConfig = await createOrchestratorConfig({
|
|
136
|
+
folderId: folder.id.toString()
|
|
137
|
+
});
|
|
138
|
+
const jobsApi = new JobsApi(sdkConfig);
|
|
139
|
+
const inputArguments = config.inputs ? JSON.stringify(config.inputs) : "{}";
|
|
140
|
+
const startInfo = {
|
|
141
|
+
releaseKey: config.releaseKey,
|
|
142
|
+
inputArguments,
|
|
143
|
+
runAsMe: true
|
|
144
|
+
};
|
|
145
|
+
if (config.robotIds && config.robotIds.length > 0) {
|
|
146
|
+
startInfo.robotIds = config.robotIds;
|
|
147
|
+
}
|
|
148
|
+
const response = await jobsApi.jobsStartJobs({
|
|
149
|
+
body: { startInfo }
|
|
150
|
+
});
|
|
151
|
+
if (!response.value || response.value.length === 0) {
|
|
152
|
+
throw new Error("Failed to start job: No job returned from API");
|
|
153
|
+
}
|
|
154
|
+
return response.value[0];
|
|
155
|
+
}
|
|
156
|
+
async function _getJobStatus(config, jobKey) {
|
|
157
|
+
const folder = config.folderKey ? await resolveFolder({ folderKey: config.folderKey }, { tenant: config.tenantName }) : await getPersonalFolderKey({
|
|
158
|
+
baseUrl: config.baseUrl,
|
|
159
|
+
organizationId: config.organizationId,
|
|
160
|
+
tenantName: config.tenantName,
|
|
161
|
+
tenantId: config.tenantId,
|
|
162
|
+
authToken: config.authToken
|
|
163
|
+
});
|
|
164
|
+
const sdkConfig = await createOrchestratorConfig({
|
|
165
|
+
folderId: folder.id.toString()
|
|
166
|
+
});
|
|
167
|
+
const jobsApi = new JobsApi(sdkConfig);
|
|
168
|
+
const response = await jobsApi.jobsGet({
|
|
169
|
+
$filter: `Key eq ${jobKey}`,
|
|
170
|
+
$top: 1
|
|
171
|
+
});
|
|
172
|
+
if (!response.value || response.value.length === 0) {
|
|
173
|
+
throw new Error(`Job not found: ${jobKey}`);
|
|
174
|
+
}
|
|
175
|
+
return response.value[0];
|
|
176
|
+
}
|
|
177
|
+
async function getFlowTraces(config, traceId) {
|
|
178
|
+
if (!config.tenantName) {
|
|
179
|
+
throw new Error("Tenant name is required for Traces API. Please ensure you're logged in properly.");
|
|
180
|
+
}
|
|
181
|
+
const serviceName = config.tracesServiceName || "llmopstenant_";
|
|
182
|
+
const traceIdNoHyphens = traceId.replaceAll("-", "");
|
|
183
|
+
const url = `${config.baseUrl}/${config.organizationId}/${config.tenantName}/${serviceName}/api/Traces/v2/spans/otel?traceId=${traceIdNoHyphens}`;
|
|
184
|
+
const headers = {
|
|
185
|
+
Authorization: `Bearer ${config.authToken}`,
|
|
186
|
+
"Content-Type": "application/json",
|
|
187
|
+
Accept: "application/json"
|
|
188
|
+
};
|
|
189
|
+
if (config.folderKey) {
|
|
190
|
+
headers["x-uipath-folderkey"] = config.folderKey;
|
|
191
|
+
}
|
|
192
|
+
logger.debug(`GET TRACES: ${url}`);
|
|
193
|
+
const response = await fetch(url, {
|
|
194
|
+
method: "GET",
|
|
195
|
+
headers
|
|
196
|
+
});
|
|
197
|
+
logger.debug(`TRACES RESPONSE: ${response.status} ${response.statusText}`);
|
|
198
|
+
if (!response.ok) {
|
|
199
|
+
const errorText = await response.text();
|
|
200
|
+
logger.debug(`TRACES ERROR BODY: ${errorText.substring(0, 200)}`);
|
|
201
|
+
throw new Error(`Traces API failed: ${response.status} ${response.statusText} - ${errorText}`);
|
|
202
|
+
}
|
|
203
|
+
const parsed = await response.json();
|
|
204
|
+
const data = Array.isArray(parsed) ? parsed : parsed.Spans ?? [];
|
|
205
|
+
logger.debug(`TRACES DATA: ${JSON.stringify(data).substring(0, 200)}`);
|
|
206
|
+
return data;
|
|
207
|
+
}
|
|
208
|
+
function spanToTraceEvent(span) {
|
|
209
|
+
let attributes = {};
|
|
210
|
+
try {
|
|
211
|
+
attributes = JSON.parse(span.Attributes);
|
|
212
|
+
} catch {}
|
|
213
|
+
const duration = span.EndTime ? new Date(span.EndTime).getTime() - new Date(span.StartTime).getTime() : undefined;
|
|
214
|
+
return {
|
|
215
|
+
timestamp: span.StartTime,
|
|
216
|
+
spanId: span.Id,
|
|
217
|
+
parentId: span.ParentId,
|
|
218
|
+
name: span.Name,
|
|
219
|
+
type: span.SpanType,
|
|
220
|
+
status: attributes.status || "Unknown",
|
|
221
|
+
duration,
|
|
222
|
+
attributes
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
async function startFlowProjectJob(config) {
|
|
226
|
+
if (!config.releaseKey) {
|
|
227
|
+
throw new Error("Release key is required. Use 'flow project list' to find it.");
|
|
228
|
+
}
|
|
229
|
+
return startFlowJob(config);
|
|
230
|
+
}
|
|
231
|
+
var TRACE_TERMINAL_STATES = ["Completed", "Faulted", "Cancelled"];
|
|
232
|
+
var JOB_TERMINAL_STATES = [
|
|
233
|
+
"Successful",
|
|
234
|
+
"Completed",
|
|
235
|
+
"Faulted",
|
|
236
|
+
"Stopped",
|
|
237
|
+
"Cancelled"
|
|
238
|
+
];
|
|
239
|
+
function isTransientTraceError(error) {
|
|
240
|
+
return error.message.includes("404") || error.message.includes("400");
|
|
241
|
+
}
|
|
242
|
+
function getJobState(job) {
|
|
243
|
+
return job.state;
|
|
244
|
+
}
|
|
245
|
+
function isTerminalJobState(state) {
|
|
246
|
+
return state !== undefined && JOB_TERMINAL_STATES.includes(state);
|
|
247
|
+
}
|
|
248
|
+
function extractTerminalStatus(spans) {
|
|
249
|
+
const processRunSpan = spans.find((s) => s.SpanType === "ProcessRun");
|
|
250
|
+
if (!processRunSpan) {
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
try {
|
|
254
|
+
const attributes = JSON.parse(processRunSpan.Attributes);
|
|
255
|
+
const status = attributes.status;
|
|
256
|
+
if (status && TRACE_TERMINAL_STATES.includes(status)) {
|
|
257
|
+
return status;
|
|
258
|
+
}
|
|
259
|
+
} catch {
|
|
260
|
+
logger.warn("Failed to parse ProcessRun span attributes");
|
|
261
|
+
}
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
async function streamJobTraces(config, jobKey, options = {}) {
|
|
265
|
+
const startTime = Date.now();
|
|
266
|
+
const pollInterval = options.pollInterval || 2000;
|
|
267
|
+
const maxPolls = options.maxPolls || 300;
|
|
268
|
+
const traceId = jobKey;
|
|
269
|
+
const effectiveInterval = Math.max(pollInterval, MIN_INTERVAL_MS);
|
|
270
|
+
const timeoutMs = maxPolls * effectiveInterval;
|
|
271
|
+
const seenSpanIds = new Set;
|
|
272
|
+
let tracesFound = false;
|
|
273
|
+
let transientErrorCount = 0;
|
|
274
|
+
let terminalJobState;
|
|
275
|
+
const result = await pollUntil({
|
|
276
|
+
fn: () => getFlowTraces(config, traceId),
|
|
277
|
+
until: (spans) => extractTerminalStatus(spans) !== undefined,
|
|
278
|
+
label: `job ${jobKey}`,
|
|
279
|
+
logPrefix: "flow",
|
|
280
|
+
intervalMs: pollInterval,
|
|
281
|
+
timeoutMs,
|
|
282
|
+
maxConsecutiveErrors: 0,
|
|
283
|
+
signal: processContext.pollSignal,
|
|
284
|
+
onPoll: (spans) => {
|
|
285
|
+
transientErrorCount = 0;
|
|
286
|
+
if (!tracesFound && spans.length > 0) {
|
|
287
|
+
tracesFound = true;
|
|
288
|
+
logger.info("Execution started, streaming traces...");
|
|
289
|
+
}
|
|
290
|
+
for (const span of spans) {
|
|
291
|
+
if (!seenSpanIds.has(span.Id)) {
|
|
292
|
+
seenSpanIds.add(span.Id);
|
|
293
|
+
options.onTrace?.(spanToTraceEvent(span));
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
onError: async (error) => {
|
|
298
|
+
if (isTransientTraceError(error)) {
|
|
299
|
+
const [statusError, job] = await catchError(_getJobStatus(config, jobKey));
|
|
300
|
+
if (statusError) {
|
|
301
|
+
logger.debug(`Failed to check job status after traces error: ${statusError.message}`);
|
|
302
|
+
} else {
|
|
303
|
+
const state = getJobState(job);
|
|
304
|
+
if (isTerminalJobState(state)) {
|
|
305
|
+
terminalJobState = state;
|
|
306
|
+
return ErrorDecision.Abort;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
if (!tracesFound && transientErrorCount % 5 === 0) {
|
|
310
|
+
logger.info("Waiting for traces...");
|
|
311
|
+
}
|
|
312
|
+
transientErrorCount++;
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
return ErrorDecision.Abort;
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
const elapsed = Date.now() - startTime;
|
|
319
|
+
if (result.outcome === PollOutcome.Completed && result.data) {
|
|
320
|
+
const status = extractTerminalStatus(result.data);
|
|
321
|
+
const finalState = status ?? "Unknown";
|
|
322
|
+
const runResult = {
|
|
323
|
+
success: finalState === "Completed",
|
|
324
|
+
jobKey,
|
|
325
|
+
traceId,
|
|
326
|
+
finalState,
|
|
327
|
+
duration: elapsed
|
|
328
|
+
};
|
|
329
|
+
options.onComplete?.(runResult);
|
|
330
|
+
return runResult;
|
|
331
|
+
}
|
|
332
|
+
if (result.outcome === PollOutcome.Timeout) {
|
|
333
|
+
return {
|
|
334
|
+
success: false,
|
|
335
|
+
jobKey,
|
|
336
|
+
traceId,
|
|
337
|
+
error: `Polling timed out after ${timeoutMs / 1000}s`,
|
|
338
|
+
duration: elapsed,
|
|
339
|
+
finalState: "Failed"
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
if (terminalJobState) {
|
|
343
|
+
return {
|
|
344
|
+
success: false,
|
|
345
|
+
jobKey,
|
|
346
|
+
traceId,
|
|
347
|
+
error: `Job already completed or reached terminal state '${terminalJobState}' before trace data became available.`,
|
|
348
|
+
duration: elapsed,
|
|
349
|
+
finalState: terminalJobState
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
const errorMsg = result.error?.message ?? `Polling ended: ${result.outcome}`;
|
|
353
|
+
return {
|
|
354
|
+
success: false,
|
|
355
|
+
jobKey,
|
|
356
|
+
traceId,
|
|
357
|
+
error: errorMsg,
|
|
358
|
+
duration: elapsed,
|
|
359
|
+
finalState: "Failed"
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
async function getJobStatusDetailed(config, jobKey) {
|
|
363
|
+
const folderId = await resolveFlowFolderId(config);
|
|
364
|
+
const sdkConfig = await createOrchestratorConfig({
|
|
365
|
+
folderId
|
|
366
|
+
});
|
|
367
|
+
const jobsApi = new JobsApi(sdkConfig);
|
|
368
|
+
const response = await jobsApi.jobsGet({
|
|
369
|
+
$filter: `Key eq ${jobKey}`,
|
|
370
|
+
$expand: "Robot,Release,Machine",
|
|
371
|
+
$top: 1
|
|
372
|
+
});
|
|
373
|
+
if (!response.value || response.value.length === 0) {
|
|
374
|
+
throw new Error(`Job not found: ${jobKey}`);
|
|
375
|
+
}
|
|
376
|
+
return response.value[0];
|
|
377
|
+
}
|
|
378
|
+
function isJobAttachmentReference(value) {
|
|
379
|
+
if (typeof value !== "object" || value === null) {
|
|
380
|
+
return false;
|
|
381
|
+
}
|
|
382
|
+
const ref = value;
|
|
383
|
+
return typeof ref.ID === "string" && typeof ref.FullName === "string";
|
|
384
|
+
}
|
|
385
|
+
async function validateFlowInputs(config, inputs) {
|
|
386
|
+
try {
|
|
387
|
+
const entryPoints = await getFlowEntryPoints(config);
|
|
388
|
+
if (entryPoints.length === 0) {
|
|
389
|
+
return {
|
|
390
|
+
valid: false,
|
|
391
|
+
errors: ["No entry points found for this process"]
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
const entryPoint = entryPoints[0];
|
|
395
|
+
const inputSchema = JSON.parse(entryPoint.InputArguments);
|
|
396
|
+
if (inputSchema.type !== "object") {
|
|
397
|
+
return { valid: true };
|
|
398
|
+
}
|
|
399
|
+
const errors = [];
|
|
400
|
+
const requiredProps = inputSchema.required || [];
|
|
401
|
+
for (const prop of requiredProps) {
|
|
402
|
+
if (!(prop in inputs)) {
|
|
403
|
+
errors.push(`Missing required property: ${prop}`);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
if (inputSchema.properties) {
|
|
407
|
+
for (const [key, value] of Object.entries(inputs)) {
|
|
408
|
+
if (inputSchema.properties[key]?.type) {
|
|
409
|
+
const expectedType = inputSchema.properties[key].type;
|
|
410
|
+
const actualType = typeof value;
|
|
411
|
+
if (expectedType === "string" && isJobAttachmentReference(value)) {
|
|
412
|
+
continue;
|
|
413
|
+
}
|
|
414
|
+
if (expectedType === "string" && actualType !== "string") {
|
|
415
|
+
errors.push(`Property '${key}' should be string, got ${actualType}`);
|
|
416
|
+
} else if (expectedType === "number" && actualType !== "number") {
|
|
417
|
+
errors.push(`Property '${key}' should be number, got ${actualType}`);
|
|
418
|
+
} else if (expectedType === "boolean" && actualType !== "boolean") {
|
|
419
|
+
errors.push(`Property '${key}' should be boolean, got ${actualType}`);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
return {
|
|
425
|
+
valid: errors.length === 0,
|
|
426
|
+
errors: errors.length > 0 ? errors : undefined
|
|
427
|
+
};
|
|
428
|
+
} catch (error) {
|
|
429
|
+
return {
|
|
430
|
+
valid: false,
|
|
431
|
+
errors: [
|
|
432
|
+
`Failed to validate inputs: ${error instanceof Error ? error.message : String(error)}`
|
|
433
|
+
]
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
async function parseFlowInputs(inputSource) {
|
|
438
|
+
return await parseJsonInputOrFile(inputSource);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
export { listFlowProcesses, listFlowJobs, getFlowEntryPoints, spanToTraceEvent, startFlowProjectJob, streamJobTraces, getJobStatusDetailed, validateFlowInputs, parseFlowInputs };
|
|
442
|
+
|
|
443
|
+
//# debugId=3818A92E7448BBB464756E2164756E21
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// ../../node_modules/@uipath/flow-
|
|
1
|
+
// ../../node_modules/@uipath/flow-expression-model/dist/chunk-QKQ47GQZ.js
|
|
2
2
|
var __glob = (map) => (path) => {
|
|
3
3
|
var fn = map[path];
|
|
4
4
|
if (fn)
|
|
@@ -8,4 +8,4 @@ var __glob = (map) => (path) => {
|
|
|
8
8
|
|
|
9
9
|
export { __glob };
|
|
10
10
|
|
|
11
|
-
//# debugId=
|
|
11
|
+
//# debugId=9F7CA621D9317B9F64756E2164756E21
|