@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
@@ -1,23 +1,24 @@
1
1
  import {
2
2
  resolveJsonInput
3
- } from "./packager-tool-py93409h.js";
3
+ } from "./packager-tool-ymma2s85.js";
4
4
  import {
5
5
  DEBUG_MODE_MAP,
6
6
  SIMULATION_MODE_MAP,
7
7
  beginDebugSession,
8
8
  createDebugInstance,
9
+ fetchDebugInstanceVariables,
9
10
  getPersonalFolderKey
10
- } from "./packager-tool-peawy22c.js";
11
+ } from "./packager-tool-tqjfdpda.js";
11
12
  import {
12
13
  debugPimsGet,
13
14
  debugPimsPatch,
14
15
  debugPimsPost,
15
16
  debugPimsPut
16
- } from "./packager-tool-3dc9gz35.js";
17
+ } from "./packager-tool-frjt46rb.js";
17
18
  import {
18
19
  getAuthContext,
19
20
  getLoginStatusAsync
20
- } from "./packager-tool-6h69pd2a.js";
21
+ } from "./packager-tool-kn86394c.js";
21
22
  import {
22
23
  DEFAULT_PAGE_SIZE,
23
24
  EXIT_CODES,
@@ -25,7 +26,6 @@ import {
25
26
  OutputFormatter,
26
27
  Pagination,
27
28
  RESULTS,
28
- catchError,
29
29
  extractErrorMessage,
30
30
  isGuid,
31
31
  logger,
@@ -33,7 +33,10 @@ import {
33
33
  parseLimit,
34
34
  parseOffset,
35
35
  processContext
36
- } from "./packager-tool-02f63a08.js";
36
+ } from "./packager-tool-apawc11t.js";
37
+ import {
38
+ catchError
39
+ } from "./packager-tool-t7ahhaer.js";
37
40
  import {
38
41
  __require
39
42
  } from "./packager-tool-1yh8g550.js";
@@ -301,6 +304,30 @@ function flattenNodeForDisplay(n) {
301
304
  Tags: (n.tags ?? []).join(", ")
302
305
  };
303
306
  }
