@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,241 @@
|
|
|
1
|
+
# Transform Node — Implementation
|
|
2
|
+
|
|
3
|
+
## Node Types and Registry Validation
|
|
4
|
+
|
|
5
|
+
Supported node types:
|
|
6
|
+
|
|
7
|
+
- `core.action.transform` — generic; chains operations
|
|
8
|
+
- `core.action.transform.filter` — filter only
|
|
9
|
+
- `core.action.transform.map` — map only
|
|
10
|
+
- `core.action.transform.group-by` — group-by only
|
|
11
|
+
|
|
12
|
+
Run:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
uip maestro flow registry get core.action.transform --output json
|
|
16
|
+
uip maestro flow registry get core.action.transform.filter --output json
|
|
17
|
+
uip maestro flow registry get core.action.transform.map --output json
|
|
18
|
+
uip maestro flow registry get core.action.transform.group-by --output json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Confirm each definition has input port `input`, output ports `output` and `error`, and required inputs `collection` and `operations`. Set each instance's `typeVersion` to the matching response's `version`; do not hardcode it.
|
|
22
|
+
|
|
23
|
+
For add, delete, and wiring procedures, see [editing-operations.md](../../editing-operations.md). Use the node-specific `inputs` and `model` structures below.
|
|
24
|
+
|
|
25
|
+
Every transform uses this output schema:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
"outputs": {
|
|
29
|
+
"output": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"description": "The return value of the transform",
|
|
32
|
+
"source": "=result.response",
|
|
33
|
+
"var": "output"
|
|
34
|
+
},
|
|
35
|
+
"error": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"description": "Error information if the transform fails",
|
|
38
|
+
"source": "=Error",
|
|
39
|
+
"var": "error"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Collection Input and Output Shape
|
|
45
|
+
|
|
46
|
+
`inputs.collection` is a transform-specific path containing the array. Use a plain path:
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
"collection": "$vars.orders.output.items"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Never use `=js:` or an inline array literal:
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
"collection": "=js:$vars.orders.output.items"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
"collection": "=js:[{\"title\":\"Example\"}]"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The runtime resolves the path as a lookup such as `vars.orders.output.items`; `=js:` and inline JSON/JS literals resolve to an empty collection. For static data, put the array in a workflow variable `defaultValue` or emit it from an upstream static-data/script node, then reference that variable or node output.
|
|
63
|
+
|
|
64
|
+
A transform's `$vars.<transformNode>.output` is a bare array: filter returns surviving elements, map returns mapped elements, and group-by returns group objects (`{<groupByField>, <alias>…}`). Chain transforms from `.output`, never `.output.items`; `.items` becomes `undefined` and silently yields empty input. `.items`/`.body.items` below refer only to HTTP-body or variable shapes.
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
"collection": "$vars.filterHighViewDays.output"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
In a Script node, read an element field as `$vars.groupByNode.output[0].totalViews`.
|
|
71
|
+
|
|
72
|
+
## Generic Transform (`core.action.transform`)
|
|
73
|
+
|
|
74
|
+
Operations run in order; each feeds the next.
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"id": "transformChain",
|
|
79
|
+
"type": "core.action.transform",
|
|
80
|
+
"typeVersion": "<DEFINITION_VERSION>",
|
|
81
|
+
"display": { "label": "Process Employees" },
|
|
82
|
+
"inputs": {
|
|
83
|
+
"collection": "$vars.fetchData.output.body.employees",
|
|
84
|
+
"operations": [
|
|
85
|
+
{
|
|
86
|
+
"id": "op1", "type": "filter",
|
|
87
|
+
"config": {
|
|
88
|
+
"operation": "and",
|
|
89
|
+
"filters": [
|
|
90
|
+
{ "id": "f1", "field": "active", "condition": "equals", "value": true }
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "op2", "type": "map",
|
|
96
|
+
"config": {
|
|
97
|
+
"keepOriginalFields": false,
|
|
98
|
+
"mappings": [
|
|
99
|
+
{ "id": "m1", "field": "name", "transformation": "uppercase", "renameTo": "fullName" },
|
|
100
|
+
{ "id": "m2", "field": "salary", "transformation": "copy", "renameTo": "" }
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"outputs": {
|
|
107
|
+
"output": { "type": "object", "description": "The return value of the transform", "source": "=result.response", "var": "output" },
|
|
108
|
+
"error": { "type": "object", "description": "Error information if the transform fails", "source": "=Error", "var": "error" }
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Filter (`core.action.transform.filter`)
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
{
|
|
117
|
+
"id": "filterActive",
|
|
118
|
+
"type": "core.action.transform.filter",
|
|
119
|
+
"typeVersion": "<DEFINITION_VERSION>",
|
|
120
|
+
"display": { "label": "Filter Active Orders" },
|
|
121
|
+
"inputs": {
|
|
122
|
+
"collection": "$vars.orders.output.items",
|
|
123
|
+
"operations": [
|
|
124
|
+
{
|
|
125
|
+
"id": "op1", "type": "filter",
|
|
126
|
+
"config": {
|
|
127
|
+
"operation": "and",
|
|
128
|
+
"filters": [
|
|
129
|
+
{ "id": "f1", "field": "status", "condition": "equals", "value": "active" },
|
|
130
|
+
{ "id": "f2", "field": "amount", "condition": "greater_equal", "value": 100 }
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
"outputs": {
|
|
137
|
+
"output": { "type": "object", "description": "The return value of the transform", "source": "=result.response", "var": "output" },
|
|
138
|
+
"error": { "type": "object", "description": "Error information if the transform fails", "source": "=Error", "var": "error" }
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Conditions: `equals`, `not_equals`, `greater_than`, `less_than`, `greater_equal`, `less_equal`, `contains`, `starts_with`, `ends_with`, `is_null`, `is_not_null`.
|
|
144
|
+
|
|
145
|
+
Operations: `and` (all conditions), `or` (any condition).
|
|
146
|
+
|
|
147
|
+
`filter.value` is literal-only. It does not evaluate `$vars`, `=js:`, or brace templates; `"$vars.threshold"`, `"=js:$vars.threshold"`, and `"{$vars.threshold}"` are compared as literal strings and silently produce an empty result. Use literal scalars such as `500`, `"active"`, or `true`. For dynamic thresholds, filter in a [Script](../script/impl.md) node or hoist the literal into the flow design. `field` accepts dot-paths such as `order.amount`.
|
|
148
|
+
|
|
149
|
+
## Map (`core.action.transform.map`)
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"id": "mapFields",
|
|
154
|
+
"type": "core.action.transform.map",
|
|
155
|
+
"typeVersion": "<DEFINITION_VERSION>",
|
|
156
|
+
"display": { "label": "Normalize Names" },
|
|
157
|
+
"inputs": {
|
|
158
|
+
"collection": "$vars.rawData.output.items",
|
|
159
|
+
"operations": [
|
|
160
|
+
{
|
|
161
|
+
"id": "op1", "type": "map",
|
|
162
|
+
"config": {
|
|
163
|
+
"keepOriginalFields": false,
|
|
164
|
+
"mappings": [
|
|
165
|
+
{ "id": "m1", "field": "firstName", "transformation": "uppercase", "renameTo": "name" },
|
|
166
|
+
{ "id": "m2", "field": "email", "transformation": "lowercase", "renameTo": "" },
|
|
167
|
+
{ "id": "m3", "field": "dept", "transformation": "copy", "renameTo": "department" }
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
"outputs": {
|
|
174
|
+
"output": { "type": "object", "description": "The return value of the transform", "source": "=result.response", "var": "output" },
|
|
175
|
+
"error": { "type": "object", "description": "Error information if the transform fails", "source": "=Error", "var": "error" }
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Transformations: `copy`, `uppercase`, `lowercase`, `trim`.
|
|
181
|
+
|
|
182
|
+
`keepOriginalFields: false` outputs only mapped fields; `true` passes through unmapped fields. `renameTo` changes the field name; `""` keeps the original name.
|
|
183
|
+
|
|
184
|
+
## Group By (`core.action.transform.group-by`)
|
|
185
|
+
|
|
186
|
+
```json
|
|
187
|
+
{
|
|
188
|
+
"id": "groupByDept",
|
|
189
|
+
"type": "core.action.transform.group-by",
|
|
190
|
+
"typeVersion": "<DEFINITION_VERSION>",
|
|
191
|
+
"display": { "label": "Group by Department" },
|
|
192
|
+
"inputs": {
|
|
193
|
+
"collection": "$vars.employees.output.items",
|
|
194
|
+
"operations": [
|
|
195
|
+
{
|
|
196
|
+
"id": "op1", "type": "groupBy",
|
|
197
|
+
"config": {
|
|
198
|
+
"groupByField": "department",
|
|
199
|
+
"aggregations": [
|
|
200
|
+
{ "id": "a1", "field": "", "operation": "count", "alias": "headcount" },
|
|
201
|
+
{ "id": "a2", "field": "salary", "operation": "sum", "alias": "totalSalary" },
|
|
202
|
+
{ "id": "a3", "field": "salary", "operation": "average", "alias": "avgSalary" },
|
|
203
|
+
{ "id": "a4", "field": "salary", "operation": "min", "alias": "minSalary" },
|
|
204
|
+
{ "id": "a5", "field": "salary", "operation": "max", "alias": "maxSalary" },
|
|
205
|
+
{ "id": "a6", "field": "name", "operation": "collect", "alias": "names" },
|
|
206
|
+
{ "id": "a7", "field": "name", "operation": "first", "alias": "firstHire" }
|
|
207
|
+
]
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
]
|
|
211
|
+
},
|
|
212
|
+
"outputs": {
|
|
213
|
+
"output": { "type": "object", "description": "The return value of the transform", "source": "=result.response", "var": "output" },
|
|
214
|
+
"error": { "type": "object", "description": "Error information if the transform fails", "source": "=Error", "var": "error" }
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Aggregation operations:
|
|
220
|
+
|
|
221
|
+
| Operation | Description | `field` required |
|
|
222
|
+
| --- | --- | --- |
|
|
223
|
+
| `count` | Number of items in group | No |
|
|
224
|
+
| `sum` | Sum of numeric field | Yes |
|
|
225
|
+
| `average` | Average of numeric field | Yes |
|
|
226
|
+
| `min` | Minimum value | Yes |
|
|
227
|
+
| `max` | Maximum value | Yes |
|
|
228
|
+
| `collect` | Array of all field values | Yes |
|
|
229
|
+
| `first` | First item's field value | Yes |
|
|
230
|
+
| `last` | Last item's field value | Yes |
|
|
231
|
+
|
|
232
|
+
## Debug
|
|
233
|
+
|
|
234
|
+
| Error | Cause | Fix |
|
|
235
|
+
| --- | --- | --- |
|
|
236
|
+
| Filter passes all items through | Wrong condition name, such as `greater` instead of `greater_than` | Use exact names: `equals`, `not_equals`, `greater_than`, `less_than`, `greater_equal`, `less_equal`, `contains`, `starts_with`, `ends_with`, `is_null`, `is_not_null` |
|
|
237
|
+
| Filter silently returns empty array | `value` contains an unresolved expression; Transform compares it as a literal string | Use a literal scalar such as `"value": 500`; for dynamic thresholds, use a Script node |
|
|
238
|
+
| Collection is null/empty | `collection` uses `=js:` or an inline array literal | Use a plain path such as `"$vars.loadCatalog.output.catalog"` or `"$vars.catalog"`; store static arrays in a variable default or upstream node |
|
|
239
|
+
| Map output missing fields | `keepOriginalFields: false` and the field is unmapped | Add the field to mappings or set `keepOriginalFields: true` |
|
|
240
|
+
| GroupBy produces empty groups | No items match `groupByField` | Check that `groupByField` matches the actual data fields |
|
|
241
|
+
| Chained transform gets empty input although upstream had rows | Used `$vars.<transform>.output.items`; transform output is a bare array | Use `$vars.<transform>.output`; see [Output Shape](#collection-input-and-output-shape) |
|
|
@@ -29,7 +29,7 @@ All transform variants share the same port layout:
|
|
|
29
29
|
| --- | --- |
|
|
30
30
|
| `input` | `output`, `error` |
|
|
31
31
|
|
|
32
|
-
The `error` port is the implicit error port shared with all action nodes — see [Implicit error port on action nodes](
|
|
32
|
+
The `error` port is the implicit error port shared with all action nodes — see [Implicit error port on action nodes](../../../shared/file-format.md#implicit-error-port-on-action-nodes).
|
|
33
33
|
|
|
34
34
|
## Output Variables
|
|
35
35
|
|
|
@@ -1,69 +1,71 @@
|
|
|
1
1
|
# Diagnose — Investigate failed or misbehaving flow runs
|
|
2
2
|
|
|
3
|
-
Capability index for postmortem on a failed `flow debug` or deployed process run. Diagnose owns the diagnostic priority ladder (incidents → runtime variables → flow correlation → traces) and
|
|
3
|
+
Capability index for postmortem on a failed `flow debug` or deployed process run. Diagnose owns the diagnostic priority ladder (incidents → runtime variables → flow correlation → traces) and recurring failure modes (missing `=js:`, misshapen nodes, HITL-stuck, reused reference IDs, single-nested layout). Requires `uip login`.
|
|
4
4
|
|
|
5
|
-
> **
|
|
5
|
+
> **Navigation.** Diagnose follows Operate when a run faults and points to Author for the fix. Re-running and lifecycle are in [operate/CAPABILITY.md](../operate/CAPABILITY.md); building or editing `.flow` files is in [author/CAPABILITY.md](../author/CAPABILITY.md).
|
|
6
6
|
>
|
|
7
|
-
> **
|
|
7
|
+
> **Inherited rules:** use `--output json` and prefer `--output-filter` for extraction; do not run `flow debug` without consent; never invoke other skills automatically; use the dropdown question pattern; provide plain-English narration and a granular progress list only when the user asks for verbosity, and remain silent by default. These rules apply in addition to the rules below.
|
|
8
8
|
|
|
9
9
|
## When to use this capability
|
|
10
10
|
|
|
11
|
-
- Triage a failed `flow debug` or deployed process run
|
|
12
|
-
- Read incidents
|
|
13
|
-
- Inspect runtime
|
|
14
|
-
- Map a faulting element ID
|
|
15
|
-
- Stream verbose
|
|
16
|
-
- Recognize known
|
|
11
|
+
- Triage a failed `flow debug` or deployed process run.
|
|
12
|
+
- Read incidents for the error category, message, and faulting element.
|
|
13
|
+
- Inspect runtime variables at failure time.
|
|
14
|
+
- Map a faulting element ID to a `.flow` node.
|
|
15
|
+
- Stream verbose execution traces.
|
|
16
|
+
- Recognize known failures, including missing `=js:` and format skips.
|
|
17
17
|
|
|
18
18
|
## Critical rules
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
0. **Read the faulted `flow debug` response before any other call — never re-run debug to "see the error again".** See [troubleshooting-guide.md — Step 0](troubleshooting-guide.md#step-0--read-the-cause-in-the-debug-output-you-already-have).
|
|
21
|
+
1. **Investigate in order: incidents → variables → flow correlation → traces.** Stop when the root cause is identified; traces are verbose and last-resort. See [troubleshooting-guide.md](troubleshooting-guide.md).
|
|
22
|
+
2. **Always include `--folder-key <FOLDER_KEY>` (`-f` shorthand) on `instance` and `incident get` commands.** Run `uip or folders list --output json` to obtain the folder key, or obtain it from the job/process context. See [shared/cli-conventions.md](../shared/cli-conventions.md#6---folder-key-requirement).
|
|
23
|
+
3. **Never call underlying APIs directly.** Run supported `uip` CLI commands; `instance` and `incident` are the diagnostic surface.
|
|
24
|
+
4. **When the local `.flow` may differ from the deployed BPMN, fetch the deployed asset.** Run `uip maestro flow instance asset <INSTANCE_ID> --folder-key <FOLDER_KEY> --output json` and correlate against what actually ran.
|
|
24
25
|
|
|
25
26
|
## Workflow
|
|
26
27
|
|
|
27
28
|
| Journey | Read |
|
|
28
29
|
| --- | --- |
|
|
29
|
-
| Triage a failed run (priority ladder) | [troubleshooting-guide.md](
|
|
30
|
-
| Look up a known failure mode | [failure-modes.md](
|
|
30
|
+
| Triage a failed run (priority ladder) | [troubleshooting-guide.md](troubleshooting-guide.md) |
|
|
31
|
+
| Look up a known failure mode | [failure-modes.md](failure-modes.md) |
|
|
31
32
|
|
|
32
33
|
## Common tasks
|
|
33
34
|
|
|
34
|
-
|
|
|
35
|
+
| Need | Read |
|
|
35
36
|
| --- | --- |
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
37
|
+
| Triage a failed flow run | [troubleshooting-guide.md](troubleshooting-guide.md) |
|
|
38
|
+
| Read the cause out of a faulted `flow debug` response | [troubleshooting-guide.md — Step 0](troubleshooting-guide.md#step-0--read-the-cause-in-the-debug-output-you-already-have) |
|
|
39
|
+
| Find the error message and faulting element | [troubleshooting-guide.md — Step 2 Fetch incidents](troubleshooting-guide.md#step-2--fetch-incidents) |
|
|
40
|
+
| See data state at failure time | [troubleshooting-guide.md — Step 3 Fetch runtime variable state](troubleshooting-guide.md#step-3--fetch-runtime-variable-state) |
|
|
41
|
+
| Map a faulting element ID to a `.flow` node | [troubleshooting-guide.md — Step 4 Correlate with the flow definition](troubleshooting-guide.md#step-4--correlate-with-the-flow-definition) |
|
|
42
|
+
| Pull verbose execution timeline | [troubleshooting-guide.md — Step 5 Traces](troubleshooting-guide.md#step-5--traces-last-resort) |
|
|
43
|
+
| Identify a `vars.X.output.Y` literal-string failure | [failure-modes.md — `=js:` prefix missing](failure-modes.md#js-prefix-missing) |
|
|
44
|
+
| Identify misshapen Studio Web nodes | [failure-modes.md — misshapen nodes](failure-modes.md#misshapen-rectangle-nodes-in-studio-web) |
|
|
45
|
+
| Diagnose a hung HITL node | [failure-modes.md — HITL `completed` port unwired](failure-modes.md#hitl-completed-port-unwired) |
|
|
46
|
+
| Diagnose a connector silent fault | [failure-modes.md — Reused reference ID](failure-modes.md#reused-reference-id--cross-connection-id-leakage) |
|
|
47
|
+
| Diagnose a publish/upload structural error | [failure-modes.md — Single-nested layout](failure-modes.md#single-nested-layout) |
|
|
48
|
+
| Diagnose `Folder does not exist` on a resource node | [failure-modes.md — Missing `bindings[]` on resource node](failure-modes.md#missing-bindings-on-resource-node) |
|
|
49
|
+
| Triage "validate passes, debug faults" | [failure-modes.md — `flow validate` passes, `flow debug` faults](failure-modes.md#flow-validate-passes-flow-debug-faults) |
|
|
50
|
+
| Look up `instance` / `incident` CLI syntax | [shared/cli-commands.md](../shared/cli-commands.md) + [troubleshooting-guide.md — CLI command reference](troubleshooting-guide.md#cli-command-reference) |
|
|
49
51
|
|
|
50
52
|
## Anti-patterns
|
|
51
53
|
|
|
52
|
-
- **
|
|
53
|
-
- **
|
|
54
|
-
- **
|
|
55
|
-
- **
|
|
54
|
+
- **Do not start with traces.** Start with incidents (Step 2), then variables, flow correlation, and traces only if needed.
|
|
55
|
+
- **Do not call underlying APIs directly.** Run `uip maestro flow instance` / `incident` / `job` subcommands.
|
|
56
|
+
- **Do not assume the local `.flow` matches the deployed BPMN.** If a republish, branch, or solution-version difference is possible, run `instance asset` before correlating IDs.
|
|
57
|
+
- **Do not omit `--folder-key`** from `instance` or `incident get`; the command rejects the request before reaching the API.
|
|
56
58
|
|
|
57
59
|
## References
|
|
58
60
|
|
|
59
61
|
### Diagnose-scoped
|
|
60
62
|
|
|
61
|
-
- [troubleshooting-guide.md](
|
|
62
|
-
- [failure-modes.md](
|
|
63
|
+
- [troubleshooting-guide.md](troubleshooting-guide.md) — diagnostic priority ladder (incidents → variables → flow correlation → traces) and full `instance` / `incident` CLI reference
|
|
64
|
+
- [failure-modes.md](failure-modes.md) — recurring failures: missing `=js:`, misshapen nodes, HITL-stuck, reused reference IDs, single-nested layout, and "validate passes / debug faults"
|
|
63
65
|
|
|
64
66
|
### Cross-capability (shared)
|
|
65
67
|
|
|
66
68
|
- [shared/cli-commands.md](../shared/cli-commands.md) — flat CLI lookup including `instance` / `incident` / `job` subcommands
|
|
67
69
|
- [shared/cli-conventions.md](../shared/cli-conventions.md) — `--folder-key` requirement, login state, JSON output shape
|
|
68
|
-
- [shared/file-format.md](../shared/file-format.md) —
|
|
69
|
-
- [shared/node-output-wiring.md](../shared/node-output-wiring.md) — referenced from
|
|
70
|
+
- [shared/file-format.md](../shared/file-format.md) — correlate faulting element IDs to `.flow` nodes
|
|
71
|
+
- [shared/node-output-wiring.md](../shared/node-output-wiring.md) — referenced from the `=js:` prefix-missing failure mode
|
|
@@ -8,19 +8,19 @@ Lookup table for known recurring failure modes in Maestro Flow projects. Each en
|
|
|
8
8
|
|
|
9
9
|
| Pattern | Symptom | Cause |
|
|
10
10
|
|---|---|---|
|
|
11
|
-
| [
|
|
12
|
-
| [
|
|
13
|
-
| [
|
|
11
|
+
| [`=js:` prefix missing](#js-prefix-missing) | Activity input bound to literal string `"vars.X.output.Y"` | Missing `=js:` prefix on a `$vars` reference. `flow validate` catches this — pre-`expression-prefix-validator` cli still ships the literal at runtime. |
|
|
12
|
+
| [`variables.nodes[]` missing](#variablesnodes-missing--varsxoutput-resolves-to-undefined) | `Cannot read property 'output' of undefined` on a downstream node | Direct-authored `.flow` skipped `variables.nodes[]`; `flow validate` accepts it but the BPMN has no process-level variable declaration for the upstream node. |
|
|
13
|
+
| [Misshapen nodes in Studio Web](#misshapen-rectangle-nodes-in-studio-web) | Nodes render at the wrong size for their shape | `flow format` not run before publish |
|
|
14
14
|
| [HITL `completed` port unwired](#hitl-completed-port-unwired) | Flow hangs indefinitely after a HITL node | No outgoing edge from the node's `completed` source port |
|
|
15
15
|
| [Run reports `Completed`, work not done](#run-reports-completed-but-the-work-never-happened) | Run finishes `Completed`, but the API call / node it depended on failed | `inputs.errorHandlingEnabled: true` on a node with no handler, or an `error` edge routed back into the happy path |
|
|
16
16
|
| [Reused reference ID](#reused-reference-id--cross-connection-id-leakage) | Connector node faults silently at runtime | Reference ID copied from a prior flow's connection |
|
|
17
17
|
| [Single-nested layout](#single-nested-layout) | Studio Web upload fails; `flow init` auto-registration is skipped | `uip maestro flow init` was run with `--skip-solution-registration` (opts out of auto-scaffold + registration) |
|
|
18
18
|
| [Missing `bindings[]` on resource node](#missing-bindings-on-resource-node) | `Folder does not exist or the user does not have access to the folder` | Top-level `bindings[]` entries not added for a `uipath.core.*` resource node |
|
|
19
|
-
| [`flow validate` passes, `flow debug` faults](#flow-validate-passes-flow-debug-faults) | Local validation green, cloud run red | Multiple causes — narrower than before (
|
|
19
|
+
| [`flow validate` passes, `flow debug` faults](#flow-validate-passes-flow-debug-faults) | Local validation green, cloud run red | Multiple causes — narrower than before (the missing-`=js:` validator + expression-ref linting now catch a large slice statically). See entry for the residual triage path. |
|
|
20
20
|
|
|
21
21
|
---
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## `=js:` prefix missing
|
|
24
24
|
|
|
25
25
|
### Symptom
|
|
26
26
|
|
|
@@ -51,11 +51,11 @@ Do **not** add `=js:` to condition expressions (decision `expression`, switch ca
|
|
|
51
51
|
|
|
52
52
|
### Reference
|
|
53
53
|
|
|
54
|
-
[shared/node-output-wiring.md](
|
|
54
|
+
[shared/node-output-wiring.md](../shared/node-output-wiring.md) — canonical per-node-type field reference.
|
|
55
55
|
|
|
56
56
|
---
|
|
57
57
|
|
|
58
|
-
##
|
|
58
|
+
## `variables.nodes[]` missing → `$vars.X.output` resolves to undefined
|
|
59
59
|
|
|
60
60
|
### Symptom
|
|
61
61
|
|
|
@@ -69,7 +69,7 @@ This happens almost exclusively on **direct-authored** `.flow` files: `uip maest
|
|
|
69
69
|
|
|
70
70
|
### Fix
|
|
71
71
|
|
|
72
|
-
Run `uip maestro flow format <ProjectName>.flow --output json`.
|
|
72
|
+
Run `uip maestro flow format <ProjectName>.flow --output json`. Current CLI versions regenerate `variables.nodes[]` from `nodes[]` + `definitions[]` (matching `node add` and canvas behavior). On older CLI versions, add the entries manually:
|
|
73
73
|
|
|
74
74
|
```json
|
|
75
75
|
"variables": {
|
|
@@ -92,11 +92,11 @@ One entry per declared output (trigger nodes: `output` only; action nodes: `outp
|
|
|
92
92
|
|
|
93
93
|
### Reference
|
|
94
94
|
|
|
95
|
-
[shared/file-format.md — Node outputs](
|
|
95
|
+
[shared/file-format.md — Node outputs](../shared/file-format.md#node-outputs), [author/CAPABILITY.md rule #14](../author/CAPABILITY.md), [editing-operations-json.md — Pre-flight Checklist step 5–6](../author/editing-operations-json.md#pre-flight-checklist).
|
|
96
96
|
|
|
97
97
|
---
|
|
98
98
|
|
|
99
|
-
##
|
|
99
|
+
## Misshapen rectangle nodes in Studio Web
|
|
100
100
|
|
|
101
101
|
### Symptom
|
|
102
102
|
|
|
@@ -123,7 +123,7 @@ Format:
|
|
|
123
123
|
|
|
124
124
|
### Reference
|
|
125
125
|
|
|
126
|
-
[author capability](
|
|
126
|
+
[author capability](../author/CAPABILITY.md) — see "Always run `flow format` after edits" in critical rules; [shared/cli-commands.md — uip maestro flow format](../shared/cli-commands.md#uip-maestro-flow-format).
|
|
127
127
|
|
|
128
128
|
---
|
|
129
129
|
|
|
@@ -143,7 +143,7 @@ Add an edge from the HITL node's `completed` port to the next node in the flow.
|
|
|
143
143
|
|
|
144
144
|
### Reference
|
|
145
145
|
|
|
146
|
-
[Author HITL plugin reference](
|
|
146
|
+
[Author HITL plugin reference](../author/plugins/hitl/impl.md) — full HITL node reference including port wiring requirements.
|
|
147
147
|
|
|
148
148
|
---
|
|
149
149
|
|
|
@@ -209,8 +209,8 @@ Re-run `uip maestro flow validate` and `uip maestro flow format` after either fi
|
|
|
209
209
|
|
|
210
210
|
### Reference
|
|
211
211
|
|
|
212
|
-
- [shared/file-format.md — Default: off](
|
|
213
|
-
- [Author capability — rule #16](
|
|
212
|
+
- [shared/file-format.md — Default: off](../shared/file-format.md#default-off--enable-only-for-a-failure-the-flow-actually-handles) and [Do not swallow the failure](../shared/file-format.md#do-not-swallow-the-failure)
|
|
213
|
+
- [Author capability — rule #16](../author/CAPABILITY.md#critical-rules)
|
|
214
214
|
|
|
215
215
|
---
|
|
216
216
|
|
|
@@ -240,8 +240,8 @@ uip is resources run list <connector-key> <objectName> --connection-id <CURRENT_
|
|
|
240
240
|
|
|
241
241
|
### Reference
|
|
242
242
|
|
|
243
|
-
- [Author connector plugin — Step 4](
|
|
244
|
-
- [Author connector-trigger plugin — Step 3](
|
|
243
|
+
- [Author connector plugin — Step 4](../author/plugins/connector/impl.md)
|
|
244
|
+
- [Author connector-trigger plugin — Step 3](../author/plugins/connector-trigger/impl.md)
|
|
245
245
|
|
|
246
246
|
---
|
|
247
247
|
|
|
@@ -280,7 +280,7 @@ If the absolute path doesn't exist, the `init` step was wrong — do not try to
|
|
|
280
280
|
|
|
281
281
|
### Reference
|
|
282
282
|
|
|
283
|
-
[Author greenfield journey — Step 2](
|
|
283
|
+
[Author greenfield journey — Step 2](../author/greenfield.md) — the canonical scaffold sequence.
|
|
284
284
|
|
|
285
285
|
---
|
|
286
286
|
|
|
@@ -304,11 +304,11 @@ For `uipath.core.*` resource nodes (rpa, agent, flow, agentic-process, api-workf
|
|
|
304
304
|
|
|
305
305
|
### Fix
|
|
306
306
|
|
|
307
|
-
Add two entries to the top-level `bindings[]` array per resource node — `name` and `folderPath` — with `resourceKey` matching the definition's `model.bindings.resourceKey`. See the relevant resource plugin's `impl.md` for the exact shape ([rpa](
|
|
307
|
+
Add two entries to the top-level `bindings[]` array per resource node — `name` and `folderPath` — with `resourceKey` matching the definition's `model.bindings.resourceKey`. See the relevant resource plugin's `impl.md` for the exact shape ([rpa](../author/plugins/rpa/impl.md), [agent](../author/plugins/agent/impl.md), [flow](../author/plugins/flow/impl.md), [agentic-process](../author/plugins/agentic-process/impl.md), [api-workflow](../author/plugins/api-workflow/impl.md), [hitl](../author/plugins/hitl/impl.md)).
|
|
308
308
|
|
|
309
309
|
### Reference
|
|
310
310
|
|
|
311
|
-
[shared/file-format.md — Bindings](
|
|
311
|
+
[shared/file-format.md — Bindings](../shared/file-format.md#bindings--orchestrator-resource-bindings-top-level-bindings)
|
|
312
312
|
|
|
313
313
|
---
|
|
314
314
|
|
|
@@ -324,8 +324,8 @@ Multiple. `flow validate` runs a JSON schema check, cross-reference checks, expr
|
|
|
324
324
|
|
|
325
325
|
**Caught** (validate exits non-zero, with a precise field path and remediation hint):
|
|
326
326
|
|
|
327
|
-
- Missing `=js:` prefix on `$vars`/`$metadata`/`$self`
|
|
328
|
-
- Invented `nodes.<id>.output.<...>` syntax (
|
|
327
|
+
- Missing `=js:` prefix on `$vars`/`$metadata`/`$self` — emitted by cli-side `expression-prefix-validator`
|
|
328
|
+
- Invented `nodes.<id>.output.<...>` syntax (same failure class) — same validator, suggests `=js:$vars.<id>.output.<...>` as the fix
|
|
329
329
|
- References to unknown variable IDs or node IDs in `=js:` expressions (`EXPR_UNRESOLVED_REF`) — flow-schema `expression-ref` rule
|
|
330
330
|
- Output-path walks that descend into a declared primitive (`type: "string"` etc.) or a schema closed with `additionalProperties: false` (`EXPR_INVALID_OUTPUT_PATH`) — flow-schema `expression-ref` rule
|
|
331
331
|
- Missing End-node output mappings for declared `out` variables (`MISSING_OUTPUT_MAPPING`, **warning** severity) — flow-schema `output-mapping` rule
|
|
@@ -336,7 +336,7 @@ Multiple. `flow validate` runs a JSON schema check, cross-reference checks, expr
|
|
|
336
336
|
- Reused reference IDs → see [Reused reference ID](#reused-reference-id--cross-connection-id-leakage)
|
|
337
337
|
- Missing top-level `bindings[]` entries on resource nodes → see [Missing `bindings[]` on resource node](#missing-bindings-on-resource-node)
|
|
338
338
|
- HITL `completed` port unwired → see [HITL `completed` port unwired](#hitl-completed-port-unwired)
|
|
339
|
-
- Stale `layout` data → see [
|
|
339
|
+
- Stale `layout` data → see [Misshapen rectangle nodes](#misshapen-rectangle-nodes-in-studio-web) (cosmetic, not faulting)
|
|
340
340
|
- Output-path walks against **open** output schemas — HTTP response bodies, script returns, free-text agent output. The deep-path walker is permissive by design: it skips when the producer's schema doesn't authoritatively declare the field's structure, so e.g. `=js:$vars.fetchWeather.output.body.current_weather` against an HTTP node that declares only `output: { type: "object" }` passes validate and faults only when the runtime response doesn't have that path.
|
|
341
341
|
- Wrong-direction reads (reading an `out`-only variable) — currently a runtime concern; the direction discriminator isn't yet threaded into the validator context.
|
|
342
342
|
|
|
@@ -8,11 +8,70 @@ Diagnostic workflow for failed debug runs and deployed process runs. All command
|
|
|
8
8
|
|
|
9
9
|
Investigate in this order — each step adds context, stop when you have enough to diagnose the root cause:
|
|
10
10
|
|
|
11
|
+
0. The failed `flow debug` response you already have (incident + fault detail, no extra call)
|
|
11
12
|
1. Incidents (error message + faulting element)
|
|
12
13
|
2. Runtime variables (data state at failure)
|
|
13
14
|
3. Flow definition correlation (map element to `.flow` node)
|
|
14
15
|
4. Traces (last resort — verbose full timeline)
|
|
15
16
|
|
|
17
|
+
## Step 0 — Read the cause in the debug output you already have
|
|
18
|
+
|
|
19
|
+
A faulted `uip maestro flow debug` response already carries the incident and the fault detail. **Do not re-run `flow debug` before you read them.** An unchanged re-run re-uploads the solution and repeats the same fault against real systems.
|
|
20
|
+
|
|
21
|
+
The response can exceed 200,000 characters. `"Result": "Failure"` and `Context.ErrorCode` (the numeric incident code) sit in the first 1,000 characters; the cause sits tens of thousands of characters deeper. Reading the head of the output and stopping tells you that the run failed, not why. Never report a faulted run as "incomplete" — report the fault code and the detail.
|
|
22
|
+
|
|
23
|
+
Two fields hold the cause:
|
|
24
|
+
|
|
25
|
+
| Field | JSON path |
|
|
26
|
+
|---|---|
|
|
27
|
+
| Fault code + faulting element | `Data.incidents[].dependentFaultCode`, `.elementId`, `.errorCode`, `.errorDetails` |
|
|
28
|
+
| Fault detail (the real message) | `Data.variables.elements[].outputs.Error.detail`, `.code` |
|
|
29
|
+
|
|
30
|
+
### Redirect stdout to a file, then extract
|
|
31
|
+
|
|
32
|
+
Logs go to stderr and JSON to stdout, so redirect stdout to keep the full response. Keep stderr visible — on a poll-budget overrun it carries the only instanceId (see [cli-conventions.md §7](../shared/cli-conventions.md#7-use-uip_log_levelinfo-for-debug-runs)).
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
UIP_LOG_LEVEL=info uip maestro flow debug <PROJECT_DIR> --output json > /tmp/flow-debug.json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Wait for the process to exit before reading the file. `flow debug` prints its JSON only when it exits, so an empty file means the run is still going — see [operate/run.md — Debug](../operate/run.md#debug--controlled-end-to-end-run).
|
|
39
|
+
|
|
40
|
+
Extract both fields:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
jq -r '.Data.incidents[] | "\(.elementId) \(.errorCode) \(.dependentFaultCode) \(.errorDetails)"' /tmp/flow-debug.json
|
|
44
|
+
jq -r '.Data.variables.elements[] | select(.outputs.Error) | "\(.elementId) \(.outputs.Error.code) \(.outputs.Error.detail)"' /tmp/flow-debug.json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Without `jq`:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
python3 - /tmp/flow-debug.json <<'EOF'
|
|
51
|
+
import json, sys
|
|
52
|
+
data = json.load(open(sys.argv[1]))["Data"]
|
|
53
|
+
for incident in data.get("incidents", []):
|
|
54
|
+
print(incident["elementId"], incident["errorCode"], incident["dependentFaultCode"], incident["errorDetails"])
|
|
55
|
+
for element in data.get("variables", {}).get("elements", []):
|
|
56
|
+
error = element.get("outputs", {}).get("Error")
|
|
57
|
+
if error:
|
|
58
|
+
print(element["elementId"], error["code"], error["detail"])
|
|
59
|
+
EOF
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The CLI applies `--output-filter` only when a command succeeds; a faulted run prints the whole envelope.
|
|
63
|
+
|
|
64
|
+
### Match the fault code
|
|
65
|
+
|
|
66
|
+
Match `dependentFaultCode`, or the failure marker on a run that never started, to a known cause:
|
|
67
|
+
|
|
68
|
+
| Fault marker | Cause and fix |
|
|
69
|
+
|---|---|
|
|
70
|
+
| `dependentFaultCode: AGENT_STARTUP.INPUT_VALIDATION_ERROR` | Declared `type` does not match the bound node's real output shape — the runtime strict-validates agent inputs. `detail` names the failing key and the real type (for example `input_type=list`). See [author/plugins/inline-agent/impl.md — Anti-patterns](../author/plugins/inline-agent/impl.md#anti-patterns). |
|
|
71
|
+
| `Stage: prepare-custom-debug` with `HttpStatus: 500`, and no `Data.incidents` | Debug was pointed at a shared folder with `--folder-path` or `--folder-key`. The server fails to prepare the run and no instance starts, so there is no incident to read. Re-run `flow debug` without the flag. See [operate/run.md — Debug](../operate/run.md#debug--controlled-end-to-end-run). |
|
|
72
|
+
|
|
73
|
+
No match, or `detail` is not enough → `uip maestro flow debug-instance incidents <INSTANCE_ID> --output json` returns the full backend payload (incidentId, errorDetails, AI summary). For a deployed process run, continue with Step 1.
|
|
74
|
+
|
|
16
75
|
## Step 1 — Get the instance ID
|
|
17
76
|
|
|
18
77
|
The debug output (`Data.instanceId`) or `job status` response contains the instance ID. If you only have a job key:
|
|
@@ -101,7 +160,7 @@ uip maestro flow instance asset <INSTANCE_ID> -f <FOLDER_KEY> --output json
|
|
|
101
160
|
uip maestro flow instance cursors <INSTANCE_ID> -f <FOLDER_KEY> --output json # get current execution cursor positions
|
|
102
161
|
```
|
|
103
162
|
|
|
104
|
-
> **Lifecycle commands** (`pause` / `resume` / `cancel` / `retry`) are operate concerns — see the [Operate manage guide](
|
|
163
|
+
> **Lifecycle commands** (`pause` / `resume` / `cancel` / `retry`) are operate concerns — see the [Operate manage guide](../operate/manage.md).
|
|
105
164
|
|
|
106
165
|
### uip maestro flow incident
|
|
107
166
|
|