@uipath/maestro-tool 1.202.2 → 1.203.0-preview.180

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 (193) hide show
  1. package/README.md +8 -0
  2. package/dist/THIRD-PARTY-NOTICES.md +83 -290
  3. package/dist/{authoring-818595dq.js → authoring-at68vr5g.js} +7 -5
  4. package/dist/{authoring-6r3wx3fa.js → authoring-sh284a0x.js} +3 -3
  5. package/dist/{authoring-61hqf5em.js → authoring-szfy0rh1.js} +5 -5
  6. package/dist/{binding-service-643e69bb.js → binding-service-8a05gy4k.js} +37 -29
  7. package/dist/{bpmn-action-type-validator-kx36sqhe.js → bpmn-action-type-validator-8kvyvvcf.js} +2 -2
  8. package/dist/bpmn-binding-resolver-5scq28mc.js +145 -0
  9. package/dist/{bpmn-branch-y1m9f10n.js → bpmn-branch-t12a7jvf.js} +50 -44
  10. package/dist/bpmn-format-service-ay6jd9he.js +69 -0
  11. package/dist/{bpmn-refresh-service-ew545y06.js → bpmn-refresh-service-ak1ctkwg.js} +4 -4
  12. package/dist/{bpmn-update-metadata-service-jhahhjab.js → bpmn-update-metadata-service-hqe4edze.js} +6 -5
  13. package/dist/{bpmn-validate-service-6z2dj8ac.js → bpmn-validate-service-48sfy3a2.js} +3 -3
  14. package/dist/{case-api-4mstfkzf.js → case-api-e3fmq685.js} +6 -6
  15. package/dist/case-bindings-service-nswc6v0v.js +240 -0
  16. package/dist/case-debug-studio-web-service-58gtqznh.js +135 -0
  17. package/dist/case-format-service-6s5e1ckk.js +84 -0
  18. package/dist/{case-pack-service-v7wtb0qt.js → case-pack-service-sg435he1.js} +62 -11
  19. package/dist/{case-validate-service-bnpaf0zt.js → case-validate-service-7s69shsa.js} +1424 -42
  20. package/dist/{connector-enrichment-service-scrqnke3.js → connector-enrichment-service-9rqr3esj.js} +27 -26
  21. package/dist/{connector-lookup-service-hnk08t3m.js → connector-lookup-service-pencasp9.js} +5 -5
  22. package/dist/{connector-service-581bhxaj.js → connector-service-k4cgcv2b.js} +224 -56
  23. package/dist/{connector-task-spec-y2tcthz5.js → connector-task-spec-13ex0x0m.js} +27 -26
  24. package/dist/{conversion-FQTRFHRX-03xh3xbp.js → conversion-FQTRFHRX-0y9br7gw.js} +6 -5
  25. package/dist/de-FGHEJRCI-gn4cf5gh.js +2697 -0
  26. package/dist/de-MUJPA4EB-dpg7t2rw.js +173 -0
  27. package/dist/{debug-conversation-trigger-nj04k7s2.js → debug-conversation-trigger-wgzjaasj.js} +17 -14
  28. package/dist/{debug-http-client-c4teyma3.js → debug-http-client-7dvbwp96.js} +2 -2
  29. package/dist/{debug-service-m5jdyz3q.js → debug-service-8cwxhgww.js} +3 -3
  30. package/dist/{edge-service-vv2yfsn4.js → edge-service-szpsaezp.js} +17 -14
  31. package/dist/{index-yqfqxh2r.js → embedded-file-reader-0sjt4nkj.js} +96 -16641
  32. package/dist/{en-TBNO2WUV-rfe87pgh.js → en-BWGKA5OE-1qkvb9rn.js} +2 -2
  33. package/dist/en-FBPVNKFN-dqt573xn.js +138 -0
  34. package/dist/en-TBNO2WUV-9nan43e5.js +1936 -0
  35. package/dist/{enrichment-service-a65qt7y1.js → enrichment-service-7n1tf75p.js} +4 -4
  36. package/dist/es-7SE7HX2X-8yh1aj2y.js +173 -0
  37. package/dist/es-KR3ZSNMP-0cszm2n3.js +2697 -0
  38. package/dist/es-MX-2MYFZU7X-3rek4r73.js +173 -0
  39. package/dist/es-MX-XXZJGC4R-b4fbwe9d.js +2697 -0
  40. package/dist/first-party-service-srxaftkn.js +27 -0
  41. package/dist/{flow-api-vqvvs0q2.js → flow-api-4vkpbmt3.js} +7 -7
  42. package/dist/{flow-debug-service-vd7bdyhg.js → flow-debug-service-9tad5ckh.js} +66 -41
  43. package/dist/{flow-eval-node-target-mve3v55h.js → flow-eval-node-target-g222rh2e.js} +22 -15
  44. package/dist/flow-eval-run-api-hashjgq1.js +13 -0
  45. package/dist/{flow-eval-run-service-rt9kg4wx.js → flow-eval-run-service-btghb02r.js} +109 -224
  46. package/dist/{flow-eval-service-ededh59n.js → flow-eval-service-ma5psrsd.js} +346 -302
  47. package/dist/{flow-init-service-4ve9tr0t.js → flow-init-service-662zhfd3.js} +22 -18
  48. package/dist/{flow-io-2dd3sx38.js → flow-io-3cqz0svg.js} +16 -13
  49. package/dist/{flow-migrate-service-nbe6et60.js → flow-migrate-service-ehx7nmsr.js} +18 -14
  50. package/dist/{flow-pack-service-b2n877d8.js → flow-pack-service-a3w3489r.js} +43 -35
  51. package/dist/flow-validate-service-02e21w4d.js +3555 -0
  52. package/dist/fr-MDFKNZ4C-h4a122k9.js +173 -0
  53. package/dist/fr-Y6NPVODW-q5ef3htr.js +2697 -0
  54. package/dist/{governance-fetcher-at165287.js → governance-fetcher-7vxmap1e.js} +5 -4
  55. package/dist/{headless-85f2cys0.js → headless-627q5my5.js} +42909 -1756
  56. package/dist/{hitl-service-xn1bt80z.js → hitl-service-fn94tk6z.js} +16 -13
  57. package/dist/{index-hfsfzg4k.js → index-3arytfxn.js} +6 -4
  58. package/dist/{index-d1yqqk6q.js → index-55cym5j7.js} +6 -4
  59. package/dist/{index-0j6xww0f.js → index-9f94yk28.js} +3 -3
  60. package/dist/{index-1kgxzh8x.js → index-fz4ttsde.js} +14 -2
  61. package/dist/index-gvwc29bb.js +16742 -0
  62. package/dist/{index-mkgrn150.js → index-j1azsfr5.js} +36 -33
  63. package/dist/index-kmp9fmhb.js +25 -0
  64. package/dist/{index-938ee96p.js → index-rtg24r4x.js} +1 -1
  65. package/dist/index-tzccx5ym.js +2961 -0
  66. package/dist/{index-acd6bpqc.js → index-ymsd3pyx.js} +12 -15
  67. package/dist/index.js +3 -3
  68. package/dist/{input-reader-1wda1a2v.js → input-reader-7pzkcw6t.js} +1 -1
  69. package/dist/{input-reader-svafwk7x.js → input-reader-j8rvde4z.js} +1 -1
  70. package/dist/ja-Q5PXKJ2V-tzf2rvz2.js +2697 -0
  71. package/dist/ja-UTQEAP34-8e0q6swp.js +173 -0
  72. package/dist/known-types-8dhhqk35.js +19 -0
  73. package/dist/ko-AXCHW2OK-askct7f6.js +173 -0
  74. package/dist/ko-AYBDSRZG-am0h0m2r.js +2697 -0
  75. package/dist/{maestro-automate-entry-gwntzkvj.js → maestro-automate-entry-jehpbg37.js} +2 -2
  76. package/dist/{maestro-debug-service-dvh7qbx8.js → maestro-debug-service-xhtszkrc.js} +10 -10
  77. package/dist/{maestro-pack-service-fam5zdm3.js → maestro-pack-service-fkkc5g3v.js} +12 -6
  78. package/dist/{node-ks3095fb.js → node-p4bde6qy.js} +2344 -376
  79. package/dist/node-service-frvz67y3.js +83 -0
  80. package/dist/{node-sync-service-zwvm30qg.js → node-sync-service-wa2t7c65.js} +14 -14
  81. package/dist/{packager-tool-me5q0naa.js → packager-tool-095jzn8v.js} +16 -6
  82. package/dist/{packager-tool-y5f2qhfe.js → packager-tool-19030vpg.js} +32 -2
  83. package/dist/{packager-tool-gtqkcj4x.js → packager-tool-2c1rbj85.js} +310 -13
  84. package/dist/packager-tool-2q1mffef.js +261 -0
  85. package/dist/{flow-validate-service-0hxf5080.js → packager-tool-2xrng5ff.js} +1956 -3065
  86. package/dist/{packager-tool-8dgxmjzx.js → packager-tool-30ky51ca.js} +6 -3
  87. package/dist/{packager-tool-d5mjdpbf.js → packager-tool-4r35ye9r.js} +5 -4
  88. package/dist/packager-tool-53w8skv5.js +262 -0
  89. package/dist/{packager-tool-db4jm1rz.js → packager-tool-56gcg9de.js} +1 -1
  90. package/dist/{packager-tool-29eg86w6.js → packager-tool-6rsegsby.js} +6 -7
  91. package/dist/packager-tool-7msx23gd.js +13 -0
  92. package/dist/packager-tool-7q6z6npd.js +1937 -0
  93. package/dist/packager-tool-8qp60s20.js +12 -0
  94. package/dist/{packager-tool-s1r7krkp.js → packager-tool-9pccpz3r.js} +1 -1
  95. package/dist/{packager-tool-m351tkkr.js → packager-tool-c95fhhys.js} +30 -8
  96. package/dist/{packager-tool-kg5sxneg.js → packager-tool-cmzzh4f8.js} +72 -73
  97. package/dist/{packager-tool-ffvmys2r.js → packager-tool-cr0z8cbj.js} +5 -5
  98. package/dist/{packager-tool-8fkt71n4.js → packager-tool-cs1ec1da.js} +4 -3
  99. package/dist/{packager-tool-xatnrtwp.js → packager-tool-d2813z49.js} +9 -9
  100. package/dist/packager-tool-d88rqwk8.js +135 -0
  101. package/dist/{packager-tool-pm3qh1hy.js → packager-tool-dh5nppv4.js} +1 -1
  102. package/dist/packager-tool-dqxz5v18.js +486 -0
  103. package/dist/{packager-tool-r87gxwqa.js → packager-tool-e87tzg4y.js} +2 -2
  104. package/dist/{packager-tool-w9fd7vzs.js → packager-tool-f33sg3vr.js} +9 -9
  105. package/dist/{packager-tool-cj2ka9jr.js → packager-tool-fer9mdsq.js} +2 -2
  106. package/dist/{packager-tool-70eh7rpg.js → packager-tool-fm67whdy.js} +23 -5
  107. package/dist/packager-tool-fq7wtkd3.js +21012 -0
  108. package/dist/packager-tool-fvm2dddf.js +6297 -0
  109. package/dist/packager-tool-gdtpsdn7.js +342 -0
  110. package/dist/{packager-tool-ejyeka5x.js → packager-tool-gpwec9sp.js} +2 -2
  111. package/dist/{packager-tool-pap09zfh.js → packager-tool-h8x54cvx.js} +1 -1
  112. package/dist/{packager-tool-9vh3df76.js → packager-tool-hdmhxdch.js} +7 -7
  113. package/dist/packager-tool-hnyecbk6.js +88 -0
  114. package/dist/{packager-tool-mtbak8t4.js → packager-tool-j00gcgbs.js} +2 -2
  115. package/dist/packager-tool-j78fwwhq.js +16 -0
  116. package/dist/packager-tool-jysvpt8p.js +11 -0
  117. package/dist/{packager-tool-jfv7t0c8.js → packager-tool-kb554twx.js} +94 -94
  118. package/dist/{packager-tool-k4x5yn3p.js → packager-tool-khm7zsm8.js} +4 -1
  119. package/dist/packager-tool-kj0qc4f4.js +269 -0
  120. package/dist/{packager-tool-12636p2y.js → packager-tool-mcjjj1hk.js} +4 -4
  121. package/dist/{packager-tool-bftjhmqz.js → packager-tool-mfrdmqmt.js} +124 -2
  122. package/dist/{packager-tool-qgh5yaeh.js → packager-tool-mj89jhvb.js} +1 -1
  123. package/dist/{packager-tool-ve35117x.js → packager-tool-mjz4hma1.js} +5791 -176
  124. package/dist/packager-tool-paq9c70w.js +1332 -0
  125. package/dist/{packager-tool-d8v984ah.js → packager-tool-q2gwvnf5.js} +15 -56
  126. package/dist/{packager-tool-nmznynbj.js → packager-tool-qff6ang6.js} +1 -1
  127. package/dist/{packager-tool-j79gbsee.js → packager-tool-rg5pkkf0.js} +6 -6
  128. package/dist/{packager-tool-7309ymg1.js → packager-tool-s1466723.js} +10 -13
  129. package/dist/{packager-tool-54b4v7wp.js → packager-tool-te6rrpsz.js} +205 -195
  130. package/dist/packager-tool-vcjq9xkc.js +1895 -0
  131. package/dist/{packager-tool-w20r6n9v.js → packager-tool-vck7ct1e.js} +2877 -2221
  132. package/dist/{packager-tool-e8td7b01.js → packager-tool-vdc8r21p.js} +10328 -16610
  133. package/dist/{packager-tool-nxw5yzs7.js → packager-tool-vqcnvaae.js} +1 -1
  134. package/dist/{packager-tool-7rz102fw.js → packager-tool-wd01egnx.js} +1 -1
  135. package/dist/{packager-tool-gxqd24n0.js → packager-tool-wger1vt9.js} +7 -7
  136. package/dist/{packager-tool-a6yfnjgx.js → packager-tool-wynrdnqj.js} +1 -1
  137. package/dist/packager-tool-x0eamrk4.js +104577 -0
  138. package/dist/packager-tool-x92czn5x.js +208 -0
  139. package/dist/{packager-tool-am67sn1c.js → packager-tool-xtkgeccn.js} +1 -1
  140. package/dist/packager-tool-y59jhapb.js +10369 -0
  141. package/dist/{packager-tool-317z6dc1.js → packager-tool-ydg78w9z.js} +23 -23
  142. package/dist/{packager-tool-rr8hveb9.js → packager-tool-ygrrb1zh.js} +1 -1
  143. package/dist/{packager-tool-f0kd5kq4.js → packager-tool-yrsrzz1a.js} +127 -12
  144. package/dist/{packager-tool-d9dpx9wn.js → packager-tool-z185rq2a.js} +1 -1
  145. package/dist/{packager-tool-79gws1zn.js → packager-tool-z6nkdv48.js} +270 -24
  146. package/dist/{packager-tool-802qm7jy.js → packager-tool-zzxt99e4.js} +3 -3
  147. package/dist/packager-tool.js +75 -218
  148. package/dist/{project-artifacts-9z7atbk7.js → project-artifacts-h5cydk2n.js} +1 -1
  149. package/dist/{project-validator-0rkrfmj0.js → project-validator-ek97s27p.js} +1 -1
  150. package/dist/pt-3DIO5QWG-59b3f4bc.js +173 -0
  151. package/dist/pt-BR-TKHNHMET-dn6zxk1d.js +2697 -0
  152. package/dist/pt-BR-Y6K6XHXK-mp3hwhw1.js +173 -0
  153. package/dist/pt-ROXU257Y-yd80gx6s.js +2697 -0
  154. package/dist/{resourcesSyncService-3pajvveg.js → resourcesSyncService-7s92g1hm.js} +28 -27
  155. package/dist/ro-AVAWPKOO-42m6am1w.js +2697 -0
  156. package/dist/ro-BWR3ONRR-vzx3hy8a.js +173 -0
  157. package/dist/ru-GSCT4ARZ-jrxwev63.js +10 -0
  158. package/dist/ru-WBLQ5B2U-s4em88p0.js +10 -0
  159. package/dist/sdd-lookup-7h7j2h6v.js +48 -0
  160. package/dist/{serialization-BXU6AKAN-dk0sqx89.js → serialization-BXU6AKAN-0ghhrsja.js} +6 -5
  161. package/dist/{shared-utils-twgpb9ax.js → shared-utils-6z7gnnc8.js} +1 -1
  162. package/dist/{strict-case-rules-zxnq80zm.js → strict-case-rules-byym8cvc.js} +141 -109
  163. package/dist/strict-sdd-audit-v156c9e3.js +2520 -0
  164. package/dist/tidy-service-zyy7wxc0.js +39 -0
  165. package/dist/{tool-pxfafj3m.js → tool-dejjyv8m.js} +213 -51
  166. package/dist/{tool-td30zmyt.js → tool-v0r5qzcc.js} +106 -146
  167. package/dist/tool.js +3 -3
  168. package/dist/tr-5IIHSFW5-hw4cewew.js +173 -0
  169. package/dist/tr-JMIP7ZSL-fb67ft9w.js +2696 -0
  170. package/dist/{trigger-enrichment-service-t3wcd12r.js → trigger-enrichment-service-ak1nrz5t.js} +30 -29
  171. package/dist/{variable-service-2q705dsx.js → variable-service-t9gsp8xs.js} +16 -13
  172. package/dist/{wait-for-flow-job-sx0ht8sb.js → wait-for-flow-job-1s8ka07s.js} +7 -7
  173. package/dist/{xml-949787yf.js → xml-3rzcgm9z.js} +1359 -659
  174. package/dist/zh-CN-IFFXSEJS-tke4mzty.js +2697 -0
  175. package/dist/zh-CN-R2KU4U5L-tc1hat59.js +173 -0
  176. package/dist/zh-TW-GNKMELBF-j674515r.js +173 -0
  177. package/dist/zh-TW-IYBNYAMG-wcan0qpb.js +2697 -0
  178. package/package.json +3 -2
  179. package/dist/bpmn-format-service-r67afbny.js +0 -477
  180. package/dist/case-debug-studio-web-service-kj1797m8.js +0 -336
  181. package/dist/known-types-eq32py2n.js +0 -20
  182. package/dist/node-service-teagjd9n.js +0 -75
  183. package/dist/packager-tool-15bstxb6.js +0 -4192
  184. package/dist/packager-tool-1zpm7wts.js +0 -7217
  185. package/dist/packager-tool-7tjxtpfp.js +0 -106
  186. package/dist/packager-tool-ckhyvcn5.js +0 -58
  187. package/dist/packager-tool-dz506qqq.js +0 -2120
  188. package/dist/packager-tool-hpc2j0zw.js +0 -27
  189. package/dist/packager-tool-jjpc0yka.js +0 -304
  190. package/dist/packager-tool-xtv236p7.js +0 -73
  191. package/dist/strict-sdd-audit-zc0n5vj6.js +0 -1024
  192. package/dist/tidy-service-hc9gex0v.js +0 -36
  193. /package/dist/{localization-xecwjpe2.js → localization-y790z9vm.js} +0 -0
