@uipath/skills 1.204.0 → 1.204.1

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 (191) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.cursor-plugin/plugin.json +1 -1
  4. package/CODEOWNERS +12 -14
  5. package/package.json +1 -1
  6. package/skills/uipath-agents/references/coded/embedding-in-flows.md +1 -3
  7. package/skills/uipath-agents/references/coded/quickstart.md +0 -2
  8. package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +10 -8
  9. package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
  10. package/skills/uipath-human-in-the-loop/SKILL.md +1 -3
  11. package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +0 -2
  12. package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +0 -2
  13. package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +2 -2
  14. package/skills/uipath-maestro-flow/.maintenance/README.md +265 -0
  15. package/skills/uipath-maestro-flow/.maintenance/check-all.sh +40 -0
  16. package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +101 -0
  17. package/skills/uipath-maestro-flow/.maintenance/check-depth.sh +132 -0
  18. package/skills/uipath-maestro-flow/.maintenance/check-link-text.sh +123 -0
  19. package/skills/uipath-maestro-flow/.maintenance/check-links.sh +73 -0
  20. package/skills/uipath-maestro-flow/.maintenance/check-orphans.sh +93 -0
  21. package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +39 -0
  22. package/skills/uipath-maestro-flow/.maintenance/check-template.sh +42 -0
  23. package/skills/uipath-maestro-flow/.maintenance/check-uip-commands.sh +270 -0
  24. package/skills/uipath-maestro-flow/.maintenance/check-versions.sh +160 -0
  25. package/skills/uipath-maestro-flow/SKILL.md +69 -886
  26. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +207 -0
  27. package/skills/uipath-maestro-flow/references/author/brownfield.md +91 -0
  28. package/skills/uipath-maestro-flow/references/author/editing-operations-cli.md +190 -0
  29. package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +374 -0
  30. package/skills/uipath-maestro-flow/references/author/editing-operations.md +104 -0
  31. package/skills/uipath-maestro-flow/references/author/greenfield.md +420 -0
  32. package/skills/uipath-maestro-flow/references/author/planning-arch.md +364 -0
  33. package/skills/uipath-maestro-flow/references/author/planning-impl.md +291 -0
  34. package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +237 -0
  35. package/skills/uipath-maestro-flow/references/author/plugins/agent/planning.md +97 -0
  36. package/skills/uipath-maestro-flow/references/author/plugins/agentic-process/impl.md +107 -0
  37. package/skills/uipath-maestro-flow/references/author/plugins/agentic-process/planning.md +61 -0
  38. package/skills/uipath-maestro-flow/references/author/plugins/api-workflow/impl.md +108 -0
  39. package/skills/uipath-maestro-flow/references/author/plugins/api-workflow/planning.md +60 -0
  40. package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
  41. package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/planning.md +72 -0
  42. package/skills/uipath-maestro-flow/references/author/plugins/connector/impl-inline.md +120 -0
  43. package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +463 -0
  44. package/skills/uipath-maestro-flow/references/author/plugins/connector/planning.md +186 -0
  45. package/skills/uipath-maestro-flow/references/author/plugins/connector-trigger/impl.md +517 -0
  46. package/skills/uipath-maestro-flow/references/author/plugins/connector-trigger/planning.md +115 -0
  47. package/skills/uipath-maestro-flow/references/author/plugins/conversational-agent/impl.md +309 -0
  48. package/skills/uipath-maestro-flow/references/author/plugins/conversational-agent/planning.md +133 -0
  49. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +428 -0
  50. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +188 -0
  51. package/skills/uipath-maestro-flow/references/author/plugins/decision/impl.md +83 -0
  52. package/skills/uipath-maestro-flow/references/author/plugins/decision/planning.md +38 -0
  53. package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
  54. package/skills/uipath-maestro-flow/references/author/plugins/delay/planning.md +53 -0
  55. package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
  56. package/skills/uipath-maestro-flow/references/author/plugins/end/planning.md +28 -0
  57. package/skills/uipath-maestro-flow/references/author/plugins/flow/impl.md +107 -0
  58. package/skills/uipath-maestro-flow/references/author/plugins/flow/planning.md +58 -0
  59. package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +181 -0
  60. package/skills/uipath-maestro-flow/references/author/plugins/hitl/planning.md +166 -0
  61. package/skills/uipath-maestro-flow/references/author/plugins/http/impl-connector.md +86 -0
  62. package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
  63. package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
  64. package/skills/uipath-maestro-flow/references/author/plugins/http/planning.md +107 -0
  65. package/skills/uipath-maestro-flow/references/author/plugins/inline-agent/impl.md +540 -0
  66. package/skills/uipath-maestro-flow/references/author/plugins/inline-agent/planning.md +115 -0
  67. package/skills/uipath-maestro-flow/references/author/plugins/inline-voice-agent/impl.md +269 -0
  68. package/skills/uipath-maestro-flow/references/author/plugins/inline-voice-agent/planning.md +128 -0
  69. package/skills/uipath-maestro-flow/references/author/plugins/ixp/impl.md +424 -0
  70. package/skills/uipath-maestro-flow/references/author/plugins/ixp/planning.md +95 -0
  71. package/skills/uipath-maestro-flow/references/author/plugins/loop/impl.md +403 -0
  72. package/skills/uipath-maestro-flow/references/author/plugins/loop/planning.md +60 -0
  73. package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
  74. package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
  75. package/skills/uipath-maestro-flow/references/author/plugins/queue/impl.md +82 -0
  76. package/skills/uipath-maestro-flow/references/author/plugins/queue/planning.md +44 -0
  77. package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
  78. package/skills/uipath-maestro-flow/references/author/plugins/rpa/planning.md +61 -0
  79. package/skills/uipath-maestro-flow/references/author/plugins/scheduled-trigger/impl.md +56 -0
  80. package/skills/uipath-maestro-flow/references/author/plugins/scheduled-trigger/planning.md +93 -0
  81. package/skills/uipath-maestro-flow/references/author/plugins/script/impl.md +98 -0
  82. package/skills/uipath-maestro-flow/references/author/plugins/script/planning.md +42 -0
  83. package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
  84. package/skills/uipath-maestro-flow/references/author/plugins/subflow/planning.md +35 -0
  85. package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
  86. package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
  87. package/skills/uipath-maestro-flow/references/author/plugins/switch/impl.md +72 -0
  88. package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
  89. package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
  90. package/skills/uipath-maestro-flow/references/author/plugins/terminate/planning.md +29 -0
  91. package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +252 -0
  92. package/skills/uipath-maestro-flow/references/author/plugins/transform/planning.md +47 -0
  93. package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +73 -0
  94. package/skills/uipath-maestro-flow/references/diagnose/failure-modes.md +353 -0
  95. package/skills/uipath-maestro-flow/references/diagnose/troubleshooting-guide.md +174 -0
  96. package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +134 -0
  97. package/skills/uipath-maestro-flow/references/evaluate/commands-reference.md +376 -0
  98. package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
  99. package/skills/uipath-maestro-flow/references/evaluate/evaluators-guide.md +143 -0
  100. package/skills/uipath-maestro-flow/references/evaluate/running-guide.md +215 -0
  101. package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
  102. package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +77 -0
  103. package/skills/uipath-maestro-flow/references/operate/manage.md +39 -0
  104. package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
  105. package/skills/uipath-maestro-flow/references/operate/ship.md +57 -0
  106. package/skills/uipath-maestro-flow/references/shared/action-nodes.md +100 -0
  107. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +269 -0
  108. package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +178 -0
  109. package/skills/uipath-maestro-flow/references/shared/file-format.md +582 -0
  110. package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +86 -0
  111. package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +113 -0
  112. package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +787 -0
  113. package/skills/uipath-platform/references/integration-service/activities.md +2 -2
  114. package/skills/uipath-platform/references/integration-service/activity-generation.md +8 -1
  115. package/skills/uipath-platform/references/integration-service/triggers.md +1 -3
  116. package/version-manifest.json +1 -1
  117. package/skills/uipath-maestro-flow/examples/AquariumSafetyStop.flow.ts +0 -26
  118. package/skills/uipath-maestro-flow/examples/ArchiveCardExtract.flow.ts +0 -38
  119. package/skills/uipath-maestro-flow/examples/BakeOffEntryForm.flow.ts +0 -27
  120. package/skills/uipath-maestro-flow/examples/BeeHiveLedger.flow.ts +0 -61
  121. package/skills/uipath-maestro-flow/examples/BeltProgression.flow.ts +0 -53
  122. package/skills/uipath-maestro-flow/examples/BirdCountLookup.flow.ts +0 -24
  123. package/skills/uipath-maestro-flow/examples/ClubDirectory.flow.ts +0 -56
  124. package/skills/uipath-maestro-flow/examples/ConcertSoundcheck.flow.ts +0 -59
  125. package/skills/uipath-maestro-flow/examples/DoorbellLog.flow.ts +0 -45
  126. package/skills/uipath-maestro-flow/examples/FestivalMapScaffold.flow.ts +0 -22
  127. package/skills/uipath-maestro-flow/examples/FieldTripQuickForm.flow.ts +0 -45
  128. package/skills/uipath-maestro-flow/examples/FossilCatalogEnrich.flow.ts +0 -26
  129. package/skills/uipath-maestro-flow/examples/GallerySubmission.flow.ts +0 -67
  130. package/skills/uipath-maestro-flow/examples/GreenhouseWatering.flow.ts +0 -39
  131. package/skills/uipath-maestro-flow/examples/HarbourRadioLine.flow.ts +0 -31
  132. package/skills/uipath-maestro-flow/examples/HerbariumDispatch.flow.ts +0 -34
  133. package/skills/uipath-maestro-flow/examples/KilnReview.flow.ts +0 -38
  134. package/skills/uipath-maestro-flow/examples/LibraryDeskChat.flow.ts +0 -39
  135. package/skills/uipath-maestro-flow/examples/LighthouseSignal.flow.ts +0 -30
  136. package/skills/uipath-maestro-flow/examples/MeteorShowerPages.flow.ts +0 -39
  137. package/skills/uipath-maestro-flow/examples/NeighborhoodWalkPlanner.flow.ts +0 -27
  138. package/skills/uipath-maestro-flow/examples/ObservatorySeeing.flow.ts +0 -51
  139. package/skills/uipath-maestro-flow/examples/OralHistoryDigest.flow.ts +0 -31
  140. package/skills/uipath-maestro-flow/examples/PlanetariumConfirmation.flow.ts +0 -34
  141. package/skills/uipath-maestro-flow/examples/PlantNameAdvisor.flow.ts +0 -28
  142. package/skills/uipath-maestro-flow/examples/PostcardCaption.flow.ts +0 -44
  143. package/skills/uipath-maestro-flow/examples/PotteryStudioCallback.flow.ts +0 -41
  144. package/skills/uipath-maestro-flow/examples/RecipeScaler.flow.ts +0 -62
  145. package/skills/uipath-maestro-flow/examples/SeedPacketReader.flow.ts +0 -49
  146. package/skills/uipath-maestro-flow/examples/TideTableConverter.flow.ts +0 -35
  147. package/skills/uipath-maestro-flow/examples/TrailLogSummary.flow.ts +0 -75
  148. package/skills/uipath-maestro-flow/examples/WorkshopInventory.flow.ts +0 -27
  149. package/skills/uipath-maestro-flow/examples/bindings.json +0 -85
  150. package/skills/uipath-maestro-flow/references/CLI-LOOP.md +0 -309
  151. package/skills/uipath-maestro-flow/references/agent-resources.md +0 -74
  152. package/skills/uipath-maestro-flow/references/agent.md +0 -175
  153. package/skills/uipath-maestro-flow/references/agentic-process.md +0 -41
  154. package/skills/uipath-maestro-flow/references/api-workflow.md +0 -29
  155. package/skills/uipath-maestro-flow/references/author.md +0 -178
  156. package/skills/uipath-maestro-flow/references/batch-transform.md +0 -23
  157. package/skills/uipath-maestro-flow/references/bindings.md +0 -178
  158. package/skills/uipath-maestro-flow/references/branch.md +0 -18
  159. package/skills/uipath-maestro-flow/references/brownfield.md +0 -152
  160. package/skills/uipath-maestro-flow/references/connector-params.md +0 -624
  161. package/skills/uipath-maestro-flow/references/conversational.md +0 -77
  162. package/skills/uipath-maestro-flow/references/data-fabric.md +0 -268
  163. package/skills/uipath-maestro-flow/references/delay.md +0 -26
  164. package/skills/uipath-maestro-flow/references/diagnose.md +0 -141
  165. package/skills/uipath-maestro-flow/references/document-pipeline.md +0 -47
  166. package/skills/uipath-maestro-flow/references/error-handling.md +0 -75
  167. package/skills/uipath-maestro-flow/references/evaluate.md +0 -168
  168. package/skills/uipath-maestro-flow/references/event-trigger.md +0 -155
  169. package/skills/uipath-maestro-flow/references/form-trigger.md +0 -41
  170. package/skills/uipath-maestro-flow/references/hitl.md +0 -169
  171. package/skills/uipath-maestro-flow/references/http.md +0 -105
  172. package/skills/uipath-maestro-flow/references/inline-agent.md +0 -132
  173. package/skills/uipath-maestro-flow/references/ixp.md +0 -167
  174. package/skills/uipath-maestro-flow/references/loops.md +0 -77
  175. package/skills/uipath-maestro-flow/references/manual-trigger.md +0 -39
  176. package/skills/uipath-maestro-flow/references/operate.md +0 -204
  177. package/skills/uipath-maestro-flow/references/or-processes.md +0 -91
  178. package/skills/uipath-maestro-flow/references/parallel-merge.md +0 -21
  179. package/skills/uipath-maestro-flow/references/placeholder.md +0 -70
  180. package/skills/uipath-maestro-flow/references/published-function.md +0 -66
  181. package/skills/uipath-maestro-flow/references/queue.md +0 -53
  182. package/skills/uipath-maestro-flow/references/return.md +0 -20
  183. package/skills/uipath-maestro-flow/references/rpa-workflow.md +0 -27
  184. package/skills/uipath-maestro-flow/references/scheduled-trigger.md +0 -34
  185. package/skills/uipath-maestro-flow/references/script.md +0 -52
  186. package/skills/uipath-maestro-flow/references/subflow.md +0 -33
  187. package/skills/uipath-maestro-flow/references/summarize.md +0 -20
  188. package/skills/uipath-maestro-flow/references/switch.md +0 -20
  189. package/skills/uipath-maestro-flow/references/terminate.md +0 -22
  190. package/skills/uipath-maestro-flow/references/transform.md +0 -32
  191. package/skills/uipath-maestro-flow/references/voice.md +0 -70