307
+ async function missingProcessResourceHint() {
308
+ const {
309
+ describeProjectsWithoutProcessResource,
310
+ findProjectsWithoutProcessResource,
311
+ findSolutionFromCwd
312
+ } = await import("./solution-discovery-vqravtkh.js");
313
+ const ctx = await findSolutionFromCwd();
314
+ if (!ctx)
315
+ return {};
316
+ return describeProjectsWithoutProcessResource(await findProjectsWithoutProcessResource(ctx), ctx.solutionDir);
317
+ }
318
+ async function localResultNotes(contractWarning) {
319
+ const hint = await missingProcessResourceHint();
320
+ const warnings = [hint.Warning, contractWarning].filter((w) => typeof w === "string");
321
+ return {
322
+ ...hint,
323
+ ...warnings.length > 0 ? { Warning: warnings.join(" ") } : {}
324
+ };
325
+ }
326
+ async function explainNodeTypeWithoutProcessResource(nodeType) {
327
+ const discovery = await import("./solution-discovery-vqravtkh.js");
328
+ const [, explanation] = await catchError(discovery.explainNodeTypeWithoutProcessResource(nodeType));
329
+ return explanation;
330
+ }
304
331
  function flattenNodeWithAvailability(n, availableOnTenant) {
305
332
  return {
306
333
  ...flattenNodeForDisplay(n),
@@ -308,7 +335,7 @@ function flattenNodeWithAvailability(n, availableOnTenant) {
308
335
  };
309
336
  }
310
337
  async function mergeWithKnownSdkNodes(tenantNodes) {
311
- const { listKnownSdkNodes } = await import("./known-types-q6fcyq2e.js");
338
+ const { listKnownSdkNodes } = await import("./known-types-3025scz1.js");
312
339
  const tenantTypes = new Set(tenantNodes.map((n) => n.nodeType?.toLowerCase()).filter((t) => typeof t === "string"));
313
340
  const merged = tenantNodes.map((node) => ({ node, availableOnTenant: true }));
314
341
  for (const known of listKnownSdkNodes()) {
@@ -321,6 +348,13 @@ async function mergeWithKnownSdkNodes(tenantNodes) {
321
348
  }
322
349
  return merged;
323
350
  }
351
+ var ALL_NODES = -1;
352
+ function parseListLimit(raw) {
353
+ return raw.trim() === String(ALL_NODES) ? ALL_NODES : parseLimit(raw);
354
+ }
355
+ function shownRows(count, offset) {
356
+ return offset === 0 ? `first ${count}` : `${count} from offset ${offset}`;
357
+ }
324
358
  var registerRegistryCommand = (program, commandPrefix) => {
325
359
  const cmd = `uip ${commandPrefix} registry`;
326
360
  const registry = program.command("registry").description(`Browse and search the ${commandPrefix} node registry to discover available activities and connectors (OOTB + authenticated). Use 'pull' to sync, 'search' to find nodes, 'get' to inspect a node's full input/output schema.`).addHelpText("after", `
@@ -429,7 +463,7 @@ Subcommands:
429
463
  }
430
464
  ];
431
465
  registry.command("pull").description(`Pull and sync node data from ${commandPrefix} registry (login first for full registry)`).option("-f, --force", "Force refresh, ignore cache").examples(pullExamples).trackedAction(processContext, async (options) => {
432
- const { pullNodes } = await import("./node-sync-service-ccwgtyte.js");
466
+ const { MANIFEST_VALIDATION_NEXT_STEP, pullNodes } = await import("./node-sync-service-yvyf7chw.js");
433
467
  const [error, result] = await catchError(pullNodes({
434
468
  force: options.force
435
469
  }));
@@ -442,7 +476,28 @@ Subcommands:
442
476
  processContext.exit(1);
443
477
  return;
444
478
  }
445
- const message = result.fromCache ? `Using cached nodes (age: ${result.ageMinutes}m)` : "Synced fresh nodes";
479
+ if (result.failures?.length) {
480
+ OutputFormatter.error({
481
+ Result: RESULTS.Failure,
482
+ Message: `The tenant manifest failed validation, so the pull returned only ${result.syncedCount} OOTB nodes; the cache was not updated`,
483
+ Instructions: `registry get/search keep serving the previous cache, if there is one. ${MANIFEST_VALIDATION_NEXT_STEP} The validation error is in Data.Failures.`,
484
+ Retry: "RetryWillNotFix",
485
+ Data: {
486
+ NodesCount: result.syncedCount,
487
+ Source: result.source,
488
+ CacheWritten: false,
489
+ Failures: result.failures.map((f) => ({
490
+ Source: f.source,
491
+ Reason: f.reason
492
+ }))
493
+ }
494
+ });
495
+ processContext.exit(1);
496
+ return;
497
+ }
498
+ const missing = result.missingSources ?? [];
499
+ const base = result.fromCache ? `Using cached nodes (age: ${result.ageMinutes}m)` : "Synced fresh nodes";
500
+ const message = missing.length ? `${base}; missing node sources: ${missing.map((m) => m.source).join(", ")}` : base;
446
501
  const finalMessage = result.info ? `${message}. ${result.info}` : message;
447
502
  OutputFormatter.success({
448
503
  Result: RESULTS.Success,
@@ -454,7 +509,13 @@ Subcommands:
454
509
  Source: result.source,
455
510
  CacheWritten: result.cacheWritten,
456
511
  Message: finalMessage,
457
- Info: result.info
512
+ Info: result.info,
513
+ ...missing.length > 0 && {
514
+ MissingSources: missing.map((m) => ({
515
+ Source: m.source,
516
+ Reason: m.reason
517
+ }))
518
+ }
458
519
  }
459
520
  });
460
521
  });
@@ -465,18 +526,48 @@ Examples:
465
526
  ${cmd} list --limit -1
466
527
 
467
528
  In-solution (--local):
468
- cd MySolution/MyFlow && ${cmd} list --local`).option("-l, --limit <n>", "Number of nodes to return (default: 20, -1 for all)", (v) => Number.parseInt(v, 10), 20).option("--local", "Show only in-solution project nodes (requires .uipx in CWD, parent, or grandparent). Omits `AvailableOnTenant` (no tenant lookup).").examples(listExamples).trackedAction(processContext, async (options) => {
469
- if (Number.isNaN(options.limit) || options.limit < 1 && options.limit !== -1) {
470
- OutputFormatter.error({
471
- Result: RESULTS.Failure,
472
- Message: "Invalid --limit value",
473
- Instructions: "Provide a positive integer (e.g. --limit 100) or -1 for all nodes"
529
+ cd MySolution/MyFlow && ${cmd} list --local`).option("-l, --limit <n>", "Number of nodes to return (1-10000, default: 20, -1 for all)", parseListLimit, 20).option("--offset <number>", "Number of nodes to skip (0-1000000)", parseOffset, 0).option("--local", "Show only in-solution project nodes (requires .uipx in CWD, parent, or grandparent). Omits `AvailableOnTenant` (no tenant lookup).").examples(listExamples).trackedAction(processContext, async (options) => {
530
+ const {
531
+ getLocalSolutionSnapshot,
532
+ listNodes,
533
+ localContractWarning
534
+ } = await import("./node-sync-service-yvyf7chw.js");
535
+ const showAll = options.limit === ALL_NODES;
536
+ if (options.local) {
537
+ const [error2, snapshot] = await catchError(getLocalSolutionSnapshot());
538
+ if (error2) {
539
+ OutputFormatter.error({
540
+ Result: RESULTS.Failure,
541
+ Message: "Error listing nodes",
542
+ Instructions: error2.message
543
+ });
544
+ processContext.exit(1);
545
+ return;
546
+ }
547
+ const localNodes = snapshot.manifests;
548
+ const totalCount2 = localNodes.length;
549
+ const effectiveLimit2 = showAll ? totalCount2 : options.limit;
550
+ const nodes = localNodes.slice(options.offset, options.offset + effectiveLimit2);
551
+ const truncated2 = options.offset + nodes.length < totalCount2;
552
+ const warning = localContractWarning(snapshot, nodes);
553
+ OutputFormatter.success({
554
+ Result: RESULTS.Success,
555
+ Code: "NodeListSuccess",
556
+ Data: nodes.map(flattenNodeForDisplay),
557
+ Pagination: new Pagination({
558
+ returned: nodes.length,
559
+ limit: effectiveLimit2,
560
+ offset: options.offset,
561
+ total: totalCount2
562
+ }),
563
+ ...await localResultNotes(warning)
474
564
  });
475
- processContext.exit(1);
565
+ if (truncated2) {
566
+ logger.info(`Showing ${shownRows(nodes.length, options.offset)} of ${totalCount2}. Use --limit, --offset or --limit -1 to get more, or use 'search' to filter.`);
567
+ }
476
568
  return;
477
569
  }
478
- const { listNodes } = await import("./node-sync-service-ccwgtyte.js");
479
- const [error, tenantNodes] = await catchError(listNodes({ local: options.local }));
570
+ const [error, tenantNodes] = await catchError(listNodes());
480
571
  if (error) {
481
572
  OutputFormatter.error({
482
573
  Result: RESULTS.Failure,
@@ -486,35 +577,25 @@ In-solution (--local):
486
577
  processContext.exit(1);
487
578
  return;
488
579
  }
489
- const showAll = options.limit === -1;
490
- if (options.local) {
491
- const totalCount2 = tenantNodes.length;
492
- const effectiveLimit2 = showAll ? totalCount2 : options.limit;
493
- const nodes = tenantNodes.slice(0, effectiveLimit2);
494
- const truncated2 = nodes.length < totalCount2;
495
- OutputFormatter.success({
496
- Result: RESULTS.Success,
497
- Code: "NodeListSuccess",
498
- Data: nodes.map(flattenNodeForDisplay)
499
- });
500
- if (truncated2) {
501
- logger.info(`Showing first ${nodes.length} of ${totalCount2}. Use --limit or --limit -1 to get more, or use 'search' to filter.`);
502
- }
503
- return;
504
- }
505
580
  const merged = await mergeWithKnownSdkNodes(tenantNodes);
506
581
  const totalCount = merged.length;
507
582
  const effectiveLimit = showAll ? totalCount : options.limit;
508
- const slice = merged.slice(0, effectiveLimit);
509
- const truncated = slice.length < totalCount;
583
+ const slice = merged.slice(options.offset, options.offset + effectiveLimit);
584
+ const truncated = options.offset + slice.length < totalCount;
510
585
  const gatedCount = merged.filter((m) => !m.availableOnTenant).length;
511
586
  OutputFormatter.success({
512
587
  Result: RESULTS.Success,
513
588
  Code: "NodeListSuccess",
514
- Data: slice.map((m) => flattenNodeWithAvailability(m.node, m.availableOnTenant))
589
+ Data: slice.map((m) => flattenNodeWithAvailability(m.node, m.availableOnTenant)),
590
+ Pagination: new Pagination({
591
+ returned: slice.length,
592
+ limit: effectiveLimit,
593
+ offset: options.offset,
594
+ total: totalCount
595
+ })
515
596
  });
516
597
  if (truncated) {
517
- logger.info(`Showing first ${slice.length} of ${totalCount} (${gatedCount} not enabled on this tenant). Use --limit or --limit -1 to get more.`);
598
+ logger.info(`Showing ${shownRows(slice.length, options.offset)} of ${totalCount} (${gatedCount} not enabled on this tenant). Use --limit, --offset or --limit -1 to get more.`);
518
599
  } else if (gatedCount > 0) {
519
600
  logger.info(`${gatedCount} of ${totalCount} node type(s) are not enabled on this tenant (AvailableOnTenant=false).`);
520
601
  }
@@ -580,15 +661,18 @@ In-solution (--local):
580
661
  return;
581
662
  }
582
663
  const {
664
+ filterNodesByKeyword,
665
+ getLocalSolutionSnapshot,
666
+ localContractWarning,
583
667
  searchNodeSummariesWithAvailability,
584
668
  searchNodes,
585
669
  searchNodesWithFilters
586
- } = await import("./node-sync-service-ccwgtyte.js");
670
+ } = await import("./node-sync-service-yvyf7chw.js");
587
671
  const searchLocal = () => parsedFilters ? searchNodesWithFilters(keyword, parsedFilters, {
588
672
  local: true
589
673
  }) : searchNodes(keyword, { local: true });
590
674
  if (options.local) {
591
- const [searchError2, results2] = await catchError(searchLocal());
675
+ const [searchError2, snapshot] = await catchError(getLocalSolutionSnapshot());
592
676
  if (searchError2) {
593
677
  OutputFormatter.error({
594
678
  Result: RESULTS.Failure,
@@ -598,10 +682,14 @@ In-solution (--local):
598
682
  processContext.exit(1);
599
683
  return;
600
684
  }
685
+ const { searchWithFilters } = await import("./filter-engine-7ep90g7f.js");
686
+ const results2 = parsedFilters ? searchWithFilters(snapshot.manifests, keyword, parsedFilters) : filterNodesByKeyword(snapshot.manifests, keyword);
687
+ const warning2 = localContractWarning(snapshot, results2);
601
688
  OutputFormatter.success({
602
689
  Result: RESULTS.Success,
603
690
  Code: "NodeSearchSuccess",
604
- Data: results2.map(flattenNodeForDisplay)
691
+ Data: results2.map(flattenNodeForDisplay),
692
+ ...await localResultNotes(warning2)
605
693
  });
606
694
  return;
607
695
  }
@@ -652,10 +740,10 @@ Examples:
652
740
 
653
741
  In-solution (--local):
654
742
  cd MySolution/MyFlow && ${cmd} get <node-type> --local`).argument("<node-type>", `Node type identifier — get it from '${cmd} search'`).option("--connection-id <id>", "Connection ID for Integration Service connector node enrichment. Required for connector trigger nodes; optional for connector activity nodes.").option("--local", "Get node from in-solution projects only (requires .uipx in CWD, parent, or grandparent)").examples(getExamples).trackedAction(processContext, async (nodeType, options) => {
655
- const { getNode, getNodeEnriched } = await import("./node-sync-service-ccwgtyte.js");
656
- const [error, result] = await catchError(getNodeEnriched(nodeType, options.connectionId, {
743
+ const { getLocalNodeEnriched, getNode, getNodeEnriched } = await import("./node-sync-service-yvyf7chw.js");
744
+ const [error, lookedUp] = await catchError(options.local ? getLocalNodeEnriched(nodeType, options.connectionId) : getNodeEnriched(nodeType, options.connectionId, {
657
745
  local: options.local
658
- }));
746
+ }).then((node) => ({ node, warning: undefined })));
659
747
  if (error) {
660
748
  OutputFormatter.error({
661
749
  Result: RESULTS.Failure,
@@ -665,12 +753,15 @@ In-solution (--local):
665
753
  processContext.exit(1);
666
754
  return;
667
755
  }
756
+ const result = lookedUp?.node;
757
+ const warning = lookedUp?.warning;
668
758
  if (!result) {
669
759
  const [, inSolution] = options.local ? [undefined, null] : await catchError(getNode(nodeType, { local: true }));
760
+ const withoutProcessResource = inSolution ? undefined : await explainNodeTypeWithoutProcessResource(nodeType);
670
761
  OutputFormatter.error({
671
762
  Result: RESULTS.Failure,
672
- Message: "Node not found",
673
- Instructions: inSolution ? `'${nodeType}' is a node of a project in this solution, which only --local looks up. Run: ${cmd} get ${nodeType} --local` : `No node found with node type: ${nodeType}`,
763
+ Message: withoutProcessResource?.message ?? "Node not found",
764
+ Instructions: withoutProcessResource?.instructions ?? (inSolution ? `'${nodeType}' is a node of a project in this solution, which only --local looks up. Run: ${cmd} get ${nodeType} --local` : `No node found with node type: ${nodeType}`),
674
765
  ErrorCode: "not_found"
675
766
  });
676
767
  processContext.exit(1);
@@ -681,7 +772,8 @@ In-solution (--local):
681
772
  Code: "NodeGetSuccess",
682
773
  Data: {
683
774
  Node: result
684
- }
775
+ },
776
+ ...warning ? { Warning: warning } : {}
685
777
  }, { preserveDataKeys: true });
686
778
  });
687
779
  };
@@ -747,6 +839,505 @@ async function withDebugPimsCall(fn, errorMessage) {
747
839
  return result;
748
840
  }
749
841
 
842
+ // ../maestro-sdk/src/shared-commands/examples.ts
843
+ var INSTANCE = "f4a1c2b3-0000-4000-8000-000000000001";
844
+ var FOLDER = "b2c3d4e5-0000-4000-8000-000000000002";
845
+ var PROCESS = "c3d4e5f6-0000-4000-8000-000000000003";
846
+ var INCIDENT = "d4e5f6a7-0000-4000-8000-000000000004";
847
+ var ELEMENT = "Task_Review";
848
+ var SOLUTION = "e5f6a7b8-0000-4000-8000-000000000009";
849
+ var PROJECT = "f6a7b8c9-0000-4000-8000-00000000000a";
850
+ var operation = (verb, code, description, status) => (prefix) => ({
851
+ Description: description,
852
+ Command: `${prefix} instance ${verb} ${INSTANCE} --folder-key ${FOLDER}`,
853
+ Output: { Code: code, Data: { InstanceId: INSTANCE, Status: status } }
854
+ });
855
+ var EXAMPLES = {
856
+ "instance list": (prefix) => ({
857
+ Description: "List the faulted instances in a folder",
858
+ Command: `${prefix} instance list --folder-key ${FOLDER} --status Faulted --limit 2`,
859
+ Output: {
860
+ Code: "InstanceList",
861
+ Data: [
862
+ {
863
+ InstanceId: INSTANCE,
864
+ InstanceDisplayName: "Claim 1042",
865
+ ProcessKey: PROCESS,
866
+ PackageVersion: "1.0.3",
867
+ LatestRunStatus: "Faulted",
868
+ StartedTime: "2026-10-13T09:12:00Z"
869
+ }
870
+ ]
871
+ }
872
+ }),
873
+ "instance get": (prefix) => ({
874
+ Description: "Get one instance and its latest run",
875
+ Command: `${prefix} instance get ${INSTANCE} --folder-key ${FOLDER}`,
876
+ Output: {
877
+ Code: "InstanceGet",
878
+ Data: {
879
+ InstanceId: INSTANCE,
880
+ InstanceDisplayName: "Claim 1042",
881
+ ProcessKey: PROCESS,
882
+ PackageVersion: "1.0.3",
883
+ LatestRunStatus: "Running",
884
+ StartedTime: "2026-10-13T09:12:00Z",
885
+ CompletedTime: null
886
+ }
887
+ }
888
+ }),
889
+ "instance pause": operation("pause", "InstancePaused", "Pause a running instance", "Paused"),
890
+ "instance resume": operation("resume", "InstanceResumed", "Resume a paused instance", "Running"),
891
+ "instance cancel": operation("cancel", "InstanceCanceled", "Cancel an instance", "Canceling"),
892
+ "instance retry": operation("retry", "InstanceRetried", "Retry a faulted instance from where it failed", "Running"),
893
+ "instance variables": (prefix) => ({
894
+ Description: "Read an instance's variables",
895
+ Command: `${prefix} instance variables ${INSTANCE} --folder-key ${FOLDER}`,
896
+ Output: {
897
+ Code: "InstanceVariables",
898
+ Data: {
899
+ InstanceId: INSTANCE,
900
+ ParentElementId: null,
901
+ GlobalVariables: [
902
+ {
903
+ Id: "claimAmount",
904
+ Name: "claimAmount",
905
+ Type: "number",
906
+ Value: 1200,
907
+ ElementId: "root",
908
+ Source: "=vars.claimAmount"
909
+ }
910
+ ],
911
+ Elements: []
912
+ }
913
+ }
914
+ }),
915
+ "instance variables-all": (prefix) => ({
916
+ Description: "Read the variables of every scope in an instance",
917
+ Command: `${prefix} instance variables-all ${INSTANCE} --folder-key ${FOLDER}`,
918
+ Output: {
919
+ Code: "InstanceVariablesAll",
920
+ Data: {
921
+ Variables: [
922
+ {
923
+ InstanceId: INSTANCE,
924
+ ParentElementId: null,
925
+ GlobalVariables: [],
926
+ Elements: []
927
+ }
928
+ ]
929
+ }
930
+ }
931
+ }),
932
+ "instance global-variables": (prefix) => ({
933
+ Description: "Read an instance's global variables",
934
+ Command: `${prefix} instance global-variables ${INSTANCE} --folder-key ${FOLDER}`,
935
+ Output: {
936
+ Code: "InstanceGlobalVariables",
937
+ Data: {
938
+ InstanceId: INSTANCE,
939
+ Globals: { claimAmount: 1200 },
940
+ Count: 1,
941
+ RetrievedAt: "2026-10-13T09:20:00Z"
942
+ }
943
+ }
944
+ }),
945
+ "instance variables-set": (prefix) => ({
946
+ Description: "Patch variables on a running instance from a file",
947
+ Command: `${prefix} instance variables-set ${INSTANCE} --folder-key ${FOLDER} --inputs @patch.json`,
948
+ Output: {
949
+ Code: "InstanceVariablesSet",
950
+ Data: {}
951
+ }
952
+ }),
953
+ "instance incidents": (prefix) => ({
954
+ Description: "List the incidents an instance raised",
955
+ Command: `${prefix} instance incidents ${INSTANCE} --folder-key ${FOLDER}`,
956
+ Output: {
957
+ Code: "InstanceIncidents",
958
+ Data: [
959
+ {
960
+ IncidentId: INCIDENT,
961
+ InstanceId: INSTANCE,
962
+ ElementId: ELEMENT,
963
+ IncidentStatus: "Open",
964
+ ErrorCode: "TaskFailed",
965
+ ErrorMessage: "The action app returned an error"
966
+ }
967
+ ]
968
+ }
969
+ }),
970
+ "instance asset": (prefix) => ({
971
+ Description: "Get the asset an instance runs",
972
+ Command: `${prefix} instance asset ${INSTANCE} --folder-key ${FOLDER}`,
973
+ Output: { Code: "InstanceAsset", Data: {} }
974
+ }),
975
+ "instance migrate": (prefix) => ({
976
+ Description: "Move an instance to a newer package version",
977
+ Command: `${prefix} instance migrate ${INSTANCE} 1.0.4 --folder-key ${FOLDER} --comment "Fix review step"`,
978
+ Output: {
979
+ Code: "InstanceMigrated",
980
+ Data: { InstanceId: INSTANCE, Status: "Running" }
981
+ }
982
+ }),
983
+ "instance goto": (prefix) => ({
984
+ Description: "Move an instance's cursor from one element to another",
985
+ Command: `${prefix} instance goto ${INSTANCE} '[{"sourceElementId":"${ELEMENT}","targetElementId":"Task_Approve"}]' --folder-key ${FOLDER}`,
986
+ Output: {
987
+ Code: "InstanceGoto",
988
+ Data: { InstanceId: INSTANCE, Status: "Running" }
989
+ }
990
+ }),
991
+ "instance cursors": (prefix) => ({
992
+ Description: "List the elements an instance is currently at",
993
+ Command: `${prefix} instance cursors ${INSTANCE} --folder-key ${FOLDER}`,
994
+ Output: {
995
+ Code: "InstanceCursors",
996
+ Data: { ElementIds: [ELEMENT] }
997
+ }
998
+ }),
999
+ "instance message send": (prefix) => ({
1000
+ Description: "Send a message to the instances waiting for it",
1001
+ Command: `${prefix} instance message send --folder-key ${FOLDER} --inputs @message.json`,
1002
+ Output: {
1003
+ Code: "MessageSent",
1004
+ Data: {
1005
+ Id: "e5f6a7b8-0000-4000-8000-000000000005",
1006
+ JobId: "f6a7b8c9-0000-4000-8000-000000000006"
1007
+ }
1008
+ }
1009
+ }),
1010
+ "instance element-executions": (prefix) => ({
1011
+ Description: "List how each element of an instance ran",
1012
+ Command: `${prefix} instance element-executions ${INSTANCE} --folder-key ${FOLDER}`,
1013
+ Output: {
1014
+ Code: "InstanceElementExecutions",
1015
+ Data: {
1016
+ InstanceId: INSTANCE,
1017
+ ProcessKey: PROCESS,
1018
+ Status: "Running",
1019
+ ElementExecutions: [
1020
+ {
1021
+ ElementId: ELEMENT,
1022
+ ElementType: "UserTask",
1023
+ Status: "Completed",
1024
+ StartedTimeUtc: "2026-10-13T09:12:05Z"
1025
+ }
1026
+ ]
1027
+ }
1028
+ }
1029
+ }),
1030
+ "instance element cancel": (prefix) => ({
1031
+ Description: "Cancel one running element of an instance",
1032
+ Command: `${prefix} instance element cancel ${INSTANCE} ${ELEMENT} --folder-key ${FOLDER}`,
1033
+ Output: {
1034
+ Code: "ElementCanceled",
1035
+ Data: { InstanceId: INSTANCE, Status: "Running" }
1036
+ }
1037
+ }),
1038
+ "instance element retry": (prefix) => ({
1039
+ Description: "Retry one faulted element of an instance",
1040
+ Command: `${prefix} instance element retry ${INSTANCE} ${ELEMENT} --folder-key ${FOLDER}`,
1041
+ Output: {
1042
+ Code: "ElementRetried",
1043
+ Data: { InstanceId: INSTANCE, Status: "Running" }
1044
+ }
1045
+ }),
1046
+ "incident summary": (prefix) => ({
1047
+ Description: "Summarize the open incidents in a folder by error",
1048
+ Command: `${prefix} incident summary --folder-key ${FOLDER} --limit 2`,
1049
+ Output: {
1050
+ Code: "IncidentSummary",
1051
+ Data: [
1052
+ {
1053
+ ProcessKey: PROCESS,
1054
+ ErrorCode: "TaskFailed",
1055
+ ErrorMessage: "The action app returned an error",
1056
+ Count: 3,
1057
+ FirstTimeUtc: "2026-10-12T15:02:00Z"
1058
+ }
1059
+ ]
1060
+ }
1061
+ }),
1062
+ "incident get": (prefix) => ({
1063
+ Description: "Get one incident with its error details",
1064
+ Command: `${prefix} incident get ${INCIDENT} --folder-key ${FOLDER}`,
1065
+ Output: {
1066
+ Code: "IncidentGet",
1067
+ Data: {
1068
+ IncidentId: INCIDENT,
1069
+ InstanceId: INSTANCE,
1070
+ ProcessKey: PROCESS,
1071
+ IncidentStatus: "Open",
1072
+ ElementId: ELEMENT,
1073
+ ErrorCode: "TaskFailed",
1074
+ ErrorMessage: "The action app returned an error",
1075
+ ErrorTime: "2026-10-12T15:02:00Z"
1076
+ }
1077
+ }
1078
+ }),
1079
+ "process settings get": (prefix) => ({
1080
+ Description: "Read a process's settings",
1081
+ Command: `${prefix} process settings get ${PROCESS} --folder-key ${FOLDER}`,
1082
+ Output: {
1083
+ Code: "ProcessSettingsGet",
1084
+ Data: {
1085
+ VariableTags: {
1086
+ Elements: {},
1087
+ SourcePackageVersion: "1.0.3",
1088
+ LastUpdateTimeUtc: "2026-10-12T15:00:00Z"
1089
+ }
1090
+ }
1091
+ }
1092
+ }),
1093
+ "process settings set": (prefix) => ({
1094
+ Description: "Replace a process's settings from a file",
1095
+ Command: `${prefix} process settings set ${PROCESS} --folder-key ${FOLDER} --inputs @settings.json`,
1096
+ Output: {
1097
+ Code: "ProcessSettingsSet",
1098
+ Data: {}
1099
+ }
1100
+ }),
1101
+ "process variable-tags get": (prefix) => ({
1102
+ Description: "Read which variables are tagged for instance search",
1103
+ Command: `${prefix} process variable-tags get ${PROCESS} --folder-key ${FOLDER}`,
1104
+ Output: {
1105
+ Code: "ProcessVariableTagsGet",
1106
+ Data: {
1107
+ Elements: {},
1108
+ SourcePackageVersion: "1.0.3",
1109
+ LastUpdateTimeUtc: "2026-10-12T15:00:00Z"
1110
+ }
1111
+ }
1112
+ }),
1113
+ "process variable-tags set": (prefix) => ({
1114
+ Description: "Make a variable searchable when filtering instances",
1115
+ Command: `${prefix} process variable-tags set ${PROCESS} --folder-key ${FOLDER} --variable claimAmount --searchable true`,
1116
+ Output: {
1117
+ Code: "ProcessVariableTagsSet",
1118
+ Data: {
1119
+ Updated: [
1120
+ {
1121
+ ElementId: ELEMENT,
1122
+ Name: "claimAmount",
1123
+ Tags: ["Searchable"]
1124
+ }
1125
+ ],
1126
+ VariableTags: {
1127
+ Elements: {
1128
+ [ELEMENT]: {
1129
+ Outputs: [
1130
+ {
1131
+ Name: "claimAmount",
1132
+ Tags: ["Searchable"],
1133
+ ExtractPath: "claimAmount",
1134
+ Label: "Claim amount",
1135
+ ExtractedValueType: "number"
1136
+ }
1137
+ ]
1138
+ }
1139
+ },
1140
+ SourcePackageVersion: "1.0.3",
1141
+ LastUpdateTimeUtc: "2026-10-12T15:00:00Z"
1142
+ }
1143
+ }
1144
+ }
1145
+ }),
1146
+ "processes list": (prefix) => ({
1147
+ Description: "List processes with their running and faulted counts",
1148
+ Command: `${prefix} processes list --folder-key ${FOLDER} --limit 2`,
1149
+ Output: {
1150
+ Code: "ProcessList",
1151
+ Data: {
1152
+ Processes: [
1153
+ { ProcessKey: PROCESS, RunningCount: 4, FaultedCount: 1 }
1154
+ ]
1155
+ }
1156
+ }
1157
+ }),
1158
+ "processes incidents": (prefix) => ({
1159
+ Description: "List a process's incidents",
1160
+ Command: `${prefix} processes incidents ${PROCESS} --folder-key ${FOLDER}`,
1161
+ Output: {
1162
+ Code: "ProcessIncidents",
1163
+ Data: [
1164
+ {
1165
+ IncidentId: INCIDENT,
1166
+ InstanceId: INSTANCE,
1167
+ ProcessKey: PROCESS,
1168
+ ElementId: ELEMENT,
1169
+ IncidentStatus: "Open",
1170
+ ErrorCode: "TaskFailed",
1171
+ ErrorMessage: "The action app returned an error"
1172
+ }
1173
+ ]
1174
+ }
1175
+ }),
1176
+ "processes diagnose": (prefix) => ({
1177
+ Description: "Diagnose why a process's instances fault",
1178
+ Command: `${prefix} processes diagnose ${PROCESS} --folder-key ${FOLDER}`,
1179
+ Output: {
1180
+ Code: "ProcessDiagnostics",
1181
+ Data: {
1182
+ ProcessKey: PROCESS,
1183
+ FolderKey: FOLDER,
1184
+ Summary: {
1185
+ ProcessKey: PROCESS,
1186
+ RunningCount: 4,
1187
+ FaultedCount: 1
1188
+ },
1189
+ FaultedCount: 1,
1190
+ RunningCount: 4,
1191
+ Incidents: [
1192
+ {
1193
+ IncidentId: INCIDENT,
1194
+ InstanceId: INSTANCE,
1195
+ ElementId: ELEMENT,
1196
+ ErrorCode: "TaskFailed"
1197
+ }
1198
+ ],
1199
+ IncidentCount: 1,
1200
+ ErrorCodes: [
1201
+ {
1202
+ ErrorCode: "TaskFailed",
1203
+ ErrorMessage: "The action app returned an error"
1204
+ }
1205
+ ],
1206
+ ErrorCodeCount: 1
1207
+ }
1208
+ }
1209
+ }),
1210
+ "processes error-codes": (prefix) => ({
1211
+ Description: "List the error codes a process's incidents carry",
1212
+ Command: `${prefix} processes error-codes ${PROCESS} --folder-key ${FOLDER}`,
1213
+ Output: {
1214
+ Code: "ProcessIncidentErrorCodes",
1215
+ Data: [
1216
+ {
1217
+ ErrorCode: "TaskFailed",
1218
+ ErrorMessage: "The action app returned an error"
1219
+ }
1220
+ ]
1221
+ }
1222
+ }),
1223
+ "debug-instance create": (prefix) => ({
1224
+ Description: "Start a debug run of an uploaded solution's entry point",
1225
+ Command: `${prefix} debug-instance create --solution-id ${SOLUTION} --project-id ${PROJECT} --entry-point "/Main.bpmn#start" --debug-mode StepByStep`,
1226
+ Output: {
1227
+ Code: "DebugInstanceCreated",
1228
+ Data: {
1229
+ InstanceId: INSTANCE,
1230
+ RunId: "a7b8c9d0-0000-4000-8000-000000000007",
1231
+ JobKey: "b8c9d0e1-0000-4000-8000-000000000008"
1232
+ }
1233
+ }
1234
+ }),
1235
+ "debug-instance status": (prefix) => ({
1236
+ Description: "Check where a debug run is",
1237
+ Command: `${prefix} debug-instance status ${INSTANCE}`,
1238
+ Output: {
1239
+ Code: "DebugInstanceStatus",
1240
+ Data: {
1241
+ InstanceId: INSTANCE,
1242
+ Status: "Paused",
1243
+ StartedTimeUtc: "2026-10-13T09:12:00Z",
1244
+ CompletedTimeUtc: null
1245
+ }
1246
+ }
1247
+ }),
1248
+ "debug-instance breakpoints": (prefix) => ({
1249
+ Description: "Replace a debug run's breakpoints from a file",
1250
+ Command: `${prefix} debug-instance breakpoints ${INSTANCE} --inputs @breakpoints.json`,
1251
+ Output: {
1252
+ Code: "DebugInstanceBreakpointsUpdated",
1253
+ Data: {}
1254
+ }
1255
+ }),
1256
+ "debug-instance cancel": (prefix) => ({
1257
+ Description: "Stop a debug run",
1258
+ Command: `${prefix} debug-instance cancel ${INSTANCE}`,
1259
+ Output: {
1260
+ Code: "DebugInstanceCanceled",
1261
+ Data: {}
1262
+ }
1263
+ }),
1264
+ "debug-instance continue": (prefix) => ({
1265
+ Description: "Continue a paused debug run",
1266
+ Command: `${prefix} debug-instance continue ${INSTANCE}`,
1267
+ Output: {
1268
+ Code: "DebugInstanceContinued",
1269
+ Data: {}
1270
+ }
1271
+ }),
1272
+ "debug-instance incidents": (prefix) => ({
1273
+ Description: "List the incidents a debug run raised",
1274
+ Command: `${prefix} debug-instance incidents ${INSTANCE}`,
1275
+ Output: {
1276
+ Code: "DebugInstanceIncidents",
1277
+ Data: [
1278
+ {
1279
+ IncidentId: INCIDENT,
1280
+ ElementId: ELEMENT,
1281
+ ErrorCode: "TaskFailed"
1282
+ }
1283
+ ]
1284
+ }
1285
+ }),
1286
+ "debug-instance variables": (prefix) => ({
1287
+ Description: "Read a paused debug run's variables",
1288
+ Command: `${prefix} debug-instance variables ${INSTANCE}`,
1289
+ Output: {
1290
+ Code: "DebugInstanceVariables",
1291
+ Data: { InstanceId: INSTANCE, Globals: {}, Elements: [] }
1292
+ }
1293
+ }),
1294
+ "debug-instance variables-set": (prefix) => ({
1295
+ Description: "Patch a paused debug run's variables from a file",
1296
+ Command: `${prefix} debug-instance variables-set ${INSTANCE} --inputs @patch.json`,
1297
+ Output: {
1298
+ Code: "DebugInstanceVariablesSet",
1299
+ Data: {}
1300
+ }
1301
+ }),
1302
+ "debug-instance variables-all": (prefix) => ({
1303
+ Description: "Read the variables of every scope in a debug run",
1304
+ Command: `${prefix} debug-instance variables-all ${INSTANCE}`,
1305
+ Output: {
1306
+ Code: "DebugInstanceVariablesAll",
1307
+ Data: { Variables: [] }
1308
+ }
1309
+ })
1310
+ };
1311
+ var pathOf = (command) => {
1312
+ const names = [];
1313
+ for (let at = command;at !== null; at = at.parent) {
1314
+ if (at.parent === null)
1315
+ break;
1316
+ names.unshift(at.name());
1317
+ }
1318
+ return ["uip", ...names];
1319
+ };
1320
+ var attachSharedExamples = (group) => {
1321
+ const visit = (command) => {
1322
+ if (command.commands.length > 0) {
1323
+ for (const child of command.commands)
1324
+ visit(child);
1325
+ return;
1326
+ }
1327
+ const path = pathOf(command);
1328
+ for (let words = 3;words >= 2; words -= 1) {
1329
+ const key = path.slice(-words).join(" ");
1330
+ const example = EXAMPLES[key];
1331
+ if (example === undefined)
1332
+ continue;
1333
+ const prefix = path.slice(0, path.length - words).join(" ");
1334
+ command.examples([example(prefix)]);
1335
+ return;
1336
+ }
1337
+ };
1338
+ visit(group);
1339
+ };
1340
+
750
1341
  // ../maestro-sdk/src/shared-commands/debug-instances.ts
751
1342
  var DEBUG_API_PREFIX = "/api/v1/debug-instances";
752
1343
  var VALID_DEBUG_MODES = Object.keys(DEBUG_MODE_MAP);
@@ -908,11 +1499,23 @@ var registerSharedDebugInstanceCommands = (program, config) => {
908
1499
  Data: result ?? []
909
1500
  });
910
1501
  });
911
- debugInstance.command("variables").description(`Get variables for a ${toolLabel} debug instance`).argument("<instance-id>", "Debug instance ID").option("--parent-element-id <id>", "Filter variables by parent element ID").trackedAction(processContext, async (instanceId, options) => {
1502
+ debugInstance.command("variables").description(`Get variables for a ${toolLabel} debug instance`).argument("<instance-id>", "Debug instance ID").option("--parent-element-id <id>", "Filter variables by parent element ID").option("--expected-outputs <ids...>", "Output variable ids the record must define; retried until it does, failed if it never does").trackedAction(processContext, async (instanceId, options) => {
1503
+ const expectGlobals = options.expectedOutputs ?? [];
1504
+ if (expectGlobals.length > 0 && options.parentElementId !== undefined) {
1505
+ OutputFormatter.error({
1506
+ Result: RESULTS.Failure,
1507
+ Message: "--expected-outputs cannot be combined with --parent-element-id",
1508
+ Instructions: "Drop --parent-element-id: --expected-outputs checks the instance's root variables record."
1509
+ });
1510
+ processContext.exit(1);
1511
+ return;
1512
+ }
912
1513
  const query = buildQueryString({
913
1514
  parentElementId: options.parentElementId
914
1515
  });
915
- const result = await withDebugPimsCall((cfg) => debugPimsGet(cfg, `${DEBUG_API_PREFIX}/${instanceId}/variables${query}`), "Error getting debug instance variables");
1516
+ const result = await withDebugPimsCall((cfg) => expectGlobals.length > 0 ? fetchDebugInstanceVariables(cfg, instanceId, {
1517
+ expectGlobals
1518
+ }) : debugPimsGet(cfg, `${DEBUG_API_PREFIX}/${instanceId}/variables${query}`), "Error getting debug instance variables");
916
1519
  if (!result)
917
1520
  return;
918
1521
  OutputFormatter.success({
@@ -967,6 +1570,7 @@ var registerSharedDebugInstanceCommands = (program, config) => {
967
1570
  Data: result
968
1571
  });
969
1572
  });
1573
+ attachSharedExamples(debugInstance);
970
1574
  };
971
1575
 
972
1576
  // ../maestro-sdk/src/with-pims-call.ts
@@ -1161,6 +1765,7 @@ var registerSharedIncidentCommands = (program, config) => {
1161
1765
  Data: result
1162
1766
  });
1163
1767
  });
1768
+ attachSharedExamples(incident);
1164
1769
  };
1165
1770
 
1166
1771
  // ../maestro-sdk/src/instance-status.ts
@@ -1573,6 +2178,7 @@ var registerSharedInstanceCommands = (program, config) => {
1573
2178
  Data: result
1574
2179
  });
