@uipath/flow-tool 1.204.0-preview.255 → 1.205.0-preview.256

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 (178) hide show
  1. package/README.md +9 -9
  2. package/dist/THIRD-PARTY-NOTICES.md +36 -12
  3. package/dist/{authoring-bppe07p0.js → authoring-e1k40hyw.js} +6 -5
  4. package/dist/{binding-service-fw3rzae4.js → binding-service-yw91615m.js} +38 -30
  5. package/dist/{connector-service-2z7s7qtd.js → connector-service-ttm75a4n.js} +224 -47
  6. package/dist/de-UZI7FJDO-awjpqfz0.js +200 -0
  7. package/dist/{de-MUJPA4EB-dpg7t2rw.js → de-UZI7FJDO-mwvc4cxe.js} +29 -2
  8. package/dist/{de-FGHEJRCI-rv513mfh.js → de-WLW6KWOJ-2qnsqdtw.js} +238 -31
  9. package/dist/debug-conversation-trigger-xsm3ycqx.js +30 -0
  10. package/dist/{debug-http-client-p4kf38yt.js → debug-http-client-yqjzsnhw.js} +5 -4
  11. package/dist/{debug-service-893erynq.js → debug-service-nra3n02y.js} +6 -5
  12. package/dist/{edge-service-6zr5f09c.js → edge-service-8fv0m681.js} +16 -12
  13. package/dist/{embedded-file-reader-v8c2yj2a.js → embedded-file-reader-r66242ey.js} +2 -2
  14. package/dist/en-EJCBA3LK-0wb3b1xy.js +146 -0
  15. package/dist/{en-FBPVNKFN-dqt573xn.js → en-EJCBA3LK-dtpdghgj.js} +12 -4
  16. package/dist/{en-BWGKA5OE-1qkvb9rn.js → en-M7GQYBV2-5nfmpnfz.js} +88 -6
  17. package/dist/{es-7SE7HX2X-8yh1aj2y.js → es-4UBUTCQA-m1ytpyx2.js} +29 -2
  18. package/dist/es-4UBUTCQA-t7hsackg.js +200 -0
  19. package/dist/{es-KR3ZSNMP-84zphx0x.js → es-5THCNRFN-tqwyrdgy.js} +235 -28
  20. package/dist/{es-MX-2MYFZU7X-3rek4r73.js → es-MX-5RELIXKI-9jhqtddc.js} +29 -2
  21. package/dist/es-MX-5RELIXKI-jtjbcxbb.js +200 -0
  22. package/dist/{es-MX-XXZJGC4R-2mr8jtgm.js → es-MX-TWZBRAXK-gqd9swzw.js} +237 -30
  23. package/dist/filter-engine-7ep90g7f.js +11 -0
  24. package/dist/{flow-api-kjvpsxhw.js → flow-api-sat010z1.js} +16 -10
  25. package/dist/{flow-debug-service-9q9k756w.js → flow-debug-service-cgawm96k.js} +96 -58
  26. package/dist/{flow-eval-node-target-zvk7fcb2.js → flow-eval-node-target-dah1gmmh.js} +17 -17
  27. package/dist/flow-eval-run-api-xdygjzfv.js +13 -0
  28. package/dist/{flow-eval-run-service-2hfqyadh.js → flow-eval-run-service-03j1szf6.js} +73 -80
  29. package/dist/{flow-eval-service-m5n2svke.js → flow-eval-service-9j46ta9k.js} +167 -415
  30. package/dist/{flow-init-sdk-source-z9qx1zkt.js → flow-init-sdk-source-xvdvkq7d.js} +6 -5
  31. package/dist/{flow-init-service-8y8b76zm.js → flow-init-service-0a4y3a46.js} +19 -15
  32. package/dist/{flow-io-w11yspjx.js → flow-io-1wabd32s.js} +15 -11
  33. package/dist/{flow-migrate-service-v7ch4t3h.js → flow-migrate-service-mkqpbwtv.js} +16 -12
  34. package/dist/{flow-pack-service-xs8v5mba.js → flow-pack-service-7dj2hhyz.js} +47 -38
  35. package/dist/flow-validate-service-1ktjayjv.js +70 -0
  36. package/dist/{fr-Y6NPVODW-8vr1ja4b.js → fr-CERONSRC-edpxhbmb.js} +237 -30
  37. package/dist/{fr-MDFKNZ4C-h4a122k9.js → fr-VBM5WRC2-63z7w4mh.js} +29 -2
  38. package/dist/fr-VBM5WRC2-707ha692.js +200 -0
  39. package/dist/{governance-fetcher-18pk0mgv.js → governance-fetcher-76hxssjm.js} +7 -6
  40. package/dist/{hitl-service-ehnfkwhp.js → hitl-service-vcbhd4cb.js} +15 -11
  41. package/dist/{index-aaq9rwfv.js → index-1b2je9n2.js} +1088 -233
  42. package/dist/index-d090f35d.js +66 -0
  43. package/dist/{index-yj4xk2aw.js → index-dgdnbb2g.js} +7 -5
  44. package/dist/{index-ng2f77my.js → index-fyc0k5dd.js} +985 -617
  45. package/dist/{index-9hqj0ee4.js → index-hz008fep.js} +6 -5
  46. package/dist/{index-vrhcbxnk.js → index-nsn889vf.js} +6 -5
  47. package/dist/{index-2s8rmmw6.js → index-sqhbn7ew.js} +4 -4
  48. package/dist/{index-tnz5ks4t.js → index-wycgq0ff.js} +65 -2230
  49. package/dist/index.js +17 -14
  50. package/dist/init.js +19 -15
  51. package/dist/inline-entity-resolver-64pqwk86.js +45 -0
  52. package/dist/input-reader-n7kzdrev.js +12 -0
  53. package/dist/{ja-UTQEAP34-8e0q6swp.js → ja-43QL7CGO-c3q8gre9.js} +29 -2
  54. package/dist/ja-43QL7CGO-h6qfxfay.js +200 -0
  55. package/dist/{ja-Q5PXKJ2V-p4msxzjd.js → ja-U2MCNHGT-gz0ap1jk.js} +235 -28
  56. package/dist/{known-types-q6fcyq2e.js → known-types-3025scz1.js} +5 -5
  57. package/dist/ko-TLL6Z6CD-ag6gjynr.js +200 -0
  58. package/dist/{ko-AXCHW2OK-askct7f6.js → ko-TLL6Z6CD-wrt3n8a9.js} +29 -2
  59. package/dist/{ko-AYBDSRZG-41mdmsg1.js → ko-XAUYQWDR-zp81gjp4.js} +237 -30
  60. package/dist/{maestro-automate-entry-qak46eg0.js → maestro-automate-entry-6f9act3w.js} +2 -2
  61. package/dist/{node-cvwqsgg0.js → node-hz6cvp9d.js} +29 -15
  62. package/dist/{node-service-544fv7as.js → node-service-7wz8gx7h.js} +41 -30
  63. package/dist/{node-strategy-fdnkvq4a.js → node-strategy-1dmmhvf3.js} +1 -1
  64. package/dist/node-sync-service-yvyf7chw.js +61 -0
  65. package/dist/packager-tool-10vc8pq4.js +2 -0
  66. package/dist/{packager-tool-29b6r6eg.js → packager-tool-2h15x2kb.js} +6 -6
  67. package/dist/{packager-tool-h7cjs093.js → packager-tool-2z0r1f32.js} +668 -57
  68. package/dist/packager-tool-4kr6g0zw.js +16 -0
  69. package/dist/packager-tool-4x7tzvv0.js +1176 -0
  70. package/dist/{packager-tool-d88rqwk8.js → packager-tool-6z1hsm2h.js} +13 -5
  71. package/dist/packager-tool-7hw344bt.js +107 -0
  72. package/dist/{packager-tool-pb7wzsn4.js → packager-tool-7wnxyvf9.js} +519 -437
  73. package/dist/{packager-tool-m8xtf5ej.js → packager-tool-8g5931fz.js} +7 -4
  74. package/dist/{packager-tool-h9tzz0qd.js → packager-tool-961vsbsc.js} +15 -10
  75. package/dist/packager-tool-9era57c0.js +28 -0
  76. package/dist/packager-tool-9gprvfcy.js +23 -0
  77. package/dist/packager-tool-9jxzgsxc.js +14 -0
  78. package/dist/{packager-tool-zxp4hya4.js → packager-tool-a5afh1dc.js} +34 -13
  79. package/dist/{packager-tool-02f63a08.js → packager-tool-apawc11t.js} +88 -762
  80. package/dist/{packager-tool-tf3d2y8z.js → packager-tool-aw9v0raw.js} +2 -2
  81. package/dist/packager-tool-cqtsj6yh.js +2 -0
  82. package/dist/{packager-tool-5nqhxb9e.js → packager-tool-dwd6cc01.js} +16110 -13031
  83. package/dist/{packager-tool-t605qewm.js → packager-tool-dxgrhfq5.js} +2 -2
  84. package/dist/{packager-tool-awkq26v0.js → packager-tool-e7kvq8hf.js} +5 -3
  85. package/dist/{packager-tool-2y2mmdnq.js → packager-tool-fjqpf1y6.js} +6 -24
  86. package/dist/{packager-tool-3dc9gz35.js → packager-tool-frjt46rb.js} +1 -1
  87. package/dist/{packager-tool-y8egb0fa.js → packager-tool-gqq3vkgh.js} +2573 -535
  88. package/dist/{packager-tool-w5a1hhyj.js → packager-tool-hxyjn885.js} +13 -2
  89. package/dist/packager-tool-j3228zs9.js +35 -0
  90. package/dist/{packager-tool-hhy1gr2k.js → packager-tool-jgfzfqjm.js} +1 -1
  91. package/dist/{packager-tool-5csvkk54.js → packager-tool-kb520rm5.js} +172 -71
  92. package/dist/{packager-tool-k04k2rnq.js → packager-tool-kmv2p8z4.js} +20 -8
  93. package/dist/{packager-tool-6h69pd2a.js → packager-tool-kn86394c.js} +127 -61
  94. package/dist/packager-tool-mgcz986r.js +143 -0
  95. package/dist/{packager-tool-3h2ktz6q.js → packager-tool-myhbp761.js} +11 -1
  96. package/dist/{packager-tool-5tk1eg46.js → packager-tool-ns9xn7zq.js} +13 -13
  97. package/dist/{packager-tool-vbfz8k7w.js → packager-tool-p8gab24q.js} +52 -32
  98. package/dist/{packager-tool-stq8800d.js → packager-tool-pacrqxv2.js} +17 -4
  99. package/dist/{packager-tool-7q6z6npd.js → packager-tool-pcvhcn2k.js} +93 -11
  100. package/dist/packager-tool-phw8ydjx.js +331 -0
  101. package/dist/{packager-tool-mx0gg6yh.js → packager-tool-q8akejne.js} +6 -4
  102. package/dist/packager-tool-qcqb9hf8.js +26 -0
  103. package/dist/{packager-tool-n89vrpex.js → packager-tool-skcjythd.js} +10907 -25608
  104. package/dist/{packager-tool-v37kemg5.js → packager-tool-sphnextf.js} +5 -6
  105. package/dist/{packager-tool-1ca047de.js → packager-tool-sqpesv2e.js} +12 -56
  106. package/dist/packager-tool-t7ahhaer.js +877 -0
  107. package/dist/{packager-tool-zgm9mqrh.js → packager-tool-thnkpqwc.js} +1802 -378
  108. package/dist/{packager-tool-peawy22c.js → packager-tool-tqjfdpda.js} +53 -8
  109. package/dist/{packager-tool-gb4sm499.js → packager-tool-vd3rn4fj.js} +463 -327
  110. package/dist/{packager-tool-5tjzg56t.js → packager-tool-wh660fny.js} +1 -1
  111. package/dist/{packager-tool-tyg399d6.js → packager-tool-wze74wyk.js} +74 -47
  112. package/dist/{packager-tool-zbhqrk3p.js → packager-tool-x20684x5.js} +1 -1
  113. package/dist/packager-tool-xj0agqpk.js +11 -0
  114. package/dist/packager-tool-xk78j7dz.js +1256 -0
  115. package/dist/{packager-tool-py93409h.js → packager-tool-ymma2s85.js} +2 -2
  116. package/dist/packager-tool-z0yxfhdj.js +40 -0
  117. package/dist/packager-tool.js +13 -10
  118. package/dist/{pt-BR-TKHNHMET-sn91xyq0.js → pt-BR-GNQNAAZ2-xadharv4.js} +237 -30
  119. package/dist/{pt-BR-Y6K6XHXK-mp3hwhw1.js → pt-BR-USP2T7GD-pedn77m1.js} +29 -2
  120. package/dist/pt-BR-USP2T7GD-rppy42ym.js +200 -0
  121. package/dist/{pt-3DIO5QWG-59b3f4bc.js → pt-RMIAKZB4-67enhx3m.js} +29 -2
  122. package/dist/pt-RMIAKZB4-t80exmp7.js +200 -0
  123. package/dist/{pt-ROXU257Y-2f6bxev4.js → pt-TO2DARY2-ftcce1bv.js} +237 -30
  124. package/dist/ro-GHOBYW2S-4zevc9dy.js +200 -0
  125. package/dist/{ro-BWR3ONRR-vzx3hy8a.js → ro-GHOBYW2S-mhnqsgaa.js} +29 -2
  126. package/dist/{ro-AVAWPKOO-b89pw79r.js → ro-WUYJV6OW-a8d9qy1n.js} +235 -28
  127. package/dist/ru-WBLQ5B2U-dpqvtfwr.js +10 -0
  128. package/dist/services/connector-request-buckets.d.ts +1 -0
  129. package/dist/services/flow-eval-file-store.d.ts +1 -11
  130. package/dist/services/flow-eval-utils.d.ts +1 -32
  131. package/dist/services/flow-validate-service.d.ts +51 -0
  132. package/dist/services/inline-entity-resolver.d.ts +22 -0
  133. package/dist/services/node-service.d.ts +21 -1
  134. package/dist/services/packaging-utils.d.ts +15 -2
  135. package/dist/{shared-utils-pnbvyyb2.js → shared-utils-tqnx96mg.js} +4 -3
  136. package/dist/solution-auth-8qz5pw7z.js +14 -0
  137. package/dist/solution-discovery-vqravtkh.js +44 -0
  138. package/dist/{tidy-service-j70ccg27.js → tidy-service-tqjea6g2.js} +143 -39
  139. package/dist/tool.js +17 -14
  140. package/dist/{tr-5IIHSFW5-hw4cewew.js → tr-GDTLECMM-k5fhmq13.js} +29 -2
  141. package/dist/tr-GDTLECMM-kngksm3r.js +200 -0
  142. package/dist/{tr-JMIP7ZSL-c39b6pe4.js → tr-M3F5A6AU-bb0tg39m.js} +235 -28
  143. package/dist/utils/flow-io.d.ts +2 -1
  144. package/dist/validation.js +39 -33
  145. package/dist/{variable-service-86t2r5m9.js → variable-service-kqnqxmx2.js} +16 -12
  146. package/dist/{wait-for-flow-job-d8m6mqb4.js → wait-for-flow-job-b0vj8828.js} +15 -12
  147. package/dist/{zh-CN-IFFXSEJS-9wm9gmrv.js → zh-CN-C5G4PC7C-ds9gkptg.js} +235 -28
  148. package/dist/zh-CN-I5D7WHBD-ge92tbx9.js +200 -0
  149. package/dist/{zh-CN-R2KU4U5L-tc1hat59.js → zh-CN-I5D7WHBD-sr5h0a98.js} +29 -2
  150. package/dist/{zh-TW-GNKMELBF-j674515r.js → zh-TW-2AVLM723-288pkc1z.js} +29 -2
  151. package/dist/zh-TW-2AVLM723-xsmap3gk.js +200 -0
  152. package/dist/{zh-TW-IYBNYAMG-8727c7v2.js → zh-TW-62HZIG6O-787kdwex.js} +234 -27
  153. package/package.json +2 -2
  154. package/dist/debug-conversation-trigger-hgszjdhx.js +0 -44
  155. package/dist/flow-eval-run-api-byx3cacw.js +0 -13
  156. package/dist/flow-validate-service-12v3bz1b.js +0 -64
  157. package/dist/input-reader-vhar4g0k.js +0 -11
  158. package/dist/node-sync-service-ccwgtyte.js +0 -40
  159. package/dist/packager-tool-4g5hk66k.js +0 -454
  160. package/dist/packager-tool-kg35b9s6.js +0 -15
  161. package/dist/packager-tool-pz5nqg0s.js +0 -64
  162. package/dist/packager-tool-t3ysatjd.js +0 -521
  163. package/dist/packager-tool-vd6jt4n8.js +0 -208
  164. package/dist/packager-tool-vscvjrhn.js +0 -265
  165. package/dist/services/flow-debug-service.d.ts +0 -320
  166. package/dist/services/flow-eval-schema/deterministic-evaluators.d.ts +0 -110
  167. package/dist/services/flow-eval-schema/evaluator-fields.d.ts +0 -66
  168. package/dist/services/flow-eval-schema/helpers.d.ts +0 -9
  169. package/dist/services/flow-eval-schema/index.d.ts +0 -4
  170. package/dist/services/flow-eval-schema/llm-judge-evaluators.d.ts +0 -174
  171. package/dist/services/flow-eval-schema/prompts.d.ts +0 -2
  172. package/dist/services/flow-eval-schema/registry.d.ts +0 -375
  173. package/dist/services/flow-eval-schema/tool-call-evaluators.d.ts +0 -93
  174. package/dist/services/flow-eval-schema/types.d.ts +0 -95
  175. package/dist/services/flow-eval-types.d.ts +0 -6
  176. package/dist/utils/write-resolved-flow.d.ts +0 -7
  177. /package/dist/{headless-45dypanh.js → headless-fw8pwyzm.js} +0 -0
  178. /package/dist/{localization-xecwjpe2.js → localization-d6gjmrsw.js} +0 -0