@@ -0,0 +1,1895 @@
1
+ import {
2
+ en_default as en_default2
3
+ } from "./packager-tool-7q6z6npd.js";
4
+ import {
5
+ __glob as __glob2
6
+ } from "./packager-tool-sc961w0q.js";
7
+ import {
8
+ en_default
9
+ } from "./packager-tool-d88rqwk8.js";
10
+ import {
11
+ __glob
12
+ } from "./packager-tool-jysvpt8p.js";
13
+ import {
14
+ currentStorageSchema,
15
+ currentStorageSchemaMigration,
16
+ exports_external,
17
+ instance,
18
+ jsep,
19
+ require_dist,
20
+ require_index_cjs
21
+ } from "./packager-tool-vdc8r21p.js";
22
+ import {
23
+ __require,
24
+ __toESM
25
+ } from "./packager-tool-1yh8g550.js";
26
+
27
+ // ../../node_modules/@uipath/flow-core/node_modules/@uipath/flow-schema/dist/chunk-GWRTD4DY.js
28
+ var JS_EXPRESSION_PREFIX = "=js:";
29
+ var expressionFieldTypeSchema = exports_external.enum(["string", "number", "boolean", "object", "array", "null"]);
30
+ var expressionModeSchema = exports_external.enum(["literal", "jsExpression"]);
31
+ var expressionValueSchema = exports_external.object({
32
+ type: expressionModeSchema,
33
+ expression: exports_external.string(),
34
+ fieldType: expressionFieldTypeSchema
35
+ }).strict();
36
+ var expressionLikeSchema = exports_external.union([exports_external.string(), expressionValueSchema]);
37
+ function isExpressionValue(v) {
38
+ return expressionValueSchema.safeParse(v).success;
39
+ }
40
+ function inferFieldType(value) {
41
+ if (Array.isArray(value))
42
+ return "array";
43
+ if (value === null)
44
+ return "null";
45
+ const t = typeof value;
46
+ if (t === "string" || t === "number" || t === "boolean" || t === "object")
47
+ return t;
48
+ return "string";
49
+ }
50
+ function encodeLiteral(raw, fieldType) {
51
+ switch (fieldType) {
52
+ case "string":
53
+ if (typeof raw === "string")
54
+ return raw;
55
+ if (raw == null)
56
+ return "";
57
+ if (typeof raw === "object") {
58
+ try {
59
+ return JSON.stringify(raw);
60
+ } catch {
61
+ return String(raw);
62
+ }
63
+ }
64
+ return String(raw);
65
+ case "number":
66
+ case "boolean":
67
+ return raw == null ? "" : String(raw);
68
+ case "null":
69
+ return "null";
70
+ case "object":
71
+ case "array":
72
+ return JSON.stringify(raw ?? null);
73
+ }
74
+ }
75
+ function coerceToExpressionValue(value, fieldType) {
76
+ if (isExpressionValue(value))
77
+ return value;
78
+ const resolvedFieldType = fieldType ?? inferFieldType(value);
79
+ if (typeof value === "string") {
80
+ if (value.startsWith(JS_EXPRESSION_PREFIX)) {
81
+ return {
82
+ type: "jsExpression",
83
+ expression: value.slice(JS_EXPRESSION_PREFIX.length),
84
+ fieldType: resolvedFieldType
85
+ };
86
+ }
87
+ return { type: "literal", expression: value, fieldType: resolvedFieldType };
88
+ }
89
+ return { type: "literal", expression: encodeLiteral(value, resolvedFieldType), fieldType: resolvedFieldType };
90
+ }
91
+ function jsonSchemaTypeToFieldType(raw) {
92
+ if (Array.isArray(raw)) {
93
+ for (const t of raw) {
94
+ const mapped = jsonSchemaTypeToFieldType(t);
95
+ if (mapped)
96
+ return mapped;
97
+ }
98
+ return;
99
+ }
100
+ if (typeof raw !== "string")
101
+ return;
102
+ switch (raw) {
103
+ case "string":
104
+ case "number":
105
+ case "boolean":
106
+ case "object":
107
+ case "array":
108
+ case "null":
109
+ return raw;
110
+ case "integer":
111
+ return "number";
112
+ default:
113
+ return;
114
+ }
115
+ }
116
+ function coerceInputsViaSchema(value, schema) {
117
+ if (isExpressionValue(value))
118
+ return value;
119
+ if (Array.isArray(value)) {
120
+ if (schema?.items) {
121
+ for (let i = 0;i < value.length; i++) {
122
+ value[i] = coerceInputsViaSchema(value[i], schema.items);
123
+ }
124
+ }
125
+ return value;
126
+ }
127
+ if (value !== null && typeof value === "object") {
128
+ if (schema?.properties) {
129
+ const props = schema.properties;
130
+ for (const [k, v] of Object.entries(value)) {
131
+ value[k] = coerceInputsViaSchema(v, props[k]);
132
+ }
133
+ }
134
+ return value;
135
+ }
136
+ if (typeof value === "string") {
137
+ if (value.startsWith(JS_EXPRESSION_PREFIX)) {
138
+ return coerceToExpressionValue(value, jsonSchemaTypeToFieldType(schema?.type));
139
+ }
140
+ if (hasMustacheInterpolation(value)) {
141
+ return {
142
+ type: "literal",
143
+ expression: value,
144
+ fieldType: jsonSchemaTypeToFieldType(schema?.type) ?? "string"
145
+ };
146
+ }
147
+ }
148
+ return value;
149
+ }
150
+ function hasMustacheInterpolation(s) {
151
+ const stripped = s.replace(/\\\{/g, "").replace(/\\\}/g, "");
152
+ return /\{\{[^{}]+\}\}/.test(stripped);
153
+ }
154
+ var RESERVED_WORDS = [
155
+ "break",
156
+ "case",
157
+ "catch",
158
+ "continue",
159
+ "debugger",
160
+ "default",
161
+ "delete",
162
+ "do",
163
+ "else",
164
+ "finally",
165
+ "for",
166
+ "function",
167
+ "if",
168
+ "in",
169
+ "instanceof",
170
+ "new",
171
+ "return",
172
+ "switch",
173
+ "this",
174
+ "throw",
175
+ "try",
176
+ "typeof",
177
+ "var",
178
+ "void",
179
+ "while",
180
+ "with",
181
+ "class",
182
+ "const",
183
+ "enum",
184
+ "export",
185
+ "extends",
186
+ "import",
187
+ "super",
188
+ "implements",
189
+ "interface",
190
+ "let",
191
+ "package",
192
+ "private",
193
+ "protected",
194
+ "public",
195
+ "static",
196
+ "yield"
197
+ ];
198
+ var VALID_IDENTIFIER_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
199
+ function generateRandomId(length) {
200
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
201
+ let result = "";
202
+ for (let i = 0;i < length; i++) {
203
+ result += chars.charAt(Math.floor(Math.random() * chars.length));
204
+ }
205
+ return result;
206
+ }
207
+ function generateNextId(prefix, count = 6) {
208
+ return `${prefix}${generateRandomId(count)}`;
209
+ }
210
+ function deepEqual(a, b) {
211
+ if (a === b)
212
+ return true;
213
+ if (a === null || b === null)
214
+ return a === b;
215
+ if (a === undefined || b === undefined)
216
+ return a === b;
217
+ if (typeof a !== typeof b)
218
+ return false;
219
+ if (Array.isArray(a)) {
220
+ if (!Array.isArray(b) || a.length !== b.length)
221
+ return false;
222
+ return a.every((val, i) => deepEqual(val, b[i]));
223
+ }
224
+ if (typeof a === "object") {
225
+ if (Array.isArray(b))
226
+ return false;
227
+ const objA = a;
228
+ const objB = b;
229
+ const keysA = Object.keys(objA);
230
+ const keysB = Object.keys(objB);
231
+ if (keysA.length !== keysB.length)
232
+ return false;
233
+ return keysA.every((key) => (key in objB) && deepEqual(objA[key], objB[key]));
234
+ }
235
+ return false;
236
+ }
237
+
238
+ // ../../node_modules/@uipath/flow-core/node_modules/@uipath/flow-schema/dist/chunk-TBJMAYP4.js
239
+ var SUPPORTED_LOCALES = ["en", "es", "pt", "de", "fr", "ja", "ko", "ru", "tr", "ro", "zh-CN", "zh-TW", "pt-BR", "es-MX"];
240
+ function normalizeCasing(locale) {
241
+ const [language, country] = locale.split("-");
242
+ return country ? `${language}-${country.toUpperCase()}` : language;
243
+ }
244
+ function resolveSupportedLocale(locale) {
245
+ const cased = normalizeCasing(locale);
246
+ const supported = SUPPORTED_LOCALES;
247
+ if (supported.includes(cased))
248
+ return cased;
249
+ const base = cased.split("-")[0];
250
+ if (supported.includes(base))
251
+ return base;
252
+ return null;
253
+ }
254
+ var REGISTERED = /* @__PURE__ */ new WeakMap;
255
+ function createI18nRegistrar(options) {
256
+ const { namespace, englishBundle, loadCatalog } = options;
257
+ return (instance2) => {
258
+ let registered = REGISTERED.get(instance2);
259
+ if (registered?.has(namespace))
260
+ return;
261
+ if (!registered) {
262
+ registered = /* @__PURE__ */ new Set;
263
+ REGISTERED.set(instance2, registered);
264
+ }
265
+ registered.add(namespace);
266
+ instance2.addResourceBundle("en", namespace, englishBundle, true, true);
267
+ const loaded = { en: true };
268
+ const loadForLocale = async (lng) => {
269
+ const target = resolveSupportedLocale(lng);
270
+ if (!target || loaded[target])
271
+ return;
272
+ try {
273
+ const mod = await loadCatalog(target);
274
+ instance2.addResourceBundle(target, namespace, mod.default, true, true);
275
+ loaded[target] = true;
276
+ } catch (err) {
277
+ console.warn(`[i18n] Failed to load '${target}' catalog for namespace '${namespace}':`, err);
278
+ }
279
+ };
280
+ instance2.on("languageChanged", (lng) => {
281
+ loadForLocale(lng);
282
+ });
283
+ if (instance2.language) {
284
+ loadForLocale(instance2.language);
285
+ }
286
+ };
287
+ }
288
+ var globImport_locales_json = __glob({
289
+ "../../locales/de.json": () => import("./de-MUJPA4EB-dpg7t2rw.js"),
290
+ "../../locales/en.json": () => import("./en-FBPVNKFN-dqt573xn.js"),
291
+ "../../locales/es-MX.json": () => import("./es-MX-2MYFZU7X-3rek4r73.js"),
292
+ "../../locales/es.json": () => import("./es-7SE7HX2X-8yh1aj2y.js"),
293
+ "../../locales/fr.json": () => import("./fr-MDFKNZ4C-h4a122k9.js"),
294
+ "../../locales/ja.json": () => import("./ja-UTQEAP34-8e0q6swp.js"),
295
+ "../../locales/ko.json": () => import("./ko-AXCHW2OK-askct7f6.js"),
296
+ "../../locales/pt-BR.json": () => import("./pt-BR-Y6K6XHXK-mp3hwhw1.js"),
297
+ "../../locales/pt.json": () => import("./pt-3DIO5QWG-59b3f4bc.js"),
298
+ "../../locales/ro.json": () => import("./ro-BWR3ONRR-vzx3hy8a.js"),
299
+ "../../locales/ru.json": () => import("./ru-WBLQ5B2U-s4em88p0.js"),
300
+ "../../locales/tr.json": () => import("./tr-5IIHSFW5-hw4cewew.js"),
301
+ "../../locales/zh-CN.json": () => import("./zh-CN-R2KU4U5L-tc1hat59.js"),
302
+ "../../locales/zh-TW.json": () => import("./zh-TW-GNKMELBF-j674515r.js")
303
+ });
304
+ var VALIDATION_NAMESPACE = "validation";
305
+ var registerFlowSchemaI18n = createI18nRegistrar({
306
+ namespace: VALIDATION_NAMESPACE,
307
+ englishBundle: en_default,
308
+ loadCatalog: (lng) => globImport_locales_json(`../../locales/${lng}.json`)
309
+ });
310
+
311
+ // ../../node_modules/@uipath/flow-core/node_modules/@uipath/flow-schema/dist/chunk-B7WWLYD7.js
312
+ var import_ajv_errors = __toESM(require_dist(), 1);
313
+ var agentEnforcementsSchema = exports_external.object({
314
+ maxTokens: exports_external.number().nullable(),
315
+ maxTemperature: exports_external.number().nullable(),
316
+ policyName: exports_external.string(),
317
+ shouldEnforceHumanInTheLoop: exports_external.boolean().optional(),
318
+ maxIterations: exports_external.number().nullable().optional()
319
+ });
320
+ var t = instance.getFixedT(null, VALIDATION_NAMESPACE);
321
+ var t2 = instance.getFixedT(null, VALIDATION_NAMESPACE);
322
+ function isTriggerNodeType(nodeType2) {
323
+ if (typeof nodeType2 !== "string")
324
+ return false;
325
+ return nodeType2.startsWith("core.trigger") || nodeType2.toLowerCase().includes("trigger");
326
+ }
327
+ function isEndNodeType(nodeType2) {
328
+ return nodeType2 === "core.control.end" || nodeType2 === "core.logic.terminate" || nodeType2 === "core.control.response";
329
+ }
330
+ var DOWHILE_NODE_TYPE = "core.logic.dowhile";
331
+ var CONVERSATIONAL_AGENT_ICON = "conversational-agent";
332
+ var CONVERSATIONAL_VOICE_END_CALL_NODE_TYPE = "uipath.conversational.voice.end-call";
333
+ var t3 = instance.getFixedT(null, VALIDATION_NAMESPACE);
334
+ var t4 = instance.getFixedT(null, VALIDATION_NAMESPACE);
335
+ var t5 = instance.getFixedT(null, VALIDATION_NAMESPACE);
336
+ var ESCALATION_QUICK_FORM_NODE_TYPE = "uipath.agent.resource.escalation.quick-form";
337
+ var ESCALATION_TASK_TYPE = {
338
+ AppTask: "app-task",
339
+ QuickForm: "quick-form",
340
+ DocumentValidationTask: "document-validation-task"
341
+ };
342
+ var ESCALATION_TASK_TYPES = new Set(Object.values(ESCALATION_TASK_TYPE));
343
+ var DEFAULT_STORAGE_VERSION = currentStorageSchema.version;
344
+ var _defaultAgentContent;
345
+ function getDefaultAgentContent() {
346
+ if (!_defaultAgentContent) {
347
+ const entry = currentStorageSchemaMigration.defaultStorageContents.files.find((f) => f.name === "agent.json");
348
+ if (!entry) {
349
+ throw new Error("@uipath/agents-storage-schemas: missing agent.json in defaultStorageContents");
350
+ }
351
+ _defaultAgentContent = entry.content;
352
+ }
353
+ return _defaultAgentContent;
354
+ }
355
+ var t6 = instance.getFixedT(null, VALIDATION_NAMESPACE);
356
+ var t7 = instance.getFixedT(null, VALIDATION_NAMESPACE);
357
+ var t8 = instance.getFixedT(null, VALIDATION_NAMESPACE);
358
+ var t9 = instance.getFixedT(null, VALIDATION_NAMESPACE);
359
+ var VARS_PATH_CAPTURE = String.raw`[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*|\[\d+\])*`;
360
+ var VARS_REF_REGEX = new RegExp(String.raw`\{\{\s*\$vars\.(${VARS_PATH_CAPTURE})\s*\}\}`, "g");
361
+ var RAW_VARS_REF_REGEX = new RegExp(String.raw`(?<!\w)\$vars\.(${VARS_PATH_CAPTURE})`, "g");
362
+ var HITL_NODE_TYPE = "uipath.human-in-the-loop";
363
+ var HITL_QUICK_FORM_NODE_TYPE = "uipath.human-in-the-loop.quick-form";
364
+ var HITL_CODED_ACTION_NODE_TYPE = "uipath.human-in-the-loop.coded-action-app";
365
+ var HITL_DOC_VALIDATION_NODE_TYPE = "uipath.human-in-the-loop.document-validation";
366
+ var DYNAMIC_EXTRACT_NODE_TYPE = "uipath.ixp.extract-document-builder";
367
+ var HITL_NODE_TYPES = /* @__PURE__ */ new Set([
368
+ HITL_QUICK_FORM_NODE_TYPE,
369
+ HITL_CODED_ACTION_NODE_TYPE,
370
+ HITL_DOC_VALIDATION_NODE_TYPE,
371
+ HITL_NODE_TYPE
372
+ ]);
373
+ function isHitlNodeType(t13) {
374
+ return HITL_NODE_TYPES.has(t13);
375
+ }
376
+ var JobAttachmentSchema = {
377
+ type: "object",
378
+ "x-uipath-resource-kind": "JobAttachment",
379
+ properties: {
380
+ ID: {
381
+ type: "string",
382
+ description: "Orchestrator attachment key"
383
+ },
384
+ FullName: {
385
+ type: "string",
386
+ description: "File name"
387
+ },
388
+ MimeType: {
389
+ type: "string",
390
+ description: 'The MIME type of the content, such as "application/json" or "image/png"'
391
+ },
392
+ Metadata: {
393
+ type: "object",
394
+ description: "Dictionary of metadata",
395
+ additionalProperties: {
396
+ type: "string"
397
+ }
398
+ }
399
+ },
400
+ required: ["ID"]
401
+ };
402
+ var ANALYZE_FILES_SCHEMA = {
403
+ inputSchema: {
404
+ type: "object",
405
+ properties: {
406
+ attachments: {
407
+ type: "array",
408
+ items: JobAttachmentSchema,
409
+ description: "Array of files, documents, images, or other attachments to process"
410
+ },
411
+ analysisTask: {
412
+ type: "string",
413
+ description: "The task, question, or instruction for processing the files (e.g., 'summarize this document', 'extract key points', 'what is in this image')"
414
+ }
415
+ },
416
+ required: ["attachments", "analysisTask"]
417
+ },
418
+ outputSchema: {
419
+ type: "object",
420
+ properties: {
421
+ analysis: {
422
+ type: "string",
423
+ description: "Analysis result of the attachments (analysis, summary, extracted information, etc.)"
424
+ }
425
+ },
426
+ required: ["analysis"]
427
+ }
428
+ };
429
+ var SUMMARIZE_SCHEMA = {
430
+ inputSchema: {
431
+ type: "object",
432
+ properties: {
433
+ attachment: {
434
+ type: "object",
435
+ title: "Source",
436
+ description: "File or document to summarize",
437
+ properties: JobAttachmentSchema.properties,
438
+ required: JobAttachmentSchema.required
439
+ }
440
+ },
441
+ required: ["attachment"]
442
+ },
443
+ outputSchema: {
444
+ type: "array",
445
+ items: {
446
+ type: "object",
447
+ properties: {
448
+ content: {
449
+ type: "string",
450
+ description: "The content of the analyzed attachment"
451
+ }
452
+ }
453
+ }
454
+ }
455
+ };
456
+ var BATCH_TRANSFORM_SCHEMA = {
457
+ inputSchema: {
458
+ type: "object",
459
+ properties: {
460
+ attachment: {
461
+ type: "object",
462
+ title: "Source",
463
+ description: "CSV file to transform",
464
+ properties: JobAttachmentSchema.properties,
465
+ required: JobAttachmentSchema.required
466
+ }
467
+ },
468
+ required: ["attachment"]
469
+ },
470
+ outputSchema: {
471
+ type: "array",
472
+ items: {
473
+ type: "object",
474
+ properties: {
475
+ content: {
476
+ type: "string",
477
+ description: "The content of the transformed row"
478
+ }
479
+ }
480
+ }
481
+ }
482
+ };
483
+ var nameValuePairSchema = (nameDescription, valueDescription) => ({
484
+ type: "object",
485
+ properties: {
486
+ name: {
487
+ type: "string",
488
+ description: nameDescription
489
+ },
490
+ value: {
491
+ type: "string",
492
+ description: valueDescription
493
+ }
494
+ },
495
+ required: ["name", "value"]
496
+ });
497
+ var HTTP_REQUEST_SCHEMA = {
498
+ inputSchema: {
499
+ type: "object",
500
+ properties: {
501
+ url: {
502
+ type: "string",
503
+ description: "The absolute URL to send the request to."
504
+ },
505
+ method: {
506
+ type: "string",
507
+ description: "HTTP method to use, one of: GET, POST, PUT, PATCH, DELETE."
508
+ },
509
+ headers: {
510
+ type: "array",
511
+ description: "Request headers as a list of name/value pairs.",
512
+ items: nameValuePairSchema("Header name.", "Header value.")
513
+ },
514
+ params: {
515
+ type: "array",
516
+ description: "Query-string parameters as a list of name/value pairs.",
517
+ items: nameValuePairSchema("Parameter name.", "Parameter value.")
518
+ },
519
+ body: {
520
+ type: "string",
521
+ description: "Request body sent as-is. Provide JSON as a string and set a Content-Type header if the endpoint expects JSON."
522
+ },
523
+ timeout: {
524
+ type: "number",
525
+ description: "Request timeout in seconds."
526
+ }
527
+ },
528
+ required: ["url"]
529
+ },
530
+ outputSchema: {
531
+ type: "object",
532
+ properties: {}
533
+ }
534
+ };
535
+ var BUILT_IN_TOOL_SCHEMAS = {
536
+ "uipath.agent.resource.tool.builtin.analyzefiles": ANALYZE_FILES_SCHEMA,
537
+ "uipath.agent.resource.tool.builtin.summarize": SUMMARIZE_SCHEMA,
538
+ "uipath.agent.resource.tool.builtin.batchtransform": BATCH_TRANSFORM_SCHEMA,
539
+ "uipath.agent.resource.tool.builtin.httprequest": HTTP_REQUEST_SCHEMA
540
+ };
541
+ var FILE_SCHEMA_FIELDS = Object.keys(JobAttachmentSchema.properties ?? {});
542
+ function isFileShapedInputNode(node) {
543
+ if (!node || typeof node !== "object")
544
+ return false;
545
+ const n = node;
546
+ if (n["x-uipath-resource-kind"] === "JobAttachment")
547
+ return true;
548
+ if (typeof n.$ref === "string" && n.$ref.toLowerCase().includes("job-attachment"))
549
+ return true;
550
+ if (n.type === "file" || n.type === "octet-stream")
551
+ return true;
552
+ if (n.properties && FILE_SCHEMA_FIELDS.every((field) => (field in n.properties)))
553
+ return true;
554
+ return isFileShapedInputNode(n.items);
555
+ }
556
+ function schemaAcceptsFileInput(inputSchema) {
557
+ const properties = inputSchema?.properties;
558
+ if (!properties)
559
+ return false;
560
+ return Object.values(properties).some(isFileShapedInputNode);
561
+ }
562
+ var FILE_CAPABLE_BUILTIN_TOOL_TYPES = new Set(Object.entries(BUILT_IN_TOOL_SCHEMAS).filter(([, schemas]) => schemaAcceptsFileInput(schemas.inputSchema)).map(([nodeType2]) => nodeType2));
563
+ var t10 = instance.getFixedT(null, VALIDATION_NAMESPACE);
564
+ var t11 = instance.getFixedT(null, VALIDATION_NAMESPACE);
565
+ var t12 = instance.getFixedT(null, VALIDATION_NAMESPACE);
566
+
567
+ // ../../node_modules/@uipath/flow-core/node_modules/@uipath/flow-schema/dist/index.js
568
+ var import_object = __toESM(require_index_cjs(), 1);
569
+ var workflowRuntimeSchema = exports_external.enum(["maestro", "api-function"]);
570
+ var DEFAULT_WORKFLOW_RUNTIME = "maestro";
571
+ var argumentBindingSchema = exports_external.object({
572
+ nodeId: exports_external.string(),
573
+ outputId: exports_external.string()
574
+ });
575
+ var workflowVariableSchema = exports_external.object({
576
+ id: exports_external.string().min(1),
577
+ direction: exports_external.enum(["in", "out", "inout"]),
578
+ type: exports_external.string().default("string"),
579
+ subType: exports_external.string().optional(),
580
+ schema: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
581
+ defaultValue: exports_external.unknown().optional(),
582
+ description: exports_external.string().optional(),
583
+ triggerNodeId: exports_external.string().optional()
584
+ });
585
+ var variableUpdateSchema = exports_external.object({
586
+ variableId: exports_external.string(),
587
+ expression: expressionLikeSchema
588
+ });
589
+ var nodeVariableSchema = exports_external.object({
590
+ id: exports_external.string().min(1),
591
+ type: exports_external.string().default("string"),
592
+ subType: exports_external.string().optional(),
593
+ schema: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
594
+ description: exports_external.string().optional(),
595
+ binding: argumentBindingSchema
596
+ });
597
+ var workflowVariablesSchema = exports_external.object({
598
+ globals: exports_external.array(workflowVariableSchema).optional(),
599
+ nodes: exports_external.array(nodeVariableSchema).optional(),
600
+ variableUpdates: exports_external.record(exports_external.string(), exports_external.array(variableUpdateSchema)).optional()
601
+ });
602
+ var EMPTY_VARIABLES = Object.freeze({ globals: [], nodes: [], variableUpdates: {} });
603
+ var workflowConnectionSchema = exports_external.object({
604
+ type: exports_external.enum(["cloud", "local"]),
605
+ environment: exports_external.enum(["cloud", "staging", "alpha"]).optional(),
606
+ baseUrl: exports_external.string().optional(),
607
+ organizationId: exports_external.string().optional(),
608
+ tenantId: exports_external.string().optional(),
609
+ tenantName: exports_external.string().optional(),
610
+ localUrl: exports_external.string().url().optional()
611
+ });
612
+ var nodeLayoutSchema = exports_external.looseObject({
613
+ position: exports_external.object({ x: exports_external.number(), y: exports_external.number() }),
614
+ size: exports_external.object({ width: exports_external.number(), height: exports_external.number() }).optional(),
615
+ collapsed: exports_external.boolean().optional()
616
+ });
617
+ var waypointSchema = exports_external.object({
618
+ id: exports_external.string(),
619
+ x: exports_external.number(),
620
+ y: exports_external.number()
621
+ });
622
+ var edgeLayoutSchema = exports_external.looseObject({
623
+ waypoints: exports_external.array(waypointSchema).optional(),
624
+ routedWaypoints: exports_external.array(waypointSchema).optional()
625
+ });
626
+ var layoutSchema = exports_external.object({
627
+ nodes: exports_external.record(exports_external.string(), nodeLayoutSchema),
628
+ edges: exports_external.record(exports_external.string(), edgeLayoutSchema).optional()
629
+ });
630
+ var bindingSchema = exports_external.object({
631
+ id: exports_external.string(),
632
+ name: exports_external.string(),
633
+ type: exports_external.string(),
634
+ resource: exports_external.string(),
635
+ resourceKey: exports_external.string(),
636
+ default: exports_external.string().optional(),
637
+ propertyAttribute: exports_external.string().optional(),
638
+ resourceSubType: exports_external.string().optional()
639
+ });
640
+ var categoryManifestSchema = exports_external.object({
641
+ id: exports_external.string().min(1),
642
+ name: exports_external.string().min(1),
643
+ description: exports_external.string().optional(),
644
+ parentId: exports_external.string().optional(),
645
+ sortOrder: exports_external.number().int().nonnegative(),
646
+ color: exports_external.string().min(1).optional(),
647
+ colorDark: exports_external.string().min(1).optional(),
648
+ icon: exports_external.string().min(1).optional(),
649
+ tags: exports_external.array(exports_external.string())
650
+ });
651
+ var handleTargetSchema = exports_external.object({
652
+ nodeType: exports_external.string(),
653
+ handleId: exports_external.string().optional()
654
+ });
655
+ var connectionConstraintSchema = exports_external.object({
656
+ maxConnections: exports_external.number().int().positive().optional(),
657
+ minConnections: exports_external.number().int().nonnegative().optional(),
658
+ allowedTargets: exports_external.array(handleTargetSchema).optional(),
659
+ forbiddenTargets: exports_external.array(handleTargetSchema).optional(),
660
+ allowedSources: exports_external.array(handleTargetSchema).optional(),
661
+ forbiddenSources: exports_external.array(handleTargetSchema).optional(),
662
+ allowedTargetCategories: exports_external.array(exports_external.string()).optional(),
663
+ forbiddenTargetCategories: exports_external.array(exports_external.string()).optional(),
664
+ allowedSourceCategories: exports_external.array(exports_external.string()).optional(),
665
+ forbiddenSourceCategories: exports_external.array(exports_external.string()).optional(),
666
+ customValidation: exports_external.string().optional(),
667
+ validationMessage: exports_external.string().optional(),
668
+ severity: exports_external["enum"]([
669
+ "warning",
670
+ "error",
671
+ "critical",
672
+ "info"
673
+ ]).optional()
674
+ });
675
+ var handlePositionSchema = exports_external["enum"]([
676
+ "left",
677
+ "top",
678
+ "right",
679
+ "bottom"
680
+ ]);
681
+ var handleBoundarySchema = exports_external["enum"]([
682
+ "outer",
683
+ "inner"
684
+ ]);
685
+ var handleTypeSchema = exports_external["enum"]([
686
+ "source",
687
+ "target"
688
+ ]);
689
+ var handleTypeDisplaySchema = exports_external["enum"]([
690
+ "artifact",
691
+ "input",
692
+ "output"
693
+ ]);
694
+ var handleLabelVisibilitySchema = exports_external["enum"]([
695
+ "always",
696
+ "hover"
697
+ ]);
698
+ var handleConfigurationSpecificPositionSchema = exports_external.object({
699
+ height: exports_external.number().optional(),
700
+ width: exports_external.number().optional(),
701
+ top: exports_external.number().optional(),
702
+ bottom: exports_external.number().optional(),
703
+ left: exports_external.number().optional(),
704
+ right: exports_external.number().optional()
705
+ });
706
+ var handleManifestSchema = exports_external.object({
707
+ id: exports_external.string().min(1),
708
+ type: handleTypeSchema,
709
+ handleType: handleTypeDisplaySchema,
710
+ label: exports_external.string().optional(),
711
+ visible: exports_external.union([
712
+ exports_external.boolean(),
713
+ exports_external.string()
714
+ ]).optional(),
715
+ repeat: exports_external.string().optional(),
716
+ itemVar: exports_external.string().optional(),
717
+ indexVar: exports_external.string().optional(),
718
+ showButton: exports_external.boolean().optional(),
719
+ labelVisibility: handleLabelVisibilitySchema.optional(),
720
+ constraints: connectionConstraintSchema.optional(),
721
+ isDefaultForType: exports_external.boolean().optional()
722
+ });
723
+ var handleGroupManifestSchema = exports_external.object({
724
+ position: handlePositionSchema,
725
+ boundary: handleBoundarySchema.optional(),
726
+ customPositionAndOffsets: handleConfigurationSpecificPositionSchema.optional(),
727
+ handles: exports_external.array(handleManifestSchema),
728
+ visible: exports_external.boolean().optional()
729
+ });
730
+ var handleGroupOverrideSchema = exports_external.object({
731
+ position: handlePositionSchema,
732
+ handles: exports_external.array(handleManifestSchema),
733
+ visible: exports_external.boolean().optional()
734
+ });
735
+ var nodeShapeSchema = exports_external["enum"]([
736
+ "circle",
737
+ "square",
738
+ "rectangle",
739
+ "container"
740
+ ]);
741
+ var toolbarActionSchema = exports_external.object({
742
+ id: exports_external.string(),
743
+ icon: exports_external.string(),
744
+ label: exports_external.string(),
745
+ shortcut: exports_external.string().optional(),
746
+ condition: exports_external.object({
747
+ requiresPermissions: exports_external.array(exports_external.string()).optional(),
748
+ hideOnExecution: exports_external.boolean().optional(),
749
+ nodeTypes: exports_external.array(exports_external.string()).optional(),
750
+ shapes: exports_external.array(nodeShapeSchema).optional(),
751
+ handles: exports_external.array(exports_external.object({
752
+ handleType: exports_external["enum"]([
753
+ "output",
754
+ "input",
755
+ "artifact"
756
+ ]),
757
+ type: exports_external["enum"]([
758
+ "source",
759
+ "target"
760
+ ]).optional()
761
+ })).optional()
762
+ }).optional()
763
+ });
764
+ var modeToolbarConfigSchema = exports_external.object({
765
+ actions: exports_external.array(toolbarActionSchema),
766
+ overflowActions: exports_external.array(toolbarActionSchema).optional()
767
+ });
768
+ var toolbarConfigurationSchema = exports_external.record(exports_external.string(), modeToolbarConfigSchema);
769
+ var nodeDebugManifestSchema = exports_external.object({
770
+ runtime: exports_external.string().min(1)
771
+ });
772
+ var nodeDisplayManifestSchema = exports_external.object({
773
+ label: exports_external.string().min(1),
774
+ canvasLabel: exports_external.string().min(1).optional(),
775
+ description: exports_external.string().optional(),
776
+ icon: exports_external.string().min(1).optional(),
777
+ shape: nodeShapeSchema.optional(),
778
+ color: exports_external.string().optional(),
779
+ background: exports_external.string().optional(),
780
+ iconBackground: exports_external.string().optional(),
781
+ iconBackgroundDark: exports_external.string().optional(),
782
+ iconColor: exports_external.string().optional(),
783
+ shadow: exports_external.boolean().optional()
784
+ });
785
+ var nodeRuntimeConstraintsManifestSchema = exports_external.union([
786
+ exports_external.object({
787
+ include: exports_external.array(exports_external.string())
788
+ }),
789
+ exports_external.object({
790
+ exclude: exports_external.array(exports_external.string())
791
+ })
792
+ ]);
793
+ var nodeManifestSchema = exports_external.object({
794
+ nodeType: exports_external.string().min(1),
795
+ version: exports_external.string().min(1),
796
+ description: exports_external.string().optional(),
797
+ category: exports_external.string().min(1).optional(),
798
+ tags: exports_external.array(exports_external.string()),
799
+ sortOrder: exports_external.number().int().nonnegative(),
800
+ display: nodeDisplayManifestSchema,
801
+ handleConfiguration: exports_external.array(handleGroupManifestSchema),
802
+ toolbarExtensions: toolbarConfigurationSchema.optional(),
803
+ suppressDefaultToolbarActions: exports_external.record(exports_external.string(), exports_external.array(exports_external.string())).optional(),
804
+ inputDefaults: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
805
+ inputDefinition: exports_external.record(exports_external.string(), exports_external.any()).optional(),
806
+ outputDefinition: exports_external.record(exports_external.string(), exports_external.any()).optional(),
807
+ drillable: exports_external.boolean().optional(),
808
+ debug: nodeDebugManifestSchema.optional(),
809
+ model: exports_external.any().optional(),
810
+ defaultProperties: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
811
+ form: exports_external.custom().optional(),
812
+ deprecated: exports_external.boolean().optional(),
813
+ runtimeConstraints: nodeRuntimeConstraintsManifestSchema.optional()
814
+ });
815
+ var idSchema = exports_external.string().min(1);
816
+ var versionSchema = exports_external.string().regex(/^\d+\.\d+\.\d+$/, 'Version must be in semver format (e.g., "1.0.0")');
817
+ var typeVersionKeySchema = exports_external.string().regex(/^.+:\d+\.\d+\.\d+$/, 'TypeVersionKey must be in format "type:version" (e.g., "myType:1.0.0")');
818
+ var displayConfigSchema = exports_external.object({
819
+ label: exports_external.string().optional(),
820
+ canvasLabel: exports_external.string().optional(),
821
+ subLabel: exports_external.any().optional(),
822
+ shape: nodeShapeSchema.optional(),
823
+ background: exports_external.string().optional(),
824
+ iconBackground: exports_external.string().optional(),
825
+ iconBackgroundDark: exports_external.string().optional(),
826
+ iconColor: exports_external.string().optional(),
827
+ icon: exports_external.string().optional(),
828
+ iconElement: exports_external.any().optional(),
829
+ color: exports_external.string().optional(),
830
+ labelTooltip: exports_external.string().optional(),
831
+ labelBackgroundColor: exports_external.string().optional(),
832
+ centerAdornmentComponent: exports_external.any().optional(),
833
+ footerComponent: exports_external.any().optional(),
834
+ footerVariant: exports_external.string().optional(),
835
+ shadow: exports_external.boolean().optional()
836
+ }).catchall(exports_external.unknown());
837
+ var waypointSchema2 = exports_external.object({
838
+ id: exports_external.string().min(1),
839
+ x: exports_external.number(),
840
+ y: exports_external.number()
841
+ });
842
+ var edgeUiSchema = exports_external.object({
843
+ waypoints: exports_external.array(waypointSchema2).optional(),
844
+ routedWaypoints: exports_external.array(waypointSchema2).optional(),
845
+ autoRouted: exports_external.boolean().optional()
846
+ }).catchall(exports_external.unknown());
847
+ var edgeSchema = exports_external.object({
848
+ id: idSchema,
849
+ sourceNodeId: idSchema,
850
+ sourcePort: exports_external.string().min(1),
851
+ targetNodeId: idSchema,
852
+ targetPort: exports_external.string().min(1),
853
+ ui: edgeUiSchema.nullish().transform((value) => value ?? undefined).optional(),
854
+ data: exports_external.object({
855
+ label: exports_external.string().optional()
856
+ }).passthrough().optional()
857
+ });
858
+ var uiSchema = exports_external.object({
859
+ position: exports_external.object({
860
+ x: exports_external.number(),
861
+ y: exports_external.number()
862
+ }),
863
+ size: exports_external.object({
864
+ width: exports_external.number(),
865
+ height: exports_external.number()
866
+ }).optional(),
867
+ collapsed: exports_external.boolean().optional()
868
+ }).catchall(exports_external.unknown());
869
+ var nodeSchema = exports_external.object({
870
+ id: idSchema,
871
+ type: exports_external.string().min(1),
872
+ typeVersion: versionSchema,
873
+ ui: uiSchema,
874
+ display: displayConfigSchema,
875
+ inputs: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
876
+ outputs: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
877
+ handleCustomization: exports_external.object({
878
+ groups: exports_external.array(handleGroupOverrideSchema)
879
+ }).optional(),
880
+ model: exports_external.unknown().optional(),
881
+ parentId: idSchema.optional()
882
+ });
883
+ var edgeSchema2 = edgeSchema.extend({
884
+ ui: edgeLayoutSchema.optional()
885
+ });
886
+ var nodeSchema2 = nodeSchema.extend({
887
+ typeVersion: exports_external.string().regex(/^\d+\.\d+(\.\d+)?$/, 'Version must be in format "x.y" or "x.y.z"')
888
+ });
889
+ var nodeManifestSchema2 = exports_external.lazy(() => nodeManifestSchema.extend({
890
+ display: nodeDisplayManifestSchema.extend({ isPreview: exports_external.boolean().optional() }),
891
+ projectId: exports_external.string().optional(),
892
+ entryPointPath: exports_external.string().optional(),
893
+ unsupportedRuntime: exports_external.boolean().optional(),
894
+ takeoverTabs: exports_external.array(exports_external.string()).optional()
895
+ }));
896
+ var categoryManifestSchema2 = exports_external.lazy(() => categoryManifestSchema.extend({
897
+ displayIfEmpty: exports_external.boolean().optional()
898
+ }));
899
+ var versionSchema2 = exports_external.string().regex(/^\d+\.\d+(\.\d+)?$/, 'Version must be in format "x.y" or "x.y.z"');
900
+ var subflowEntrySchema = exports_external.object({
901
+ nodes: exports_external.array(nodeSchema2),
902
+ edges: exports_external.array(edgeSchema2),
903
+ variables: workflowVariablesSchema.optional()
904
+ });
905
+ var workflowSchema = exports_external.object({
906
+ id: idSchema,
907
+ version: versionSchema2,
908
+ name: exports_external.string().min(1),
909
+ description: exports_external.string().optional(),
910
+ runtime: workflowRuntimeSchema.optional(),
911
+ nodes: exports_external.array(nodeSchema2),
912
+ edges: exports_external.array(edgeSchema2),
913
+ definitions: exports_external.array(nodeManifestSchema2),
914
+ bindings: exports_external.array(bindingSchema).optional(),
915
+ variables: workflowVariablesSchema.optional(),
916
+ connection: workflowConnectionSchema.optional(),
917
+ subflows: exports_external.record(exports_external.string(), subflowEntrySchema).optional()
918
+ });
919
+ var fileFormatNodeSchema = exports_external.lazy(() => nodeSchema2.extend({
920
+ ui: nodeSchema2.shape.ui.optional()
921
+ }));
922
+ var subflowFileSchema = exports_external.object({
923
+ nodes: exports_external.array(fileFormatNodeSchema),
924
+ edges: exports_external.array(edgeSchema2),
925
+ variables: workflowVariablesSchema.optional(),
926
+ layout: layoutSchema.optional()
927
+ });
928
+ var workflowSchemaV1_0_0 = exports_external.object({
929
+ id: idSchema,
930
+ version: exports_external.literal("1.0.0"),
931
+ name: exports_external.string().min(1),
932
+ description: exports_external.string().optional(),
933
+ runtime: workflowRuntimeSchema.optional(),
934
+ nodes: exports_external.array(fileFormatNodeSchema),
935
+ edges: exports_external.array(edgeSchema2),
936
+ definitions: exports_external.array(nodeManifestSchema2),
937
+ bindings: exports_external.array(bindingSchema).optional(),
938
+ variables: workflowVariablesSchema.optional(),
939
+ connection: workflowConnectionSchema.optional(),
940
+ subflows: exports_external.record(exports_external.string(), subflowFileSchema).optional(),
941
+ layout: layoutSchema.optional()
942
+ });
943
+ var fileFormatNodeSchema2 = exports_external.lazy(() => nodeSchema2.extend({
944
+ ui: nodeSchema2.shape.ui.optional()
945
+ }));
946
+ var subflowFileSchema2 = exports_external.object({
947
+ nodes: exports_external.array(fileFormatNodeSchema2),
948
+ edges: exports_external.array(edgeSchema2),
949
+ variables: workflowVariablesSchema.optional(),
950
+ layout: layoutSchema.optional()
951
+ });
952
+ var workflowSchemaV1_0 = exports_external.object({
953
+ id: idSchema,
954
+ version: exports_external.literal("1.0"),
955
+ name: exports_external.string().min(1),
956
+ description: exports_external.string().optional(),
957
+ runtime: workflowRuntimeSchema.optional(),
958
+ nodes: exports_external.array(fileFormatNodeSchema2),
959
+ edges: exports_external.array(edgeSchema2),
960
+ definitions: exports_external.array(nodeManifestSchema2),
961
+ bindings: exports_external.array(bindingSchema).optional(),
962
+ variables: workflowVariablesSchema.optional(),
963
+ connection: workflowConnectionSchema.optional(),
964
+ subflows: exports_external.record(exports_external.string(), subflowFileSchema2).optional(),
965
+ layout: layoutSchema.optional()
966
+ });
967
+ var workflowSchemaV1_1 = workflowSchemaV1_0.extend({
968
+ version: exports_external.literal("1.1")
969
+ });
970
+ var workflowSchemaV1_2 = workflowSchemaV1_1.extend({
971
+ version: exports_external.literal("1.2")
972
+ });
973
+ var fileFormatNodeSchema3 = exports_external.lazy(() => nodeSchema2.extend({
974
+ ui: nodeSchema2.shape.ui.optional()
975
+ }));
976
+ var v1_3VariableUpdateSchema = exports_external.object({
977
+ variableId: exports_external.string(),
978
+ expression: expressionValueSchema
979
+ });
980
+ var v1_3WorkflowVariablesSchema = exports_external.object({
981
+ globals: exports_external.array(workflowVariableSchema).optional(),
982
+ nodes: exports_external.array(nodeVariableSchema).optional(),
983
+ variableUpdates: exports_external.record(exports_external.string(), exports_external.array(v1_3VariableUpdateSchema)).optional()
984
+ });
985
+ var subflowFileSchema3 = exports_external.object({
986
+ nodes: exports_external.array(fileFormatNodeSchema3),
987
+ edges: exports_external.array(edgeSchema2),
988
+ variables: v1_3WorkflowVariablesSchema.optional(),
989
+ layout: layoutSchema.optional()
990
+ });
991
+ var workflowSchemaV1_3 = exports_external.object({
992
+ id: idSchema,
993
+ version: exports_external.literal("1.3"),
994
+ name: exports_external.string().min(1),
995
+ description: exports_external.string().optional(),
996
+ runtime: workflowRuntimeSchema.optional(),
997
+ nodes: exports_external.array(fileFormatNodeSchema3),
998
+ edges: exports_external.array(edgeSchema2),
999
+ definitions: exports_external.array(nodeManifestSchema2),
1000
+ bindings: exports_external.array(bindingSchema).optional(),
1001
+ variables: v1_3WorkflowVariablesSchema.optional(),
1002
+ connection: workflowConnectionSchema.optional(),
1003
+ subflows: exports_external.record(exports_external.string(), subflowFileSchema3).optional(),
1004
+ layout: layoutSchema.optional()
1005
+ });
1006
+ var fileFormatNodeSchema4 = exports_external.lazy(() => nodeSchema2.extend({
1007
+ ui: nodeSchema2.shape.ui.optional()
1008
+ }));
1009
+ var v1_4VariableUpdateSchema = exports_external.object({
1010
+ variableId: exports_external.string(),
1011
+ expression: expressionValueSchema
1012
+ });
1013
+ var v1_4WorkflowVariablesSchema = exports_external.object({
1014
+ globals: exports_external.array(workflowVariableSchema).optional(),
1015
+ nodes: exports_external.array(nodeVariableSchema).optional(),
1016
+ variableUpdates: exports_external.record(exports_external.string(), exports_external.array(v1_4VariableUpdateSchema)).optional()
1017
+ });
1018
+ var subflowFileSchema4 = exports_external.object({
1019
+ nodes: exports_external.array(fileFormatNodeSchema4),
1020
+ edges: exports_external.array(edgeSchema2),
1021
+ variables: v1_4WorkflowVariablesSchema.optional(),
1022
+ layout: layoutSchema.optional()
1023
+ });
1024
+ var workflowSchemaV1_4 = exports_external.object({
1025
+ id: idSchema,
1026
+ version: exports_external.literal("1.4"),
1027
+ name: exports_external.string().min(1),
1028
+ description: exports_external.string().optional(),
1029
+ runtime: workflowRuntimeSchema.optional(),
1030
+ nodes: exports_external.array(fileFormatNodeSchema4),
1031
+ edges: exports_external.array(edgeSchema2),
1032
+ definitions: exports_external.array(nodeManifestSchema2),
1033
+ bindings: exports_external.array(bindingSchema).optional(),
1034
+ variables: v1_4WorkflowVariablesSchema.optional(),
1035
+ connection: workflowConnectionSchema.optional(),
1036
+ subflows: exports_external.record(exports_external.string(), subflowFileSchema4).optional(),
1037
+ layout: layoutSchema.optional()
1038
+ });
1039
+ var workflowSchemaV1_5 = workflowSchemaV1_4.extend({
1040
+ version: exports_external.literal("1.5")
1041
+ });
1042
+ var workflowSchemaV1_6 = workflowSchemaV1_5.extend({
1043
+ version: exports_external.literal("1.6")
1044
+ });
1045
+ var workflowSchemaV1_7 = workflowSchemaV1_6.extend({
1046
+ version: exports_external.literal("1.7")
1047
+ });
1048
+ var workflowSchemaV1_8 = workflowSchemaV1_7.extend({
1049
+ version: exports_external.literal("1.8")
1050
+ });
1051
+ var workflowSchemaV1_9 = workflowSchemaV1_8.extend({
1052
+ version: exports_external.literal("1.9")
1053
+ });
1054
+ var workflowSchemaV1_10 = workflowSchemaV1_9.extend({
1055
+ version: exports_external.literal("1.10")
1056
+ });
1057
+ var MINIMUM_SUPPORTED_SCHEMA_VERSION = "1.9";
1058
+ var workflowFileSchema = workflowSchemaV1_9;
1059
+ var fileFormatNodeSchema5 = exports_external.lazy(() => nodeSchema2.extend({
1060
+ ui: nodeSchema2.shape.ui.optional()
1061
+ }));
1062
+ var subflowFileSchema5 = exports_external.object({
1063
+ nodes: exports_external.array(fileFormatNodeSchema5),
1064
+ edges: exports_external.array(edgeSchema2),
1065
+ variables: workflowVariablesSchema.optional(),
1066
+ layout: layoutSchema.optional()
1067
+ });
1068
+ var workflowManifestSchema = exports_external.object({
1069
+ version: exports_external.string().min(1),
1070
+ categories: exports_external.array(categoryManifestSchema2),
1071
+ nodes: exports_external.array(nodeManifestSchema2)
1072
+ });
1073
+ var manifestResponseSchema = exports_external.object({
1074
+ success: exports_external.boolean(),
1075
+ data: workflowManifestSchema.optional(),
1076
+ error: exports_external.string().optional(),
1077
+ timestamp: exports_external.string().optional()
1078
+ });
1079
+ var handleTargetSchema2 = exports_external.object({
1080
+ nodeType: exports_external.string(),
1081
+ handleId: exports_external.string().optional()
1082
+ });
1083
+ var addNodePanelSearchScopeSchema = exports_external.enum(["global", "direct", "deep"]);
1084
+ var addNodePanelCreateActionSchema = exports_external.object({
1085
+ label: exports_external.string(),
1086
+ icon: exports_external.string().optional(),
1087
+ description: exports_external.string().optional(),
1088
+ urlTemplate: exports_external.string(),
1089
+ categoryId: exports_external.string()
1090
+ });
1091
+ var addNodePanelConfigSchema = exports_external.object({
1092
+ searchScope: addNodePanelSearchScopeSchema.optional(),
1093
+ searchProviders: exports_external.array(exports_external.enum(["connector-events", "connector-triggers"])).optional(),
1094
+ refreshOnFocus: exports_external.string().optional(),
1095
+ createNewActions: exports_external.array(addNodePanelCreateActionSchema).optional()
1096
+ });
1097
+ var connectionConstraintSchema2 = exports_external.object({
1098
+ maxConnections: exports_external.number().int().positive().optional(),
1099
+ minConnections: exports_external.number().int().nonnegative().optional(),
1100
+ allowedTargets: exports_external.array(handleTargetSchema2).optional(),
1101
+ forbiddenTargets: exports_external.array(handleTargetSchema2).optional(),
1102
+ allowedSources: exports_external.array(handleTargetSchema2).optional(),
1103
+ forbiddenSources: exports_external.array(handleTargetSchema2).optional(),
1104
+ allowedTargetCategories: exports_external.array(exports_external.string()).optional(),
1105
+ forbiddenTargetCategories: exports_external.array(exports_external.string()).optional(),
1106
+ allowedSourceCategories: exports_external.array(exports_external.string()).optional(),
1107
+ forbiddenSourceCategories: exports_external.array(exports_external.string()).optional(),
1108
+ customValidation: exports_external.string().optional(),
1109
+ validationMessage: exports_external.string().optional(),
1110
+ addNodePanel: addNodePanelConfigSchema.optional()
1111
+ });
1112
+ function constraintWithAddNodePanel(constraint) {
1113
+ return constraint;
1114
+ }
1115
+ jsep.plugins.register(import_object.default);
1116
+ function resolveRelativePath(baseUri, relativePath) {
1117
+ if (relativePath.startsWith("#")) {
1118
+ throw new Error(`Same-document fragment refs are not file paths and must not be resolved as $ref files: "${relativePath}"`);
1119
+ }
1120
+ if (relativePath.startsWith("/") || /^[a-zA-Z]:/.test(relativePath)) {
1121
+ throw new Error(`Absolute paths are not allowed in $ref: "${relativePath}"`);
1122
+ }
1123
+ if (relativePath.includes("://")) {
1124
+ throw new Error(`Protocol-based URIs are not allowed in $ref: "${relativePath}"`);
1125
+ }
1126
+ const normalizedBase = baseUri.replace(/\\/g, "/");
1127
+ const lastSlash = normalizedBase.lastIndexOf("/");
1128
+ const baseDir = lastSlash >= 0 ? normalizedBase.slice(0, lastSlash + 1) : "";
1129
+ const resolved = normalizePath(`${baseDir}${relativePath}`);
1130
+ const isAbsoluteBase = normalizedBase.startsWith("/") || /^[a-zA-Z]:\//.test(normalizedBase);
1131
+ if (!isAbsoluteBase && resolved.startsWith("..")) {
1132
+ throw new Error(`$ref path "${relativePath}" escapes the project root`);
1133
+ }
1134
+ return resolved;
1135
+ }
1136
+ function normalizePath(path) {
1137
+ const isAbsolute = path.startsWith("/");
1138
+ const segments = path.split("/");
1139
+ const result = [];
1140
+ for (const segment of segments) {
1141
+ if (segment === "" || segment === ".")
1142
+ continue;
1143
+ if (segment === ".." && result.length > 0 && result[result.length - 1] !== "..") {
1144
+ result.pop();
1145
+ } else {
1146
+ result.push(segment);
1147
+ }
1148
+ }
1149
+ const normalized = result.join("/") || ".";
1150
+ return isAbsolute ? `/${normalized}` : normalized;
1151
+ }
1152
+ var DEFAULT_MAX_DEPTH = 10;
1153
+ async function resolveRefs(doc, resolver, options) {
1154
+ const ctx = {
1155
+ resolver,
1156
+ refMap: /* @__PURE__ */ new Map,
1157
+ errors: [],
1158
+ visiting: /* @__PURE__ */ new Set,
1159
+ maxDepth: options.maxDepth ?? DEFAULT_MAX_DEPTH
1160
+ };
1161
+ const resolved = await walk(doc, options.baseUri, [], 0, ctx);
1162
+ return { resolved, refMap: ctx.refMap, errors: ctx.errors };
1163
+ }
1164
+ function isRefObject(node) {
1165
+ if (node === null || typeof node !== "object" || Array.isArray(node)) {
1166
+ return false;
1167
+ }
1168
+ const keys = Object.keys(node);
1169
+ return keys.length === 1 && keys[0] === "$ref" && typeof node["$ref"] === "string";
1170
+ }
1171
+ function applyJsonPointer(doc, pointer) {
1172
+ if (pointer === "")
1173
+ return doc;
1174
+ if (!pointer.startsWith("/")) {
1175
+ throw new Error(`Invalid JSON Pointer: "${pointer}" (must be empty or start with "/")`);
1176
+ }
1177
+ const tokens = parsePointerTokens(pointer);
1178
+ let current = doc;
1179
+ for (const token of tokens) {
1180
+ if (current === null || current === undefined || typeof current !== "object") {
1181
+ throw new Error(`Cannot navigate into non-object at token "${token}" in pointer "${pointer}"`);
1182
+ }
1183
+ if (Array.isArray(current)) {
1184
+ const index = Number(token);
1185
+ if (!Number.isInteger(index) || index < 0 || index >= current.length) {
1186
+ throw new Error(`Invalid array index "${token}" in pointer "${pointer}"`);
1187
+ }
1188
+ current = current[index];
1189
+ } else {
1190
+ const obj = current;
1191
+ if (!(token in obj)) {
1192
+ throw new Error(`Key "${token}" not found in pointer "${pointer}"`);
1193
+ }
1194
+ current = obj[token];
1195
+ }
1196
+ }
1197
+ return current;
1198
+ }
1199
+ function parsePointerTokens(pointer) {
1200
+ return pointer.split("/").slice(1).map((t13) => t13.replace(/~1/g, "/").replace(/~0/g, "~"));
1201
+ }
1202
+ function toJsonPointer(segments) {
1203
+ if (segments.length === 0)
1204
+ return "";
1205
+ return "/" + segments.map((s) => s.replace(/~/g, "~0").replace(/\//g, "~1")).join("/");
1206
+ }
1207
+ async function walk(node, baseUri, pathSegments, refDepth, ctx) {
1208
+ if (node === null || node === undefined || typeof node !== "object") {
1209
+ return node;
1210
+ }
1211
+ if (Array.isArray(node)) {
1212
+ const result2 = [];
1213
+ for (let i = 0;i < node.length; i++) {
1214
+ result2.push(await walk(node[i], baseUri, [...pathSegments, String(i)], refDepth, ctx));
1215
+ }
1216
+ return result2;
1217
+ }
1218
+ if (isRefObject(node)) {
1219
+ return resolveRefObject(node, baseUri, pathSegments, refDepth, ctx);
1220
+ }
1221
+ const result = {};
1222
+ for (const [key, value] of Object.entries(node)) {
1223
+ result[key] = await walk(value, baseUri, [...pathSegments, key], refDepth, ctx);
1224
+ }
1225
+ return result;
1226
+ }
1227
+ async function resolveRefObject(node, baseUri, pathSegments, refDepth, ctx) {
1228
+ const pointer = toJsonPointer(pathSegments);
1229
+ const refPath = node.$ref;
1230
+ if (refPath.startsWith("#")) {
1231
+ return node;
1232
+ }
1233
+ if (refDepth >= ctx.maxDepth) {
1234
+ ctx.errors.push({ pointer, ref: refPath, message: `Max resolution depth (${ctx.maxDepth}) exceeded` });
1235
+ return node;
1236
+ }
1237
+ const resolvedPath = resolveRelativePath(baseUri, refPath);
1238
+ if (ctx.visiting.has(resolvedPath)) {
1239
+ ctx.errors.push({ pointer, ref: refPath, message: `Circular $ref detected: ${refPath}` });
1240
+ return node;
1241
+ }
1242
+ ctx.visiting.add(resolvedPath);
1243
+ try {
1244
+ const resolved = await ctx.resolver(refPath, baseUri);
1245
+ const originalValue = structuredClone(resolved);
1246
+ const isOuterRef = !ctx.refMap.has(pointer);
1247
+ if (isOuterRef) {
1248
+ ctx.refMap.set(pointer, {
1249
+ ref: refPath,
1250
+ originalValue,
1251
+ resolvedValue: originalValue,
1252
+ sourceBaseUri: baseUri
1253
+ });
1254
+ }
1255
+ const walked = await walk(resolved, resolvedPath, pathSegments, refDepth + 1, ctx);
1256
+ if (isOuterRef) {
1257
+ const entry = ctx.refMap.get(pointer);
1258
+ if (entry) {
1259
+ entry.resolvedValue = structuredClone(walked);
1260
+ }
1261
+ }
1262
+ return walked;
1263
+ } catch (err) {
1264
+ const msg = err instanceof Error ? err.message : "Unknown resolution error";
1265
+ ctx.errors.push({ pointer, ref: refPath, message: msg });
1266
+ return node;
1267
+ } finally {
1268
+ ctx.visiting.delete(resolvedPath);
1269
+ }
1270
+ }
1271
+ function fileFormatToInMemoryWorkflow(file) {
1272
+ const { layout: _, subflows: __, ...rest } = file;
1273
+ return {
1274
+ ...rest,
1275
+ runtime: file.runtime ?? DEFAULT_WORKFLOW_RUNTIME,
1276
+ nodes: file.nodes ? mergeLayout(file.nodes, file.layout?.nodes) : [],
1277
+ ...file.edges && { edges: mergeEdgeLayout(file.edges, file.layout?.edges) },
1278
+ subflows: file.subflows ? mapValues(file.subflows, subflowFileToMemory) : undefined
1279
+ };
1280
+ }
1281
+ async function resolveAndConvertWorkflow(raw, resolver, options) {
1282
+ const { resolved, refMap, errors } = await resolveRefs(raw, resolver, options);
1283
+ if (errors.length > 0) {
1284
+ const messages = errors.map((e) => `${e.pointer}: ${e.message}`).join("; ");
1285
+ throw new Error(`Failed to resolve $ref(s): ${messages}`);
1286
+ }
1287
+ const workflow = fileFormatToInMemoryWorkflow(resolved);
1288
+ return { workflow, refMap };
1289
+ }
1290
+ function inMemoryWorkflowToFileFormat(workflow) {
1291
+ if (workflow.version && workflow.version !== MINIMUM_SUPPORTED_SCHEMA_VERSION) {
1292
+ throw new Error(`[inMemoryWorkflowToFileFormat] Refusing to serialize a v${workflow.version} workflow to the v${MINIMUM_SUPPORTED_SCHEMA_VERSION} file format. Run the workflow migration pipeline before serializing.`);
1293
+ }
1294
+ const { subflows: _, ...rest } = workflow;
1295
+ const { layout: nodeLayout, nodes } = extractLayout(workflow.nodes);
1296
+ const { layout: edgeLayout, edges } = extractEdgeLayout(workflow.edges);
1297
+ return {
1298
+ ...rest,
1299
+ version: rest.version,
1300
+ nodes,
1301
+ ...workflow.edges && { edges },
1302
+ layout: { nodes: nodeLayout, ...edgeLayout && { edges: edgeLayout } },
1303
+ subflows: workflow.subflows ? mapValues(workflow.subflows, subflowMemoryToFile) : undefined
1304
+ };
1305
+ }
1306
+ var DEFAULT_UI = { position: { x: 0, y: 0 } };
1307
+ function mergeLayout(nodes, layoutNodes) {
1308
+ return nodes.map((node) => {
1309
+ const layoutEntry = node.id && layoutNodes ? layoutNodes[node.id] : undefined;
1310
+ const ui = layoutEntry ? { ...node.ui, ...layoutEntry } : node.ui ?? DEFAULT_UI;
1311
+ return { ...node, ui };
1312
+ });
1313
+ }
1314
+ function mergeEdgeLayout(edges, layoutEdges) {
1315
+ if (!layoutEdges)
1316
+ return edges;
1317
+ return edges.map((edge) => {
1318
+ const layoutEntry = edge.id ? layoutEdges[edge.id] : undefined;
1319
+ return layoutEntry ? { ...edge, ui: { ...edge.ui, ...layoutEntry } } : edge;
1320
+ });
1321
+ }
1322
+ function extractEdgeLayout(edges) {
1323
+ if (!edges)
1324
+ return { layout: undefined, edges: [] };
1325
+ const hasLayout = (edge) => Boolean(edge.id && edge.ui && Object.keys(edge.ui).length > 0);
1326
+ if (!edges.some(hasLayout))
1327
+ return { layout: undefined, edges };
1328
+ const layout = {};
1329
+ const strippedEdges = edges.map((edge) => {
1330
+ if (hasLayout(edge)) {
1331
+ layout[edge.id] = edge.ui;
1332
+ }
1333
+ const { ui: _, ...rest } = edge;
1334
+ return rest;
1335
+ });
1336
+ return { layout, edges: strippedEdges };
1337
+ }
1338
+ function extractLayout(nodes) {
1339
+ const layout = {};
1340
+ const strippedNodes = nodes.map((node) => {
1341
+ if (node.id && node.ui) {
1342
+ layout[node.id] = node.ui;
1343
+ }
1344
+ const { ui: _, ...rest } = node;
1345
+ return rest;
1346
+ });
1347
+ return { layout, nodes: strippedNodes };
1348
+ }
1349
+ function subflowFileToMemory(subflow) {
1350
+ const { layout: _, ...rest } = subflow;
1351
+ return {
1352
+ ...rest,
1353
+ nodes: mergeLayout(subflow.nodes, subflow.layout?.nodes),
1354
+ ...subflow.edges && { edges: mergeEdgeLayout(subflow.edges, subflow.layout?.edges) }
1355
+ };
1356
+ }
1357
+ function subflowMemoryToFile(subflow) {
1358
+ const { layout: nodeLayout, nodes } = extractLayout(subflow.nodes);
1359
+ const { layout: edgeLayout, edges } = extractEdgeLayout(subflow.edges);
1360
+ return {
1361
+ ...subflow,
1362
+ nodes,
1363
+ ...subflow.edges && { edges },
1364
+ layout: { nodes: nodeLayout, ...edgeLayout && { edges: edgeLayout } }
1365
+ };
1366
+ }
1367
+ function mapValues(record, fn) {
1368
+ const result = /* @__PURE__ */ Object.create(null);
1369
+ for (const [key, value] of Object.entries(record)) {
1370
+ if (key === "__proto__" || key === "constructor" || key === "prototype") {
1371
+ continue;
1372
+ }
1373
+ result[key] = fn(value);
1374
+ }
1375
+ return result;
1376
+ }
1377
+ var ASSET_BINDING_RESOURCE = "asset";
1378
+ var CONNECTION_BINDING_RESOURCE = "connection";
1379
+ var ASSETS_PREFIX = "$assets";
1380
+ var ASSET_NAME_PATTERN = String.raw`[a-zA-Z_]\w*`;
1381
+ var ASSETS_REF_PATTERN = String.raw`(?<!\w)` + ASSETS_PREFIX.replace("$", String.raw`\$`) + String.raw`\.(${ASSET_NAME_PATTERN})(?![\w\x80-\uFFFF])`;
1382
+ var CONNECTOR_NODE_PREFIX = "uipath.connector.";
1383
+ function buildConnectorNodeType(connectorKey, sanitizedName, surface = "action") {
1384
+ const marker = surface === "trigger" ? "trigger." : surface === "event" ? "event." : "";
1385
+ return `${CONNECTOR_NODE_PREFIX}${marker}${connectorKey}.${sanitizedName}`;
1386
+ }
1387
+ var CRON_TOKEN = "(?:\\d+[LW]?|[A-Z]{3}|LW|L|W|\\?|\\*)";
1388
+ var CRON_FIELD = `${CRON_TOKEN}(?:[,/#-]${CRON_TOKEN})*`;
1389
+ var QUARTZ_CRON_RE = new RegExp(`^\\s*${CRON_FIELD}(?:\\s+${CRON_FIELD}){5,6}\\s*$`);
1390
+ var RESOURCE_CONFIG = {
1391
+ process: {
1392
+ nameField: "name",
1393
+ displayName: "Process name"
1394
+ },
1395
+ "process.Agent": {
1396
+ nameField: "name",
1397
+ displayName: "Process name",
1398
+ resource: "process",
1399
+ subType: "Agent"
1400
+ },
1401
+ BusinessRule: {
1402
+ nameField: "name",
1403
+ displayName: "Business rule"
1404
+ },
1405
+ queue: {
1406
+ nameField: "queueName",
1407
+ displayName: "Queue"
1408
+ },
1409
+ app: {
1410
+ nameField: "name",
1411
+ displayName: "App name"
1412
+ },
1413
+ ixpDeployment: {
1414
+ nameField: "name",
1415
+ displayName: "IXP model"
1416
+ },
1417
+ [ASSET_BINDING_RESOURCE]: {
1418
+ nameField: "name",
1419
+ displayName: "Orchestrator asset"
1420
+ },
1421
+ Entity: {
1422
+ nameField: "name",
1423
+ displayName: "Entity"
1424
+ }
1425
+ };
1426
+ var JOB_ATTACHMENT_DEFINITION_KEY = "job-attachment";
1427
+ var JOB_ATTACHMENT_REF = `#/definitions/${JOB_ATTACHMENT_DEFINITION_KEY}`;
1428
+ var CONVERSATIONAL_AGENT_SETTINGS = {
1429
+ model: "anthropic.claude-sonnet-5",
1430
+ maxTokens: 8192,
1431
+ maxIterations: 8,
1432
+ temperature: 0,
1433
+ engine: "conversational-v1"
1434
+ };
1435
+ var GEMINI_PERSONAS = ["Aoede", "Charon", "Fenrir", "Kore", "Leda", "Orus", "Puck", "Zephyr"];
1436
+ var OPENAI_PERSONAS = ["alloy", "ash", "ballad", "coral", "echo", "sage", "shimmer", "verse"];
1437
+ var DEFAULT_CONVERSATIONAL_VOICE_MODEL = "gemini-3.1-flash-live-preview";
1438
+ var VOICE_MODELS = [
1439
+ {
1440
+ name: DEFAULT_CONVERSATIONAL_VOICE_MODEL,
1441
+ maxTokens: 65536,
1442
+ isPreview: true,
1443
+ personas: GEMINI_PERSONAS
1444
+ },
1445
+ {
1446
+ name: "gpt-realtime-2",
1447
+ maxTokens: 32000,
1448
+ isPreview: true,
1449
+ personas: OPENAI_PERSONAS
1450
+ }
1451
+ ];
1452
+ var defaultVoiceModel = VOICE_MODELS.find((m) => m.name === DEFAULT_CONVERSATIONAL_VOICE_MODEL);
1453
+ if (!defaultVoiceModel) {
1454
+ throw new Error(`Default conversational voice model "${DEFAULT_CONVERSATIONAL_VOICE_MODEL}" is missing from the catalog`);
1455
+ }
1456
+ var DEFAULT_CONVERSATIONAL_VOICE_MODEL_ENTRY = defaultVoiceModel;
1457
+ var VOICE_TURN_DETECTION_SENSITIVITIES = ["low", "high"];
1458
+ var VOICE_TURN_DETECTION_LIMITS = {
1459
+ silenceDurationMs: { min: 0, max: 5000 },
1460
+ prefixPaddingMs: { min: 0, max: 5000 }
1461
+ };
1462
+ var DEFAULT_VOICE_AGENT_SPEAKS_FIRST = true;
1463
+ var DEFAULT_CONVERSATIONAL_VOICE_SETTINGS = {
1464
+ model: DEFAULT_CONVERSATIONAL_VOICE_MODEL,
1465
+ maxTokens: DEFAULT_CONVERSATIONAL_VOICE_MODEL_ENTRY.maxTokens,
1466
+ temperature: 0,
1467
+ persona: DEFAULT_CONVERSATIONAL_VOICE_MODEL_ENTRY.personas[0],
1468
+ agentSpeaksFirst: DEFAULT_VOICE_AGENT_SPEAKS_FIRST
1469
+ };
1470
+ function createRefResolver(readFile) {
1471
+ return async (refPath, baseUri) => {
1472
+ const resolvedPath = resolveRelativePath(baseUri, refPath);
1473
+ const content = await readFile(resolvedPath);
1474
+ return JSON.parse(content);
1475
+ };
1476
+ }
1477
+ function planWriteThrough(doc, refMap) {
1478
+ if (refMap.size === 0) {
1479
+ return { safeSnapshot: doc, fileWrites: [], finalDocument: doc, inlinedRefs: [], orphanedRefs: [] };
1480
+ }
1481
+ const safeSnapshot = structuredClone(doc);
1482
+ let finalDoc = structuredClone(doc);
1483
+ const allEntries = [...refMap.entries()].map(([pointer, entry]) => {
1484
+ const absolutePath = resolveRelativePath(entry.sourceBaseUri, entry.ref);
1485
+ const currentValue = getAtPointer(finalDoc, pointer);
1486
+ const pathExists = pointerExists(finalDoc, pointer);
1487
+ const isChanged = !deepEqual(currentValue, entry.resolvedValue);
1488
+ return { pointer, entry, absolutePath, currentValue, isChanged, pathExists };
1489
+ });
1490
+ const orphanedRefs = allEntries.filter((e) => !e.pathExists).map((e) => ({ pointer: e.pointer, ref: e.entry.ref }));
1491
+ const entries = allEntries.filter((e) => e.pathExists);
1492
+ entries.sort((a, b) => pointerDepth2(a.pointer) - pointerDepth2(b.pointer));
1493
+ const targetGroups = /* @__PURE__ */ new Map;
1494
+ for (const e of entries) {
1495
+ const group = targetGroups.get(e.absolutePath) ?? [];
1496
+ group.push(e);
1497
+ targetGroups.set(e.absolutePath, group);
1498
+ }
1499
+ const fileWrites = [];
1500
+ const inlinedRefs = [];
1501
+ const restoredPrefixes = [];
1502
+ for (const [, rawGroup] of targetGroups) {
1503
+ const group = rawGroup.filter((e2) => !restoredPrefixes.some((p) => isNestedUnder(e2.pointer, p)));
1504
+ if (group.length === 0)
1505
+ continue;
1506
+ const isSharedTarget = group.length > 1;
1507
+ const changedEntries = group.filter((e2) => e2.isChanged);
1508
+ const unchangedEntries = group.filter((e2) => !e2.isChanged);
1509
+ if (changedEntries.length === 0) {
1510
+ for (const e2 of group) {
1511
+ finalDoc = setRef(finalDoc, e2.pointer, e2.entry.ref);
1512
+ restoredPrefixes.push(e2.pointer);
1513
+ }
1514
+ continue;
1515
+ }
1516
+ if (isSharedTarget) {
1517
+ const allChangedMatch = changedEntries.every((e2) => deepEqual(e2.currentValue, changedEntries[0].currentValue));
1518
+ if (allChangedMatch) {
1519
+ fileWrites.push({ refPath: changedEntries[0].entry.ref, content: changedEntries[0].currentValue });
1520
+ for (const e2 of group) {
1521
+ finalDoc = setRef(finalDoc, e2.pointer, e2.entry.ref);
1522
+ restoredPrefixes.push(e2.pointer);
1523
+ }
1524
+ } else {
1525
+ for (const e2 of changedEntries) {
1526
+ inlinedRefs.push(e2.pointer);
1527
+ }
1528
+ for (const e2 of unchangedEntries) {
1529
+ finalDoc = setRef(finalDoc, e2.pointer, e2.entry.ref);
1530
+ restoredPrefixes.push(e2.pointer);
1531
+ }
1532
+ }
1533
+ continue;
1534
+ }
1535
+ const e = changedEntries[0];
1536
+ fileWrites.push({ refPath: e.entry.ref, content: e.currentValue });
1537
+ finalDoc = setRef(finalDoc, e.pointer, e.entry.ref);
1538
+ restoredPrefixes.push(e.pointer);
1539
+ }
1540
+ return { safeSnapshot, fileWrites, finalDocument: finalDoc, inlinedRefs, orphanedRefs };
1541
+ }
1542
+ function setRef(doc, pointer, ref) {
1543
+ if (pointer === "")
1544
+ return { $ref: ref };
1545
+ setAtPointer(doc, pointer, { $ref: ref });
1546
+ return doc;
1547
+ }
1548
+ function pointerDepth2(pointer) {
1549
+ if (pointer === "")
1550
+ return 0;
1551
+ return pointer.split("/").length - 1;
1552
+ }
1553
+ function isNestedUnder(child, parent) {
1554
+ if (parent === "")
1555
+ return child !== "";
1556
+ return child.startsWith(parent + "/");
1557
+ }
1558
+ function getAtPointer(doc, pointer) {
1559
+ if (pointer === "")
1560
+ return doc;
1561
+ try {
1562
+ return applyJsonPointer(doc, pointer);
1563
+ } catch {
1564
+ return;
1565
+ }
1566
+ }
1567
+ function pointerExists(doc, pointer) {
1568
+ return getAtPointer(doc, pointer) !== undefined || pointer === "";
1569
+ }
1570
+ function setAtPointer(doc, pointer, value) {
1571
+ const tokens = parsePointerTokens(pointer);
1572
+ if (tokens.length === 0)
1573
+ return;
1574
+ const parentTokens = tokens.slice(0, -1);
1575
+ const parent = parentTokens.length === 0 ? doc : getAtPointer(doc, "/" + parentTokens.map((t13) => t13.replace(/~/g, "~0").replace(/\//g, "~1")).join("/"));
1576
+ if (parent === null || parent === undefined || typeof parent !== "object")
1577
+ return;
1578
+ const key = tokens[tokens.length - 1];
1579
+ if (Array.isArray(parent)) {
1580
+ const index = Number(key);
1581
+ if (Number.isInteger(index) && index >= 0 && index < parent.length) {
1582
+ parent[index] = value;
1583
+ }
1584
+ } else {
1585
+ parent[key] = value;
1586
+ }
1587
+ }
1588
+ async function executeWritePlan(plan, callbacks) {
1589
+ const { writeMainFile, writeRefFile } = callbacks;
1590
+ if (plan.fileWrites.length === 0) {
1591
+ await writeMainFile(JSON.stringify(plan.finalDocument, null, 2));
1592
+ return {
1593
+ chunkFilesWritten: 0,
1594
+ orphanedRefs: plan.orphanedRefs,
1595
+ inlinedRefs: plan.inlinedRefs
1596
+ };
1597
+ }
1598
+ await writeMainFile(JSON.stringify(plan.safeSnapshot, null, 2));
1599
+ await Promise.all(plan.fileWrites.map((fileWrite) => writeRefFile(fileWrite.refPath, JSON.stringify(fileWrite.content, null, 2))));
1600
+ await writeMainFile(JSON.stringify(plan.finalDocument, null, 2));
1601
+ return {
1602
+ chunkFilesWritten: plan.fileWrites.length,
1603
+ orphanedRefs: plan.orphanedRefs,
1604
+ inlinedRefs: plan.inlinedRefs
1605
+ };
1606
+ }
1607
+
1608
+ // ../../node_modules/@uipath/flow-core/dist/chunk-LCWGFOYN.js
1609
+ var ARRAY_WILDCARD_RE = /\[\*\]/g;
1610
+ function stripWildcard(name) {
1611
+ return name.replace(ARRAY_WILDCARD_RE, "");
1612
+ }
1613
+ function hasWildcardKey(record) {
1614
+ return record ? Object.keys(record).some((key) => key.includes("[*]")) : false;
1615
+ }
1616
+ function hasWildcard(schema) {
1617
+ return hasWildcardKey(schema.properties) || hasWildcardKey(schema.definitions) || hasWildcardKey(schema.$defs);
1618
+ }
1619
+ function rewriteKeyedSchemas(record) {
1620
+ const result = {};
1621
+ for (const [key, value] of Object.entries(record)) {
1622
+ result[stripWildcard(key)] = sanitizeNode(value);
1623
+ }
1624
+ return result;
1625
+ }
1626
+ function sanitizeNode(node) {
1627
+ const result = { ...node };
1628
+ if (typeof result.$ref === "string" && result.$ref.includes("[*]")) {
1629
+ result.$ref = stripWildcard(result.$ref);
1630
+ }
1631
+ if (node.properties) {
1632
+ result.properties = rewriteKeyedSchemas(node.properties);
1633
+ }
1634
+ if (node.items && !Array.isArray(node.items)) {
1635
+ result.items = sanitizeNode(node.items);
1636
+ }
1637
+ for (const combinator of ["oneOf", "anyOf", "allOf"]) {
1638
+ if (node[combinator]) {
1639
+ result[combinator] = node[combinator].map(sanitizeNode);
1640
+ }
1641
+ }
1642
+ return result;
1643
+ }
1644
+ function sanitizeConnectorSchema(schema) {
1645
+ if (!schema || !hasWildcard(schema))
1646
+ return schema;
1647
+ const result = sanitizeNode(schema);
1648
+ if (schema.definitions)
1649
+ result.definitions = rewriteKeyedSchemas(schema.definitions);
1650
+ if (schema.$defs)
1651
+ result.$defs = rewriteKeyedSchemas(schema.$defs);
1652
+ return result;
1653
+ }
1654
+ var JSON_STRING_PREFIX = "=jsonString:";
1655
+ var JIT_OBJECT_INPUT_MODE = "jitObject";
1656
+ function flattenSplitConfiguration(config) {
1657
+ if ("essentialConfiguration" in config || "optionalConfiguration" in config) {
1658
+ return {
1659
+ ...config.optionalConfiguration,
1660
+ ...config.essentialConfiguration
1661
+ };
1662
+ }
1663
+ return config;
1664
+ }
1665
+ function normalizeTransientProperties(config) {
1666
+ const result = { ...config };
1667
+ const fc = result.fieldsContainer;
1668
+ const inputMode = result.savedInputMode ?? fc?.inputMode;
1669
+ const jitFieldName = result.savedJitInputFieldId ?? fc?.jitInputField?.name;
1670
+ if (inputMode === JIT_OBJECT_INPUT_MODE || jitFieldName === "body") {
1671
+ result.isJitObjectInputMode = true;
1672
+ }
1673
+ return result;
1674
+ }
1675
+ function parseConfigurationJson(configuration) {
1676
+ if (!configuration)
1677
+ return null;
1678
+ try {
1679
+ if (typeof configuration === "object") {
1680
+ return normalizeTransientProperties(flattenSplitConfiguration(configuration));
1681
+ }
1682
+ let str = configuration;
1683
+ if (str.startsWith(JSON_STRING_PREFIX))
1684
+ str = str.substring(JSON_STRING_PREFIX.length);
1685
+ const parsed = JSON.parse(str);
1686
+ return typeof parsed === "object" && parsed !== null ? normalizeTransientProperties(flattenSplitConfiguration(parsed)) : null;
1687
+ } catch {
1688
+ return null;
1689
+ }
1690
+ }
1691
+ function resolveJsonSchema(schema, options = {}) {
1692
+ const { maxDepth = 25 } = options;
1693
+ const definitions = schema.definitions || schema.$defs || {};
1694
+ function resolveRef(ref) {
1695
+ const match = ref.match(/^#\/(?:definitions|\$defs)\/(.+)$/);
1696
+ if (!match)
1697
+ return {};
1698
+ return definitions[match[1]] || {};
1699
+ }
1700
+ function resolve(node, visited, depth) {
1701
+ if (depth > maxDepth)
1702
+ return node;
1703
+ if (node.$ref) {
1704
+ if (visited.has(node.$ref))
1705
+ return { type: "any" };
1706
+ visited.add(node.$ref);
1707
+ return resolve(resolveRef(node.$ref), visited, depth + 1);
1708
+ }
1709
+ const result = { ...node };
1710
+ if (node.properties) {
1711
+ result.properties = {};
1712
+ for (const [key, prop] of Object.entries(node.properties)) {
1713
+ result.properties[key] = resolve(prop, new Set(visited), depth + 1);
1714
+ }
1715
+ }
1716
+ if (node.items && !Array.isArray(node.items)) {
1717
+ result.items = resolve(node.items, new Set(visited), depth + 1);
1718
+ }
1719
+ for (const combinator of ["oneOf", "anyOf", "allOf"]) {
1720
+ if (node[combinator]) {
1721
+ result[combinator] = node[combinator].map((s) => resolve(s, new Set(visited), depth + 1));
1722
+ }
1723
+ }
1724
+ return result;
1725
+ }
1726
+ const isArray = schema.type === "array";
1727
+ let rootSchema = schema;
1728
+ if (isArray && schema.items && !Array.isArray(schema.items)) {
1729
+ rootSchema = schema.items;
1730
+ }
1731
+ return {
1732
+ schema: resolve(rootSchema, /* @__PURE__ */ new Set, 0),
1733
+ isArray
1734
+ };
1735
+ }
1736
+ function resolveLocalRef(root, node) {
1737
+ if (!node || typeof node.$ref !== "string")
1738
+ return node;
1739
+ const match = node.$ref.match(/^#\/(definitions|\$defs)\/(.+)$/);
1740
+ if (!match)
1741
+ return node;
1742
+ const bucket = root[match[1]];
1743
+ return bucket?.[match[2]] ?? node;
1744
+ }
1745
+ function resolveConnectorOutputSchema(rawOutputJsonSchema, fieldsContainer) {
1746
+ if (!rawOutputJsonSchema || typeof rawOutputJsonSchema !== "object")
1747
+ return;
1748
+ const schema = sanitizeConnectorSchema(rawOutputJsonSchema);
1749
+ if (!schema.type && !schema.properties && !schema.$ref && !schema.definitions && !schema.$defs)
1750
+ return;
1751
+ const jsonSchemaType = typeof schema.type === "string" ? schema.type : "object";
1752
+ const formatFields = fieldsContainer ? collectResponseFieldFormats(fieldsContainer) : [];
1753
+ if (formatFields.length > 0) {
1754
+ const stamped = structuredClone(schema);
1755
+ for (const field of formatFields) {
1756
+ const target = findSchemaNodeByFieldPath(stamped, field.name.split("."));
1757
+ if (target)
1758
+ applyStringFormat(target, field.format);
1759
+ }
1760
+ return { jsonSchemaType, schema: stamped };
1761
+ }
1762
+ return { jsonSchemaType, schema };
1763
+ }
1764
+ function resolveConnectorOutputTypeSchema(inputsDetail) {
1765
+ if (!inputsDetail || typeof inputsDetail !== "object")
1766
+ return;
1767
+ const configuration = parseConfigurationJson(inputsDetail.configuration);
1768
+ const fieldsContainer = configuration?.fieldsContainer;
1769
+ return resolveConnectorOutputSchema(fieldsContainer?.outputJsonSchema, fieldsContainer);
1770
+ }
1771
+ function collectResponseFieldFormats(fieldsContainer) {
1772
+ const raw = [
1773
+ ...Array.isArray(fieldsContainer.inputFields) ? fieldsContainer.inputFields : [],
1774
+ ...Array.isArray(fieldsContainer.outputFields) ? fieldsContainer.outputFields : []
1775
+ ];
1776
+ const fields = [];
1777
+ for (const field of raw) {
1778
+ if (typeof field?.name !== "string" || !field.name)
1779
+ continue;
1780
+ if (typeof field.format !== "string" || !field.format)
1781
+ continue;
1782
+ if (field.response !== true)
1783
+ continue;
1784
+ fields.push({ name: field.name, format: field.format });
1785
+ }
1786
+ return fields;
1787
+ }
1788
+ function applyStringFormat(node, format) {
1789
+ if (node.format)
1790
+ return;
1791
+ if (node.type === "string" || Array.isArray(node.type) && node.type.includes("string")) {
1792
+ node.format = format;
1793
+ } else if (node.type === "array" && node.items && !Array.isArray(node.items)) {
1794
+ applyStringFormat(node.items, format);
1795
+ }
1796
+ }
1797
+ function findSchemaNodeByFieldPath(root, segments) {
1798
+ let node = root;
1799
+ for (const segment of segments) {
1800
+ node = resolveLocalRef(root, node);
1801
+ const properties = node?.properties;
1802
+ node = properties?.[segment];
1803
+ if (!node)
1804
+ return;
1805
+ }
1806
+ return resolveLocalRef(root, node);
1807
+ }
1808
+ function resolveNodeOutputTypeSchema(nodeType, inputsDetail, outputKey) {
1809
+ if (outputKey !== "output")
1810
+ return;
1811
+ if (nodeType.startsWith(CONNECTOR_NODE_PREFIX)) {
1812
+ return resolveConnectorOutputTypeSchema(inputsDetail);
1813
+ }
1814
+ return;
1815
+ }
1816
+ function createWorkflowVariable(options) {
1817
+ return {
1818
+ id: options.id,
1819
+ direction: options.direction,
1820
+ type: options.type ?? "string",
1821
+ ...options.subType && { subType: options.subType },
1822
+ ...options.schema && { schema: options.schema },
1823
+ ...options.defaultValue !== undefined && { defaultValue: options.defaultValue },
1824
+ ...options.description && { description: options.description }
1825
+ };
1826
+ }
1827
+ function createNodeVariable(options) {
1828
+ return {
1829
+ id: `${options.nodeId}.${options.outputId}`,
1830
+ type: options.type ?? "string",
1831
+ ...options.subType && { subType: options.subType },
1832
+ ...options.description && { description: options.description },
1833
+ ...options.schema && { schema: options.schema },
1834
+ binding: {
1835
+ nodeId: options.nodeId,
1836
+ outputId: options.outputId
1837
+ }
1838
+ };
1839
+ }
1840
+ function generateNodeVariables(nodes, definitions) {
1841
+ const generatedVariables = [];
1842
+ const definitionOutputs = /* @__PURE__ */ new Map;
1843
+ for (const def of definitions) {
1844
+ if (def.outputDefinition && Object.keys(def.outputDefinition).length > 0) {
1845
+ definitionOutputs.set(def.nodeType, def.outputDefinition);
1846
+ }
1847
+ }
1848
+ for (const node of nodes) {
1849
+ const nodeOutputs = node.outputs ?? {};
1850
+ const outputs = Object.keys(nodeOutputs).length > 0 ? nodeOutputs : definitionOutputs.get(node.type) ?? {};
1851
+ for (const [outputKey, outputDef] of Object.entries(outputs)) {
1852
+ if (outputDef && typeof outputDef === "object") {
1853
+ const def = outputDef;
1854
+ const resolved = resolveNodeOutputTypeSchema(node.type, node.inputs?.detail, outputKey);
1855
+ generatedVariables.push(createNodeVariable({
1856
+ nodeId: node.id,
1857
+ outputId: outputKey,
1858
+ type: resolved?.jsonSchemaType ?? def.type,
1859
+ subType: def.subType,
1860
+ description: def.description,
1861
+ schema: def.schema
1862
+ }));
1863
+ }
1864
+ }
1865
+ }
1866
+ return generatedVariables;
1867
+ }
1868
+
1869
+ // ../../node_modules/@uipath/flow-core/dist/chunk-N57HRLCW.js
1870
+ var globImport_locales_json2 = __glob2({
1871
+ "../../locales/de.json": () => import("./de-FGHEJRCI-rv513mfh.js"),
1872
+ "../../locales/en.json": () => import("./en-BWGKA5OE-1qkvb9rn.js"),
1873
+ "../../locales/es-MX.json": () => import("./es-MX-XXZJGC4R-2mr8jtgm.js"),
1874
+ "../../locales/es.json": () => import("./es-KR3ZSNMP-84zphx0x.js"),
1875
+ "../../locales/fr.json": () => import("./fr-Y6NPVODW-8vr1ja4b.js"),
1876
+ "../../locales/ja.json": () => import("./ja-Q5PXKJ2V-p4msxzjd.js"),
1877
+ "../../locales/ko.json": () => import("./ko-AYBDSRZG-41mdmsg1.js"),
1878
+ "../../locales/pt-BR.json": () => import("./pt-BR-TKHNHMET-sn91xyq0.js"),
1879
+ "../../locales/pt.json": () => import("./pt-ROXU257Y-2f6bxev4.js"),
1880
+ "../../locales/ro.json": () => import("./ro-AVAWPKOO-b89pw79r.js"),
1881
+ "../../locales/ru.json": () => import("./ru-GSCT4ARZ-1sa9wbr8.js"),
1882
+ "../../locales/tr.json": () => import("./tr-JMIP7ZSL-c39b6pe4.js"),
1883
+ "../../locales/zh-CN.json": () => import("./zh-CN-IFFXSEJS-9wm9gmrv.js"),
1884
+ "../../locales/zh-TW.json": () => import("./zh-TW-IYBNYAMG-8727c7v2.js")
1885
+ });
1886
+ var MANIFEST_NAMESPACE = "manifest";
1887
+ var registerFlowCoreI18n = createI18nRegistrar({
1888
+ namespace: MANIFEST_NAMESPACE,
1889
+ englishBundle: en_default2,
1890
+ loadCatalog: (lng) => globImport_locales_json2(`../../locales/${lng}.json`)
1891
+ });
1892
+
1893
+ export { isExpressionValue, coerceToExpressionValue, coerceInputsViaSchema, RESERVED_WORDS, VALID_IDENTIFIER_PATTERN, generateRandomId, generateNextId, isTriggerNodeType, isEndNodeType, DOWHILE_NODE_TYPE, CONVERSATIONAL_AGENT_ICON, CONVERSATIONAL_VOICE_END_CALL_NODE_TYPE, ESCALATION_QUICK_FORM_NODE_TYPE, getDefaultAgentContent, HITL_NODE_TYPE, HITL_QUICK_FORM_NODE_TYPE, HITL_CODED_ACTION_NODE_TYPE, HITL_DOC_VALIDATION_NODE_TYPE, DYNAMIC_EXTRACT_NODE_TYPE, isHitlNodeType, argumentBindingSchema, workflowVariableSchema, variableUpdateSchema, nodeVariableSchema, workflowVariablesSchema, EMPTY_VARIABLES, workflowConnectionSchema, nodeDisplayManifestSchema, nodeManifestSchema, idSchema, edgeSchema2, nodeSchema2, nodeManifestSchema2, versionSchema2, subflowEntrySchema, workflowSchema, MINIMUM_SUPPORTED_SCHEMA_VERSION, workflowFileSchema, workflowManifestSchema, constraintWithAddNodePanel, fileFormatToInMemoryWorkflow, resolveAndConvertWorkflow, inMemoryWorkflowToFileFormat, CONNECTION_BINDING_RESOURCE, CONNECTOR_NODE_PREFIX, buildConnectorNodeType, CONVERSATIONAL_AGENT_SETTINGS, VOICE_TURN_DETECTION_SENSITIVITIES, VOICE_TURN_DETECTION_LIMITS, DEFAULT_VOICE_AGENT_SPEAKS_FIRST, DEFAULT_CONVERSATIONAL_VOICE_SETTINGS, createRefResolver, planWriteThrough, executeWritePlan, resolveJsonSchema, createWorkflowVariable, createNodeVariable, generateNodeVariables, MANIFEST_NAMESPACE, registerFlowCoreI18n };
1894
+
1895
+ //# debugId=292D5916D007997264756E2164756E21