@uipath/skills 1.201.0-preview.621 → 1.202.0-preview.635

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 (415) 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 +41 -29
  5. package/README.md +1 -0
  6. package/assets/skill-status.json +13 -2
  7. package/assets/uip-catalog-snapshot.json +95 -46
  8. package/package.json +2 -1
  9. package/skills/uipath-admin/SKILL.md +107 -197
  10. package/skills/uipath-admin/references/audit-commands.md +69 -120
  11. package/skills/uipath-admin/references/audit-workflow-guide.md +101 -152
  12. package/skills/uipath-admin/references/authorization/authorization-commands.md +121 -210
  13. package/skills/uipath-admin/references/authorization/check-access.md +39 -63
  14. package/skills/uipath-admin/references/authorization/grant-permissions.md +38 -49
  15. package/skills/uipath-admin/references/authorization/permission-catalog.md +32 -34
  16. package/skills/uipath-admin/references/authorization/role-assignment-management.md +96 -99
  17. package/skills/uipath-admin/references/authorization/role-management.md +113 -142
  18. package/skills/uipath-admin/references/diagnose/CAPABILITY.md +13 -14
  19. package/skills/uipath-admin/references/diagnose/{references/failure-modes.md → failure-modes.md} +90 -46
  20. package/skills/uipath-admin/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +21 -14
  21. package/skills/uipath-admin/references/external-app-management.md +42 -39
  22. package/skills/uipath-admin/references/identity-commands.md +72 -625
  23. package/skills/uipath-admin/references/identity-troubleshoot-guide.md +73 -95
  24. package/skills/uipath-admin/references/ip-restriction/bypass-rule-management.md +25 -54
  25. package/skills/uipath-admin/references/ip-restriction/enforcement-management.md +19 -31
  26. package/skills/uipath-admin/references/ip-restriction/ip-range-management.md +48 -45
  27. package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +89 -146
  28. package/skills/uipath-admin/references/key-concepts.md +24 -0
  29. package/skills/uipath-admin/references/organization-management.md +49 -70
  30. package/skills/uipath-admin/references/organizations-commands.md +39 -74
  31. package/skills/uipath-admin/references/pat-management.md +25 -38
  32. package/skills/uipath-admin/references/robot-account-management.md +16 -14
  33. package/skills/uipath-admin/references/smtp-management.md +19 -14
  34. package/skills/uipath-admin/references/tenant-management.md +1 -1
  35. package/skills/uipath-admin/references/tenants-commands.md +82 -148
  36. package/skills/uipath-admin/references/user-management.md +70 -56
  37. package/skills/uipath-agents/SKILL.md +4 -3
  38. package/skills/uipath-agents/references/authentication.md +4 -3
  39. package/skills/uipath-agents/references/coded/capabilities/datafabric.md +465 -0
  40. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -0
  41. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +2 -0
  42. package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +12 -6
  43. package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
  44. package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +48 -16
  45. package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +1 -1
  46. package/skills/uipath-agents/references/coded/lifecycle/deployment.md +11 -1
  47. package/skills/uipath-agents/references/coded/quickstart.md +11 -8
  48. package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +3 -3
  49. package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +19 -2
  50. package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -2
  51. package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +409 -155
  52. package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
  53. package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
  54. package/skills/uipath-aops/SKILL.md +313 -0
  55. package/skills/uipath-aops/assets/templates/pipeline-dto-template.json +15 -0
  56. package/skills/uipath-aops/references/discovery-flow.md +312 -0
  57. package/skills/uipath-aops/references/migration-guide.md +146 -0
  58. package/skills/uipath-aops/references/pipeline-dto-guide.md +276 -0
  59. package/skills/uipath-aops/references/save-and-run-guide.md +156 -0
  60. package/skills/uipath-api-workflow/SKILL.md +48 -6
  61. package/skills/uipath-api-workflow/assets/templates/file-base64-roundtrip-example.json +154 -0
  62. package/skills/uipath-api-workflow/assets/templates/nested-control-flow-example.json +0 -1
  63. package/skills/uipath-api-workflow/references/cli-reference.md +20 -1
  64. package/skills/uipath-api-workflow/references/expressions-and-context.md +19 -0
  65. package/skills/uipath-api-workflow/references/files-and-base64.md +153 -0
  66. package/skills/uipath-api-workflow/references/operating-published-workflows.md +3 -2
  67. package/skills/uipath-api-workflow/references/task-types.md +89 -3
  68. package/skills/uipath-api-workflow/references/testing-and-evals.md +224 -0
  69. package/skills/uipath-api-workflow/references/troubleshooting.md +124 -4
  70. package/skills/uipath-coded-apps/SKILL.md +4 -2
  71. package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1 -1
  72. package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +11 -1
  73. package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +5 -3
  74. package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +1 -0
  75. package/skills/uipath-coded-apps/references/oauth-client-setup.md +2 -0
  76. package/skills/uipath-coded-apps/references/pack-publish-deploy.md +18 -0
  77. package/skills/uipath-coded-apps/references/sdk/orchestrator.md +4 -0
  78. package/skills/uipath-connector-builder/SKILL.md +7 -5
  79. package/skills/uipath-connector-builder/references/debugging.md +5 -1
  80. package/skills/uipath-connector-builder/references/element-json.md +3 -1
  81. package/skills/uipath-connector-builder/references/standard-resources.md +37 -6
  82. package/skills/uipath-functions/SKILL.md +134 -222
  83. package/skills/uipath-functions/references/js/authoring-guide.md +141 -0
  84. package/skills/uipath-functions/references/js/bindings-guide.md +120 -0
  85. package/skills/uipath-functions/references/js/calling-uipath-apis-guide.md +112 -0
  86. package/skills/uipath-functions/references/js/coded-app-wiring-guide.md +103 -0
  87. package/skills/uipath-functions/references/js/deployment-guide.md +109 -0
  88. package/skills/uipath-functions/references/js/http-semantics-guide.md +80 -0
  89. package/skills/uipath-functions/references/js/job-mode-guide.md +114 -0
  90. package/skills/uipath-functions/references/js/local-dev-guide.md +107 -0
  91. package/skills/uipath-functions/references/python/workflow-guide.md +224 -0
  92. package/skills/uipath-governance/SKILL.md +9 -8
  93. package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +36 -8
  94. package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +14 -12
  95. package/skills/uipath-governance/references/compliance-pack/disable/impl.md +5 -3
  96. package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +7 -5
  97. package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +14 -7
  98. package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +3 -1
  99. package/skills/uipath-governance/references/compliance-pack/preview-gate.md +1 -1
  100. package/skills/uipath-governance/references/compliance-pack/query/impl.md +4 -2
  101. package/skills/uipath-governance/references/diagnose/CAPABILITY.md +12 -12
  102. package/skills/uipath-governance/references/diagnose/{references/failure-modes.md → failure-modes.md} +5 -5
  103. package/skills/uipath-governance/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +2 -2
  104. package/skills/uipath-governance/references/disambiguation-guide.md +15 -7
  105. package/skills/uipath-human-in-the-loop/SKILL.md +107 -9
  106. package/skills/uipath-human-in-the-loop/references/hitl-casetask-action.md +413 -0
  107. package/skills/uipath-insights/SKILL.md +21 -14
  108. package/skills/uipath-insights/references/alerts-reads-guide.md +242 -0
  109. package/skills/uipath-insights/references/filter-discovery-guide.md +1 -1
  110. package/skills/uipath-insights/references/jobs-commands-guide.md +2 -2
  111. package/skills/uipath-ixp/references/cli-reference.md +1 -1
  112. package/skills/uipath-ixp/references/improve-prompts-guide.md +5 -6
  113. package/skills/uipath-maestro-bpmn/SKILL.md +87 -15
  114. package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +10 -10
  115. package/skills/uipath-maestro-bpmn/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +1 -1
  116. package/skills/uipath-maestro-bpmn/references/expression-authoring.md +12 -2
  117. package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -12
  118. package/skills/uipath-maestro-bpmn/references/operate/{references/run.md → run.md} +2 -2
  119. package/skills/uipath-maestro-bpmn/references/operate/{references/ship.md → ship.md} +3 -3
  120. package/skills/uipath-maestro-bpmn/references/patterns/ai-decision-review-guide.md +138 -0
  121. package/skills/uipath-maestro-bpmn/references/patterns/approval-chain-guide.md +136 -0
  122. package/skills/uipath-maestro-bpmn/references/patterns/composing-guide.md +113 -0
  123. package/skills/uipath-maestro-bpmn/references/patterns/external-wait-guide.md +145 -0
  124. package/skills/uipath-maestro-bpmn/references/patterns/failure-escalation-guide.md +103 -0
  125. package/skills/uipath-maestro-bpmn/references/patterns/high-volume-batch-guide.md +107 -0
  126. package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +129 -0
  127. package/skills/uipath-maestro-bpmn/references/patterns/smart-triage-guide.md +129 -0
  128. package/skills/uipath-maestro-bpmn/references/registry-workflow.md +15 -0
  129. package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +67 -36
  130. package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +6 -5
  131. package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +23 -5
  132. package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +101 -53
  133. package/skills/uipath-maestro-case/SKILL.md +23 -24
  134. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +30 -17
  135. package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -5
  136. package/skills/uipath-maestro-case/references/brownfield.md +3 -3
  137. package/skills/uipath-maestro-case/references/case-commands.md +8 -4
  138. package/skills/uipath-maestro-case/references/case-editing-operations.md +19 -19
  139. package/skills/uipath-maestro-case/references/case-schema.md +17 -3
  140. package/skills/uipath-maestro-case/references/connector-integration.md +25 -16
  141. package/skills/uipath-maestro-case/references/connector-trigger-impl.md +15 -15
  142. package/skills/uipath-maestro-case/references/connector-trigger-planning.md +32 -29
  143. package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -1
  144. package/skills/uipath-maestro-case/references/evals/evals.json +11 -11
  145. package/skills/uipath-maestro-case/references/implementation.md +74 -44
  146. package/skills/uipath-maestro-case/references/phased-execution.md +23 -21
  147. package/skills/uipath-maestro-case/references/placeholder-tasks.md +28 -23
  148. package/skills/uipath-maestro-case/references/planning.md +37 -252
  149. package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
  150. package/skills/uipath-maestro-case/references/plugins/case/planning.md +8 -6
  151. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
  152. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +11 -10
  153. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +6 -6
  154. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +12 -12
  155. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +4 -4
  156. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +10 -9
  157. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +5 -5
  158. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +16 -14
  159. package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +3 -3
  160. package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +15 -15
  161. package/skills/uipath-maestro-case/references/plugins/sla/planning.md +20 -21
  162. package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +6 -6
  163. package/skills/uipath-maestro-case/references/plugins/stages/planning.md +9 -9
  164. package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -9
  165. package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +38 -38
  166. package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -3
  167. package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +24 -20
  168. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -3
  169. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +24 -20
  170. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +4 -4
  171. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +25 -21
  172. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +30 -22
  173. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +44 -28
  174. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -10
  175. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +27 -23
  176. package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -3
  177. package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -3
  178. package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +25 -22
  179. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -3
  180. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +25 -21
  181. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -4
  182. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +5 -4
  183. package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -9
  184. package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +30 -19
  185. package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -4
  186. package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +8 -7
  187. package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +3 -3
  188. package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +5 -4
  189. package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +5 -5
  190. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +7 -7
  191. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +21 -17
  192. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +29 -21
  193. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +23 -21
  194. package/skills/uipath-maestro-case/references/registry-discovery.md +5 -5
  195. package/skills/uipath-maestro-flow/.maintenance/README.md +35 -28
  196. package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +19 -1
  197. package/skills/uipath-maestro-flow/.maintenance/check-links.sh +3 -0
  198. package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +2 -2
  199. package/skills/uipath-maestro-flow/SKILL.md +66 -76
  200. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +75 -72
  201. package/skills/uipath-maestro-flow/references/author/brownfield.md +90 -0
  202. package/skills/uipath-maestro-flow/references/author/{references/editing-operations-cli.md → editing-operations-cli.md} +9 -4
  203. package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +373 -0
  204. package/skills/uipath-maestro-flow/references/author/editing-operations.md +103 -0
  205. package/skills/uipath-maestro-flow/references/author/{references/greenfield.md → greenfield.md} +32 -20
  206. package/skills/uipath-maestro-flow/references/author/planning-arch.md +342 -0
  207. package/skills/uipath-maestro-flow/references/author/planning-impl.md +283 -0
  208. package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +227 -0
  209. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agent/planning.md +2 -2
  210. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/impl.md +2 -2
  211. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/planning.md +1 -1
  212. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/impl.md +2 -2
  213. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/planning.md +1 -1
  214. package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
  215. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/batch-transform/planning.md +1 -1
  216. package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +449 -0
  217. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector/planning.md +3 -3
  218. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/impl.md +20 -18
  219. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/planning.md +2 -2
  220. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +427 -0
  221. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +185 -0
  222. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/impl.md +5 -0
  223. package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
  224. package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
  225. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/impl.md +2 -2
  226. package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +178 -0
  227. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/hitl/planning.md +14 -1
  228. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/impl-connector.md +4 -4
  229. package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
  230. package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
  231. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/planning.md +3 -3
  232. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/impl.md +6 -6
  233. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/planning.md +1 -1
  234. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/impl.md +4 -4
  235. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/planning.md +1 -1
  236. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/impl.md +8 -8
  237. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/impl.md +1 -1
  238. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/planning.md +1 -1
  239. package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
  240. package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
  241. package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
  242. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/rpa/planning.md +1 -1
  243. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/impl.md +6 -8
  244. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/impl.md +5 -5
  245. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/planning.md +1 -1
  246. package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
  247. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/subflow/planning.md +1 -1
  248. package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
  249. package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
  250. package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
  251. package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
  252. package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +241 -0
  253. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/transform/planning.md +1 -1
  254. package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +39 -37
  255. package/skills/uipath-maestro-flow/references/diagnose/{references/failure-modes.md → failure-modes.md} +22 -22
  256. package/skills/uipath-maestro-flow/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +60 -1
  257. package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +27 -25
  258. package/skills/uipath-maestro-flow/references/evaluate/{references/commands-reference.md → commands-reference.md} +58 -7
  259. package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
  260. package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
  261. package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +21 -21
  262. package/skills/uipath-maestro-flow/references/operate/{references/manage.md → manage.md} +4 -4
  263. package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
  264. package/skills/uipath-maestro-flow/references/operate/{references/ship.md → ship.md} +5 -5
  265. package/skills/uipath-maestro-flow/references/shared/action-nodes.md +30 -22
  266. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +76 -184
  267. package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +49 -60
  268. package/skills/uipath-maestro-flow/references/shared/file-format.md +32 -11
  269. package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +49 -104
  270. package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +66 -103
  271. package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +4 -4
  272. package/skills/uipath-planner/SKILL.md +1 -1
  273. package/skills/uipath-planner/assets/templates/case/case-sdd-template.md +5 -3
  274. package/skills/uipath-planner/references/case/case-design-lane-guide.md +1 -1
  275. package/skills/uipath-planner/references/case/case-design-layers-guide.md +2 -2
  276. package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -1
  277. package/skills/uipath-planner/references/pdd-driven-lane-guide.md +3 -2
  278. package/skills/uipath-planner/references/sdd-generation-guide.md +1 -0
  279. package/skills/uipath-planner/scripts/case/audit_sdd.py +77 -1
  280. package/skills/uipath-platform/SKILL.md +6 -4
  281. package/skills/uipath-platform/references/integration-service/activities.md +7 -4
  282. package/skills/uipath-platform/references/integration-service/reference-resolution.md +28 -0
  283. package/skills/uipath-platform/references/integration-service/resources.md +11 -0
  284. package/skills/uipath-platform/references/integration-service/triggers.md +2 -2
  285. package/skills/uipath-platform/references/licensing/diagnose/CAPABILITY.md +80 -0
  286. package/skills/uipath-platform/references/licensing/diagnose/references/failure-modes.md +147 -0
  287. package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md +125 -0
  288. package/skills/uipath-platform/references/licensing/licensing.md +3 -0
  289. package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +5 -0
  290. package/skills/uipath-platform/references/orchestrator/run-jobs.md +11 -2
  291. package/skills/uipath-platform/references/traces/feedback.md +4 -4
  292. package/skills/uipath-platform/references/traces/traces.md +1 -1
  293. package/skills/uipath-process-mining/SKILL.md +6 -6
  294. package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +10 -8
  295. package/skills/uipath-process-mining/references/model-editing.md +1 -1
  296. package/skills/uipath-process-mining/references/querying.md +4 -3
  297. package/skills/uipath-review/SKILL.md +171 -541
  298. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +73 -92
  299. package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +4 -0
  300. package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +73 -180
  301. package/skills/uipath-review/references/architecture-assessment-guide.md +93 -105
  302. package/skills/uipath-review/references/review-workflow-guide.md +1 -1
  303. package/skills/uipath-review/references/rpa/modern-studio-issues.md +44 -44
  304. package/skills/uipath-review/references/rpa/rpa-common-issues.md +251 -321
  305. package/skills/uipath-review/references/rpa/rpa-review-checklist.md +1 -1
  306. package/skills/uipath-review/references/rule-catalog-workflow.md +25 -45
  307. package/skills/uipath-review/references/rule-format.md +21 -21
  308. package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +1 -1
  309. package/skills/uipath-rpa/CLAUDE.md +4 -5
  310. package/skills/uipath-rpa/SKILL.md +40 -246
  311. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/FindText.md +2 -10
  312. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetColorAtPosition.md +2 -10
  313. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetCursorPosition.md +2 -10
  314. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetField.md +13 -13
  315. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetFieldAtPosition.md +2 -10
  316. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetScreenArea.md +27 -8
  317. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetText.md +2 -14
  318. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetTextAtPosition.md +2 -10
  319. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursor.md +3 -11
  320. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursorToText.md +2 -10
  321. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendControlKey.md +2 -8
  322. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeys.md +2 -10
  323. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeysSecure.md +2 -10
  324. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetField.md +14 -13
  325. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetFieldAtPosition.md +4 -7
  326. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/_common-options.md +29 -0
  327. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/authoring-paths.md +58 -0
  328. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +197 -11
  329. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitFieldText.md +2 -10
  330. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +9 -10
  331. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenText.md +2 -14
  332. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitTextAtPosition.md +2 -10
  333. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities.json +271 -0
  334. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/coded/coded-api.md +61 -3
  335. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/overview.md +76 -0
  336. package/skills/uipath-rpa/references/cli-reference.md +63 -29
  337. package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +59 -1
  338. package/skills/uipath-rpa/references/coded/operations-guide.md +2 -1
  339. package/skills/uipath-rpa/references/debugging.md +29 -12
  340. package/skills/uipath-rpa/references/environment-setup.md +54 -1
  341. package/skills/uipath-rpa/references/execution-maps-guide.md +10 -9
  342. package/skills/uipath-rpa/references/legacy/activity-docs/_INVOKE-CODE.md +1 -1
  343. package/skills/uipath-rpa/references/uia-starter-guide.md +46 -8
  344. package/skills/uipath-rpa/references/xaml/common-pitfalls.md +3 -4
  345. package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +7 -8
  346. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +132 -42
  347. package/skills/uipath-solution/SKILL.md +9 -6
  348. package/skills/uipath-solution/references/activate-and-manage.md +11 -6
  349. package/skills/uipath-solution/references/develop-solution.md +39 -28
  350. package/skills/uipath-solution/references/pack-and-deploy.md +49 -1
  351. package/skills/uipath-solution/references/scenarios/failure-modes.md +1 -1
  352. package/skills/uipath-solution/references/scenarios/intra-solution-references.md +3 -3
  353. package/skills/uipath-solution/references/scenarios/manual-edits.md +1 -1
  354. package/skills/uipath-solution/references/scenarios.md +2 -2
  355. package/skills/uipath-solution/references/solution-overview.md +15 -6
  356. package/skills/uipath-tasks/SKILL.md +11 -6
  357. package/skills/uipath-tasks/references/task-assignment.md +5 -0
  358. package/skills/uipath-tasks/references/task-catalogs.md +7 -4
  359. package/skills/uipath-tasks/references/task-completion.md +3 -1
  360. package/skills/uipath-tasks/references/task-data.md +3 -3
  361. package/skills/uipath-tasks/references/task-lifecycle.md +11 -0
  362. package/skills/uipath-tasks/references/task-metadata.md +4 -3
  363. package/skills/uipath-test/SKILL.md +13 -28
  364. package/skills/uipath-test/references/failure-triage-guide.md +90 -0
  365. package/skills/uipath-test/references/playwright-first-mile-guide.md +2 -2
  366. package/skills/uipath-test/references/publish-and-link-guide.md +0 -1
  367. package/skills/uipath-test/references/test-result-report-guide.md +1 -2
  368. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +1 -1
  369. package/skills/uipath-troubleshoot/references/presenting.md +1 -1
  370. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
  371. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/generic-error-400.md +4 -4
  372. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-400.md +2 -2
  373. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/job-operation-timeout.md +1 -1
  374. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +1 -1
  375. package/version-manifest.json +2 -2
  376. package/skills/uipath-maestro-case/scripts/audit_plan.py +0 -231
  377. package/skills/uipath-maestro-flow/references/author/references/brownfield.md +0 -93
  378. package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +0 -545
  379. package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +0 -131
  380. package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -638
  381. package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -306
  382. package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +0 -229
  383. package/skills/uipath-maestro-flow/references/author/references/plugins/batch-transform/impl.md +0 -174
  384. package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +0 -741
  385. package/skills/uipath-maestro-flow/references/author/references/plugins/delay/impl.md +0 -75
  386. package/skills/uipath-maestro-flow/references/author/references/plugins/end/impl.md +0 -65
  387. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +0 -204
  388. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +0 -65
  389. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +0 -201
  390. package/skills/uipath-maestro-flow/references/author/references/plugins/merge/impl.md +0 -43
  391. package/skills/uipath-maestro-flow/references/author/references/plugins/merge/planning.md +0 -29
  392. package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +0 -121
  393. package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +0 -230
  394. package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/impl.md +0 -198
  395. package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md +0 -71
  396. package/skills/uipath-maestro-flow/references/author/references/plugins/switch/planning.md +0 -38
  397. package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +0 -48
  398. package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +0 -287
  399. package/skills/uipath-maestro-flow/references/evaluate/references/eval-sets-guide.md +0 -226
  400. package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +0 -82
  401. package/skills/uipath-maestro-flow/references/operate/references/run.md +0 -99
  402. /package/skills/uipath-maestro-bpmn/references/diagnose/{references/failure-modes.md → failure-modes.md} +0 -0
  403. /package/skills/uipath-maestro-bpmn/references/operate/{references/manage.md → manage.md} +0 -0
  404. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/planning.md +0 -0
  405. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/delay/planning.md +0 -0
  406. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/end/planning.md +0 -0
  407. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/planning.md +0 -0
  408. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/planning.md +0 -0
  409. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/impl.md +0 -0
  410. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/planning.md +0 -0
  411. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/planning.md +0 -0
  412. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/switch/impl.md +0 -0
  413. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/terminate/planning.md +0 -0
  414. /package/skills/uipath-maestro-flow/references/evaluate/{references/evaluators-guide.md → evaluators-guide.md} +0 -0
  415. /package/skills/uipath-maestro-flow/references/evaluate/{references/running-guide.md → running-guide.md} +0 -0