@@ -8,6 +8,17 @@ function findNodeDefinition(definitions, node) {
8
8
  return byType.length === 1 ? byType[0] : undefined;
9
9
  }
10
10
 
11
- export { findNodeDefinition };
11
+ // src/services/flow-eval-utils.ts
12
+ function findMatchingDefinition(nodeType, typeVersion, definitions) {
13
+ const strict = findNodeDefinition(definitions, {
14
+ type: nodeType,
15
+ typeVersion
16
+ });
17
+ if (strict)
18
+ return strict;
19
+ return definitions.find((d) => d.nodeType === nodeType);
20
+ }
21
+
22
+ export { findNodeDefinition, findMatchingDefinition };
12
23
 
13
- //# debugId=3CAC470BF1CD419564756E2164756E21
24
+ //# debugId=2B514DC63489618164756E2164756E21
@@ -0,0 +1,35 @@
1
+ import {
2
+ readSolutionInlineEntities
3
+ } from "./packager-tool-4x7tzvv0.js";
4
+ import {
5
+ describeUnboundInlineEntity,
6
+ findInlineEntity,
7
+ findUnboundInlineEntityNodes
8
+ } from "./packager-tool-thnkpqwc.js";
9
+
10
+ // src/services/inline-entity-resolver.ts
11
+ async function resolveInlineEntity(fs, flowFilePath, entityName) {
12
+ const entities = await readSolutionInlineEntities(fs, flowFilePath);
13
+ return findInlineEntity(entities, entityName);
14
+ }
15
+
16
+ class UnboundInlineEntityError extends Error {
17
+ code = "UnboundInlineEntity";
18
+ instructions;
19
+ constructor(nodes, flowFilePath) {
20
+ super(`${nodes.length} Data Fabric node(s) name an entity this solution authors locally but carry no Entity binding: ${nodes.map((node) => `"${node.nodeId}" (${node.entityName})`).join(", ")}.`);
21
+ this.name = "UnboundInlineEntityError";
22
+ this.instructions = nodes.map((node) => describeUnboundInlineEntity(node, flowFilePath)).join(`
23
+ `);
24
+ }
25
+ }
26
+ async function assertInlineEntitiesBound(fs, flowFilePath, workflow) {
27
+ const unbound = findUnboundInlineEntityNodes(workflow, await readSolutionInlineEntities(fs, flowFilePath));
28
+ if (unbound.length > 0) {
29
+ throw new UnboundInlineEntityError(unbound, flowFilePath);
30
+ }
31
+ }
32
+
33
+ export { resolveInlineEntity, UnboundInlineEntityError, assertInlineEntitiesBound };
34
+
35
+ //# debugId=D426ED1FF2E4080264756E2164756E21
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Path
3
- } from "./packager-tool-stq8800d.js";
3
+ } from "./packager-tool-pacrqxv2.js";
4
4
 
