@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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/CODEOWNERS +41 -29
- package/README.md +1 -0
- package/assets/skill-status.json +13 -2
- package/assets/uip-catalog-snapshot.json +95 -46
- package/package.json +2 -1
- package/skills/uipath-admin/SKILL.md +107 -197
- package/skills/uipath-admin/references/audit-commands.md +69 -120
- package/skills/uipath-admin/references/audit-workflow-guide.md +101 -152
- package/skills/uipath-admin/references/authorization/authorization-commands.md +121 -210
- package/skills/uipath-admin/references/authorization/check-access.md +39 -63
- package/skills/uipath-admin/references/authorization/grant-permissions.md +38 -49
- package/skills/uipath-admin/references/authorization/permission-catalog.md +32 -34
- package/skills/uipath-admin/references/authorization/role-assignment-management.md +96 -99
- package/skills/uipath-admin/references/authorization/role-management.md +113 -142
- package/skills/uipath-admin/references/diagnose/CAPABILITY.md +13 -14
- package/skills/uipath-admin/references/diagnose/{references/failure-modes.md → failure-modes.md} +90 -46
- package/skills/uipath-admin/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +21 -14
- package/skills/uipath-admin/references/external-app-management.md +42 -39
- package/skills/uipath-admin/references/identity-commands.md +72 -625
- package/skills/uipath-admin/references/identity-troubleshoot-guide.md +73 -95
- package/skills/uipath-admin/references/ip-restriction/bypass-rule-management.md +25 -54
- package/skills/uipath-admin/references/ip-restriction/enforcement-management.md +19 -31
- package/skills/uipath-admin/references/ip-restriction/ip-range-management.md +48 -45
- package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +89 -146
- package/skills/uipath-admin/references/key-concepts.md +24 -0
- package/skills/uipath-admin/references/organization-management.md +49 -70
- package/skills/uipath-admin/references/organizations-commands.md +39 -74
- package/skills/uipath-admin/references/pat-management.md +25 -38
- package/skills/uipath-admin/references/robot-account-management.md +16 -14
- package/skills/uipath-admin/references/smtp-management.md +19 -14
- package/skills/uipath-admin/references/tenant-management.md +1 -1
- package/skills/uipath-admin/references/tenants-commands.md +82 -148
- package/skills/uipath-admin/references/user-management.md +70 -56
- package/skills/uipath-agents/SKILL.md +4 -3
- package/skills/uipath-agents/references/authentication.md +4 -3
- package/skills/uipath-agents/references/coded/capabilities/datafabric.md +465 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +12 -6
- package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
- package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +48 -16
- package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +1 -1
- package/skills/uipath-agents/references/coded/lifecycle/deployment.md +11 -1
- package/skills/uipath-agents/references/coded/quickstart.md +11 -8
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +3 -3
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +19 -2
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -2
- package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +409 -155
- package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
- package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
- package/skills/uipath-aops/SKILL.md +313 -0
- package/skills/uipath-aops/assets/templates/pipeline-dto-template.json +15 -0
- package/skills/uipath-aops/references/discovery-flow.md +312 -0
- package/skills/uipath-aops/references/migration-guide.md +146 -0
- package/skills/uipath-aops/references/pipeline-dto-guide.md +276 -0
- package/skills/uipath-aops/references/save-and-run-guide.md +156 -0
- package/skills/uipath-api-workflow/SKILL.md +48 -6
- package/skills/uipath-api-workflow/assets/templates/file-base64-roundtrip-example.json +154 -0
- package/skills/uipath-api-workflow/assets/templates/nested-control-flow-example.json +0 -1
- package/skills/uipath-api-workflow/references/cli-reference.md +20 -1
- package/skills/uipath-api-workflow/references/expressions-and-context.md +19 -0
- package/skills/uipath-api-workflow/references/files-and-base64.md +153 -0
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +3 -2
- package/skills/uipath-api-workflow/references/task-types.md +89 -3
- package/skills/uipath-api-workflow/references/testing-and-evals.md +224 -0
- package/skills/uipath-api-workflow/references/troubleshooting.md +124 -4
- package/skills/uipath-coded-apps/SKILL.md +4 -2
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1 -1
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +11 -1
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +5 -3
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +1 -0
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +2 -0
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +18 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +4 -0
- package/skills/uipath-connector-builder/SKILL.md +7 -5
- package/skills/uipath-connector-builder/references/debugging.md +5 -1
- package/skills/uipath-connector-builder/references/element-json.md +3 -1
- package/skills/uipath-connector-builder/references/standard-resources.md +37 -6
- package/skills/uipath-functions/SKILL.md +134 -222
- package/skills/uipath-functions/references/js/authoring-guide.md +141 -0
- package/skills/uipath-functions/references/js/bindings-guide.md +120 -0
- package/skills/uipath-functions/references/js/calling-uipath-apis-guide.md +112 -0
- package/skills/uipath-functions/references/js/coded-app-wiring-guide.md +103 -0
- package/skills/uipath-functions/references/js/deployment-guide.md +109 -0
- package/skills/uipath-functions/references/js/http-semantics-guide.md +80 -0
- package/skills/uipath-functions/references/js/job-mode-guide.md +114 -0
- package/skills/uipath-functions/references/js/local-dev-guide.md +107 -0
- package/skills/uipath-functions/references/python/workflow-guide.md +224 -0
- package/skills/uipath-governance/SKILL.md +9 -8
- package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +36 -8
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +14 -12
- package/skills/uipath-governance/references/compliance-pack/disable/impl.md +5 -3
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +7 -5
- package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +14 -7
- package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +3 -1
- package/skills/uipath-governance/references/compliance-pack/preview-gate.md +1 -1
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +4 -2
- package/skills/uipath-governance/references/diagnose/CAPABILITY.md +12 -12
- package/skills/uipath-governance/references/diagnose/{references/failure-modes.md → failure-modes.md} +5 -5
- package/skills/uipath-governance/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +2 -2
- package/skills/uipath-governance/references/disambiguation-guide.md +15 -7
- package/skills/uipath-human-in-the-loop/SKILL.md +107 -9
- package/skills/uipath-human-in-the-loop/references/hitl-casetask-action.md +413 -0
- package/skills/uipath-insights/SKILL.md +21 -14
- package/skills/uipath-insights/references/alerts-reads-guide.md +242 -0
- package/skills/uipath-insights/references/filter-discovery-guide.md +1 -1
- package/skills/uipath-insights/references/jobs-commands-guide.md +2 -2
- package/skills/uipath-ixp/references/cli-reference.md +1 -1
- package/skills/uipath-ixp/references/improve-prompts-guide.md +5 -6
- package/skills/uipath-maestro-bpmn/SKILL.md +87 -15
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +10 -10
- package/skills/uipath-maestro-bpmn/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +1 -1
- package/skills/uipath-maestro-bpmn/references/expression-authoring.md +12 -2
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -12
- package/skills/uipath-maestro-bpmn/references/operate/{references/run.md → run.md} +2 -2
- package/skills/uipath-maestro-bpmn/references/operate/{references/ship.md → ship.md} +3 -3
- package/skills/uipath-maestro-bpmn/references/patterns/ai-decision-review-guide.md +138 -0
- package/skills/uipath-maestro-bpmn/references/patterns/approval-chain-guide.md +136 -0
- package/skills/uipath-maestro-bpmn/references/patterns/composing-guide.md +113 -0
- package/skills/uipath-maestro-bpmn/references/patterns/external-wait-guide.md +145 -0
- package/skills/uipath-maestro-bpmn/references/patterns/failure-escalation-guide.md +103 -0
- package/skills/uipath-maestro-bpmn/references/patterns/high-volume-batch-guide.md +107 -0
- package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/patterns/smart-triage-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +15 -0
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +67 -36
- package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +6 -5
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +23 -5
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +101 -53
- package/skills/uipath-maestro-case/SKILL.md +23 -24
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +30 -17
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -5
- package/skills/uipath-maestro-case/references/brownfield.md +3 -3
- package/skills/uipath-maestro-case/references/case-commands.md +8 -4
- package/skills/uipath-maestro-case/references/case-editing-operations.md +19 -19
- package/skills/uipath-maestro-case/references/case-schema.md +17 -3
- package/skills/uipath-maestro-case/references/connector-integration.md +25 -16
- package/skills/uipath-maestro-case/references/connector-trigger-impl.md +15 -15
- package/skills/uipath-maestro-case/references/connector-trigger-planning.md +32 -29
- package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -1
- package/skills/uipath-maestro-case/references/evals/evals.json +11 -11
- package/skills/uipath-maestro-case/references/implementation.md +74 -44
- package/skills/uipath-maestro-case/references/phased-execution.md +23 -21
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +28 -23
- package/skills/uipath-maestro-case/references/planning.md +37 -252
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +8 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +11 -10
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +12 -12
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +10 -9
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +16 -14
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +15 -15
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +20 -21
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +38 -38
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +30 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +44 -28
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -10
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +27 -23
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +25 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +30 -19
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +8 -7
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +7 -7
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +21 -17
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +29 -21
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +23 -21
- package/skills/uipath-maestro-case/references/registry-discovery.md +5 -5
- package/skills/uipath-maestro-flow/.maintenance/README.md +35 -28
- package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +19 -1
- package/skills/uipath-maestro-flow/.maintenance/check-links.sh +3 -0
- package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +2 -2
- package/skills/uipath-maestro-flow/SKILL.md +66 -76
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +75 -72
- package/skills/uipath-maestro-flow/references/author/brownfield.md +90 -0
- package/skills/uipath-maestro-flow/references/author/{references/editing-operations-cli.md → editing-operations-cli.md} +9 -4
- package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +373 -0
- package/skills/uipath-maestro-flow/references/author/editing-operations.md +103 -0
- package/skills/uipath-maestro-flow/references/author/{references/greenfield.md → greenfield.md} +32 -20
- package/skills/uipath-maestro-flow/references/author/planning-arch.md +342 -0
- package/skills/uipath-maestro-flow/references/author/planning-impl.md +283 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +227 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agent/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/batch-transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +449 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/impl.md +20 -18
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +427 -0
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +185 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/impl.md +5 -0
- package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
- package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +178 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/hitl/planning.md +14 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/impl-connector.md +4 -4
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/impl.md +6 -6
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/impl.md +4 -4
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/impl.md +8 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
- package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
- package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/rpa/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/impl.md +6 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/impl.md +5 -5
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/subflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
- package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
- package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
- package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +241 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +39 -37
- package/skills/uipath-maestro-flow/references/diagnose/{references/failure-modes.md → failure-modes.md} +22 -22
- package/skills/uipath-maestro-flow/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +60 -1
- package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +27 -25
- package/skills/uipath-maestro-flow/references/evaluate/{references/commands-reference.md → commands-reference.md} +58 -7
- package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
- package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
- package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +21 -21
- package/skills/uipath-maestro-flow/references/operate/{references/manage.md → manage.md} +4 -4
- package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
- package/skills/uipath-maestro-flow/references/operate/{references/ship.md → ship.md} +5 -5
- package/skills/uipath-maestro-flow/references/shared/action-nodes.md +30 -22
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +76 -184
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +49 -60
- package/skills/uipath-maestro-flow/references/shared/file-format.md +32 -11
- package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +49 -104
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +66 -103
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +4 -4
- package/skills/uipath-planner/SKILL.md +1 -1
- package/skills/uipath-planner/assets/templates/case/case-sdd-template.md +5 -3
- package/skills/uipath-planner/references/case/case-design-lane-guide.md +1 -1
- package/skills/uipath-planner/references/case/case-design-layers-guide.md +2 -2
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -1
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +3 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +1 -0
- package/skills/uipath-planner/scripts/case/audit_sdd.py +77 -1
- package/skills/uipath-platform/SKILL.md +6 -4
- package/skills/uipath-platform/references/integration-service/activities.md +7 -4
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +28 -0
- package/skills/uipath-platform/references/integration-service/resources.md +11 -0
- package/skills/uipath-platform/references/integration-service/triggers.md +2 -2
- package/skills/uipath-platform/references/licensing/diagnose/CAPABILITY.md +80 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/failure-modes.md +147 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md +125 -0
- package/skills/uipath-platform/references/licensing/licensing.md +3 -0
- package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +5 -0
- package/skills/uipath-platform/references/orchestrator/run-jobs.md +11 -2
- package/skills/uipath-platform/references/traces/feedback.md +4 -4
- package/skills/uipath-platform/references/traces/traces.md +1 -1
- package/skills/uipath-process-mining/SKILL.md +6 -6
- package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +10 -8
- package/skills/uipath-process-mining/references/model-editing.md +1 -1
- package/skills/uipath-process-mining/references/querying.md +4 -3
- package/skills/uipath-review/SKILL.md +171 -541
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +73 -92
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +4 -0
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +73 -180
- package/skills/uipath-review/references/architecture-assessment-guide.md +93 -105
- package/skills/uipath-review/references/review-workflow-guide.md +1 -1
- package/skills/uipath-review/references/rpa/modern-studio-issues.md +44 -44
- package/skills/uipath-review/references/rpa/rpa-common-issues.md +251 -321
- package/skills/uipath-review/references/rpa/rpa-review-checklist.md +1 -1
- package/skills/uipath-review/references/rule-catalog-workflow.md +25 -45
- package/skills/uipath-review/references/rule-format.md +21 -21
- package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +1 -1
- package/skills/uipath-rpa/CLAUDE.md +4 -5
- package/skills/uipath-rpa/SKILL.md +40 -246
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/FindText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetColorAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetCursorPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetField.md +13 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetFieldAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetScreenArea.md +27 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursor.md +3 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursorToText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendControlKey.md +2 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeys.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeysSecure.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetField.md +14 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetFieldAtPosition.md +4 -7
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/_common-options.md +29 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/authoring-paths.md +58 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +197 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitFieldText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +9 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities.json +271 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/coded/coded-api.md +61 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/overview.md +76 -0
- package/skills/uipath-rpa/references/cli-reference.md +63 -29
- package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +59 -1
- package/skills/uipath-rpa/references/coded/operations-guide.md +2 -1
- package/skills/uipath-rpa/references/debugging.md +29 -12
- package/skills/uipath-rpa/references/environment-setup.md +54 -1
- package/skills/uipath-rpa/references/execution-maps-guide.md +10 -9
- package/skills/uipath-rpa/references/legacy/activity-docs/_INVOKE-CODE.md +1 -1
- package/skills/uipath-rpa/references/uia-starter-guide.md +46 -8
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +3 -4
- package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +7 -8
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +132 -42
- package/skills/uipath-solution/SKILL.md +9 -6
- package/skills/uipath-solution/references/activate-and-manage.md +11 -6
- package/skills/uipath-solution/references/develop-solution.md +39 -28
- package/skills/uipath-solution/references/pack-and-deploy.md +49 -1
- package/skills/uipath-solution/references/scenarios/failure-modes.md +1 -1
- package/skills/uipath-solution/references/scenarios/intra-solution-references.md +3 -3
- package/skills/uipath-solution/references/scenarios/manual-edits.md +1 -1
- package/skills/uipath-solution/references/scenarios.md +2 -2
- package/skills/uipath-solution/references/solution-overview.md +15 -6
- package/skills/uipath-tasks/SKILL.md +11 -6
- package/skills/uipath-tasks/references/task-assignment.md +5 -0
- package/skills/uipath-tasks/references/task-catalogs.md +7 -4
- package/skills/uipath-tasks/references/task-completion.md +3 -1
- package/skills/uipath-tasks/references/task-data.md +3 -3
- package/skills/uipath-tasks/references/task-lifecycle.md +11 -0
- package/skills/uipath-tasks/references/task-metadata.md +4 -3
- package/skills/uipath-test/SKILL.md +13 -28
- package/skills/uipath-test/references/failure-triage-guide.md +90 -0
- package/skills/uipath-test/references/playwright-first-mile-guide.md +2 -2
- package/skills/uipath-test/references/publish-and-link-guide.md +0 -1
- package/skills/uipath-test/references/test-result-report-guide.md +1 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +1 -1
- package/skills/uipath-troubleshoot/references/presenting.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/generic-error-400.md +4 -4
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-400.md +2 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/job-operation-timeout.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +1 -1
- package/version-manifest.json +2 -2
- package/skills/uipath-maestro-case/scripts/audit_plan.py +0 -231
- package/skills/uipath-maestro-flow/references/author/references/brownfield.md +0 -93
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +0 -545
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +0 -131
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -638
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -306
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +0 -229
- package/skills/uipath-maestro-flow/references/author/references/plugins/batch-transform/impl.md +0 -174
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +0 -741
- package/skills/uipath-maestro-flow/references/author/references/plugins/delay/impl.md +0 -75
- package/skills/uipath-maestro-flow/references/author/references/plugins/end/impl.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +0 -204
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +0 -201
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/impl.md +0 -43
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/planning.md +0 -29
- package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +0 -121
- package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +0 -230
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/impl.md +0 -198
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md +0 -71
- package/skills/uipath-maestro-flow/references/author/references/plugins/switch/planning.md +0 -38
- package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +0 -48
- package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +0 -287
- package/skills/uipath-maestro-flow/references/evaluate/references/eval-sets-guide.md +0 -226
- package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +0 -82
- package/skills/uipath-maestro-flow/references/operate/references/run.md +0 -99
- /package/skills/uipath-maestro-bpmn/references/diagnose/{references/failure-modes.md → failure-modes.md} +0 -0
- /package/skills/uipath-maestro-bpmn/references/operate/{references/manage.md → manage.md} +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/delay/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/end/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/switch/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/terminate/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/evaluators-guide.md → evaluators-guide.md} +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/running-guide.md → running-guide.md} +0 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Migration — `uip sc` + `uip cicd` → `uip aops` <!-- uip-check-skip -->
|
|
2
|
+
|
|
3
|
+
`@uipath/sc-tool` (prefix `sc`) and `@uipath/cicd-tool` (prefix `cicd`) were unified into a single plugin, `@uipath/aops-tool` (prefix `aops`). `@uipath/cicd-tool` no longer exists on npm.
|
|
4
|
+
|
|
5
|
+
The merge kept every subcommand name. The rewrite is mechanical: replace the tool prefix, keep the rest.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
uip sc connection list --output json → uip aops connection list --output json <!-- uip-check-skip -->
|
|
9
|
+
uip cicd pipeline create --file p.json → uip aops pipeline create --file p.json <!-- uip-check-skip -->
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
uip tools install @uipath/aops-tool
|
|
16
|
+
uip tools list --output json
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Confirm an entry with `"commandPrefix": "aops"`.
|
|
20
|
+
|
|
21
|
+
Known failure modes:
|
|
22
|
+
|
|
23
|
+
| Symptom | Cause | Action |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| `Unknown tool '@uipath/aops-tool'` | The installed CLI's registry index predates the tool | Update the CLI first (`uip update`), then retry the install. Report the CLI version (`uip --version`) to the user if it still fails. |
|
|
26
|
+
| `Unsupported URL Type "workspace:"` when installing `@uipath/sc-tool` | The last published `sc-tool` is a stale build with unresolved workspace dependencies | Do not install `sc-tool`. It is retired — install `aops-tool`. |
|
|
27
|
+
|
|
28
|
+
Do not fall back to `uip sc` / `uip cicd` when `aops` is unavailable. Report the install failure to the user instead. <!-- uip-check-skip -->
|
|
29
|
+
|
|
30
|
+
## Verb map
|
|
31
|
+
|
|
32
|
+
Both old trees merged without collision — no verb was renamed, dropped, or moved to a different subject. Swap the prefix and keep everything to its right.
|
|
33
|
+
|
|
34
|
+
| Subject | Old prefix | New prefix | Verbs under it |
|
|
35
|
+
|---|---|---|---|
|
|
36
|
+
| `connection` | `sc` | `aops` | `list`, `state`, `sync`, `delete`, `repos`, `repos-bulk`, `projects`, `solutions`, `azure-projects` | <!-- uip-check-skip -->
|
|
37
|
+
| `repo` | `sc` | `aops` | `branches`, `project-files` | <!-- uip-check-skip -->
|
|
38
|
+
| `project` | `sc` | `aops` | `list`, `get`, `files`, `content`, `commits`, `commit` | <!-- uip-check-skip -->
|
|
39
|
+
| `solution` | `sc` | `aops` | `get`, `commits` | <!-- uip-check-skip -->
|
|
40
|
+
| `pipeline` | `cicd` | `aops` | `list`, `state`, `processes`, `process`, `repos`, `get`, `search`, `create`, `update`, `delete`, `run`, `save-and-run`, `executions`, `executions-bulk` | <!-- uip-check-skip -->
|
|
41
|
+
| `execution` | `cicd` | `aops` | `get`, `logs`, `details`, `stop` | <!-- uip-check-skip -->
|
|
42
|
+
|
|
43
|
+
## Behavior changes beyond the rename
|
|
44
|
+
|
|
45
|
+
These are the differences that break a command that used to work. Everything else — the `PipelineDto` / `EditPipelineDto` shapes, `repositoryId` = `RemoteId`, `projectName: ""`, `repositoryType: "git"`, the `PipelineRunMode` values — is unchanged.
|
|
46
|
+
|
|
47
|
+
### 1. Stdout `Data` keys are PascalCase
|
|
48
|
+
|
|
49
|
+
Every key inside the success envelope's `Data` is PascalCased on output: `identifier` → `Identifier`, `remoteId` → `RemoteId`, `syncState` → `SyncState`, `projectRelativePath` → `ProjectRelativePath`.
|
|
50
|
+
|
|
51
|
+
Input files are NOT transformed. A `--file` payload must use the DTO's own camelCase names. Capturing stdout and feeding it back is the single most common failure — `pipeline update` rejects it outright (see § 4).
|
|
52
|
+
|
|
53
|
+
To get a raw DTO on disk, use the command's `--output-file` flag, which writes the untransformed payload:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
uip aops pipeline get <pipeline-id> --for-update --output-file ./edit.json --output json
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. `ConnectionType` is `Azure`, not `AzureDevOps`
|
|
60
|
+
|
|
61
|
+
`connection list` → `Type` is `"GitHub"` or `"Azure"`. Match on `"Azure"` when branching on provider.
|
|
62
|
+
|
|
63
|
+
### 3. `pipeline delete` requires explicit confirmation
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
uip aops pipeline delete <pipeline-id> --yes --output json
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Without `-y` / `--yes` the command exits 1 with `Confirmation required: …` and sends no request. The CLI never prompts.
|
|
70
|
+
|
|
71
|
+
### 4. `pipeline update --file` rejects unrecognized keys
|
|
72
|
+
|
|
73
|
+
`update` is an HTTP PUT — a full replace. The serializer sends exactly five keys: `identifier`, `name`, `runMode`, `description`, `arguments`. Any other key in the file — including one that differs only in case, e.g. `Name` — is a `ValidationError` (exit 3) and nothing is sent. A file whose only key is `identifier` is rejected too ("carries no EditPipelineDto field to apply").
|
|
74
|
+
|
|
75
|
+
This gate exists because such a request used to succeed while silently clearing every field it failed to carry.
|
|
76
|
+
|
|
77
|
+
The supported round-trip:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
uip aops pipeline get <pipeline-id> --for-update --output-file ./edit.json --output json
|
|
81
|
+
# edit ./edit.json — name / runMode / description / arguments only
|
|
82
|
+
uip aops pipeline update <pipeline-id> --file ./edit.json --output json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 5. `--take` / `--skip` are deprecated, and absent on `pipeline executions`
|
|
86
|
+
|
|
87
|
+
`connection projects`, `connection solutions`, and `project list` still accept `--take` / `--skip` as hidden aliases and emit a deprecation warning. `pipeline list` and `pipeline executions` never had them — they take `--limit` / `--offset` only.
|
|
88
|
+
|
|
89
|
+
`--offset` must be an exact multiple of `--limit` on every paginated verb; otherwise the command fails client-side before any request.
|
|
90
|
+
|
|
91
|
+
| Verb | Default `--limit` |
|
|
92
|
+
|---|---|
|
|
93
|
+
| `connection projects`, `project list` | 10 |
|
|
94
|
+
| `connection solutions`, `pipeline list`, `pipeline executions` | 20 |
|
|
95
|
+
| `execution logs` | 200 (log-line page size) |
|
|
96
|
+
|
|
97
|
+
### 6. `--output-filter` requires an explicit `--limit`
|
|
98
|
+
|
|
99
|
+
`--output-filter` runs client-side over only the records the command fetched. When a filter is active and `--limit` resolved from its declared default, the CLI refuses to run rather than filter a silently capped page. Pass `--limit` explicitly:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
uip aops pipeline list --search "my-pipeline" --limit 50 --output json --output-filter "Data[].PipelineId"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Commands with no declared `--limit` default — `pipeline create`, `pipeline save-and-run`, `pipeline get` — are unaffected:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
uip aops pipeline save-and-run --file ./pipeline.json --output json --output-filter "Data.ExecutionId"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 7. `repo project-files` closes the standalone `projectPath` gap
|
|
112
|
+
|
|
113
|
+
Previously the project file's path inside the repo had to be probed with `project content` or asked of the user. `repo project-files <repo-id>` now returns it directly:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
uip aops repo project-files <REPOSITORY_SC_UUID> --output json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
`Data[]` rows are `{Name, Path, Type, BuildableUnitType}`. `Path` is `PipelineDto.projectPath`. Takes the repository's SourceControl UUID (`Identifier` from `connection repos`), NOT `RemoteId`. `--reference <branch|tag|sha>` targets a non-default branch.
|
|
120
|
+
|
|
121
|
+
### 8. `--follow` / `--wait` timeout defaults
|
|
122
|
+
|
|
123
|
+
| Command | `--timeout` default | `--poll-interval` default |
|
|
124
|
+
|---|---|---|
|
|
125
|
+
| `execution logs --follow` | 1800000 (30 min) | 2000 |
|
|
126
|
+
| `execution stop --wait` | 300000 (5 min) | 2000 |
|
|
127
|
+
| `connection sync --wait` | 300000 (5 min) | 2000 |
|
|
128
|
+
|
|
129
|
+
Units live in the placeholder (`<ms>`) — there is no `--timeout-ms` flag.
|
|
130
|
+
|
|
131
|
+
### 9. `execution logs --follow` streams to stderr
|
|
132
|
+
|
|
133
|
+
With `--follow`, log lines are written to stderr as they arrive (shaped by `--output`), leaving stdout for the final envelope carrying the terminal state and line count. The stream is not subject to `--log-level` and is not captured by `--log-file`. Redirect stderr to keep it: `2> build.log`.
|
|
134
|
+
|
|
135
|
+
`--follow` requires the `<execution-id>` positional; `--job-key` alone is not enough because state polling is executionId-keyed.
|
|
136
|
+
|
|
137
|
+
## Do not confuse with `uip gov aops-policy`
|
|
138
|
+
|
|
139
|
+
Two unrelated product surfaces share the "AOps" name:
|
|
140
|
+
|
|
141
|
+
| Surface | Prefix | What it does | Skill |
|
|
142
|
+
|---|---|---|---|
|
|
143
|
+
| StudioAdmin AOps | `uip aops` | SourceControl connections, repos, projects, solutions; CICD pipelines and executions | this skill |
|
|
144
|
+
| AOps governance policies | `uip gov aops-policy` | Restrict / enforce Studio, StudioX, Assistant, Robot, AI Trust Layer features | `uipath-governance` |
|
|
145
|
+
|
|
146
|
+
If the request is about restricting what a product *can do*, it is a governance policy, not a pipeline.
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# PipelineDto Guide
|
|
2
|
+
|
|
3
|
+
Field-by-field reference for the JSON shape `uip aops pipeline create --file` and `pipeline save-and-run --file` consume.
|
|
4
|
+
|
|
5
|
+
> **Casing.** Keys in a `--file` payload are the DTO's own **camelCase** names. Keys in CLI stdout are **PascalCase**. Never capture stdout into a file and pass it back — see [migration-guide.md § 1](migration-guide.md#1-stdout-data-keys-are-pascalcase).
|
|
6
|
+
|
|
7
|
+
## PipelineDto vs EditPipelineDto
|
|
8
|
+
|
|
9
|
+
Two distinct shapes — do NOT mix them.
|
|
10
|
+
|
|
11
|
+
| Shape | Consumed by | Includes |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| **PipelineDto** | `pipeline create --file`, `pipeline save-and-run --file`; returned by `pipeline get <id>` | Full binding: connection + repository + project + process + run config |
|
|
14
|
+
| **EditPipelineDto** | `pipeline update <id> --file`; returned by `pipeline get <id> --for-update` | Subset — only the editable surface: `identifier`, `name`, `runMode`, `description`, `arguments` |
|
|
15
|
+
|
|
16
|
+
`pipeline update` is a full-replace (HTTP PUT). The narrower EditPipelineDto means binding fields are immutable for the life of a pipeline. To change the project or branch binding, delete and recreate.
|
|
17
|
+
|
|
18
|
+
## PipelineDto fields
|
|
19
|
+
|
|
20
|
+
Only `branch` is required by the SDK type system. The other fields are optional in TypeScript but the API rejects pipelines omitting the binding fields below — fill them.
|
|
21
|
+
|
|
22
|
+
| Field | Required for create | Type | Source — Solution path | Source — Standalone-project path |
|
|
23
|
+
|---|---|---|---|---|
|
|
24
|
+
| `identifier` | No (server-assigned) | string (UUID) | Omit on create | Omit |
|
|
25
|
+
| `name` | Recommended | string | User-supplied. Defaults to `<source-kebab>-<process-kebab>` if not given | Same |
|
|
26
|
+
| `runMode` | Recommended | `"Manually"` \| `"AtSpecificTime"` \| `"ForEachCommit"` | Default `"Manually"` | Same |
|
|
27
|
+
| `description` | No | string \| null | User-supplied | Same |
|
|
28
|
+
| `connectionIdentifier` | Yes | string (UUID) | `connection list` → chosen `Identifier` | Same |
|
|
29
|
+
| `repositoryId` | Yes | string | `connection repos` row whose `Identifier` matches `solution.Repository.Identifier` → **`RemoteId`** | `connection repos` row whose `Name` matches the project's `Repository` field → **`RemoteId`** |
|
|
30
|
+
| `repositoryUrl` | Yes | string | `solution.Repository.CloneUrl` | Matched repo's `CloneUrl` |
|
|
31
|
+
| `repositoryName` | Yes | string | `solution.Repository.Name` | Matched repo's `Name` |
|
|
32
|
+
| `repositoryType` | Yes | string | `"git"` (server-normalized) | `"git"` |
|
|
33
|
+
| `branch` | **Yes (hard-required)** | string | `solution.Repository.DefaultBranch` | Matched repo's `DefaultBranch` |
|
|
34
|
+
| `projectName` | No | string | `""` (empty string — UI-created pipelines leave this blank) | `""` |
|
|
35
|
+
| `projectPath` | Yes | string | `project.ProjectRelativePath` exactly | `repo project-files` row's `Path` |
|
|
36
|
+
| `processIdentifier` | Yes | string (UUID) | `pipeline processes` → user-picked `ProcessId` | Same |
|
|
37
|
+
| `arguments` | No | any \| null | Runtime overrides. Default `null`. See § arguments | Same |
|
|
38
|
+
| `latestPipelineExecution` | Never on create | object | Server-populated read-only. Omit | Omit |
|
|
39
|
+
|
|
40
|
+
## Field sourcing
|
|
41
|
+
|
|
42
|
+
The discovery flow ([discovery-flow.md](discovery-flow.md)) returns every value listed above. Composition rules follow.
|
|
43
|
+
|
|
44
|
+
### `name`
|
|
45
|
+
|
|
46
|
+
The pipeline name shown in the StudioAdmin UI. Constraints:
|
|
47
|
+
|
|
48
|
+
- Must be unique within the runtime environment — `pipeline create` returns a conflict error on duplicates
|
|
49
|
+
- No format restriction beyond non-empty
|
|
50
|
+
|
|
51
|
+
Default pattern when the user doesn't supply one: `<source-kebab>-<process-kebab>`. Verify uniqueness via:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
uip aops pipeline list --search "<candidate>" --output json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Empty `Data: []` means the name is free. Prefer `pipeline list --search` over `pipeline search --name`: `search --name` exits 1 with `Pipeline '<name>' not found.` when nothing matches, which is awkward to distinguish from a real failure.
|
|
58
|
+
|
|
59
|
+
### `runMode`
|
|
60
|
+
|
|
61
|
+
| Value | When to use |
|
|
62
|
+
|---|---|
|
|
63
|
+
| `"Manually"` | Default. Pipeline only runs on explicit `pipeline run <id>` or `save-and-run`. Best for a first-create flow. |
|
|
64
|
+
| `"AtSpecificTime"` | Pipeline runs on a server-side schedule. The schedule config itself is set in the StudioAdmin UI after creation — the CLI cannot author it. |
|
|
65
|
+
| `"ForEachCommit"` | Pipeline runs on every commit to `branch`. Wire only when the user explicitly asks for continuous-build behavior. |
|
|
66
|
+
|
|
67
|
+
### `branch`
|
|
68
|
+
|
|
69
|
+
The branch the pipeline checks out for every run. The only hard-required field in the DTO.
|
|
70
|
+
|
|
71
|
+
1. **User named a branch** → use it verbatim. Optionally verify via `uip aops repo branches <REPOSITORY_SC_UUID> --output json` (that verb takes the SourceControl UUID, not `RemoteId`).
|
|
72
|
+
2. **No user input** → use the repository's `DefaultBranch`. Never assume `"main"` / `"master"`.
|
|
73
|
+
|
|
74
|
+
### `repositoryType`
|
|
75
|
+
|
|
76
|
+
The server normalizes this to `"git"` regardless of provider. Always send `"git"`. Sending `"GitHub"` / `"Azure"` is accepted but the round-trip returns `"git"`.
|
|
77
|
+
|
|
78
|
+
### `repositoryId` — provider-native id, not SourceControl UUID
|
|
79
|
+
|
|
80
|
+
The most common trap. The `RepositoryDto` carries two ids:
|
|
81
|
+
|
|
82
|
+
| Field | What it is | Use for |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| `Identifier` | SourceControl service's internal UUID for the repo | `repo branches`, `repo project-files`, `pipeline list --repository-ids` |
|
|
85
|
+
| `RemoteId` | The provider's native repo id — numeric for GitHub, UUID for Azure DevOps | **`PipelineDto.repositoryId`** |
|
|
86
|
+
|
|
87
|
+
Sending `Identifier` makes `pipeline create` return `Success`, but the resulting pipeline can't resolve the repository at runtime. The StudioAdmin UI flags it "connection no longer valid" — misleading, since the connection is fine and only the repo binding is wrong. Always send `RemoteId`.
|
|
88
|
+
|
|
89
|
+
Note the asymmetry: the DTO wants `RemoteId`, while every other CLI verb that addresses a repository wants `Identifier`.
|
|
90
|
+
|
|
91
|
+
### `projectName`
|
|
92
|
+
|
|
93
|
+
UI-created pipelines store `""` here. The binding resolves on `repositoryId` + `projectPath` + `branch`; `projectName` is metadata-only. Default to `""`.
|
|
94
|
+
|
|
95
|
+
### `projectPath`
|
|
96
|
+
|
|
97
|
+
The path of the project file (`project.json` / `project.uiproj`) within the repository, forward-slash separated.
|
|
98
|
+
|
|
99
|
+
**Solution path:** `project.ProjectRelativePath` exactly. Example: `<project-dir>/project.json`.
|
|
100
|
+
|
|
101
|
+
**Standalone-project path:** `repo project-files <REPOSITORY_SC_UUID>` → the matching row's `Path`. When several rows come back, disambiguate against the project the user named; ask if still ambiguous.
|
|
102
|
+
|
|
103
|
+
Do NOT derive `projectName` from the last segment of `projectPath` — that segment is the project file, not the project.
|
|
104
|
+
|
|
105
|
+
### `processIdentifier`
|
|
106
|
+
|
|
107
|
+
The `ProcessId` of the already-published Orchestrator process the pipeline runs / updates. Picked **independently** of the source project — see [discovery-flow.md § Step 6](discovery-flow.md#step-6--pick-the-already-published-orchestrator-process).
|
|
108
|
+
|
|
109
|
+
Source (project) and target (process) are decoupled. The pipeline builds whatever source the project carries and then operates on the bound process; the project does NOT need to be the one that originally published the process. Do not auto-derive — let the user pick, or confirm an inference.
|
|
110
|
+
|
|
111
|
+
### `arguments`
|
|
112
|
+
|
|
113
|
+
Override values the pipeline passes to the automation process when it runs. The schema is process-specific — every published process declares its own parameter set. Four related surfaces — do NOT conflate:
|
|
114
|
+
|
|
115
|
+
| Field | Type | Where | What it carries |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
| `Data.Arguments` | object | response from `pipeline process <process-id>` | Declared **input parameter schema** — names, types, defaults. Read-only metadata. |
|
|
118
|
+
| `Data.InputArguments` | JSON string | same response | Orchestrator-style serialized **default values**. Parse with `JSON.parse`. |
|
|
119
|
+
| `PipelineDto.arguments` | `any \| null` | **what you write** on create | **Override values** the pipeline passes at run time. `null` = use process defaults. |
|
|
120
|
+
| `Data.InputArguments` | object | `execution get <id> --with-arguments` | **Actual runtime values** the execution ran with. The CLI parses the string into an object. Use to verify what the pipeline submitted. |
|
|
121
|
+
|
|
122
|
+
#### Workflow — inspect, infer, ask
|
|
123
|
+
|
|
124
|
+
1. **Inspect the schema:**
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
uip aops pipeline process <PROCESS_ID> --output json
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Read `Data.Arguments` for the declared parameter list and parse `Data.InputArguments` for default values:
|
|
131
|
+
|
|
132
|
+
```javascript
|
|
133
|
+
const defaults = JSON.parse(response.Data.InputArguments ?? "{}");
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
2. **For each declared parameter**, decide what value to use:
|
|
137
|
+
|
|
138
|
+
| Situation | Action |
|
|
139
|
+
|---|---|
|
|
140
|
+
| Conversation context implies a value (user named a file, date, count) | Record the inferred value as an override |
|
|
141
|
+
| No inference, but the parameter has a default in `InputArguments` | Skip — omit from the override object; the default fires at runtime |
|
|
142
|
+
| No inference, no default, parameter is required | Ask the user. Choice-style prompt for enum / boolean values; free-form for text / numbers / paths |
|
|
143
|
+
| No inference, no default, parameter is optional | Omit |
|
|
144
|
+
|
|
145
|
+
3. **Build the override object** — Orchestrator-style key/value, only the parameters to change:
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"BatchDate": "2026-05",
|
|
150
|
+
"DryRun": false
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Empty object `{}` and `null` both mean "use all defaults" — prefer `null` for readability.
|
|
155
|
+
|
|
156
|
+
4. **Verify after the first run:**
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
uip aops execution get <EXECUTION_ID> --with-arguments --output json
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
`Data.InputArguments` shows what the pipeline actually submitted. If it diverges from the override set, the wire-shape caveat below applies.
|
|
163
|
+
|
|
164
|
+
#### Inference examples
|
|
165
|
+
|
|
166
|
+
| User says | Inferred override |
|
|
167
|
+
|---|---|
|
|
168
|
+
| "Create a pipeline that processes the May 2026 invoice batch" | `BatchDate: "2026-05"` (if `BatchDate` is declared) |
|
|
169
|
+
| "Set it to dry-run mode for now" | `DryRun: true` (if `DryRun` is declared) |
|
|
170
|
+
| "Use the file at /data/inputs/april.csv" | `InputFile: "/data/inputs/april.csv"` (if a path-like parameter is declared) |
|
|
171
|
+
| Nothing about parameters mentioned | `arguments: null` — defaults apply |
|
|
172
|
+
|
|
173
|
+
If a piece of conversation context could match multiple declared parameters, ask the user rather than guessing.
|
|
174
|
+
|
|
175
|
+
#### Asking the user — phrasing
|
|
176
|
+
|
|
177
|
+
For free-form values, ask in a regular chat reply, naming the parameter, its declared type, and the schema default if any:
|
|
178
|
+
|
|
179
|
+
> "The `<my-process>` process declares an `InputFolder` parameter (type `String`, no default). What folder path should the pipeline use?"
|
|
180
|
+
|
|
181
|
+
For choice-like values, present the declared enum options (or `true` / `false` for boolean parameters) and ask the user to pick.
|
|
182
|
+
|
|
183
|
+
#### Wire-shape caveat
|
|
184
|
+
|
|
185
|
+
The SDK types `PipelineDto.arguments` as `any`. The Orchestrator-style key/value shape is the conservative interpretation derived from how `execution get --with-arguments` parses runtime arguments. Some processes may expect a richer envelope (typed argument descriptors, qualified names). When `pipeline process <id>` surfaces a schema in `Arguments`, match that shape exactly. If `pipeline create` rejects the DTO with a parameter-shape error, re-fetch the process detail and align.
|
|
186
|
+
|
|
187
|
+
After the first successful run, `execution get --with-arguments` is ground truth for what the pipeline submitted — treat any divergence as a defect in the override composition, not in the API.
|
|
188
|
+
|
|
189
|
+
## Minimum useful PipelineDto
|
|
190
|
+
|
|
191
|
+
```json
|
|
192
|
+
{
|
|
193
|
+
"name": "<my-pipeline>",
|
|
194
|
+
"runMode": "Manually",
|
|
195
|
+
"description": null,
|
|
196
|
+
"connectionIdentifier": "<CONNECTION_ID>",
|
|
197
|
+
"repositoryId": "<REPOSITORY_REMOTE_ID>",
|
|
198
|
+
"repositoryUrl": "https://github.com/<my-org>/<my-repo>.git",
|
|
199
|
+
"repositoryName": "<my-repo>",
|
|
200
|
+
"repositoryType": "git",
|
|
201
|
+
"branch": "main",
|
|
202
|
+
"projectName": "",
|
|
203
|
+
"projectPath": "<project-dir>/project.json",
|
|
204
|
+
"processIdentifier": "<PROCESS_ID>",
|
|
205
|
+
"arguments": null
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Write to disk at e.g. `./pipeline-<my-pipeline>.json`, then:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
uip aops pipeline create --file ./pipeline-<my-pipeline>.json --output json
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Success returns:
|
|
216
|
+
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"Result": "Success",
|
|
220
|
+
"Code": "PipelineCreated",
|
|
221
|
+
"Data": { "Identifier": "<new-pipeline-id>", "Name": "<my-pipeline>", "Branch": "main" }
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
`Data` is the full persisted PipelineDto. Capture `Data.Identifier`.
|
|
226
|
+
|
|
227
|
+
Optional: `--telemetry-flow-id <id>` adds a server-side correlation id as a query parameter. Only pass it when the user supplies one.
|
|
228
|
+
|
|
229
|
+
## Common create-time errors
|
|
230
|
+
|
|
231
|
+
`--file` is read and parsed before any API client is built, so file errors surface without credentials and without a request.
|
|
232
|
+
|
|
233
|
+
| Error | Cause | Fix |
|
|
234
|
+
|---|---|---|
|
|
235
|
+
| `File not found: <path>` | Wrong path passed to `--file` | Verify the file was actually written before invoking create |
|
|
236
|
+
| `File '<path>' does not contain a JSON object.` | The file holds `null`, a number, a string, or an array | Write a single JSON object |
|
|
237
|
+
| `required option '--file <path>' not specified` (exit 3) | Flag omitted | `create` and `save-and-run` both require `--file` |
|
|
238
|
+
| `"already exists"` / 409 conflict | Pipeline name clashes within the runtime environment | Rename in the JSON file, retry |
|
|
239
|
+
| `"branch '<x>' not found"` | The branch doesn't exist on the mirrored repository | Re-sync the connection, or use `DefaultBranch` |
|
|
240
|
+
| `"process not found"` / 404 on process | Stale `processIdentifier` | Re-run `pipeline processes` — the process may have been removed |
|
|
241
|
+
| `"repository … not found"` | Stale `repositoryId`, or `Identifier` sent where `RemoteId` was needed | Re-run `connection repos` and take `RemoteId` |
|
|
242
|
+
| `Pipelines.Edit` permission error | Current user lacks `Pipelines.Edit` on the active runtime environment | Switch runtime environment via the StudioAdmin UI |
|
|
243
|
+
|
|
244
|
+
## Round-trip editing an existing pipeline
|
|
245
|
+
|
|
246
|
+
To modify a pipeline after create, use the EditPipelineDto round-trip — NOT a new `create`:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# 1. Fetch the editable shape as a raw camelCase DTO on disk
|
|
250
|
+
uip aops pipeline get <pipeline-id> --for-update --output-file ./pipeline-edit.json --output json
|
|
251
|
+
|
|
252
|
+
# 2. Edit ./pipeline-edit.json — name / runMode / description / arguments only
|
|
253
|
+
|
|
254
|
+
# 3. Re-apply
|
|
255
|
+
uip aops pipeline update <pipeline-id> --file ./pipeline-edit.json --output json
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
`--output-file` is what makes this work: it writes the untransformed DTO, while stdout is PascalCased. Capturing stdout instead produces a file `update` rejects.
|
|
259
|
+
|
|
260
|
+
Rules `update` enforces:
|
|
261
|
+
|
|
262
|
+
| Rule | Failure |
|
|
263
|
+
|---|---|
|
|
264
|
+
| Every key in the file must be one of `identifier`, `name`, `runMode`, `description`, `arguments` | `ValidationError`, exit 3, nothing sent. The message names the offending keys and flags case-only mismatches |
|
|
265
|
+
| At least one editable field must be present | `ValidationError`, exit 3 — `carries no EditPipelineDto field to apply` |
|
|
266
|
+
| The file's `identifier`, if set, must match the positional id | `Failure`, exit 1 — `Mismatch: --file declares pipeline '<x>' but the positional id is '<y>'` |
|
|
267
|
+
|
|
268
|
+
Success returns `Code: "PipelineUpdated"` with `Data.Pipeline` — the serialized **request**, not the parsed file, so the envelope can only show what was actually sent.
|
|
269
|
+
|
|
270
|
+
Binding fields (`connectionIdentifier`, `repositoryId`, `branch`, `projectName`, `projectPath`, `processIdentifier`) are NOT editable. To change them, delete and recreate:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
uip aops pipeline delete <pipeline-id> --yes --output json
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
`--yes` is mandatory — the CLI never prompts. Confirm with the user first. Deletion is permanent and does not auto-stop in-flight executions.
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Save-and-Run Guide
|
|
2
|
+
|
|
3
|
+
`uip aops pipeline save-and-run --file` persists a new pipeline AND immediately queues its first execution. One round-trip; returns the persisted pipeline plus the first execution's id.
|
|
4
|
+
|
|
5
|
+
## When to use which verb
|
|
6
|
+
|
|
7
|
+
| Goal | Verb |
|
|
8
|
+
|---|---|
|
|
9
|
+
| Author the pipeline now, run it later | `pipeline create --file` |
|
|
10
|
+
| Author + smoke-run in one step (typical first-time flow) | `pipeline save-and-run --file` |
|
|
11
|
+
| Re-run an existing pipeline | `pipeline run <pipeline-id>` (no file needed) |
|
|
12
|
+
|
|
13
|
+
Both `create` and `save-and-run` need `Pipelines.Edit`; `save-and-run` and `run` additionally need `Pipelines.Run` on the active runtime environment.
|
|
14
|
+
|
|
15
|
+
## Invocation
|
|
16
|
+
|
|
17
|
+
The file is the same `PipelineDto` shape `pipeline create` consumes — camelCase keys. See [pipeline-dto-guide.md](pipeline-dto-guide.md).
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
uip aops pipeline save-and-run --file ./pipeline-<name-kebab>.json --output json
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Success envelope:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"Result": "Success",
|
|
28
|
+
"Code": "PipelineSavedAndRunStarted",
|
|
29
|
+
"Data": {
|
|
30
|
+
"Pipeline": { "Identifier": "<new-pipeline-id>", "Name": "…", "Branch": "main" },
|
|
31
|
+
"ExecutionId": "<execution-id-or-null>"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Capture both:
|
|
37
|
+
|
|
38
|
+
- `Data.Pipeline.Identifier` → future `pipeline run` / `update` / `delete` calls
|
|
39
|
+
- `Data.ExecutionId` → `execution logs --follow` to watch
|
|
40
|
+
|
|
41
|
+
Optional: `--telemetry-flow-id <id>` rides the URL as a correlation query parameter; the body is unchanged. Only pass it when the user supplies one.
|
|
42
|
+
|
|
43
|
+
## Runs are asynchronous
|
|
44
|
+
|
|
45
|
+
The service answers `202` with no body. Neither `run` nor `save-and-run` tells you whether the build succeeded — only that it was queued. `run` echoes back just the pipeline id (`Code: "PipelineRunStarted"`, `Data: {PipelineId}`); `save-and-run` additionally lifts the queued execution's id out of the persisted DTO's `latestPipelineExecution` so the caller can chain straight into `execution logs` without re-listing.
|
|
46
|
+
|
|
47
|
+
Tracking a run to completion is `execution logs --follow`'s job.
|
|
48
|
+
|
|
49
|
+
## Handling `ExecutionId: null`
|
|
50
|
+
|
|
51
|
+
When `ExecutionId` is `null`, the run was queued server-side but the response didn't carry the execution row.
|
|
52
|
+
|
|
53
|
+
Recovery:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
uip aops pipeline executions <new-pipeline-id> --limit 1 --output json
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Returns `Data[0].ExecutionId` for the freshly-queued run. Note `pipeline executions` takes `--limit` / `--offset` only — `--take` does not exist on this verb.
|
|
60
|
+
|
|
61
|
+
## Follow the execution to terminal state
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
uip aops execution logs <execution-id> --follow --output json
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`--follow` polls until the execution reaches a terminal state (`Successful`, `Faulted`, `Stopped`), then emits a final summary envelope on stdout carrying the terminal state and line count.
|
|
68
|
+
|
|
69
|
+
Output routing with `--follow`:
|
|
70
|
+
|
|
71
|
+
- Log lines stream to **stderr** as they arrive, shaped by `--output` (one `Message` object per line under `--output json`).
|
|
72
|
+
- stdout carries only the final envelope.
|
|
73
|
+
- The stream is command output, not a diagnostic — it ignores `--log-level` and is not captured by `--log-file`. Redirect stderr to keep it: `2> build.log`.
|
|
74
|
+
|
|
75
|
+
Flags:
|
|
76
|
+
|
|
77
|
+
| Flag | Default | Notes |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| `--limit <n>` | 200 | Page size for each log fetch |
|
|
80
|
+
| `--poll-interval <ms>` | 2000 | Interval between polls when `--follow` is set |
|
|
81
|
+
| `--timeout <ms>` | 1800000 (30 min) | Maximum time to follow before giving up |
|
|
82
|
+
| `--job-key <key>` | — | Use a JobKey directly, skipping the executionId lookup |
|
|
83
|
+
|
|
84
|
+
`--follow` requires the `<execution-id>` positional — state polling is executionId-keyed, so `--job-key` alone is rejected. Without `--follow`, the verb drains the current log slice and exits, and `--job-key` alone is enough.
|
|
85
|
+
|
|
86
|
+
Units always live in the placeholder (`<ms>`) — there is no `--timeout-ms` flag.
|
|
87
|
+
|
|
88
|
+
## Inspect a single execution
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
uip aops execution get <execution-id> --output json
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Returns the `PipelineExecutionDto` — state, run mode, `JobExecutionIdentifier`, commit info, timing. Reuse `JobExecutionIdentifier` as `--job-key` for `logs` / `details` / `stop` to skip the auto-lookup.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
uip aops execution get <execution-id> --with-arguments --output json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`--with-arguments` does one extra round-trip and merges the parsed runtime input arguments into `Data.InputArguments`. Edge cases, none of which fail the verb:
|
|
101
|
+
|
|
102
|
+
- Runner hasn't picked up the job yet → `InputArguments: null` + a warning
|
|
103
|
+
- Job-details API throws → `InputArguments: null` + a warning
|
|
104
|
+
- The stored value is malformed JSON → falls back to the raw string, no warning
|
|
105
|
+
|
|
106
|
+
## Stop a running execution
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
uip aops execution stop <execution-id> --wait --output json
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Idempotent — stopping an already-terminal execution returns the current state without erroring. `--wait` polls until the execution settles to terminal and reports the final state in `Data`. Defaults: `--poll-interval` 2000, `--timeout` 300000 (5 min). Without `--wait`, the verb returns as soon as the stop is queued.
|
|
113
|
+
|
|
114
|
+
## Not-found detection
|
|
115
|
+
|
|
116
|
+
`execution get` / `logs` / `details` / `stop` all surface `Execution <id> not found.` with actionable Instructions when the execution id is bogus — the CLI checks the response body rather than trusting a `200`. Re-list with `pipeline executions <pipeline-id>` rather than retrying.
|
|
117
|
+
|
|
118
|
+
## Full save-and-run + follow chain
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# 1. Save and run, capture the ids
|
|
122
|
+
RESULT=$(uip aops pipeline save-and-run --file ./pipeline.json --output json)
|
|
123
|
+
PIPELINE_ID=$(echo "$RESULT" | python3 -c "import json,sys;print(json.load(sys.stdin)['Data']['Pipeline']['Identifier'])")
|
|
124
|
+
EXECUTION_ID=$(echo "$RESULT" | python3 -c "import json,sys;d=json.load(sys.stdin)['Data']['ExecutionId'];print(d if d else '')")
|
|
125
|
+
|
|
126
|
+
# 2. Fall back if ExecutionId was null
|
|
127
|
+
if [ -z "$EXECUTION_ID" ]; then
|
|
128
|
+
EXECUTION_ID=$(uip aops pipeline executions "$PIPELINE_ID" --limit 1 --output json \
|
|
129
|
+
| python3 -c "import json,sys;print(json.load(sys.stdin)['Data'][0]['ExecutionId'])")
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
# 3. Follow to terminal state, keeping the streamed lines
|
|
133
|
+
uip aops execution logs "$EXECUTION_ID" --follow --output json 2> build.log
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
`--output-filter` is a lighter alternative when only one field is needed — and `save-and-run` has no defaulted `--limit`, so no explicit `--limit` is required:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
uip aops pipeline save-and-run --file ./pipeline.json --output json --output-filter "Data.ExecutionId"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
The same shortcut on `pipeline executions` DOES need an explicit `--limit`, because that verb's `--limit` has a declared default:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
uip aops pipeline executions "$PIPELINE_ID" --limit 1 --output json --output-filter "Data[0].ExecutionId"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Stop conditions
|
|
149
|
+
|
|
150
|
+
| Command | `--poll-interval` default | `--timeout` default |
|
|
151
|
+
|---|---|---|
|
|
152
|
+
| `execution logs --follow` | 2000 | 1800000 (30 min) |
|
|
153
|
+
| `execution stop --wait` | 2000 | 300000 (5 min) |
|
|
154
|
+
| `connection sync --wait` | 2000 | 300000 (5 min) |
|
|
155
|
+
|
|
156
|
+
When a follow times out, report the last known state to the user and hand them the `execution get <id>` command — do not silently re-follow.
|