@@ -0,0 +1,313 @@
1
+ ---
2
+ name: uipath-aops
3
+ description: "UiPath StudioAdmin AOps (`uip aops`) — SourceControl discovery plus CICD pipelines. Drives `aops connection` / `repo` / `project` / `solution` to resolve a GitHub or Azure source binding, `aops pipeline processes` to pick an already-published Orchestrator process, then composes a PipelineDto for `pipeline create` / `save-and-run` and follows runs via `aops execution logs --follow`. Replaces the retired `uip sc` and `uip cicd` tools. For AOps governance policies (`uip gov aops-policy`)→uipath-governance. For `uip solution pack/publish/deploy`→uipath-platform. For workflow authoring (.xaml/.cs)→uipath-rpa." # <!-- uip-check-skip -->
4
+ when_to_use: "User wants to discover StudioAdmin SourceControl state or create, run, or edit a UiPath CICD pipeline that builds source from an SC-synced Studio Solution or standalone project and binds it to an already-published Orchestrator process. Triggers: 'create a pipeline for X process', 'set up CI/CD for this solution', 'build + run my pipeline', 'list my source control connections', `uip aops`, `uip sc`, `uip cicd`, StudioAdmin SourceControl, PipelineDto." # <!-- uip-check-skip -->
5
+ allowed-tools: Bash, Read, Write, Edit, Glob, Grep
6
+ ---
7
+
8
+ # UiPath StudioAdmin AOps — Source Control + CICD Pipelines
9
+
10
+ Depends on the `@uipath/aops-tool` CLI plugin; install via `uip tools install @uipath/aops-tool` before using.
11
+
12
+ > **Tool migration.** `@uipath/sc-tool` (`uip sc`) and `@uipath/cicd-tool` (`uip cicd`) were unified into `@uipath/aops-tool` (`uip aops`). `@uipath/cicd-tool` is gone from npm. Every `uip sc <verb>` and `uip cicd <verb>` becomes `uip aops <verb>` — the verb trees merged without renaming any subcommand. See [migration-guide.md](references/migration-guide.md). <!-- uip-check-skip -->
13
+
14
+ Build a StudioAdmin CICD pipeline that binds two independent things:
15
+
16
+ - **Source** — one Studio project the pipeline checks out on every run. Two equivalent ways to reach it:
17
+ - **Solution path** — a project inside a Studio Solution surfaced by `aops connection solutions <connection-id>`
18
+ - **Standalone-project path** — a project surfaced directly by `aops connection projects <connection-id>` (no enclosing Solution)
19
+ - **Target** — an already-published Orchestrator automation process surfaced by `aops pipeline processes`. The pipeline runs / updates this process as part of its execution.
20
+
21
+ ## When to Use This Skill
22
+
23
+ - User wants a new pipeline for a Studio Solution or standalone project already synced to StudioAdmin
24
+ - User names a published Orchestrator process and wants a pipeline that runs / updates it
25
+ - User says "create / build / wire a pipeline" against a Solution or a process
26
+ - User wants a one-shot "create and run" with execution id + log follow
27
+ - User wants to inspect or kick off an existing pipeline run, or edit one after creation
28
+ - User wants to inspect SourceControl state — connections, repos, branches, project files, commit history
29
+
30
+ Do NOT use this skill for:
31
+
32
+ - AOps **governance** policies (`uip gov aops-policy` — Studio / Robot feature restrictions) → `uipath-governance`. Same "AOps" word, different product surface.
33
+ - Packing or publishing a `.nupkg` (`uip solution pack/publish/deploy`) → `uipath-platform`
34
+ - Authoring or editing workflow code (`.xaml`, `.cs`) → `uipath-rpa`
35
+ - Creating the SourceControl connection itself — connections are UI-only via the StudioAdmin web app
36
+ - Publishing a new process — processes are published separately (Studio publish / `uip solution publish`)
37
+
38
+ ## Vocabulary
39
+
40
+ | Term in this skill | What it means |
41
+ |---|---|
42
+ | **SourceControl connection** | A StudioAdmin-side link to GitHub or Azure DevOps. Lists via `aops connection list`. UI-provisioned. |
43
+ | **Studio Solution** | A `.uipx` container surfaced by SourceControl, holding one or more projects. Lists via `aops connection solutions <connection-id>`. |
44
+ | **Project** (in this skill) | A Studio project — the **source** for the pipeline build. Reached two ways: nested inside a Solution (via `connection solutions`) OR standalone (via `connection projects`). Any project `Type` is eligible for source binding. |
45
+ | **Published (automation) process** | An already-deployed Orchestrator process the pipeline runs / updates. Lists via `aops pipeline processes`. **Independent of any project type.** |
46
+ | **PipelineDto** | The wire format `pipeline create` / `save-and-run` consume via `--file`. Carries source binding (project + repository + branch) AND target binding (`processIdentifier`). |
47
+ | **EditPipelineDto** | The narrower shape `pipeline update --file` consumes — `identifier`, `name`, `runMode`, `description`, `arguments` only. |
48
+
49
+ The published process is NOT the same thing as a Studio project of type "Process". Studio project types describe how to build / package source. Published processes are runnable artifacts in Orchestrator. The pipeline glues them: build source → update / run the target process.
50
+
51
+ ## Critical Rules
52
+
53
+ 1. **The tool is `aops`, not `sc` / `cicd`.** Run `uip tools list --output json` and confirm an entry with `commandPrefix: "aops"`. If missing: `uip tools install @uipath/aops-tool`. If the registry does not know the package, see [migration-guide.md § Install](references/migration-guide.md#install). Then `uip login status --output json`; if not logged in, `uip login`.
54
+ 2. **Response keys are PascalCase; `--file` input keys are camelCase.** The CLI PascalCases every key inside the stdout `Data` payload (`Identifier`, `RemoteId`, `CloneUrl`, `DefaultBranch`, `ProjectRelativePath`). The JSON you *write* for `--file` must use the DTO's own camelCase names (`repositoryId`, `projectPath`, `processIdentifier`). Never round-trip stdout into `--file`. Use `--output-file` when you need a raw DTO on disk.
55
+ 3. **Sources come from AOps, not local disk.** Do NOT scan `*.sln` / `*.uipx` / `project.json` files. Discover via `uip aops connection solutions <connection-id>` and `uip aops connection projects <connection-id>`. Local files don't carry `connectionIdentifier` / `remoteId` / project SourceControl UUIDs — fields the CICD API requires.
56
+ 4. **Source project and target process are independent picks.** The pipeline binds one Studio project (for source) AND one already-published Orchestrator process (for run / update). Do NOT auto-derive the process from the project's name or type, and do NOT filter projects by `Type`. Both come from separate API calls; the user (or context) picks each.
57
+ 5. **`pipeline create --file` consumes a PipelineDto, NOT an EditPipelineDto.** The two shapes differ — EditPipelineDto is for `pipeline update`. See [pipeline-dto-guide.md](references/pipeline-dto-guide.md).
58
+ 6. **`branch` is the only hard-required field on PipelineDto.** Everything else is optional in the type system, but a useful pipeline needs `name`, `connectionIdentifier`, `repositoryId`, `projectPath`, `processIdentifier`, and `runMode`. Default `branch` to the repository's `DefaultBranch` unless the user specifies one.
59
+ 7. **`--output json` on every command.** All `uip aops` calls are parsed by the agent. Never run them without it. Do NOT add `--output-filter` to a command that has a defaulted `--limit` unless you also pass `--limit` explicitly — the CLI refuses that combination (Rule 13).
60
+ 8. **The published process is the user's pick.** `pipeline processes` returns `{ProcessId, Name, Description, Package, Version}`. When the user names a process by `Name` or `Package`, find the exact match — if 2+ candidates remain (same `Package`, different versions), prefer the highest `Version` and confirm. Never silently bind a process the user didn't name.
61
+ 9. **Process arguments are process-specific — inspect, infer, then ask.** Before composing `PipelineDto.arguments`: (1) run `aops pipeline process <PROCESS_ID> --output json` to read `Arguments` (declared schema) + `InputArguments` (JSON string of default values). (2) Infer overrides from conversation context. (3) Ask the user only for parameters that cannot be inferred AND have no schema default. Default the field to `null` (= use process defaults). See [pipeline-dto-guide.md § arguments](references/pipeline-dto-guide.md#arguments).
62
+ 10. **Connection-and-source discovery is two calls, in order.** `connection list` → pick the connection → `connection solutions` / `connection projects`. Never assume there is exactly one connection or one solution.
63
+ 11. **If discovery returns nothing, then sync.** Try `connection solutions <id>` / `connection projects <id>` first. If both return an empty list OR the user reports a missing solution / project that was just added, check `connection state --connection <id>` and offer `connection sync <id> --wait`. A `SyncState: "Fail"` value is not by itself a reason to bail — cached data from the last successful sync is usually still usable.
64
+ 12. **Never invent identifiers.** Source map:
65
+ - `connectionIdentifier` ← `connection list` → `Identifier` (SourceControl UUID).
66
+ - `repositoryId` ← `connection repos` → **`RemoteId`** (provider-native id: numeric for GitHub, UUID for Azure DevOps). NOT `Identifier` (SourceControl's internal UUID). Sending the SourceControl UUID makes `pipeline create` succeed but the pipeline fails runtime resolution — the StudioAdmin UI flags it "connection no longer valid".
67
+ - `projectPath` ← `connection solutions` → `Projects[].ProjectRelativePath`, or `repo project-files <repo-id>` → `Path`.
68
+ - `processIdentifier` ← `pipeline processes` → `ProcessId`.
69
+ 13. **Pagination is page-based.** `--offset` must be an exact multiple of `--limit` or the command fails client-side before any request. Defaults: `connection projects` / `project list` 10; `connection solutions` / `pipeline list` / `pipeline executions` 20. `--take` / `--skip` are deprecated aliases on the `connection` and `project` verbs and do not exist at all on `pipeline executions`.
70
+ 14. **`pipeline delete` requires `-y` / `--yes`.** The CLI never prompts. Without the flag the command refuses and no request is sent. Confirm with the user before passing it.
71
+ 15. **`pipeline update --file` is a full-replace PUT that rejects unknown keys.** It accepts exactly `identifier`, `name`, `runMode`, `description`, `arguments`. Any other key — including one differing only in case — is a `ValidationError` (exit 3) and nothing is sent. Produce the file with `pipeline get <id> --for-update --output-file <path>`, never by capturing stdout.
72
+ 16. **`pipeline create` returns the persisted PipelineDto.** Success is `{Result: "Success", Code: "PipelineCreated", Data: {…, "Identifier": "<new-id>"}}`. Capture `Data.Identifier` for follow-up `run` / `update` / `delete` calls.
73
+ 17. **`pipeline save-and-run` returns `Data.Pipeline` + `Data.ExecutionId`.** `ExecutionId` is lifted out of the persisted DTO's `latestPipelineExecution`; when it is `null` the run was queued but the response didn't surface the row — fall back to `pipeline executions <pipeline-id> --limit 1 --output json`. See [save-and-run-guide.md](references/save-and-run-guide.md).
74
+
75
+ ## Quick Start
76
+
77
+ The end-to-end flow is 7 steps (Step 3 has two variants — `3a` for Solution-nested sources, `3b` for standalone projects). The full procedure with example output and error handling is in [discovery-flow.md](references/discovery-flow.md). Reach for it whenever a step needs more detail than the snippet below.
78
+
79
+ ### Step 0 — Tool + auth check
80
+
81
+ ```bash
82
+ uip tools list --output json
83
+ uip login status --output json
84
+ ```
85
+
86
+ If `aops` is missing: `uip tools install @uipath/aops-tool`. If not logged in: `uip login`. The SourceControl and CICD halves share one token but are separately entitled — SourceControl verbs need the StudioAdmin SourceControl service; pipeline verbs need StudioAdmin CICD plus `Pipelines.View` (mutations need `Pipelines.Edit` / `Pipelines.Run`) on the active runtime environment.
87
+
88
+ ### Step 1 — Pick the SourceControl connection
89
+
90
+ ```bash
91
+ uip aops connection list --output json
92
+ ```
93
+
94
+ Row shape: `{Identifier, Name, Type, SyncState}`. `Type` is `"GitHub"` or `"Azure"`. Save the chosen `Identifier` as `CONNECTION_ID`. If multiple connections are returned and the user didn't name one, ask the user.
95
+
96
+ ### Step 2 — Pick the source: Solution-nested project OR standalone project
97
+
98
+ Both kinds of source live on the same connection. List both, then let the user pick from the combined set:
99
+
100
+ ```bash
101
+ uip aops connection solutions <CONNECTION_ID> --output json
102
+ uip aops connection projects <CONNECTION_ID> --output json
103
+ ```
104
+
105
+ - `connection solutions` returns `Data.Result[]` (paged, default 20) of `SolutionDto`. Each row has `Identifier`, `Name`, `Path`, `Repository` (full RepositoryDto), and `Projects[]` (each `{ProjectId, Type, ProjectRelativePath}`).
106
+ - `connection projects` returns `Data[]` of curated rows `{ProjectId, Name, Description, Type, Repository}` (paged, default 10). **`Repository` is just the name** — the curated view drops the full RepositoryDto and the project file's path. Recover the rest in Step 3b.
107
+
108
+ Decision:
109
+
110
+ - **User named a Solution** → Solution path (Step 3a).
111
+ - **User named a standalone project that appears only in `connection projects`** → standalone path (Step 3b).
112
+ - **User named a name appearing in both** → ask the user.
113
+ - **No user hint** → list every Solution + every standalone project (label which is which) and ask the user.
114
+
115
+ ### Step 3a — Solution path: pick a project inside the Solution
116
+
117
+ For the chosen Solution, list `Projects[]`. Common `Type` values: `Process`, `Library`, `TestCase`. **Do not filter by `Type`** — any project can serve as a pipeline's source binding.
118
+
119
+ - **1 project** → use it.
120
+ - **2+ projects** → ask the user, listing each project's `Type` and `ProjectRelativePath`.
121
+ - **0 projects** → fail with `Result: "Failure"`, instruct the user to add a project to the Solution and re-sync.
122
+
123
+ The Solution's embedded `Repository` lacks `RemoteId`. One extra call:
124
+
125
+ ```bash
126
+ uip aops connection repos <CONNECTION_ID> --output json
127
+ ```
128
+
129
+ Find the row whose `Identifier` matches `solution.Repository.Identifier`. That row carries `RemoteId`.
130
+
131
+ Derive the DTO fields:
132
+
133
+ | Variable | From |
134
+ |---|---|
135
+ | `REPOSITORY_ID` | matched repo's `RemoteId` (NOT `Identifier` — see Critical Rule 12) |
136
+ | `REPOSITORY_URL` | `solution.Repository.CloneUrl` |
137
+ | `REPOSITORY_NAME` | `solution.Repository.Name` |
138
+ | `DEFAULT_BRANCH` | `solution.Repository.DefaultBranch` |
139
+ | `PROJECT_PATH` | `project.ProjectRelativePath` exactly (e.g. `<project-dir>/project.json`) |
140
+ | `PROJECT_NAME` | `""` (empty string) — StudioAdmin's UI leaves it blank. Pipeline binding works without it. |
141
+
142
+ Skip to Step 4.
143
+
144
+ ### Step 3b — Standalone-project path: recover repository and project path
145
+
146
+ The curated standalone views drop the data needed. Two extra calls fill the gaps:
147
+
148
+ ```bash
149
+ uip aops connection repos <CONNECTION_ID> --output json
150
+ uip aops repo project-files <REPOSITORY_SC_UUID> --output json
151
+ ```
152
+
153
+ - `connection repos` returns full RepositoryDtos. Look up the row whose `Name` matches the project's `Repository` field. Take its `Identifier` (for the next call), `RemoteId`, `CloneUrl`, `Name`, `DefaultBranch`.
154
+ - `repo project-files <repo-id>` takes the repo's **SourceControl UUID** (`Identifier`), not `RemoteId`, and returns one row per automation project file in the repo: `{Name, Path, Type, BuildableUnitType}`. `Path` is `PROJECT_PATH`. Add `--reference <branch|tag|sha>` to inspect a non-default branch.
155
+
156
+ Optional confirmation of the project's own metadata:
157
+
158
+ ```bash
159
+ uip aops project get --project-id <PROJECT_ID> --output json
160
+ ```
161
+
162
+ Returns `Name`, `Type`, `DefaultBranch`, and a flattened `Repository` name string — do not rely on it for any identifier. Add `--with-branches` for `AvailableBranches` (one extra round-trip).
163
+
164
+ Derive the DTO fields:
165
+
166
+ | Variable | From |
167
+ |---|---|
168
+ | `REPOSITORY_ID` | matched repo's `RemoteId` (NOT `Identifier`) |
169
+ | `REPOSITORY_URL` | matched repo's `CloneUrl` |
170
+ | `REPOSITORY_NAME` | matched repo's `Name` |
171
+ | `DEFAULT_BRANCH` | matched repo's `DefaultBranch` (agrees with `project get`'s `DefaultBranch`) |
172
+ | `PROJECT_NAME` | `""` (empty string) — UI-created pipelines leave it blank |
173
+ | `PROJECT_PATH` | `repo project-files` row's `Path`. If several rows come back, ask the user which project to build. |
174
+
175
+ ### Step 4 — Pick the already-published Orchestrator process
176
+
177
+ ```bash
178
+ uip aops pipeline processes --output json
179
+ ```
180
+
181
+ Row shape: `{ProcessId, Name, Description, Package, Version}`. This is the catalog of processes already deployed in Orchestrator and available for binding — independent of any Studio project.
182
+
183
+ - **User named a process** (by `Name` or `Package`) → exact-match (case-insensitive). If 2+ rows share that `Name` / `Package` (different versions), pick the highest `Version` and confirm with the user.
184
+ - **No user name** → ask the user, listing each candidate's `Name`, `Package`, and `Version`.
185
+
186
+ Save `ProcessId` as `PROCESS_ID`.
187
+
188
+ ### Step 5 — Inspect and resolve process arguments
189
+
190
+ ```bash
191
+ uip aops pipeline process <PROCESS_ID> --output json
192
+ ```
193
+
194
+ Read `Data.Arguments` (declared parameter schema) and `Data.InputArguments` (JSON-encoded string of default values). Parse `InputArguments` with `JSON.parse` to get the default-value object.
195
+
196
+ For each parameter declared in `Data.Arguments`:
197
+
198
+ 1. **Try to infer the override from conversation context.** Example: user said "process the May 2026 batch" → infer `BatchDate: "2026-05"`.
199
+ 2. **If inferable** → record the override value.
200
+ 3. **If not inferable and the parameter has a default** (present in parsed `InputArguments`) → skip it; the default fires at runtime.
201
+ 4. **If not inferable and no default** → ask the user. Use a choice-style prompt for enum / boolean parameters and a free-form prompt for strings / numbers / paths. Required parameters with no default fail at run time if omitted.
202
+
203
+ Build `PIPELINE_ARGUMENTS` as an override object containing only the parameters to change. Set to `null` when no overrides apply — that's the signal to use all process defaults. If `pipeline process` returns no arguments, default the field to `null`.
204
+
205
+ Full workflow, the four argument surfaces, and the wire-shape caveat: [pipeline-dto-guide.md § arguments](references/pipeline-dto-guide.md#arguments).
206
+
207
+ ### Step 6 — Compose the PipelineDto
208
+
209
+ Start from [assets/templates/pipeline-dto-template.json](assets/templates/pipeline-dto-template.json) and fill the fields. Keys are **camelCase** — this is an input file, not CLI output. The minimum useful shape:
210
+
211
+ ```json
212
+ {
213
+ "name": "<PIPELINE_NAME>",
214
+ "runMode": "Manually",
215
+ "description": "<OPTIONAL>",
216
+ "connectionIdentifier": "<CONNECTION_ID>",
217
+ "repositoryId": "<REPOSITORY_REMOTE_ID>",
218
+ "repositoryUrl": "<REPOSITORY_URL>",
219
+ "repositoryName": "<REPOSITORY_NAME>",
220
+ "repositoryType": "git",
221
+ "branch": "<DEFAULT_BRANCH>",
222
+ "projectName": "",
223
+ "projectPath": "<PROJECT_PATH>",
224
+ "processIdentifier": "<PROCESS_ID>",
225
+ "arguments": null
226
+ }
227
+ ```
228
+
229
+ Write the JSON to disk via `Write` — pick a path under the current working directory, e.g. `./pipeline-<name-kebab>.json`. Do NOT include `identifier`; that field is server-assigned. Replace `arguments` with the override object from Step 5 when there is one. `repositoryType` is normalized server-side to `"git"`. `projectName` is intentionally `""`; pipeline binding resolves on `repositoryId` + `projectPath` + `branch`.
230
+
231
+ Before calling create, sanity-check the name is free:
232
+
233
+ ```bash
234
+ uip aops pipeline list --search "<PIPELINE_NAME>" --output json
235
+ ```
236
+
237
+ Empty `Data: []` means the name is available. Prefer `pipeline list --search` over `pipeline search --name` for uniqueness checks — `list --search` returns a curated list reliably, while `search --name` exits 1 with a not-found error when nothing matches.
238
+
239
+ ### Step 7 — Create the pipeline
240
+
241
+ **Create only:**
242
+
243
+ ```bash
244
+ uip aops pipeline create --file ./pipeline-<name-kebab>.json --output json
245
+ ```
246
+
247
+ Returns `Code: "PipelineCreated"` and the persisted DTO — capture `Data.Identifier`.
248
+
249
+ **Create + run + capture execution id:**
250
+
251
+ ```bash
252
+ uip aops pipeline save-and-run --file ./pipeline-<name-kebab>.json --output json
253
+ ```
254
+
255
+ Returns `Code: "PipelineSavedAndRunStarted"` with `Data.Pipeline` and `Data.ExecutionId`. If `ExecutionId` is `null`, look it up via `uip aops pipeline executions <new-pipeline-id> --limit 1 --output json`. See [save-and-run-guide.md](references/save-and-run-guide.md) for log-follow.
256
+
257
+ ## PipelineRunMode
258
+
259
+ | Value | Semantics |
260
+ |---|---|
261
+ | `Manually` | Default. Pipeline runs only on explicit `pipeline run <id>` or `save-and-run`. |
262
+ | `AtSpecificTime` | Time-scheduled. Server-side trigger; the schedule itself is configured in the StudioAdmin UI. |
263
+ | `ForEachCommit` | Runs automatically on every commit to `branch`. |
264
+
265
+ Default to `Manually` unless the user asks for commit-driven or scheduled.
266
+
267
+ ## Command Map
268
+
269
+ Every verb, grouped by subject. Details in the references.
270
+
271
+ | Subject | Verbs |
272
+ |---|---|
273
+ | `connection` | `list`, `state`, `sync`, `delete`, `repos`, `repos-bulk`, `projects`, `solutions`, `azure-projects` |
274
+ | `repo` | `branches`, `project-files` |
275
+ | `project` | `list`, `get`, `files`, `content`, `commits`, `commit` |
276
+ | `solution` | `get`, `commits` |
277
+ | `pipeline` | `list`, `state`, `processes`, `process`, `repos`, `get`, `search`, `create`, `update`, `delete`, `run`, `save-and-run`, `executions`, `executions-bulk` |
278
+ | `execution` | `get`, `logs`, `details`, `stop` |
279
+
280
+ ## Reference Navigation
281
+
282
+ | I need to... | Read |
283
+ |---|---|
284
+ | **Translate an old `uip sc` / `uip cicd` command** | [migration-guide.md](references/migration-guide.md) | <!-- uip-check-skip -->
285
+ | **Full discovery sequence with example outputs** | [discovery-flow.md](references/discovery-flow.md) |
286
+ | **Every PipelineDto field + where to source it** | [pipeline-dto-guide.md](references/pipeline-dto-guide.md) |
287
+ | **Create + run + follow logs in one flow** | [save-and-run-guide.md](references/save-and-run-guide.md) |
288
+ | **JSON skeleton for a new PipelineDto** | [assets/templates/pipeline-dto-template.json](assets/templates/pipeline-dto-template.json) |
289
+
290
+ ## Completion Output
291
+
292
+ After a successful create / save-and-run, report:
293
+
294
+ 1. The new `Data.Identifier` (UUID) and `Name`
295
+ 2. For save-and-run: the `ExecutionId` and the `uip aops execution logs <execution-id> --follow` command the user can run to track it
296
+ 3. The PipelineDto JSON file path on disk (so the user can edit + re-apply)
297
+ 4. Next steps: list executions (`uip aops pipeline executions <id>`), edit (`uip aops pipeline get <id> --for-update --output-file <path>` → edit → `pipeline update <id> --file <path>`), or delete (`uip aops pipeline delete <id> --yes`)
298
+
299
+ ## Anti-patterns
300
+
301
+ 1. **Running `uip sc …` or `uip cicd …`.** Both tools are retired; `@uipath/cicd-tool` no longer exists on npm. Every verb lives under `uip aops`. <!-- uip-check-skip -->
302
+ 2. **Feeding stdout JSON back into `--file`.** Stdout `Data` keys are PascalCased. `pipeline update` rejects such a file outright (ValidationError, exit 3) rather than applying it as a partial wipe. Use `pipeline get <id> --for-update --output-file <path>`, which writes the raw camelCase DTO.
303
+ 3. **Reading a local `*.sln` / `*.uipx` / `project.json` from disk.** The CICD API needs SourceControl-side identifiers (`connectionIdentifier`, `remoteId`, project UUIDs) local files don't expose.
304
+ 4. **Filtering source projects by `Type`.** All Studio project types (`Process`, `Library`, `TestCase`, etc.) are valid source bindings.
305
+ 5. **Auto-matching a project to a process by name / package.** Source and target are independent — always let the user pick the process explicitly (or confirm an inferred match).
306
+ 6. **Building one pipeline for multiple projects.** Each pipeline binds a single source project. Two projects → two pipelines.
307
+ 7. **Feeding `pipeline get <id>` output straight into `pipeline create --file`.** `get` returns a PipelineDto including server-assigned fields like `latestPipelineExecution`. For round-trip editing use `--for-update` + `pipeline update`, not `create`.
308
+ 8. **Inventing the `branch` value.** When the user doesn't name one, take the repository's `DefaultBranch`. Hand-typing `"main"` is a footgun on repos defaulting to `master` or a release branch.
309
+ 9. **Bailing out on `SyncState: "Fail"`.** A failed last sync doesn't invalidate cached data from the previous successful one. Try the listing first; escalate to `connection sync --wait` only if it comes back empty.
310
+ 10. **Passing `--take` / `--skip`.** Deprecated aliases; they warn on the `connection` / `project` verbs and do not exist on `pipeline executions`. Use `--limit` / `--offset`, keeping `--offset` a multiple of `--limit`.
311
+ 11. **Adding `--output-filter` without `--limit`.** On any command with a defaulted `--limit` the CLI refuses the combination, because the filter would silently run over a capped page.
312
+ 12. **Calling `pipeline delete <id>` without `--yes`.** The CLI never prompts; the call is refused and nothing happens.
313
+ 13. **Re-implementing in raw REST.** `uip aops` handles the StudioAdmin base paths (`/{orgId}/roboticsops_/sourcecontrol_/`, `/{orgId}/roboticsops_/cicd_/`), pagination, and the `Result/Code/Data` envelope. Never `curl` these endpoints by hand.
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "<PIPELINE_NAME>",
3
+ "runMode": "Manually",
4
+ "description": null,
5
+ "connectionIdentifier": "<CONNECTION_ID>",
6
+ "repositoryId": "<REPOSITORY_REMOTE_ID>",
7
+ "repositoryUrl": "<REPOSITORY_CLONE_URL>",
8
+ "repositoryName": "<REPOSITORY_NAME>",
9
+ "repositoryType": "git",
10
+ "branch": "<DEFAULT_BRANCH>",
11
+ "projectName": "",
12
+ "projectPath": "<PROJECT_PATH>",
13
+ "processIdentifier": "<PROCESS_ID>",
14
+ "arguments": null
15
+ }
@@ -0,0 +1,312 @@
1
+ # Discovery Flow — Connection → Source → Process
2
+
3
+ Full procedure for resolving the identifiers a `PipelineDto` needs. Run sequentially.
4
+
5
+ All response field names below are as they appear on stdout — **PascalCase**. The JSON written for `--file` uses camelCase. See [migration-guide.md § 1](migration-guide.md#1-stdout-data-keys-are-pascalcase).
6
+
7
+ ## Inputs the user provides
8
+
9
+ One or more of:
10
+
11
+ - **Solution name** — "create a pipeline for the `<my-solution>` solution"
12
+ - **Standalone project name** — "create a pipeline for the `<my-project>` project"
13
+ - **Already-published process name / package** — "create a pipeline for the `<my-process>` process"
14
+ - **Connection name** — disambiguates when multiple connections are in play
15
+
16
+ If none of the above are clear, ask the user before running any CLI command.
17
+
18
+ ## Step 1 — Confirm the CLI tool is installed
19
+
20
+ ```bash
21
+ uip tools list --output json
22
+ ```
23
+
24
+ Expected: `Data` includes an entry with `"commandPrefix": "aops"` (from `@uipath/aops-tool`). If missing:
25
+
26
+ ```bash
27
+ uip tools install @uipath/aops-tool
28
+ ```
29
+
30
+ `@uipath/sc-tool` and `@uipath/cicd-tool` are retired — do not install or invoke them. Install failure recovery: [migration-guide.md § Install](migration-guide.md#install).
31
+
32
+ ## Step 2 — Confirm login
33
+
34
+ ```bash
35
+ uip login status --output json
36
+ ```
37
+
38
+ If `Result: "Failure"` or expired: `uip login`. One token covers both halves of the tool, but entitlements differ:
39
+
40
+ - SourceControl verbs (`connection`, `repo`, `project`, `solution`) need the StudioAdmin SourceControl service enabled on the organization.
41
+ - Pipeline / execution verbs need StudioAdmin CICD enabled, a selected runtime environment, and `Pipelines.View` at minimum. Mutations need `Pipelines.Edit` / `Pipelines.Run`.
42
+
43
+ A cheap reachability check for the CICD half before doing real work:
44
+
45
+ ```bash
46
+ uip aops pipeline state --output json
47
+ ```
48
+
49
+ ## Step 3 — List SourceControl connections
50
+
51
+ ```bash
52
+ uip aops connection list --output json
53
+ ```
54
+
55
+ Row shape: `{Identifier, Name, Type, SyncState}`. `Type` is `"GitHub"` or `"Azure"`. `SyncState` is `"Success"`, `"Fail"`, or `"Broken"`.
56
+
57
+ Decision:
58
+
59
+ - **User named the connection** → exact-match `Name`, take its `Identifier`
60
+ - **1 connection returned** → use it
61
+ - **2+ connections, no user hint** → ask the user, listing each connection's `Name` and `Type`
62
+
63
+ Save: `CONNECTION_ID`.
64
+
65
+ `SyncState: "Fail"` on the chosen connection is **not** a reason to bail. Cached solutions / projects from the last successful sync are usually still usable. Only escalate to a sync if the data needed in Steps 4–5 is missing.
66
+
67
+ ## Step 4 — Discover the source (solutions + standalone projects)
68
+
69
+ Both kinds of source live on the same connection. List both:
70
+
71
+ ```bash
72
+ uip aops connection solutions <CONNECTION_ID> --output json
73
+ uip aops connection projects <CONNECTION_ID> --output json
74
+ ```
75
+
76
+ Both paginate page-based (`--offset` must be a multiple of `--limit`). `solutions` defaults to 20 per page, `projects` to 10. Raise `--limit` rather than paging when the user's org is small. `--search <term>` does a server-side substring filter on the name.
77
+
78
+ ### `connection solutions` response
79
+
80
+ `Data.Result[]` — paged with a singular `Result` key. Each row is a `SolutionDto`:
81
+
82
+ ```json
83
+ {
84
+ "Identifier": "<SOLUTION_SC_UUID>",
85
+ "ConnectionIdentifier": "<CONNECTION_ID>",
86
+ "Name": "<my-solution>",
87
+ "Path": "Solutions/<my-solution>.uipx",
88
+ "Version": "1.0.0",
89
+ "SolutionId": "…",
90
+ "LastUpdated": "<iso-timestamp>",
91
+ "Repository": {
92
+ "Identifier": "<REPOSITORY_SC_UUID>",
93
+ "Name": "<my-repo>",
94
+ "CloneUrl": "https://github.com/<my-org>/<my-repo>.git",
95
+ "DefaultBranch": "main"
96
+ },
97
+ "Projects": [
98
+ { "ProjectId": "<PROJECT_ID>", "Type": "Process", "ProjectRelativePath": "<process-dir>/project.json" },
99
+ { "ProjectId": "…", "Type": "Library", "ProjectRelativePath": "<library-dir>/project.json" }
100
+ ]
101
+ }
102
+ ```
103
+
104
+ Carries the full `Repository` and the full project list with `ProjectRelativePath`. The embedded `Repository` does not carry `RemoteId` — Step 5a recovers it.
105
+
106
+ ### `connection projects` response
107
+
108
+ `Data[]` — curated 5-column rows:
109
+
110
+ ```json
111
+ {
112
+ "ProjectId": "<PROJECT_SC_UUID>",
113
+ "Name": "<my-project>",
114
+ "Description": "",
115
+ "Type": "Process",
116
+ "Repository": "<my-repo>"
117
+ }
118
+ ```
119
+
120
+ The curated view drops the full RepositoryDto and the project file's path. Step 5b recovers both. A project nested in a Solution can also appear here — the same project reached either way, with distinct ids (SourceControl project UUID vs the Studio `ProjectId` inside the Solution).
121
+
122
+ Server-side filters available: `--repository-ids <csv>`, `--project-type <type>`, `--target-framework <name>`, `--search <term>`, `--sort-by <field>` + `--sort-order <asc|desc>`. Azure connections additionally take `--azure-projects-ids <csv>` and `--organization-identifier <name>`.
123
+
124
+ ### Decision
125
+
126
+ - **User named a Solution** → Step 5a
127
+ - **User named a name appearing only in `connection projects`** → Step 5b
128
+ - **User named a name appearing in both** → ask the user which kind of source they want
129
+ - **No user hint** → present a combined list (label each "Solution" or "Standalone project") and ask the user
130
+ - **Both responses empty** → no source visible to this connection. Check `uip aops connection state --connection <CONNECTION_ID> --output json` and offer `uip aops connection sync <CONNECTION_ID> --wait --output json`. If sync still yields nothing, the connection is empty or misconfigured
131
+
132
+ ## Step 5a — Solution path: resolve source fields
133
+
134
+ The chosen `SolutionDto` carries most of what's needed, but its embedded `Repository` lacks `RemoteId`. One extra call:
135
+
136
+ ```bash
137
+ uip aops connection repos <CONNECTION_ID> --output json
138
+ ```
139
+
140
+ Find the row whose `Identifier` matches `solution.Repository.Identifier`. That row carries `RemoteId` (provider-native repo id).
141
+
142
+ List every entry in `solution.Projects[]`. `Type` values seen in practice: `Process`, `Library`, `TestCase`. **Do not filter by `Type`** — any project is eligible for source binding.
143
+
144
+ - **1 project** → use it
145
+ - **2+ projects** → ask the user, listing each `Type` and `ProjectRelativePath`
146
+ - **0 projects** → fail; tell the user to add a project to the Solution and re-sync the connection
147
+
148
+ Map fields:
149
+
150
+ | Variable | From |
151
+ |---|---|
152
+ | `REPOSITORY_ID` | matched repo's `RemoteId` (numeric for GitHub, UUID for Azure DevOps) — **NOT** `Identifier` |
153
+ | `REPOSITORY_URL` | `solution.Repository.CloneUrl` |
154
+ | `REPOSITORY_NAME` | `solution.Repository.Name` |
155
+ | `DEFAULT_BRANCH` | `solution.Repository.DefaultBranch` |
156
+ | `PROJECT_PATH` | `project.ProjectRelativePath` exactly |
157
+ | `PROJECT_NAME` | `""` (empty string — matches UI behavior) |
158
+
159
+ Skip to Step 6.
160
+
161
+ ## Step 5b — Standalone-project path: resolve source fields
162
+
163
+ The curated views drop the data needed. Two calls fill the gaps:
164
+
165
+ ```bash
166
+ uip aops connection repos <CONNECTION_ID> --output json
167
+ uip aops repo project-files <REPOSITORY_SC_UUID> --output json
168
+ ```
169
+
170
+ ### `connection repos` — full RepositoryDtos
171
+
172
+ ```json
173
+ [
174
+ {
175
+ "Identifier": "<REPOSITORY_SC_UUID>",
176
+ "Name": "<my-repo>",
177
+ "CloneUrl": "https://github.com/<my-org>/<my-repo>.git",
178
+ "RemoteId": "<provider-native-repo-id>",
179
+ "CommitSha": "<sha>",
180
+ "DefaultBranch": "main",
181
+ "AzureProject": null
182
+ }
183
+ ]
184
+ ```
185
+
186
+ Find the row whose `Name` matches the project's `Repository` field. Take `Identifier` (for the next call), `RemoteId`, `CloneUrl`, `Name`, `DefaultBranch`.
187
+
188
+ Azure DevOps connections spanning several projects / organizations: narrow with `--azure-projects-ids <csv>` (ids from `uip aops connection azure-projects <CONNECTION_ID> --output json`) and `--organization-identifier <name>`.
189
+
190
+ ### `repo project-files` — the project file's path in the repo
191
+
192
+ ```bash
193
+ uip aops repo project-files <REPOSITORY_SC_UUID> --output json
194
+ ```
195
+
196
+ Takes the repository's **SourceControl UUID** (`Identifier`), NOT `RemoteId`. Returns one row per automation project file at the default branch's HEAD:
197
+
198
+ ```json
199
+ [
200
+ { "Name": "project.json", "Path": "project.json", "Type": "File", "BuildableUnitType": "Process" },
201
+ { "Name": "project.json", "Path": "Libraries/Shared/project.json", "Type": "File", "BuildableUnitType": "Library" }
202
+ ]
203
+ ```
204
+
205
+ `Path` is `PROJECT_PATH`. Add `--reference <branch|tag|sha>` for a non-default branch.
206
+
207
+ - **1 row** → use its `Path`
208
+ - **2+ rows** → match against the project the user named; if still ambiguous, ask the user, listing each `Path` and `BuildableUnitType`
209
+ - **0 rows** → the repo has no automation project at that reference. Re-check the branch, or re-sync the connection
210
+
211
+ ### `project get` — optional metadata confirmation
212
+
213
+ ```bash
214
+ uip aops project get --project-id <PROJECT_ID> --output json
215
+ ```
216
+
217
+ ```json
218
+ {
219
+ "Identifier": "<PROJECT_SC_UUID>",
220
+ "Name": "<my-project>",
221
+ "ConnectionIdentifier": "<CONNECTION_ID>",
222
+ "ProjectVersion": "1.0.0",
223
+ "Type": "Process",
224
+ "TargetFramework": "Portable",
225
+ "ExpressionLanguage": "CSharp",
226
+ "Repository": "<my-repo>",
227
+ "DefaultBranch": "main"
228
+ }
229
+ ```
230
+
231
+ Confirms `Name`, `Type`, and `DefaultBranch`. `Repository` is a flattened name string — do not use it for any identifier. Optional flags: `--reference <ref>` to read the project at a non-default branch, `--with-branches` to add `AvailableBranches` (one extra round-trip).
232
+
233
+ Map fields:
234
+
235
+ | Variable | From |
236
+ |---|---|
237
+ | `REPOSITORY_ID` | matched repo's `RemoteId` — **NOT** `Identifier` |
238
+ | `REPOSITORY_URL` | matched repo's `CloneUrl` |
239
+ | `REPOSITORY_NAME` | matched repo's `Name` |
240
+ | `DEFAULT_BRANCH` | matched repo's `DefaultBranch` (agrees with `project get`'s `DefaultBranch`) |
241
+ | `PROJECT_NAME` | `""` (empty string — matches UI behavior) |
242
+ | `PROJECT_PATH` | `repo project-files` row's `Path` |
243
+
244
+ ### Why `RemoteId` not `Identifier`?
245
+
246
+ `Identifier` is SourceControl's internal UUID. `RemoteId` is the provider's own repo id (numeric for GitHub, UUID for Azure DevOps). StudioAdmin's pipeline runtime resolves the repository via the provider's native id, not via the SourceControl index. Sending `Identifier` lets `pipeline create` return `Success`, but the resulting pipeline can't resolve its source — the UI flags it "connection no longer valid" even when the connection is healthy. Diff a UI-created pipeline's `repositoryId` against the `RemoteId` field of `connection repos` to confirm.
247
+
248
+ ## Step 6 — Pick the already-published Orchestrator process
249
+
250
+ ```bash
251
+ uip aops pipeline processes --output json
252
+ ```
253
+
254
+ Row shape: `{ProcessId, Name, Description, Package, Version}`. This is the catalog of processes already deployed in Orchestrator — independent of any Studio project.
255
+
256
+ - **User named a process by `Name` or `Package`** → exact-match (case-insensitive). If 2+ rows share that `Name` / `Package` (different versions), prefer the highest semver `Version` and confirm with the user before picking.
257
+ - **No user name** → ask the user, listing each candidate's `Name`, `Package`, and `Version`.
258
+
259
+ Save: `PROCESS_ID`.
260
+
261
+ > The process is independent of the source project. A pipeline that builds project X can run process Y even when Y's source comes from a different repo. Do NOT auto-match.
262
+
263
+ ## Step 7 — Inspect process arguments
264
+
265
+ ```bash
266
+ uip aops pipeline process <PROCESS_ID> --output json
267
+ ```
268
+
269
+ Read `Data.Arguments` (declared parameter schema) and `Data.InputArguments` (JSON-encoded string of default values). See [pipeline-dto-guide.md § arguments](pipeline-dto-guide.md#arguments) for the full inspect / infer / ask workflow.
270
+
271
+ If `pipeline process` errors or returns no arguments, fall back to `arguments: null` on the DTO — the pipeline will use whatever defaults the process declares server-side.
272
+
273
+ An unknown process id answers `Process <id> not found.` with exit 1 — re-run `pipeline processes` rather than retrying.
274
+
275
+ ## Step 8 — (Optional) Verify a non-default branch exists
276
+
277
+ ```bash
278
+ uip aops repo branches <REPOSITORY_SC_UUID> --output json
279
+ ```
280
+
281
+ Rows are `{Name, Main}`. Takes the repository's SourceControl UUID. Skip this when using `DEFAULT_BRANCH` — that field is server-resolved and always exists. Only verify when the user named a specific branch.
282
+
283
+ ## Output — identifiers needed for the PipelineDto
284
+
285
+ | Field on PipelineDto (camelCase) | Variable | Source |
286
+ |---|---|---|
287
+ | `connectionIdentifier` | `CONNECTION_ID` | Step 3 (`connection list` → `Identifier`) |
288
+ | `repositoryId` | `REPOSITORY_ID` | Step 5a / 5b — **`RemoteId`** (provider-native), NOT `Identifier` |
289
+ | `repositoryName` | `REPOSITORY_NAME` | Step 5a / 5b |
290
+ | `repositoryUrl` | `REPOSITORY_URL` | Step 5a / 5b |
291
+ | `repositoryType` | `"git"` | Server-normalized; safe to hard-code |
292
+ | `branch` | `DEFAULT_BRANCH` (or user-named) | Step 5a / 5b |
293
+ | `projectName` | `""` | Empty string — matches UI behavior |
294
+ | `projectPath` | `PROJECT_PATH` | Step 5a (`ProjectRelativePath`) / Step 5b (`repo project-files` → `Path`) |
295
+ | `processIdentifier` | `PROCESS_ID` | Step 6 |
296
+ | `arguments` | `PIPELINE_ARGUMENTS` or `null` | Step 7 |
297
+
298
+ Proceed to [pipeline-dto-guide.md](pipeline-dto-guide.md) for field-by-field composition.
299
+
300
+ ## Error handling
301
+
302
+ | Failure | Recovery |
303
+ |---|---|
304
+ | `Unknown tool '@uipath/aops-tool'` | CLI registry index is stale — `uip update`, then retry. Do not fall back to `uip sc` / `uip cicd` | <!-- uip-check-skip -->
305
+ | `connection list` returns 0 rows | Connections are UI-only — direct the user to the StudioAdmin web app to create one |
306
+ | `connection solutions` AND `connection projects` both empty | Check `connection state --connection <id>`; offer `connection sync <id> --wait`. If sync still yields nothing, the connection is empty / misconfigured |
307
+ | `--offset (N) must be a multiple of --limit (M)` | Client-side pagination guard. Use offsets of 0, M, 2M, … |
308
+ | `project get` 404s / `Project <id> not found.` | Project UUID stale — re-run `connection projects` (or re-sync) and pick again |
309
+ | `repo project-files` returns 0 rows | Wrong `--reference`, or the repo holds no automation project. Verify with `repo branches` |
310
+ | `pipeline processes` returns 0 candidates | No process is published in the active runtime environment. Direct the user to publish one first (`uip solution publish` — see `uipath-platform`) and re-run |
311
+ | `Not logged in.` on any verb | `uip login` and retry once |
312
+ | Failure naming the StudioAdmin SourceControl / CICD service | The organization lacks the service, or no runtime environment is selected. Both are fixed in the StudioAdmin UI — report to the user, do not retry |