5
5
  // ../packager/packager-tool-flow/src/maestro-automate.ts
6
6
  var SENTINEL_FILE_NAME = ".maestro_automate";
@@ -1,3 +1,6 @@
1
+ import {
2
+ checkForwardMigration
3
+ } from "./packager-tool-x20684x5.js";
1
4
  import {
2
5
  connectorNodeValidator,
3
6
  crossNodeBindingValidator,
@@ -5,10 +8,7 @@ import {
5
8
  isConnectorWaitForEventType,
6
9
  isEventDrivenConnectorType,
7
10
  readEssentialConfiguration
8
- } from "./packager-tool-29b6r6eg.js";
9
- import {
10
- checkForwardMigration
11
- } from "./packager-tool-zbhqrk3p.js";
11
+ } from "./packager-tool-2h15x2kb.js";
12
12
  import {
13
13
  ERROR_SOURCE_PORT,
14
14
  deriveHandleCustomizationSourceOverride,
@@ -25,49 +25,55 @@ import {
25
25
  import {
26
26
  UI_ONLY_NODE_TYPES
27
27
  } from "./packager-tool-e5hj89zm.js";
28
- import {
29
- collectNodeBindingResourceKeys,
30
- isProcessNode,
31
- resolveProcessTarget
32
- } from "./packager-tool-4g5hk66k.js";
33
28
  import {
34
29
  INLINE_ACTIVITY_SOURCE,
35
30
  INLINE_ACTIVITY_TYPE_PREFIX,
31
+ collectNodeBindingResourceKeys,
36
32
  collectScriptRefs,
37
33
  getInlineActivityConfiguration,
34
+ isProcessNode,
38
35
  loadRegistry,
39
- parse
40
- } from "./packager-tool-y8egb0fa.js";
36
+ parse,
37
+ resolveProcessTarget
38
+ } from "./packager-tool-gqq3vkgh.js";
41
39
  import {
42
- isRecord
43
- } from "./packager-tool-t3ysatjd.js";
40
+ loadCurrentTenantNodes
41
+ } from "./packager-tool-7wnxyvf9.js";
42
+ import {
43
+ findProjectsWithoutProcessResource,
44
+ loadResourceKeyMap,
45
+ resourcesRefreshCommand
46
+ } from "./packager-tool-phw8ydjx.js";
47
+ import {
48
+ readSolutionInlineEntities
49
+ } from "./packager-tool-4x7tzvv0.js";
44
50
  import {
45
51
  findNodeDefinition
46
- } from "./packager-tool-w5a1hhyj.js";
52
+ } from "./packager-tool-hxyjn885.js";
47
53
  import {
48
- getLoginStatusAsync
49
- } from "./packager-tool-6h69pd2a.js";
54
+ isRecord
55
+ } from "./packager-tool-xk78j7dz.js";
50
56
  import {
51
- findNearestParentUipxFile,
52
- readSolutionManifest
53
- } from "./packager-tool-m8xtf5ej.js";
57
+ resolveProjectFlowFile
58
+ } from "./packager-tool-sphnextf.js";
54
59
  import {
55
- ManifestClient,
56
60
  buildErrorHandle
57
- } from "./packager-tool-5nqhxb9e.js";
61
+ } from "./packager-tool-dwd6cc01.js";
58
62
  import {
59
- resolveProjectFlowFile
60
- } from "./packager-tool-v37kemg5.js";
63
+ findNearestParentUipxFile,
64
+ readSolutionManifest
65
+ } from "./packager-tool-8g5931fz.js";
61
66
  import {
62
67
  canonicalAgentInputPath,
63
68
  collectAgentInputLeaves,
64
69
  createFlowRefResolver,
65
70
  hydrateAgentNodeInputs,
71
+ inlineEntityBindingIssues,
66
72
  inlineFlowRefs,
67
73
  parseFlowSource,
68
74
  resolveWorkflowRefs,
69
75
  runDesignerRules
70
- } from "./packager-tool-zgm9mqrh.js";
76
+ } from "./packager-tool-thnkpqwc.js";
71
77
  import {
72
78
  AGENT_NODE_TYPES,
73
79
  DECISION_NODE_TYPE,
@@ -84,13 +90,16 @@ import {
84
90
  import {
85
91
  OutputFormatter,
86
92
  RESULTS,
87
- catchError,
88
93
  extractErrorMessageSync,
89
- logger
90
- } from "./packager-tool-02f63a08.js";
94
+ logger,
95
+ quoteForShell
96
+ } from "./packager-tool-apawc11t.js";
97
+ import {
98
+ catchError
99
+ } from "./packager-tool-t7ahhaer.js";
91
100
  import {
92
101
  getFileSystem
93
- } from "./packager-tool-3h2ktz6q.js";
102
+ } from "./packager-tool-myhbp761.js";
94
103
  import {
95
104
  __require
96
105
  } from "./packager-tool-1yh8g550.js";