1575
2180
  });
2181
+ attachSharedExamples(instances);
1576
2182
  };
1577
2183
 
1578
2184
  // ../maestro-sdk/src/shared-commands/process.ts
@@ -1815,14 +2421,19 @@ var registerSharedProcessCommands = (processCmd, config) => {
1815
2421
  }
1816
2422
  await setVariableTagsFromPayload(processKey, options);
1817
2423
  });
2424
+ attachSharedExamples(settingsCmd);
2425
+ attachSharedExamples(variableTagsCmd);
1818
2426
  };
1819
2427
 
1820
2428
  // ../maestro-sdk/src/shared-commands/processes.ts
1821
- function findProcessSummary(summaries, processKey) {
2429
+ async function findProcessSummary(config, processKey, folderKey, processType) {
2430
+ const page = await pimsGet(config, `/processes/summary${buildQueryString({ processType, processKey })}`, { folderKey });
2431
+ const summaries = Array.isArray(page?.processes) ? page.processes : [];
1822
2432
  return summaries.find((summary) => summary.processKey === processKey) ?? null;
1823
2433
  }
1824
2434
  var registerSharedProcessesCommands = (program, config) => {
1825
2435
  const { toolLabel, processType } = config;
2436
+ const incidentsQuery = buildQueryString({ processType });
1826
2437
  const processes = program.command("processes").description(`Manage ${toolLabel} process summaries`);
1827
2438
  processes.command("list").description(`List all ${toolLabel} process summaries`).option("--folder-key <key>", "Folder key").option("-l, --limit <number>", "Number of items to return (1-10000)", parseLimit).option("--offset <number>", "Number of items to skip (0-1000000)", parseOffset, 0).option("--status <status>", "Filter by process status").trackedAction(processContext, async (options) => {
1828
2439
  const query = buildQueryString({
@@ -1843,7 +2454,7 @@ var registerSharedProcessesCommands = (program, config) => {
1843
2454
  });
1844
2455
  processes.command("incidents").description(`Get incidents for a specific ${toolLabel} process`).argument("<process-key>", "Process definition key").requiredOption("--folder-key <key>", "Folder key").trackedAction(processContext, async (processKey, options) => {
1845
2456
  const reqOptions = { folderKey: options.folderKey };
1846
- const result = await withPimsCall((config2) => pimsGet(config2, `/incidents/process/${encodeURIComponent(processKey)}`, reqOptions), "Error getting process incidents", { resource: "process", id: processKey });
2457
+ const result = await withPimsCall((config2) => pimsGet(config2, `/incidents/process/${encodeURIComponent(processKey)}${incidentsQuery}`, reqOptions), "Error getting process incidents", { resource: "process", id: processKey });
1847
2458
  if (!result)
1848
2459
  return;
1849
2460
  OutputFormatter.success({
@@ -1854,12 +2465,11 @@ var registerSharedProcessesCommands = (program, config) => {
1854
2465
  });
1855
2466
  processes.command("diagnose").description(`Correlate ${toolLabel} process summary, incidents, and error codes`).argument("<process-key>", "Process definition key").requiredOption("--folder-key <key>", "Folder key").trackedAction(processContext, async (processKey, options) => {
1856
2467
  const result = await withPimsCall(async (config2) => {
1857
- const query = processType ? buildQueryString({ processType }) : "";
1858
- const summaries = await pimsGet(config2, `/processes/summary${query}`);
1859
- const incidents = await pimsGet(config2, `/incidents/process/${encodeURIComponent(processKey)}`, { folderKey: options.folderKey });
2468
+ const summary = await findProcessSummary(config2, processKey, options.folderKey, processType);
2469
+ const incidents = await pimsGet(config2, `/incidents/process/${encodeURIComponent(processKey)}${incidentsQuery}`, { folderKey: options.folderKey });
1860
2470
  const errorCodes = await pimsGet(config2, `/incidents/process/${encodeURIComponent(processKey)}/error-codes`, { folderKey: options.folderKey });
1861
2471
  return {
1862
- summary: findProcessSummary(summaries, processKey),
2472
+ summary,
1863
2473
  incidents,
1864
2474
  errorCodes: errorCodes.errorCodes || []
1865
2475
  };
@@ -1893,8 +2503,9 @@ var registerSharedProcessesCommands = (program, config) => {
1893
2503
  Data: result.errorCodes || []
1894
2504
  });
1895
2505
  });
2506
+ attachSharedExamples(processes);
1896
2507
  };
1897
2508
 
1898
2509
  export { registerRegistryCommand, registerSharedDebugInstanceCommands, registerSharedIncidentCommands, registerSharedInstanceCommands, registerSharedProcessCommands, registerSharedProcessesCommands };
1899
2510
 
1900
- //# debugId=E909433D77340EC664756E2164756E21
2511
+ //# debugId=7138755E22A0856964756E2164756E21