@@ -1,35 +0,0 @@
1
- /**
2
- * CAPABILITY: run a deployed Orchestrator FUNCTION as one step.
3
- *
4
- * A function is a small unit of code published as its own resource. `key`
5
- * becomes part of the node type (`uipath.core.function.<key>`); `name` and
6
- * `folderPath` locate the deployment. `returns` declares the fields the
7
- * function hands back so downstream steps can read them.
8
- *
9
- * A function is usually deployed into a folder of its OWN name, and the
10
- * binding's `resourceKey` is `<folderPath>.<name>` — read the folder from the
11
- * tenant rather than assuming `'Shared'`.
12
- *
13
- * Generic scenario: convert a tide height between measurement systems.
14
- */
15
- import { flow, publishedFunction, script, input, out, types } from '@uipath/maestro-builder-sdk';
16
-
17
- export default flow('tide-table-converter')
18
- .name('TideTableConverter')
19
- .version('1.0.0')
20
- .input({ heightFeet: types.number })
21
- .output({ reading: types.string })
22
- .step('toMetres', publishedFunction({
23
- key: 'd41f60c8-27b5-4e19-8a3d-6f0be9147c52',
24
- name: 'tide-convert',
25
- folderPath: 'Shared/tide-convert',
26
- inputs: { feet: input('heightFeet') },
27
- returns: { metres: 'number' },
28
- }))
29
- .step('formatReading', script({
30
- code:
31
- 'return String($vars.start.output.heightFeet) + " ft = "'
32
- + ' + String($vars.toMetres.output.metres) + " m";',
33
- }))
34
- .return({ reading: out('formatReading') })
35
- .build();
@@ -1,75 +0,0 @@
1
- /**
2
- * CAPABILITY: the three `transform` VARIANTS — filter, map, group-by — chained.
3
- *
4
- * Filter → keep the rows you want
5
- * Map → reshape each row (`keepOriginalFields: false` drops the rest)
6
- * Group by→ one row per key, with aggregations
7
- *
8
- * Each variant node carries EXACTLY ONE operation of the matching type
9
- * (`variant: 'group-by'` ⇢ `type: 'groupBy'` — node type hyphenated, operation
10
- * camelCase). Each step's `collection` is the previous step's `out(...)`, which
11
- * is a path — which is what `collection` wants.
12
- *
13
- * Generic scenario: a season of hiking-trail logs → miles walked per difficulty
14
- * band. Static data lives in a variable default because `collection` is a path.
15
- */
16
- import { flow, transform, v, out, types } from '@uipath/maestro-builder-sdk';
17
-
18
- export default flow('trail-log-summary')
19
- .name('TrailLogSummary')
20
- .version('1.0.0')
21
- .output({ perBand: types.array })
22
-
23
- .var('logs', types.array, [
24
- { trail: 'Cedar Ridge', band: 'moderate', status: 'open', miles: 7 },
25
- { trail: 'Fern Gully', band: 'easy', status: 'open', miles: 3 },
26
- { trail: 'Granite Spine', band: 'hard', status: 'closed', miles: 11 },
27
- { trail: 'Otter Creek', band: 'easy', status: 'open', miles: 4 },
28
- { trail: 'Storm Pass', band: 'hard', status: 'open', miles: 9 },
29
- { trail: 'Willow Bend', band: 'moderate', status: 'open', miles: 5 },
30
- ])
31
-
32
- // 1. Filter — one rule, so the node IS a filter.
33
- .step('walkable', transform({
34
- variant: 'filter',
35
- collection: v('logs'),
36
- operations: [
37
- { type: 'filter', operation: 'and', filters: [{ field: 'status', condition: 'equals', value: 'open' }] },
38
- ],
39
- }))
40
-
41
- // 2. Map — keep only what step 3 needs. `keepOriginalFields: false` drops the rest.
42
- .step('summaryFields', transform({
43
- variant: 'map',
44
- collection: out('walkable'),
45
- operations: [
46
- {
47
- type: 'map',
48
- keepOriginalFields: false,
49
- mappings: [
50
- { field: 'band', transformation: 'uppercase', renameTo: 'grade' },
51
- { field: 'miles' },
52
- ],
53
- },
54
- ],
55
- }))
56
-
57
- // 3. Group by — one row per grade. `count` is the only aggregation with no `field`.
58
- .step('perBand', transform({
59
- variant: 'group-by',
60
- collection: out('summaryFields'),
61
- operations: [
62
- {
63
- type: 'groupBy',
64
- groupByField: 'grade',
65
- aggregations: [
66
- { operation: 'count', alias: 'trails' },
67
- { operation: 'sum', field: 'miles', alias: 'totalMiles' },
68
- ],
69
- },
70
- ],
71
- }))
72
-
73
- .return({ perBand: out('perBand') })
74
-
75
- .build();
@@ -1,27 +0,0 @@
1
- /**
2
- * CAPABILITY: invoke a deployed RPA workflow and declare its returned fields.
3
- *
4
- * The process key selects the node type; name and folder locate the deployed
5
- * automation. `returns` makes the robot's output readable downstream.
6
- *
7
- * Generic scenario: ask a robot to count missing tools in a shared workshop.
8
- */
9
- import { flow, rpaWorkflow, script, input, out, types } from '@uipath/maestro-builder-sdk';
10
-
11
- export default flow('workshop-inventory')
12
- .name('WorkshopInventory')
13
- .version('1.0.0')
14
- .input({ zone: types.string })
15
- .output({ report: types.string })
16
- .step('countTools', rpaWorkflow({
17
- key: 'bb67ae85-84ca-4b2c-9f37-ac52c57f9d18',
18
- name: 'Workshop Tool Count',
19
- folderPath: 'Shared/community-workshop',
20
- inputs: { zone: input('zone') },
21
- returns: { missingTools: 'integer' },
22
- }))
23
- .step('formatCount', script({
24
- code: 'return "missing tools: " + String($vars.countTools.output.missingTools);',
25
- }))
26
- .return({ report: out('formatCount') })
27
- .build();
@@ -1,85 +0,0 @@
1
- {
2
- "schemaVersion": "1",
3
- "bindings": [
4
- {
5
- "id": "slack",
6
- "name": "slack",
7
- "resource": "Connection",
8
- "resourceKey": "<slack-connection-id from `uip is connections list --output json`>",
9
- "default": "00000000-0000-0000-0000-000000000001",
10
- "propertyAttribute": "ConnectionId"
11
- },
12
- {
13
- "id": "jira",
14
- "name": "jira",
15
- "resource": "Connection",
16
- "resourceKey": "<jira-connection-id from `uip is connections list --output json`>",
17
- "default": "00000000-0000-0000-0000-000000000005",
18
- "propertyAttribute": "ConnectionId"
19
- },
20
- {
21
- "id": "shared",
22
- "name": "shared",
23
- "resource": "Connection",
24
- "resourceKey": "<folder-key from `uip is connections list --output json`>",
25
- "default": "00000000-0000-0000-0000-000000000002",
26
- "propertyAttribute": "FolderKey"
27
- },
28
- {
29
- "id": "bWebhook",
30
- "name": "uipath-http-webhook connection",
31
- "resource": "Connection",
32
- "resourceKey": "<http-webhook-connection-id from `uip is connections list --output json`>",
33
- "default": "00000000-0000-0000-0000-000000000003",
34
- "propertyAttribute": "ConnectionId"
35
- },
36
- {
37
- "id": "bWebhookFolder",
38
- "name": "uipath-http-webhook folder",
39
- "resource": "Connection",
40
- "resourceKey": "<folder-key of that connection, same command>",
41
- "default": "00000000-0000-0000-0000-000000000004",
42
- "propertyAttribute": "FolderKey"
43
- },
44
- {
45
- "id": "dataService",
46
- "name": "dataService",
47
- "resource": "Connection",
48
- "resourceKey": "<dataservice-connection-id from `uip is connections list --output json`>",
49
- "default": "00000000-0000-0000-0000-000000000006",
50
- "propertyAttribute": "ConnectionId"
51
- },
52
- {
53
- "id": "entra",
54
- "name": "entra",
55
- "resource": "Connection",
56
- "resourceKey": "<entra-connection-id from `uip is connections list --output json`>",
57
- "default": "00000000-0000-0000-0000-000000000009",
58
- "propertyAttribute": "ConnectionId"
59
- },
60
- {
61
- "id": "bOneDrive",
62
- "name": "uipath-microsoft-onedrive connection",
63
- "resource": "Connection",
64
- "resourceKey": "<onedrive-connection-id from `uip is connections list --all-folders --output json`>",
65
- "default": "00000000-0000-0000-0000-000000000007",
66
- "propertyAttribute": "ConnectionId"
67
- },
68
- {
69
- "id": "bOneDriveFolder",
70
- "name": "uipath-microsoft-onedrive folder",
71
- "resource": "Connection",
72
- "resourceKey": "<folder-key of that connection, same command>",
73
- "default": "00000000-0000-0000-0000-000000000008",
74
- "propertyAttribute": "FolderKey"
75
- },
76
- {
77
- "id": "outlook",
78
- "name": "outlook",
79
- "resource": "Connection",
80
- "resourceKey": "<outlook365-connection-id from `uip is connections list --output json`>",
81
- "default": "00000000-0000-0000-0000-000000000010",
82
- "propertyAttribute": "ConnectionId"
83
- }
84
- ]
85
- }
@@ -1,309 +0,0 @@
1
- # Authoring and product-CLI loops
2
-
3
- Choose one loop before running any build command:
4
-
5
- - if the task requests product-CLI validation/debug, or the workspace enables
6
- `flowSdk.emitOnly`/`FLOW_SDK_EMIT_ONLY=1`, use only the eval/product-CLI loop;
7
- - otherwise use the packaged-SDK local gates.
8
-
9
- In eval/product mode, create the solution/project scaffold immediately after
10
- choosing the loop, before authoring the source. Once the source first
11
- compiles, emit it into that nested project artifact—not `/tmp`—and keep the
12
- artifact current after every source edit.
13
-
14
- Tenant discovery is not a phase of either loop. The one step before authoring
15
- is choosing the node ([SKILL.md, "Choose the node before writing it"](../SKILL.md)):
16
- `check` cannot flag a node you never wrote, so a script or `mock()` written in
17
- its place goes unflagged.
18
- After that, author the source from the task's own words; the source `check`
19
- names every tenant call you owe —
20
- each unresolved lookup, unmaterialized object, and out-of-snapshot field, with
21
- the exact `registry prepare` command — so the one expensive call is spent
22
- once, after the cheap pass has found everything else that is wrong.
23
-
24
- Do not mix the two loops in one workspace or use one mode as a probe for the
25
- other. Their output layouts and evidence contracts are different.
26
-
27
- ## Source-model and brownfield judgment
28
-
29
- TypeScript executes while the graph is constructed. Use Flow Branch, Switch,
30
- Loop, and action nodes for decisions or work that must happen at runtime; a
31
- native `if` or `for` is appropriate only for deliberate author-time graph
32
- generation.
33
-
34
- When editing an existing Flow, change the supplied `.flow.ts`, preserve existing
35
- step names and unaffected wiring, and move an edge through an inserted step
36
- rather than leaving the old bypass in place. If the input is only raw `.flow`
37
- JSON, reconstruct source, compile once to compare the emitted baseline, and
38
- then make the requested edit. Those are before/after judgments no final
39
- artifact can establish.
40
-
41
- ## Installing the package
42
-
43
- Skip this when the SDK is already installed: `npm ls -g @uipath/maestro-builder-sdk` lists it, or a prepared workspace has `node_modules/@uipath/maestro-builder-sdk` (a workspace copy is used before a global one).
44
- Every `uip maestro flow` authoring verb — `check`, `compile`, `decompile` — runs from the installed package, so all of them refuse until it is installed; the package cannot bootstrap itself.
45
- Install it once per machine, globally, so the workspace needs no `package.json` or `node_modules/`:
46
-
47
- ```bash
48
- npm install -g @uipath/maestro-builder-sdk
49
- ```
50
-
51
- The package is public on npmjs.com, so this needs no token and follows whatever registry or mirror the machine's npm config names.
52
- Only if it fails with E401 or E404 **and** `npm config get @uipath:registry` names GitHub Packages, retry once with `--@uipath:registry=https://registry.npmjs.org` appended.
53
- If it fails with EACCES (npm's global folder is not writable), do not use `sudo`; install into the workspace instead with `npm install --save-dev @uipath/maestro-builder-sdk`, which `uip` also finds.
54
- Any other failure (a timeout, a mirror refusing the package) is the user's network or registry to fix, so report it rather than routing around it.
55
- When `uip` reports the SDK is below its minimum version, run the command its `Instructions` give: it names `-g` or `--save-dev` depending on which copy it found.
56
-
57
- ## Local authoring hard gates
58
-
59
- Use this section only when emit-only mode is disabled. Use the source check as
60
- the fast no-output inner loop (with a library and `.flow-sdk/bindings.json` beside the
61
- source it reports every connector-input and binding refusal `compile` would
62
- raise), compile to emit, then run the product's static check on the artifact.
63
- There is no compiled-artifact `check`; `validate` is that rung.
64
-
65
- The full sequence, in order — `registry prepare` appears only where `check`
66
- names it, never before the source exists:
67
-
68
- ```bash
69
- uip maestro flow check .flow-sdk/<Name>.flow.ts --source
70
- # run each prepare the check names, with the exact command it prints:
71
- uip maestro registry prepare <key> <action> [--object <name>] [--resolve <field>:<by>=<value>] [-f <parent>=<value>]
72
- uip maestro flow check .flow-sdk/<Name>.flow.ts --source # re-check until clean
73
- uip maestro flow compile .flow-sdk/<Name>.flow.ts -o <Name>.flow
74
- uip maestro flow validate <Name>.flow --output json
75
- ```
76
-
77
- Warnings require deliberate review; whether one blocks a release comes from the
78
- surrounding task or release policy.
79
-
80
- Layout is deliberately absent from this sequence. `uip maestro flow format`
81
- is not an authoring gate — `validate` passes without it and nothing upstream
82
- reads a position. It is required before the emitted file reaches anything that
83
- draws it: `solution upload`, `flow debug`, or a person opening the project in a
84
- designer. See [`operate.md`](operate.md#lay-out-the-emitted-flow-first).
85
-
86
- These authoring verbs require a prerelease of `@uipath/cli` that exposes them.
87
-
88
- ## Product-CLI scaffold
89
-
90
- Product debug needs a solution containing a Flow project. Keep the authored
91
- source in the project's own `.flow-sdk/` (`<Solution>/<Name>/.flow-sdk/`), run the
92
- SDK verbs from the project folder, and create the nested scaffold once:
93
-
94
- ```bash
95
- uip solution init <Solution>
96
- ( cd <Solution> && uip maestro flow init <Name> --sdk-source )
97
- ```
98
-
99
- `--sdk-source` seeds `<Solution>/<Name>/.flow-sdk/<Name>.flow.ts` from the stub `flow init` just wrote (and creates the folder), so the flow's id and name come from the product instead of being invented, and the stub is overwritten in place by the first `compile -o`.
100
- Drop `--sdk-source` when the source already exists (`init` refuses to overwrite it without `--force`), and skip the whole block for an existing project.
101
- For a **Maestro Automate** project (the request names that product, not just the verb "automate"), add `--automate` to the `flow init` line; nothing else in either loop changes.
102
-
103
- `<Solution>` and `<Name>` are the request's own names, used verbatim: a request
104
- that gives one name for both ("inside a solution of the same name") uses it for
105
- both, and a request that names only the Flow uses `<Name>` for both. The result
106
- has three related names: `.flow-sdk/<Name>.flow.ts`, the `<Name>` project directory, and
107
- `<Name>.flow` inside that project. Keep them aligned for this scaffold so each
108
- command addresses the intended project; `compile -o` remains the authority over
109
- where the emitted file is written.
110
-
111
- ## Eval/product-CLI packaging: emit-only
112
-
113
- The product-runtime eval sets `flowSdk.emitOnly` in `package.json` (with
114
- `FLOW_SDK_EMIT_ONLY=1` retained as an environment override). Emit-only is a
115
- property of the **project**, not of the directory you run from: the mode is the
116
- nearest `package.json` up the tree that actually declares `flowSdk.emitOnly`, so
117
- compiling from a scaffolded solution subdirectory behaves exactly as it does
118
- from the project root. A nested `package.json` that says nothing about `flowSdk`
119
- inherits; one that sets `emitOnly: false` opts out. In that mode
120
- `uip maestro flow compile` only serializes source, and `uip maestro flow check`
121
- refuses, because product validation owns structural verification. The required
122
- base pass is emit, any required artifact bindings, then validate. Add resource
123
- refresh and debug only when the stated acceptance bar requires product-runtime
124
- behavior evidence:
125
-
126
- ```bash
127
- ( cd <Solution>/<Name> && uip maestro flow compile .flow-sdk/<Name>.flow.ts -o <Name>.flow )
128
- uip maestro flow validate <Solution>/<Name>/<Name>.flow --output json
129
- # Before anything opens the emitted file — upload, debug, or a designer:
130
- uip maestro flow format <Solution>/<Name>/<Name>.flow --output json
131
- # Only for a stated runtime-behavior claim:
132
- ( cd <Solution> && uip solution resources refresh --solution-folder . --output json )
133
- ( cd <Solution> && uip maestro flow debug <Name> --log-level error \
134
- --output-filter "{status:finalStatus,instance:instanceId,url:studioWebUrl,failed:elementExecutions[?status!='Completed'].{id:elementId,status:status},globals:variables.globals}" \
135
- --output json )
136
- ```
137
-
138
- This loop has exactly one emitted artifact:
139
- `<Solution>/<Name>/<Name>.flow`. Never emit a second root-level `<Name>.flow`;
140
- validators and evidence collectors cannot choose safely between duplicates.
141
- Re-run the whole sequence after the final source or binding edit.
142
-
143
- ## Product validation and conditional bindings
144
-
145
- ### Reading product validation
146
-
147
- The JSON envelope has top-level `Result`; a successful validation also reports
148
- `Data.Status: "Valid"` and may carry `Data.Warnings`. Treat warnings as failures
149
- except for the reviewed shared-connection advisory. Preserve any exception's
150
- exact code/text and rationale instead of broadening an allowlist.
151
-
152
- ### Bounded completion
153
-
154
- Match the final evidence to the stated acceptance bar after the last edit:
155
-
156
- - For a validate-only bar, `Data.Status: "Valid"` plus the required structural
157
- self-check is completion. Stop there; do not run debug only for confidence.
158
- - For each distinct behavior claim named by the bar, plan at most one bounded
159
- debug with the inputs and attachments that exercise it. One run may cover
160
- compatible claims; do not repeat equivalent inputs.
161
- - If one unknown still blocks the final wiring, run one bounded experiment that
162
- distinguishes the choices, apply its answer, and return to the final
163
- emit/validate pass. Do not create a scratch-solution family.
164
-
165
- If the requested evidence cannot be obtained inside that bound, report the
166
- evidence boundary instead of replacing it with repeated debug launches.
167
-
168
- ### Managed HTTP: authored connection bindings
169
-
170
- `http({ managed: true, ... })` needs real connection and folder bindings for
171
- connector-authenticated product debug. Select an enabled HTTP connection:
172
-
173
- ```bash
174
- uip is connections list --all-folders \
175
- --output-filter "[?ConnectorKey=='uipath-uipath-http'].{Id:Id,FolderKey:FolderKey,Name:Name}"
176
- ```
177
-
178
- Declare symbolic entries in `bindings.json`, then pass both names to the node:
179
-
180
- ```ts
181
- http({ managed: true, method: 'GET', url: '/me',
182
- connection: 'spotifyHttp', folder: 'shared' })
183
- ```
184
-
185
- Compilation resolves those names and writes both the connector-authenticated
186
- node detail and the required product bindings into the emitted `.flow`. Do not
187
- patch them into the artifact after emission; that edit would be lost on the next
188
- compile. Omit both options only when manual/implicit authentication is intended.
189
-
190
- ## Refresh, debug, and preserve evidence
191
-
192
- `flow debug` takes the project directory, not the `.flow` file, and resource
193
- refresh must run first. From the solution directory, `<Name>` names that project.
194
- These are the common flags; use only the ones the behavior claim needs:
195
-
196
- | Need | Exact form |
197
- |---|---|
198
- | JSON inputs | `-i '{"name":"value"}'` or `--inputs @inputs.json` |
199
- | File input | `--attachment <input-name>=<path>`; repeat for multiple files |
200
- | Folder | one of `--folder-id`, `--folder-key`, or `--folder-path`; omit to auto-detect |
201
- | Poll bound | `--timeout <seconds> --poll-interval <milliseconds>`; keep the stated task bound |
202
- | Compact read-back | `--output-filter "<JMESPath>" --output json` |
203
- | Quiet logs | `--log-level error`, or `--log-file <path>` to move them off the stream entirely |
204
-
205
- ### `--output-filter` is JMESPath, and three things about it are worth knowing
206
-
207
- **A string literal is `'single-quoted'`, not `` `backticked` ``.** Backticks
208
- delimit a JSON literal, so `` `Completed` `` is a syntax error — bare words are
209
- not JSON. Both forms below work; prefer the first, because its failure is loud.
210
- Wrap the whole expression in DOUBLE quotes so the inner `'…'` survives the shell:
211
-
212
- ```bash
213
- --output-filter "elementExecutions[?status!='Completed']" # raw string literal
214
- --output-filter 'elementExecutions[?status!=`"Completed"`]' # JSON literal
215
- ```
216
-
217
- **The projection selects from `Data`, not from the envelope.** `Result` and
218
- `Code` stay at the top level and are still printed, so a filter naming
219
- `finalStatus` reads `Data.finalStatus`.
220
-
221
- **Filter, do not post-process.** `--output-filter` is cheaper and less brittle
222
- than piping the whole envelope through `jq`, and much cheaper than hunting for
223
- the JSON inside interleaved log lines. If a filter is rejected, fix the
224
- expression rather than falling back to `--output json | jq` — a rejected filter
225
- exits non-zero with the parse error, so the fix is usually one edit.
226
-
227
- ### Ready-made projections — copy one, do not compose your own
228
-
229
- These are verified against a real `flow debug` envelope. Pick the narrowest one
230
- that answers the claim; composing a projection from scratch is what turns a
231
- read-back into seven tool calls.
232
-
233
- ```bash
234
- # Did it finish? The cheapest possible check.
235
- --output-filter "{status:finalStatus,instance:instanceId}"
236
-
237
- # The standard read-back: status, where to look, what did NOT complete, all globals.
238
- --output-filter "{status:finalStatus,instance:instanceId,url:studioWebUrl,\
239
- failed:elementExecutions[?status!='Completed'].{id:elementId,status:status},\
240
- globals:variables.globals}"
241
-
242
- # Just the values the flow produced.
243
- --output-filter "variables.globals"
244
-
245
- # Every element's status, when you need the path the run actually took.
246
- --output-filter "elementExecutions[].{id:elementId,status:status}"
247
- ```
248
-
249
- **`variables.globals` is a FLAT map, and its keys contain dots.** A step output is
250
- `"<step>.output.<field>"`, alongside the bare name of every declared global:
251
-
252
- ```jsonc
253
- { "product": 42, "start.output.a": 6, "multiply.output": 42, "multiply.error": null }
254
- ```
255
-
256
- So a bare global reads as `variables.globals.product`, and a dotted key needs
257
- quoting — which flips the shell quoting, because the expression now contains
258
- double quotes instead of single ones:
259
-
260
- ```bash
261
- --output-filter '{status:finalStatus,raw:variables.globals."multiply.output"}'
262
- ```
263
-
264
- **There is no `incidents` in this envelope.** `Data` carries exactly
265
- `finalStatus`, `instanceId`, `studioWebUrl`, `jobKey`, `runId`, `folderKey`,
266
- `solutionId`, `variables` and `elementExecutions` — an `incidents:incidents`
267
- projection silently yields `null`. Incidents come from the separate
268
- `debug-instance incidents` call below, keyed by the `instanceId` you just read.
269
-
270
- For example, a direct-input claim can keep the useful status, outputs, and
271
- diagnostics in one read-back instead of printing the full execution envelope:
272
-
273
- ```bash
274
- ( cd <Solution> && uip solution resources refresh --solution-folder . --output json )
275
- ( cd <Solution> && uip maestro flow debug <Name> --log-level error \
276
- --inputs @inputs.json \
277
- --output-filter "{status:finalStatus,instance:instanceId,url:studioWebUrl,failed:elementExecutions[?status!='Completed'].{id:elementId,status:status},globals:variables.globals}" \
278
- --output json )
279
- ```
280
-
281
- The top-level envelope still carries `Result`; the projection above selects
282
- from `Data`. Read and retain `Result`, the projected status/instance/URL, the
283
- `failed` element executions, and the globals the claim needs.
284
- `Completed` with the expected globals and an empty `failed` is evidence for the
285
- product-runtime path; a bare process exit code is not. Omit the filter only when
286
- diagnosing a field the projection did not retain.
287
-
288
- Incidents are **not** in this envelope — fetch them by the `instance` you just
289
- read, and only when something actually failed.
290
-
291
- For a fault, query the backend incident payload with the returned instance id:
292
-
293
- ```bash
294
- uip maestro flow debug-instance incidents <instanceId> \
295
- --output-filter "[*].{E:ElementId,C:ErrorCode,M:ErrorMessage,D:ErrorDetails}"
296
- ```
297
-
298
- `ErrorDetails` commonly contains the service response or unresolved-resource
299
- value that the summary message omits.
300
-
301
- ## CLI output conventions
302
-
303
- Use `--output json`, not `--format json`. Use `--output-filter '<JMESPath>'` to
304
- select fields from `Data`. Some successful commands print update/progress text
305
- to stderr, so judge success from the structured `Result`, status, outputs, and
306
- incidents rather than from the presence of stderr.
307
-
308
- Product debug creates real side effects. Use sandbox resources and serialize
309
- runs that share queues, issues, mailboxes, or other mutable tenant state.
@@ -1,74 +0,0 @@
1
- # Agent resource families
2
-
3
- *Exact signatures, fields, and defaults: `inlineAgent()`. Prompting, inputs and the sidecar: [inline-agent.md](inline-agent.md).*
4
-
5
- An inline agent's capabilities are ARTIFACT nodes hanging off its own handles — tools on `tool`, a context index on `context`, an escalation on `escalation`, a memory on `memory` — not steps in the control flow.
6
- Each is authored as an entry on `inlineAgent`, and the compiler emits the node and the edge.
7
- Context index: [inline-agent.md](inline-agent.md#context-grounding).
8
-
9
- ```ts
10
- .step('triage', inlineAgent({
11
- model: 'gpt-5.4', systemPrompt: '…', userPrompt: '…',
12
- tools: [
13
- { kind: 'mcp', name: 'Ticket MCP', key: '<guid>', slug: 'ticket-mcp', folderPath: 'Shared' },
14
- { kind: 'a2a', name: 'Research Agent', key: '<guid>', slug: 'research-agent' },
15
- { kind: 'clientside', name: 'pickFile', inputs: { prompt: 'string' }, returns: { path: 'string' } },
16
- { kind: 'httpRequest', url: 'https://api.example.test/items', method: 'GET' },
17
- { kind: 'function', key: '<guid>', name: 'acme-echo', folderPath: 'Shared/acme-echo' },
18
- ],
19
- memory: { name: 'Support History', id: '<guid>' },
20
- escalation: [{ variant: 'quick-form', name: 'Confirm', outcomes: ['Approve', 'Reject'],
21
- fields: [{ id: 'approved', type: 'boolean', direction: 'output' }] }],
22
- }))
23
- ```
24
-
25
- ## Tool kinds
26
-
27
- | Kind | What it is | Identity you must supply |
28
- | --- | --- | --- |
29
- | `builtin` | A platform tool (`summarize`, `analyzefiles`, `batchtransform`) | the tool name |
30
- | `connector` | An Integration Service operation | `connector` + `operation` (needs a library), plus `connection` + `folder` (`bindings.json` labels) — see [inline-agent.md](inline-agent.md#tools) |
31
- | `process` / `api` / `flow` / `maestro` / `agent` / `function` | A deployed resource | `key` (GUID) + `name` + `folderPath` |
32
- | `ixp` | A published IxP project | `projectId` + `name` |
33
- | `mcp` | An MCP server's tools | `name` + `key`; `slug` is what the runtime resolves |
34
- | `a2a` | A remote agent to delegate to | `name` + `key` + `slug` (required) |
35
- | `clientside` | The CALLING application runs it | `name`, plus the `inputs`/`returns` contract |
36
- | `httpRequest` | The built-in HTTP tool | nothing — see below |
37
-
38
- For `mcp`, `a2a`, `memory` and the per-instance resource kinds, the node TYPE is
39
- minted from the identity you give (`…tool.mcp.<name-slug>.<key-slug>`), so a
40
- wrong key emits a node the tenant cannot resolve. Read them from the tenant.
41
-
42
- **The HTTP tool's fields are three-way.** Each of `url`, `method`, `headers`,
43
- `params`, `body`, `timeout` is either FIXED (give it a value) or left for the
44
- MODEL to fill at call time (omit it, which keeps the definition's prompt-mode
45
- default and its field description). Fixing everything defeats the point of
46
- giving an agent a tool; fixing nothing gives the model no constraints. Fix what
47
- the scenario pins and leave the rest.
48
-
49
- **A client-side tool declares only a CONTRACT.** The flow says what the tool is
50
- called and what it takes and returns; the calling application owns the
51
- implementation and dispatches on the name. Nothing local runs it.
52
-
53
- ## Escalation
54
-
55
- The default variant is app-backed: `app: { key, name, folderPath }` names a
56
- deployed Action Center app that owns the form. `variant: 'quick-form'` puts the
57
- form INLINE instead — `fields` (the same rows a human task takes) and no `app`.
58
- `check` refuses the two mixed, in either direction.
59
-
60
- ## Memory
61
-
62
- `memory: { name, id }` attaches an episodic memory so the agent learns from past
63
- runs, with optional retrieval tuning (`dynamicFewShotLearning`,
64
- `semanticSimilarity`, `kValue`, `searchMode`). Naming one selects the agent's
65
- **1.4** definition — the version that declares the `memory` handle. Omitting it
66
- leaves the agent on 1.2 exactly as before.
67
-
68
- ## Evidence boundary
69
-
70
- Every resource here is tenant data, runtime behaviour, or both: no local rung
71
- calls an MCP server, delegates to a remote agent, retrieves a memory, or asks a
72
- client application to run a tool. Offline `validate` proves the minted node
73
- types, the wiring to the right handle, and the declared contracts. Whether the
74
- resources exist and what they return is platform evidence.