@@ -297,7 +306,7 @@ function buildDiagnosticMessage(label, classification, strict) {
297
306
  const strictNote = strict ? " (--strict-bindings promoted this to an error.)" : " Pass `--strict-bindings` to fail validation on this.";
298
307
  const connectorDetail = `{"authentication":"connector",` + `"targetConnector":"${classification.connectorKeyword}",` + `"connectionId":"<uuid>","folderKey":"<uuid>","method":"GET","url":"<path>"}`;
299
308
  const manualDetail = `{"authentication":"manual","method":"GET","url":"https://…"}`;
300
- return `Node "${label}" ${connectorHint} but uses the generic Managed HTTP type \`${MANAGED_HTTP_NODE_TYPE}\` ` + "with no connection binding. The runtime will issue a raw HTTP call to an undefined endpoint. " + `Either bind a real Integration Service connection with \`uip maestro flow node configure <file> <node-id> --detail '${connectorDetail}'\`, ` + `or configure manual-mode HTTP with \`--detail '${manualDetail}'\`. ` + "If this node is intentionally a raw HTTP call, rename it so the label doesn't " + `imply a connector binding.${strictNote}`;
309
+ return `Node "${label}" ${connectorHint} but uses the generic Managed HTTP type \`${MANAGED_HTTP_NODE_TYPE}\` ` + "with no connection binding. The runtime will issue a raw HTTP call to an undefined endpoint. " + `Either bind a real Integration Service connection with \`uip maestro flow nodes configure <file> <node-id> --detail '${connectorDetail}'\`, ` + `or configure manual-mode HTTP with \`--detail '${manualDetail}'\`. ` + "If this node is intentionally a raw HTTP call, rename it so the label doesn't " + `imply a connector binding.${strictNote}`;
301
310
  }
302
311
  var MCP_CONNECTOR_KEY = "uipath-uipath-mcp";
303
312
  function readDetail(node) {
@@ -397,7 +406,7 @@ async function ensureCatalogRegistered() {
397
406
  if (catalogRegistered || !instance.isInitialized)
398
407
  return;
399
408
  try {
400
- const { registerFlowExpressionModelI18n } = await import("./localization-xecwjpe2.js");
409
+ const { registerFlowExpressionModelI18n } = await import("./localization-d6gjmrsw.js");
401
410
  registerFlowExpressionModelI18n(instance);
402
411
  } catch (error) {
403
412
  logger.warn(`Expression type checking localization unavailable, falling back to English: ${extractErrorMessageSync(error)}`);
@@ -406,7 +415,7 @@ async function ensureCatalogRegistered() {
406
415
  }
407
416
  var headlessModule;
408
417
  function loadHeadless() {
409
- headlessModule ??= import("./headless-45dypanh.js").then((mod) => {
418
+ headlessModule ??= import("./headless-fw8pwyzm.js").then((mod) => {
410
419
  logger.info(`Expression type checking: @uipath/flow-expression-model (TypeScript ${mod.HEADLESS_TYPESCRIPT_VERSION})`);
411
420
  return mod;
412
421
  }).catch((error) => {
@@ -467,7 +476,7 @@ var activityTypeIdValidator = {
467
476
  {
468
477
  path: `nodes[${node.id}].inputs.detail.uiPathActivityTypeId`,
469
478
  severity: "error",
470
- message: `${nodeKind} (\`${node.type}\`): \`inputs.detail.uiPathActivityTypeId\` is missing — Studio Web crashes when opening this flow. ` + `Fix: refresh the embedded definition without re-IDing the node — \`uip maestro flow registry get ${quotedType} --output json\`, replace the matching entry in \`definitions[]\` with the returned node object (preserve \`typeVersion\` exactly as returned), ` + `then \`uip maestro flow node configure <file> ${quotedId} --detail <json>\` to re-populate \`inputs.detail.uiPathActivityTypeId\` from the fresh manifest.`
479
+ message: `${nodeKind} (\`${node.type}\`): \`inputs.detail.uiPathActivityTypeId\` is missing — Studio Web crashes when opening this flow. ` + `Fix: refresh the embedded definition without re-IDing the node — \`uip maestro flow registry get ${quotedType} --output json\`, replace the matching entry in \`definitions[]\` with the returned node object (preserve \`typeVersion\` exactly as returned), ` + `then \`uip maestro flow nodes configure <file> ${quotedId} --detail <json>\` to re-populate \`inputs.detail.uiPathActivityTypeId\` from the fresh manifest.`
471
480
  }
472
481
  ];
473
482
  }
@@ -846,7 +855,7 @@ var inlineActivityValidator = {
846
855
  const config = getInlineActivityConfiguration(node);
847
856
  if (!config) {
848
857
  return [
849
- issue("inputs.inlineActivityConfiguration", `Non-catalog activity node (\`${node.type}\`) has no \`inputs.inlineActivityConfiguration\` — the runtime has no activity to run. ` + "Fix: remove the node and re-add it with `uip maestro flow node add <file> <type> --metadata <Name>.json --scripts <dir>`.")
858
+ issue("inputs.inlineActivityConfiguration", `Non-catalog activity node (\`${node.type}\`) has no \`inputs.inlineActivityConfiguration\` — the runtime has no activity to run. ` + "Fix: remove the node and re-add it with `uip maestro flow nodes create <file> <type> --metadata <Name>.json --scripts <dir>`.")
850
859
  ];
851
860
  }
852
861
  if (!isInlineType) {
@@ -872,10 +881,10 @@ var inlineActivityValidator = {
872
881
  if (context && typeof context === "object") {
873
882
  const ac = context;
874
883
  if (ac.source !== INLINE_ACTIVITY_SOURCE) {
875
- issues.push(issue("inputs.detail.activityContext.source", `\`activityContext.source\` must be "${INLINE_ACTIVITY_SOURCE}" for a non-catalog activity (got ${JSON.stringify(ac.source)}). Re-run \`uip maestro flow node configure\`.`));
884
+ issues.push(issue("inputs.detail.activityContext.source", `\`activityContext.source\` must be "${INLINE_ACTIVITY_SOURCE}" for a non-catalog activity (got ${JSON.stringify(ac.source)}). Re-run \`uip maestro flow nodes configure\`.`));
876
885
  }
877
886
  if (scriptRef && ac.scriptRef !== scriptRef) {
878
- issues.push(issue("inputs.detail.activityContext.scriptRef", `\`activityContext.scriptRef\` (${JSON.stringify(ac.scriptRef)}) does not match the embedded activity's \`scriptRef\` ("${scriptRef}"). Re-run \`uip maestro flow node configure\`.`));
887
+ issues.push(issue("inputs.detail.activityContext.scriptRef", `\`activityContext.scriptRef\` (${JSON.stringify(ac.scriptRef)}) does not match the embedded activity's \`scriptRef\` ("${scriptRef}"). Re-run \`uip maestro flow nodes configure\`.`));
879
888
  }
880
889
  }
881
890
  return issues;
@@ -902,7 +911,12 @@ var FORBIDDEN_INPUT_FIELDS = [
902
911
  "fileName",
903
912
  "mimeType"
904
913
  ];
905
- var FILE_REF_PATTERN = /^=js:\$vars\.[A-Za-z_$]/;
914
+ var FILE_REF_BODY_PATTERN = /^\$vars\.[A-Za-z_$]/;
915
+ function isFileRefExpression(fileRef) {
916
+ const body = getJsExpressionBody(fileRef);
917
+ return body !== undefined && FILE_REF_BODY_PATTERN.test(body);
918
+ }
919
+ var EXTRACT_V2_NODE_TYPE = "uipath.ixp.extract-document-builder";
906
920
  var ixpNodeValidator = {
907
921
  id: "ixp-node",
908
922
  appliesTo: (node) => typeof node.type === "string" && node.type.startsWith("uipath.ixp."),
@@ -911,21 +925,23 @@ var ixpNodeValidator = {
911
925
  const inputs = node.inputs ?? {};
912
926
  const outputs = node.outputs ?? {};
913
927
  const base = `nodes[${node.id}]`;
914
- const model = inputs.model;
915
928
  const isNonEmptyString2 = (v) => typeof v === "string" && v.length > 0;
916
- if (typeof model !== "object" || model === null || Array.isArray(model) || !isNonEmptyString2(model.modelName) || !isNonEmptyString2(model.folderKey)) {
917
- issues.push({
918
- path: `${base}.inputs.model`,
919
- severity: "error",
920
- message: "inputs.model must be an object with non-empty string " + "`modelName` and `folderKey`. Studio Web's property " + "panel destructures these and crashes when either is " + "missing or not a string."
921
- });
929
+ if (node.type !== EXTRACT_V2_NODE_TYPE) {
930
+ const model = inputs.model;
931
+ if (typeof model !== "object" || model === null || Array.isArray(model) || !isNonEmptyString2(model.modelName) || !isNonEmptyString2(model.folderKey)) {
932
+ issues.push({
933
+ path: `${base}.inputs.model`,
934
+ severity: "error",
935
+ message: "inputs.model must be an object with non-empty string " + "`modelName` and `folderKey`. Studio Web's property " + "panel destructures these and crashes when either is " + "missing or not a string."
936
+ });
937
+ }
922
938
  }
923
939
  const fileRef = inputs.fileRef;
924
- if (typeof fileRef !== "string" || !FILE_REF_PATTERN.test(fileRef)) {
940
+ if (!isFileRefExpression(fileRef)) {
925
941
  issues.push({
926
942
  path: `${base}.inputs.fileRef`,
927
943
  severity: "error",
928
- message: "inputs.fileRef must be a `=js:$vars.…` expression. " + "The canonical form for an upstream node output is " + "`=js:$vars.<upstream>.output.<field>`. Without the " + "`=js:` prefix the BPMN serializer treats the value " + "as a literal string at runtime."
944
+ message: "inputs.fileRef must be a `$vars` reference, for " + "example to an upstream node output. Write it either " + "as the string `=js:$vars.<upstream>.output.<field>` " + 'or as `{ "type": "jsExpression", "expression": ' + '"$vars.<upstream>.output.<field>" }` (no `=js:` ' + "prefix inside a jsExpression). Any other value, " + "including a `literal` value, reaches the runtime as " + "a literal and the upstream output never resolves."
929
945
  });
930
946
  }
931
947
  for (const port of ["output", "error"]) {
@@ -2071,6 +2087,7 @@ class FlowValidateService {
2071
2087
  availableModelNames;
2072
2088
  validateCurrentManifests;
2073
2089
  currentManifestOverrides;
2090
+ manifestCache;
2074
2091
  strictBindings;
2075
2092
  strictExpressions;
2076
2093
  connectorCatalogOverride;
@@ -2087,6 +2104,7 @@ class FlowValidateService {
2087
2104
  this.availableModelNames = options.availableModelNames;
2088
2105
  this.validateCurrentManifests = options.validateCurrentManifests === true || options.currentManifests !== undefined;
2089
2106
  this.currentManifestOverrides = options.currentManifests;
2107
+ this.manifestCache = options.manifestCache !== false;
2090
2108
  this.strictBindings = options.strictBindings === true;
2091
2109
  this.strictExpressions = options.strictExpressions === true;
2092
2110
  this.connectorCatalogOverride = options.connectorCatalog;
@@ -2140,27 +2158,13 @@ ${warnings.map((i) => ` - [${i.path}] ${i.message}`).join(`
2140
2158
  if (manifests) {
2141
2159
  return new Map(manifests.map((m) => [m.nodeType.toLowerCase(), m]));
2142
2160
  }
2143
- const [loginError, loginStatus] = await catchError(getLoginStatusAsync());
2144
- if (loginError) {
2145
- logger.warn(`Could not read login status for current manifest validation; using OOTB manifests: ${loginError.message}`);
2146
- }
2147
- const client = new ManifestClient({
2148
- baseUrl: loginStatus?.baseUrl || "localhost"
2149
- });
2150
- const auth = loginStatus?.loginStatus === "Logged in" && loginStatus.accessToken && loginStatus.tenantId && loginStatus.organizationId ? {
2151
- accessToken: loginStatus.accessToken,
2152
- tenantId: loginStatus.tenantId,
2153
- organizationId: loginStatus.organizationId
2154
- } : undefined;
2155
- const [error, manifest] = await catchError(client.getManifest({
2156
- ...auth && { auth },
2157
- inlineAgentNodes: true
2158
- }));
2159
- if (error || !manifest?.nodes) {
2161
+ const [error, result] = await catchError(loadCurrentTenantNodes({ force: !this.manifestCache }));
2162
+ if (error || result.nodes.length === 0) {
2160
2163
  logger.warn(`Could not load current OOTB node manifests; skipping stale-handle validation: ${error?.message ?? "manifest response did not include nodes"}`);
2161
2164
  return new Map;
2162
2165
  }
2163
- return new Map(manifest.nodes.map((m) => [
2166
+ logger.debug(`Current node manifests: ${result.nodes.length} nodes (${result.fromCache ? "from cache" : `fetched, source=${result.source}`})`);
2167
+ return new Map(result.nodes.map((m) => [
2164
2168
  m.nodeType.toLowerCase(),
2165
2169
  m
2166
2170
  ]));
@@ -2201,6 +2205,7 @@ Validating: ${absolutePath}
2201
2205
  issues.push(...await this.validateForwardMigration(content, absolutePath));
2202
2206
  issues.push(...this.validateGraph(workflow, "", rawDefErrorHandling, currentManifests));
2203
2207
  issues.push(...this.validateGlobalVariableUniqueness(workflow, ""));
2208
+ issues.push(...this.validateFileWideIdUniqueness(workflow));
2204
2209
  issues.push(...this.validateGlobalTriggerBindings(workflow, ""));
2205
2210
  issues.push(...this.validateTriggerScopedBareVarReads(workflow, ""));
2206
2211
  issues.push(...this.validateUnboundInputGlobals(workflow, ""));
@@ -2212,7 +2217,8 @@ Validating: ${absolutePath}
2212
2217
  issues.push(...this.validateAgentPromptInputRefs(workflow, hydrationDiagnoses, ""));
2213
2218
  issues.push(...this.validateAgentInputScopeRefs(workflow, hydrationDiagnoses, ""));
2214
2219
  issues.push(...this.validateVoiceAgentSettings(workflow, hydrationDiagnoses, ""));
2215
- issues.push(...await this.validateSolutionRegistrationAndLayout(absolutePath));
2220
+ issues.push(...await this.validateInlineEntityBindings(workflow, absolutePath));
2221
+ issues.push(...await this.validateSolutionRegistrationAndLayout(absolutePath, workflow));
2216
2222
  issues.push(...await validateExpressions(workflow, "", this.strictExpressions));
2217
2223
  const subflows = workflow.subflows ?? {};
2218
2224
  for (const [subflowId, entry] of Object.entries(subflows)) {
@@ -2750,7 +2756,7 @@ Validating: ${absolutePath}
2750
2756
  const sameTypeVersions = definedVersionsByType.get(node.type);
2751
2757
  const hint = sameTypeVersions?.length ? `
2752
2758
  Hint: \`definitions[]\` has \`${node.type}\` at version(s) ${sameTypeVersions.map((v) => `"${v}"`).join(", ")} but the node uses \`typeVersion: "${node.typeVersion}"\`. Align one side — \`typeVersion\` must match the definition's \`version\` exactly (e.g., \`"1.0"\` ≠ \`"1.0.0"\`).` : `
2753
- Hint: run \`uip maestro flow registry get ${node.type} --output json\` and append the returned node object to \`definitions[]\` (depending on plugin version, the object is at \`Data.Node\` or the top level). Set \`typeVersion\` to the returned \`version\` exactly — registry may emit \`"1.0"\` while older flows used \`"1.0.0"\`. To scaffold a new node with its definition auto-injected, run \`uip maestro flow node add <file> ${node.type}\` instead.`;
2759
+ Hint: run \`uip maestro flow registry get ${node.type} --output json\` and append the returned node object to \`definitions[]\` (depending on plugin version, the object is at \`Data.Node\` or the top level). Set \`typeVersion\` to the returned \`version\` exactly — registry may emit \`"1.0"\` while older flows used \`"1.0.0"\`. To scaffold a new node with its definition auto-injected, run \`uip maestro flow nodes create <file> ${node.type}\` instead.`;
2754
2760
  issues.push({
2755
2761
  path: `nodes[${node.id}].type`,
2756
2762
  message: `Node type "${key}" has no matching definition.${hint}`,
@@ -2790,6 +2796,49 @@ Validating: ${absolutePath}
2790
2796
  }
2791
2797
  return issues;
2792
2798
  }
2799
+ validateFileWideIdUniqueness(workflow) {
2800
+ const scopes = [
2801
+ {
2802
+ label: "root",
2803
+ nodes: workflow.nodes ?? [],
2804
+ edges: workflow.edges ?? []
2805
+ }
2806
+ ];
2807
+ const subflows = workflow.subflows ?? {};
2808
+ for (const [subflowId, entry] of Object.entries(subflows)) {
2809
+ scopes.push({
2810
+ label: `subflows[${subflowId}]`,
2811
+ nodes: entry?.nodes ?? [],
2812
+ edges: entry?.edges ?? []
2813
+ });
2814
+ }
2815
+ const placesById = new Map;
2816
+ for (const scope of scopes) {
2817
+ for (const kind of ["nodes", "edges"]) {
2818
+ const place = `${kind === "nodes" ? "node" : "edge"} in ${scope.label}`;
2819
+ for (const element of scope[kind]) {
2820
+ const id = element?.id;
2821
+ if (typeof id !== "string")
2822
+ continue;
2823
+ const places = placesById.get(id) ?? [];
2824
+ if (!places.includes(place))
2825
+ places.push(place);
2826
+ placesById.set(id, places);
2827
+ }
2828
+ }
2829
+ }
2830
+ const issues = [];
2831
+ for (const [id, places] of placesById) {
2832
+ if (places.length < 2)
2833
+ continue;
2834
+ issues.push({
2835
+ path: places.some((p) => p.startsWith("node")) ? "nodes" : "edges",
2836
+ message: `Duplicate ID across the file: "${id}" is used by ${places.join(", ")}. Node and edge IDs share one namespace across the root and all subflows; pack merges them into one BPMN document and drops or fails on a repeated ID.`,
2837
+ severity: "error"
2838
+ });
2839
+ }
2840
+ return issues;
2841
+ }
2793
2842
  validateGlobalVariableUniqueness(flow, pathPrefix) {
2794
2843
  const issues = [];
2795
2844
  const globals = flow.variables?.globals ?? [];
@@ -2954,6 +3003,10 @@ Validating: ${absolutePath}
2954
3003
  }
2955
3004
  return issues;
2956
3005
  }
3006
+ async validateInlineEntityBindings(workflow, absolutePath) {
3007
+ const inlineEntities = await readSolutionInlineEntities(this.fs, absolutePath);
3008
+ return inlineEntityBindingIssues(workflow, inlineEntities, absolutePath);
3009
+ }
2957
3010
  validateResourceBindings(workflow) {
2958
3011
  const issues = [];
2959
3012
  const bindings = workflow.bindings ?? [];
@@ -3088,7 +3141,7 @@ Validating: ${absolutePath}
3088
3141
  this.connectorCatalogCache ??= loadConnectorCatalog();
3089
3142
  return this.connectorCatalogCache;
3090
3143
  }
3091
- async validateSolutionRegistrationAndLayout(absolutePath) {
3144
+ async validateSolutionRegistrationAndLayout(absolutePath, workflow) {
3092
3145
  const issues = [];
3093
3146
  const flowDir = this.fs.path.dirname(absolutePath);
3094
3147
  const discovery = await findNearestParentUipxFile(this.fs, absolutePath);
@@ -3101,20 +3154,20 @@ Validating: ${absolutePath}
3101
3154
  }
3102
3155
  const solutionDir = this.fs.path.dirname(discovery.solutionFile);
3103
3156
  const flowDirReal = await this.canonicalizePath(flowDir);
3104
- let isRegistered = false;
3157
+ let currentProject;
3105
3158
  for (const p of manifest.projects) {
3106
3159
  const projectDir = this.fs.path.resolve(solutionDir, this.fs.path.dirname(p.ProjectRelativePath));
3107
3160
  const projectDirReal = await this.canonicalizePath(projectDir);
3108
3161
  if (projectDirReal === flowDirReal) {
3109
- isRegistered = true;
3162
+ currentProject = p;
3110
3163
  break;
3111
3164
  }
3112
3165
  }
3113
- if (!isRegistered) {
3166
+ if (!currentProject) {
3114
3167
  issues.push({
3115
3168
  path: "(workflow)",
3116
3169
  severity: "warning",
3117
- message: `.flow file at ${absolutePath} is not registered as a project of solution ${discovery.solutionFile}. Run \`uip solution projects add "${flowDir}"\` so Studio Web and \`flow debug\` can discover it.`
3170
+ message: `.flow file at ${absolutePath} is not registered as a project of solution ${discovery.solutionFile}. So Studio Web and \`flow debug\` can discover it, run: uip solution projects add ${quoteForShell(flowDir)}`
3118
3171
  });
3119
3172
  }
3120
3173
  const flowBase = this.fs.path.basename(absolutePath, ".flow");
@@ -3126,8 +3179,56 @@ Validating: ${absolutePath}
3126
3179
  message: `.flow file at ${absolutePath} does not match canonical layout. Expected the .flow basename ("${flowBase}") to match its parent directory name ("${dirBase}"). The canonical layout is <solution>/<projectName>/<projectName>.flow.`
3127
3180
  });
3128
3181
  }
3182
+ issues.push(...await this.validateInSolutionProcessKeys(workflow, solutionDir, manifest.projects, currentProject?.Id));
3129
3183
  return issues;
3130
3184
  }
3185
+ async validateInSolutionProcessKeys(workflow, solutionDir, projects, currentProjectId) {
3186
+ const definitions = workflow.definitions;
3187
+ const nodes = [
3188
+ ...workflow.nodes.map((n) => ({ ...n, scope: "" })),
3189
+ ...Object.entries(workflow.subflows ?? {}).flatMap(([subflowId, sub]) => (sub.nodes ?? []).map((n) => ({
3190
+ ...n,
3191
+ scope: `subflows[${subflowId}].`
3192
+ })))
3193
+ ];
3194
+ const refs = nodes.flatMap((node) => {
3195
+ const def = findNodeDefinition(definitions, node);
3196
+ const bindings = def?.model?.bindings;
3197
+ const key = bindings?.resourceKey;
3198
+ if (!Array.isArray(def?.tags) || !def.tags.includes("in-solution") || String(bindings?.resource).toLowerCase() !== "process" || typeof key !== "string" || key.length === 0) {
3199
+ return [];
3200
+ }
3201
+ const projectId = typeof def.projectId === "string" ? def.projectId : undefined;
3202
+ return [{ node, key, projectId }];
3203
+ });
3204
+ if (refs.length === 0)
3205
+ return [];
3206
+ const keyByProject = await loadResourceKeyMap(solutionDir);
3207
+ const known = new Set([...keyByProject.values()].map((k) => k.toLowerCase()));
3208
+ const withoutProcessResource = new Map((await findProjectsWithoutProcessResource({
3209
+ solutionDir,
3210
+ projects,
3211
+ currentProjectId
3212
+ })).map((p) => [p.id.toLowerCase(), p]));
3213
+ const severity = this.strictBindings ? "error" : "warning";
3214
+ return refs.filter(({ key }) => !known.has(key.toLowerCase())).map(({ node, key, projectId }) => {
3215
+ const pending = withoutProcessResource.get(key.toLowerCase());
3216
+ if (pending) {
3217
+ return {
3218
+ path: `${node.scope}nodes[${node.id}].bindings`,
3219
+ severity,
3220
+ message: `Node "${node.id}" (type ${node.type}) calls in-solution process key "${key}", which is the project id of '${pending.name}', a project with no process resource yet. The next \`uip solution resources refresh\` gives it a new key, and this call stops matching. Run: ${resourcesRefreshCommand(solutionDir)}. Then re-run \`uip maestro flow registry get <node-type> --local\` and replace the node's definition and bindings.`
3221
+ };
3222
+ }
3223
+ const currentKey = projectId ? keyByProject.get(projectId.toLowerCase()) : undefined;
3224
+ const hint = currentKey ? `Its project now has process key "${currentKey}"; re-run \`uip maestro flow registry get <node-type> --local\` and replace the node's definition and bindings.` : "No project in the solution has that key. Re-add the project, or remove the node.";
3225
+ return {
3226
+ path: `${node.scope}nodes[${node.id}].bindings`,
3227
+ severity,
3228
+ message: `Node "${node.id}" (type ${node.type}) calls in-solution process key "${key}", which matches no process resource in solution ${solutionDir}. ${hint}`
3229
+ };
3230
+ });
3231
+ }
3131
3232
  async canonicalizePath(p) {
3132
3233
  const [err, real] = await catchError(this.fs.realpath(p));
3133
3234
  return err || !real ? p : real;
@@ -3506,4 +3607,4 @@ function describeUnsatisfiableJoin(node, finding, graph) {
3506
3607
 
3507
3608
  export { FlowValidateService };
3508
3609
 
3509
- //# debugId=109FFC78163852D164756E2164756E21
3610
+ //# debugId=00181C4930912C2764756E2164756E21
@@ -1,18 +1,20 @@
1
1
  import {
2
2
  readUipxFile
3
- } from "./packager-tool-m8xtf5ej.js";
3
+ } from "./packager-tool-8g5931fz.js";
4
4
  import {
5
5
  zipSync
6
6
  } from "./packager-tool-nkrmjr3a.js";
7
7
  import {
8
8
  RESULTS,
9
9
  addSdkUserAgentHeader,
10
- catchError,
11
10
  getSdkUserAgentToken,
12
11
  installSdkUserAgentHeader,
13
12
  logger,
14
13
  summarizePlatformBody
15
- } from "./packager-tool-02f63a08.js";
14
+ } from "./packager-tool-apawc11t.js";
15
+ import {
16
+ catchError
17
+ } from "./packager-tool-t7ahhaer.js";
16
18
  import {
17
19
  __commonJS,
18
20
  __toESM
@@ -578,7 +580,7 @@ var package_default = {
578
580
  name: "@uipath/solution-sdk",
579
581
  author: "UiPath",
580
582
  license: "SEE LICENSE IN LICENSE.txt",
581
- version: "1.204.0-preview.255",
583
+ version: "1.205.0-preview.256",
582
584
  repository: {
583
585
  type: "git",
584
586
  url: "https://github.com/UiPath/cli.git",
@@ -607,6 +609,14 @@ var package_default = {
607
609
  "./auth": {
608
610
  types: "./dist/src/solution-auth.d.ts",
609
611
  default: "./dist/solution-auth.js"
612
+ },
613
+ "./deployments": {
614
+ types: "./dist/src/deployment-search.d.ts",
615
+ default: "./dist/deployment-search.js"
616
+ },
617
+ "./packages": {
618
+ types: "./dist/src/package-search.d.ts",
619
+ default: "./dist/package-search.js"
610
620
  }
611
621
  },
612
622
  bin: {
@@ -617,7 +627,7 @@ var package_default = {
617
627
  ],
618
628
  private: false,
619
629
  scripts: {
620
- build: "bun build ./src/index.ts ./src/resources/index.ts ./src/solution-auth.ts --outdir dist --format esm --target node --splitting --sourcemap=linked && bun build ./src/scripts/generate-sdk.ts --outdir dist/scripts --format esm --target node --sourcemap=linked && tsc -p tsconfig.build.json --noCheck",
630
+ build: "bun build ./src/index.ts ./src/resources/index.ts ./src/solution-auth.ts ./src/deployment-search.ts ./src/package-search.ts --outdir dist --format esm --target node --splitting --sourcemap=linked && bun build ./src/scripts/generate-sdk.ts --outdir dist/scripts --format esm --target node --sourcemap=linked && tsc -p tsconfig.build.json --noCheck",
621
631
  generate: "bun run src/scripts/generate-sdk.ts",
622
632
  lint: "biome check .",
623
633
  test: "vitest run",
@@ -629,7 +639,8 @@ var package_default = {
629
639
  "@uipath/common": "workspace:*",
630
640
  "@uipath/filesystem": "workspace:*",
631
641
  "@uipath/orchestrator-sdk": "workspace:*",
632
- "@uipath/resource-builder-sdk": "2025.11.0-alpha6004-4107",
642
+ "@uipath/pipelines-sdk": "workspace:*",
643
+ "@uipath/resource-builder-sdk": "2025.11.0-alpha6584-4367",
633
644
  "@uipath/solutionpackager-tool-core": "workspace:*",
634
645
  "@uipath/studioweb-sdk": "workspace:*",
635
646
  "@types/node": "^25.5.2",
@@ -4597,7 +4608,8 @@ var DEFAULT_EXCLUDED_DIR_NAMES = new Set([
4597
4608
  "__pycache__",
4598
4609
  ".git",
4599
4610
  ".local",
4600
- ".flow-sdk"
4611
+ ".flow-sdk",
4612
+ ".flow-debug"
4601
4613
  ]);
4602
4614
  var DEFAULT_EXCLUDED_FILE_PATTERNS = [
4603
4615
  /^\.env($|\..+)/
@@ -5352,4 +5364,4 @@ async function uploadOrOverwriteSolution(config, organizationName, fileBufferOrP
5352
5364
  }
5353
5365
  export { BASE_PATH, Configuration, DefaultConfig, BaseAPI, ResponseError, FetchError, RequiredError, COLLECTION_FORMATS, querystring, exists, mapValues, canConsumeForm, JSONApiResponse, VoidApiResponse, BlobApiResponse, TextApiResponse, SDK_USER_AGENT, getAvailablePublishLocationsV2, instanceOfResponseDictionaryDto, ResponseDictionaryDtoFromJSON, ResponseDictionaryDtoFromJSONTyped, ResponseDictionaryDtoToJSON, ResponseDictionaryDtoToJSONTyped, instanceOfBlobFileAccessDto, BlobFileAccessDtoFromJSON, BlobFileAccessDtoFromJSONTyped, BlobFileAccessDtoToJSON, BlobFileAccessDtoToJSONTyped, instanceOfCreateConfigurationCommand, CreateConfigurationCommandFromJSON, CreateConfigurationCommandFromJSONTyped, CreateConfigurationCommandToJSON, CreateConfigurationCommandToJSONTyped, DeploymentActivationStatus, instanceOfDeploymentActivationStatus, DeploymentActivationStatusFromJSON, DeploymentActivationStatusFromJSONTyped, DeploymentActivationStatusToJSON, DeploymentActivationStatusToJSONTyped, OverwriteType, instanceOfOverwriteType, OverwriteTypeFromJSON, OverwriteTypeFromJSONTyped, OverwriteTypeToJSON, OverwriteTypeToJSONTyped, instanceOfOverwrite, OverwriteFromJSON, OverwriteFromJSONTyped, OverwriteToJSON, OverwriteToJSONTyped, instanceOfResourceOverwrite, ResourceOverwriteFromJSON, ResourceOverwriteFromJSONTyped, ResourceOverwriteToJSON, ResourceOverwriteToJSONTyped, instanceOfRuntimeSetup, RuntimeSetupFromJSON, RuntimeSetupFromJSONTyped, RuntimeSetupToJSON, RuntimeSetupToJSONTyped, instanceOfDeploymentAutoRequest, DeploymentAutoRequestFromJSON, DeploymentAutoRequestFromJSONTyped, DeploymentAutoRequestToJSON, DeploymentAutoRequestToJSONTyped, instanceOfDeploymentDto, DeploymentDtoFromJSON, DeploymentDtoFromJSONTyped, DeploymentDtoToJSON, DeploymentDtoToJSONTyped, WorkflowAction, instanceOfWorkflowAction, WorkflowActionFromJSON, WorkflowActionFromJSONTyped, WorkflowActionToJSON, WorkflowActionToJSONTyped, DeploymentOperation, instanceOfDeploymentOperation, DeploymentOperationFromJSON, DeploymentOperationFromJSONTyped, DeploymentOperationToJSON, DeploymentOperationToJSONTyped, PackageVersionOrigin, instanceOfPackageVersionOrigin, PackageVersionOriginFromJSON, PackageVersionOriginFromJSONTyped, PackageVersionOriginToJSON, PackageVersionOriginToJSONTyped, DeploymentOperationStatus, instanceOfDeploymentOperationStatus, DeploymentOperationStatusFromJSON, DeploymentOperationStatusFromJSONTyped, DeploymentOperationStatusToJSON, DeploymentOperationStatusToJSONTyped, DeploymentUpgradeType, instanceOfDeploymentUpgradeType, DeploymentUpgradeTypeFromJSON, DeploymentUpgradeTypeFromJSONTyped, DeploymentUpgradeTypeToJSON, DeploymentUpgradeTypeToJSONTyped, DeploymentStatus, instanceOfDeploymentStatus, DeploymentStatusFromJSON, DeploymentStatusFromJSONTyped, DeploymentStatusToJSON, DeploymentStatusToJSONTyped, instanceOfDeploymentItemDto, DeploymentItemDtoFromJSON, DeploymentItemDtoFromJSONTyped, DeploymentItemDtoToJSON, DeploymentItemDtoToJSONTyped, instanceOfDeploymentRequest, DeploymentRequestFromJSON, DeploymentRequestFromJSONTyped, DeploymentRequestToJSON, DeploymentRequestToJSONTyped, DeploymentResourceValidationAction, instanceOfDeploymentResourceValidationAction, DeploymentResourceValidationActionFromJSON, DeploymentResourceValidationActionFromJSONTyped, DeploymentResourceValidationActionToJSON, DeploymentResourceValidationActionToJSONTyped, ResetConfigurationSource, instanceOfResetConfigurationSource, ResetConfigurationSourceFromJSON, ResetConfigurationSourceFromJSONTyped, ResetConfigurationSourceToJSON, ResetConfigurationSourceToJSONTyped, DeploymentUpgradeState, instanceOfDeploymentUpgradeState, DeploymentUpgradeStateFromJSON, DeploymentUpgradeStateFromJSONTyped, DeploymentUpgradeStateToJSON, DeploymentUpgradeStateToJSONTyped, instanceOfDeploymentResourceReplacementDto, DeploymentResourceReplacementDtoFromJSON, DeploymentResourceReplacementDtoFromJSONTyped, DeploymentResourceReplacementDtoToJSON, DeploymentResourceReplacementDtoToJSONTyped, instanceOfFolderInfo, FolderInfoFromJSON, FolderInfoFromJSONTyped, FolderInfoToJSON, FolderInfoToJSONTyped, instanceOfDeploymentResourceInfo, DeploymentResourceInfoFromJSON, DeploymentResourceInfoFromJSONTyped, DeploymentResourceInfoToJSON, DeploymentResourceInfoToJSONTyped, DeploymentResourceValidationErrorKind, instanceOfDeploymentResourceValidationErrorKind, DeploymentResourceValidationErrorKindFromJSON, DeploymentResourceValidationErrorKindFromJSONTyped, DeploymentResourceValidationErrorKindToJSON, DeploymentResourceValidationErrorKindToJSONTyped, DeploymentResourceValidationErrorLevel, instanceOfDeploymentResourceValidationErrorLevel, DeploymentResourceValidationErrorLevelFromJSON, DeploymentResourceValidationErrorLevelFromJSONTyped, DeploymentResourceValidationErrorLevelToJSON, DeploymentResourceValidationErrorLevelToJSONTyped, DeploymentType, instanceOfDeploymentType, DeploymentTypeFromJSON, DeploymentTypeFromJSONTyped, DeploymentTypeToJSON, DeploymentTypeToJSONTyped, instanceOfDeploymentSearchItemDto2, DeploymentSearchItemDto2FromJSON, DeploymentSearchItemDto2FromJSONTyped, DeploymentSearchItemDto2ToJSON, DeploymentSearchItemDto2ToJSONTyped, instanceOfServiceMessage, ServiceMessageFromJSON, ServiceMessageFromJSONTyped, ServiceMessageToJSON, ServiceMessageToJSONTyped, instanceOfResourceValidationError, ResourceValidationErrorFromJSON, ResourceValidationErrorFromJSONTyped, ResourceValidationErrorToJSON, ResourceValidationErrorToJSONTyped, instanceOfResourceValidationDto, ResourceValidationDtoFromJSON, ResourceValidationDtoFromJSONTyped, ResourceValidationDtoToJSON, ResourceValidationDtoToJSONTyped, instanceOfDeploymentValidationResultDto, DeploymentValidationResultDtoFromJSON, DeploymentValidationResultDtoFromJSONTyped, DeploymentValidationResultDtoToJSON, DeploymentValidationResultDtoToJSONTyped, OrderByDirection, instanceOfOrderByDirection, OrderByDirectionFromJSON, OrderByDirectionFromJSONTyped, OrderByDirectionToJSON, OrderByDirectionToJSONTyped, instanceOfDeploymentsSearchRequest2, DeploymentsSearchRequest2FromJSON, DeploymentsSearchRequest2FromJSONTyped, DeploymentsSearchRequest2ToJSON, DeploymentsSearchRequest2ToJSONTyped, ExtendedPackageVersionState, instanceOfExtendedPackageVersionState, ExtendedPackageVersionStateFromJSON, ExtendedPackageVersionStateFromJSONTyped, ExtendedPackageVersionStateToJSON, ExtendedPackageVersionStateToJSONTyped, instanceOfLocationDto, LocationDtoFromJSON, LocationDtoFromJSONTyped, LocationDtoToJSON, LocationDtoToJSONTyped, instanceOfPackageInfo, PackageInfoFromJSON, PackageInfoFromJSONTyped, PackageInfoToJSON, PackageInfoToJSONTyped, instanceOfResourceStats, ResourceStatsFromJSON, ResourceStatsFromJSONTyped, ResourceStatsToJSON, ResourceStatsToJSONTyped, instanceOfPackageVersionResourceDto, PackageVersionResourceDtoFromJSON, PackageVersionResourceDtoFromJSONTyped, PackageVersionResourceDtoToJSON, PackageVersionResourceDtoToJSONTyped, instanceOfPackageVersionComponentsDto, PackageVersionComponentsDtoFromJSON, PackageVersionComponentsDtoFromJSONTyped, PackageVersionComponentsDtoToJSON, PackageVersionComponentsDtoToJSONTyped, instanceOfPackageVersionInfoDto, PackageVersionInfoDtoFromJSON, PackageVersionInfoDtoFromJSONTyped, PackageVersionInfoDtoToJSON, PackageVersionInfoDtoToJSONTyped, instanceOfPageInfoDtoOfDeploymentResourceInfo, PageInfoDtoOfDeploymentResourceInfoFromJSON, PageInfoDtoOfDeploymentResourceInfoFromJSONTyped, PageInfoDtoOfDeploymentResourceInfoToJSON, PageInfoDtoOfDeploymentResourceInfoToJSONTyped, instanceOfPageInfoDtoOfDeploymentSearchItemDto2, PageInfoDtoOfDeploymentSearchItemDto2FromJSON, PageInfoDtoOfDeploymentSearchItemDto2FromJSONTyped, PageInfoDtoOfDeploymentSearchItemDto2ToJSON, PageInfoDtoOfDeploymentSearchItemDto2ToJSONTyped, instanceOfPageInfoDtoOfPackageInfo, PageInfoDtoOfPackageInfoFromJSON, PageInfoDtoOfPackageInfoFromJSONTyped, PageInfoDtoOfPackageInfoToJSON, PageInfoDtoOfPackageInfoToJSONTyped, instanceOfProblemDetails, ProblemDetailsFromJSON, ProblemDetailsFromJSONTyped, ProblemDetailsToJSON, ProblemDetailsToJSONTyped, instanceOfProjectCreateRequest, ProjectCreateRequestFromJSON, ProjectCreateRequestFromJSONTyped, ProjectCreateRequestToJSON, ProjectCreateRequestToJSONTyped, ProjectImportStatus, instanceOfProjectImportStatus, ProjectImportStatusFromJSON, ProjectImportStatusFromJSONTyped, ProjectImportStatusToJSON, ProjectImportStatusToJSONTyped, instanceOfProjectDto, ProjectDtoFromJSON2 as ProjectDtoFromJSON, ProjectDtoFromJSONTyped3 as ProjectDtoFromJSONTyped, ProjectDtoToJSON2 as ProjectDtoToJSON, ProjectDtoToJSONTyped2 as ProjectDtoToJSONTyped, instanceOfSearchFilter, SearchFilterFromJSON, SearchFilterFromJSONTyped, SearchFilterToJSON, SearchFilterToJSONTyped, SolutionDeploymentAction, instanceOfSolutionDeploymentAction, SolutionDeploymentActionFromJSON, SolutionDeploymentActionFromJSONTyped, SolutionDeploymentActionToJSON, SolutionDeploymentActionToJSONTyped, ConfigurationsApi, DeploymentsApi, PackagesApi, ProjectsApi, SearchApi, SettingsApi, StudioWebIncompatibleProjectError, collectFiles, createZipFromDir, finalizeZip64, UipignoreExcludesProjectError, bundleSolution, buildSolutionPackageFromDir, isDebugProvisioningTerminal, isDebugProvisioningSucceeded, getProjectDebugStatus, searchPackageVersions, getStudioWebSolutionProjects, listStudioWebSolutions, SolutionUploadHttpError, isSolutionUploadHttpError, buildSolutionUploadFailureOutput, solutionExistsOnStudioWeb, importSolution, overwriteSolution, uploadOrOverwriteSolution };
5354
5366
 
5355
- //# debugId=0396239432932E3964756E2164756E21
5367
+ //# debugId=9AF8056E842A846764756E2164756E21