@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,164 @@
|
|
|
1
|
+
# Subflow Node — Implementation
|
|
2
|
+
|
|
3
|
+
## Node Type and Registry Validation
|
|
4
|
+
|
|
5
|
+
`core.subflow`
|
|
6
|
+
|
|
7
|
+
Run:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
uip maestro flow registry get core.subflow --output json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Confirm input port `input` and output ports `output` and `error`. Set the node instance `typeVersion` to the response's `version` field; do not hardcode it.
|
|
14
|
+
|
|
15
|
+
## Parent Node JSON
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"id": "subflow1",
|
|
20
|
+
"type": "core.subflow",
|
|
21
|
+
"typeVersion": "<DEFINITION_VERSION>",
|
|
22
|
+
"display": { "label": "Add Numbers", "icon": "layers" },
|
|
23
|
+
"inputs": { "a": 2, "b": 3 },
|
|
24
|
+
"outputs": {
|
|
25
|
+
"error": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"description": "Error information if the subflow fails",
|
|
28
|
+
"source": "=Error",
|
|
29
|
+
"var": "error"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Declare `error` only; `output` is derived. Do not author `output`: the converter copies its `source` verbatim, so `"=result.response"` resolves to null at runtime although `flow validate` passes. See [file-format.md § Node outputs](../../../shared/file-format.md#node-outputs).
|
|
36
|
+
|
|
37
|
+
## Subflow Definition
|
|
38
|
+
|
|
39
|
+
Store definitions in a top-level `subflows` object keyed by the parent node ID. Each definition contains `nodes`, `edges`, `variables`, and `layout`:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"subflows": {
|
|
44
|
+
"subflow1": {
|
|
45
|
+
"nodes": [
|
|
46
|
+
{
|
|
47
|
+
"id": "subflow1Start",
|
|
48
|
+
"type": "core.trigger.manual",
|
|
49
|
+
"typeVersion": "1.0",
|
|
50
|
+
"display": { "label": "Start" },
|
|
51
|
+
"inputs": { "entryPointId": "<unique-uuid>", "isDefaultEntryPoint": true },
|
|
52
|
+
"outputs": {
|
|
53
|
+
"output": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"description": "Data passed when manually triggering the workflow.",
|
|
56
|
+
"source": "null",
|
|
57
|
+
"var": "output"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "script1",
|
|
63
|
+
"type": "core.action.script",
|
|
64
|
+
"typeVersion": "1.0",
|
|
65
|
+
"display": { "label": "Add Numbers" },
|
|
66
|
+
"inputs": { "script": "return { result: $vars.subflow1Start.output.a + $vars.subflow1Start.output.b };" },
|
|
67
|
+
"outputs": {
|
|
68
|
+
"output": { "type": "object", "description": "The return value of the script", "source": "=result.response", "var": "output" },
|
|
69
|
+
"error": { "type": "object", "description": "Error information if the script fails", "source": "=Error", "var": "error" }
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "subflow1End",
|
|
74
|
+
"type": "core.control.end",
|
|
75
|
+
"typeVersion": "1.0",
|
|
76
|
+
"display": { "label": "End" },
|
|
77
|
+
"inputs": {},
|
|
78
|
+
"outputs": { "result": { "source": "=js:$vars.script1.output.result" } }
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"edges": [
|
|
82
|
+
{ "id": "sf-e1", "sourceNodeId": "subflow1Start", "sourcePort": "output", "targetNodeId": "script1", "targetPort": "input" },
|
|
83
|
+
{ "id": "sf-e2", "sourceNodeId": "script1", "sourcePort": "success", "targetNodeId": "subflow1End", "targetPort": "input" }
|
|
84
|
+
],
|
|
85
|
+
"variables": {
|
|
86
|
+
"globals": [
|
|
87
|
+
{ "id": "a", "direction": "in", "type": "number", "defaultValue": 0, "triggerNodeId": "subflow1Start" },
|
|
88
|
+
{ "id": "b", "direction": "in", "type": "number", "defaultValue": 0, "triggerNodeId": "subflow1Start" },
|
|
89
|
+
{ "id": "result", "direction": "out", "type": "number", "defaultValue": 0 }
|
|
90
|
+
],
|
|
91
|
+
"nodes": []
|
|
92
|
+
},
|
|
93
|
+
"layout": {
|
|
94
|
+
"nodes": {
|
|
95
|
+
"subflow1Start": { "position": { "x": 200, "y": 144 }, "size": { "width": 96, "height": 96 }, "collapsed": false },
|
|
96
|
+
"script1": { "position": { "x": 400, "y": 144 }, "size": { "width": 96, "height": 96 }, "collapsed": false },
|
|
97
|
+
"subflow1End": { "position": { "x": 600, "y": 144 }, "size": { "width": 96, "height": 96 }, "collapsed": false }
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Passing a Flow Input Into the Subflow
|
|
106
|
+
|
|
107
|
+
Set `triggerNodeId` on the parent's `in` variable when forwarding trigger input. Run `uip maestro flow validate`; do not treat **Valid** as proof that this is configured. Without `triggerNodeId`, `flow debug` shows an empty trigger output, forwards `null`, and may fault in the subflow (for example, `Cannot read property 'split' of null`).
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"variables": {
|
|
112
|
+
"globals": [
|
|
113
|
+
{ "id": "text", "direction": "in", "type": "string", "defaultValue": "", "triggerNodeId": "start" },
|
|
114
|
+
{ "id": "reversedText", "direction": "out", "type": "string", "defaultValue": "" }
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
"nodes": [
|
|
118
|
+
{
|
|
119
|
+
"id": "start",
|
|
120
|
+
"type": "core.trigger.manual",
|
|
121
|
+
"typeVersion": "1.0",
|
|
122
|
+
"inputs": { "entryPointId": "<uuid>", "isDefaultEntryPoint": true },
|
|
123
|
+
"outputs": { "output": { "type": "object", "description": "Data passed when manually triggering the process.", "source": "null", "var": "output" } }
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"id": "reverseSubflow",
|
|
127
|
+
"type": "core.subflow",
|
|
128
|
+
"typeVersion": "<DEFINITION_VERSION>",
|
|
129
|
+
"inputs": { "text": "=js:$vars.start.output.text" }
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Value flow is: caller input `text` → parent `start` through the parent's `triggerNodeId` → `$vars.start.output.text` → subflow input `text` → the subflow's `in` variable → `$vars.<subflowStart>.output.text`. Parent and subflow `in` variables are independent; set `triggerNodeId` for each.
|
|
136
|
+
|
|
137
|
+
## Subflow Rules
|
|
138
|
+
|
|
139
|
+
1. Every subflow must have its own Start node (`core.trigger.manual`) and End node (`core.control.end`).
|
|
140
|
+
2. Subflow `variables.globals` with `direction: "in"` map to parent node `inputs`.
|
|
141
|
+
3. Subflow `in` variables must set `triggerNodeId` to the subflow Start node ID, enabling `$vars.{startNodeId}.output.{varId}`.
|
|
142
|
+
4. Subflow `variables.globals` with `direction: "out"` map to parent node outputs and are accessible as `$vars.{subflowNodeId}.output` in the parent.
|
|
143
|
+
5. Parent-scope `$vars` are not visible inside the subflow; pass values explicitly through inputs.
|
|
144
|
+
6. Define inline `outputs` on every subflow node: Start needs `outputs.output`; Script nodes need `outputs.output` and `outputs.error`.
|
|
145
|
+
7. Subflows may be nested up to 3 levels.
|
|
146
|
+
8. Each subflow has its own `nodes`, `edges`, `variables`, and `layout` sections.
|
|
147
|
+
9. Put subflow node positions in that subflow's `layout.nodes`, not the top-level `layout.nodes`; scopes are independent.
|
|
148
|
+
10. When the parent forwards an external input, its `in` variable must also set `triggerNodeId` to the parent trigger node ID. `uip maestro flow validate` does not detect this omission; the value silently arrives `null`. See [Passing a Flow Input Into the Subflow](#passing-a-flow-input-into-the-subflow).
|
|
149
|
+
|
|
150
|
+
## Creating a Subflow
|
|
151
|
+
|
|
152
|
+
For the procedure, see [Edit/Write: Create a subflow](../../editing-operations-json.md#create-a-subflow). Use the structures above for node-specific fields.
|
|
153
|
+
|
|
154
|
+
## Debug
|
|
155
|
+
|
|
156
|
+
| Error | Cause | Fix |
|
|
157
|
+
| --- | --- | --- |
|
|
158
|
+
| `$vars.inputData` undefined inside subflow script | Missing `triggerNodeId` on a subflow `in` variable, or direct use of `$vars.{varId}` | Set `triggerNodeId: "{startNodeId}"` on each `in` variable and use `$vars.{startNodeId}.output.{varId}` |
|
|
159
|
+
| Subflow script receives `null`, such as `Cannot read property 'split' of null` | Parent `in` variable lacks `triggerNodeId`, leaving parent trigger output empty | Set `triggerNodeId: "{parentStartNodeId}"` on the parent flow's `in` variable |
|
|
160
|
+
| `$vars.parentNode` undefined inside subflow | Parent scope is inaccessible | Pass values through subflow `in` variables |
|
|
161
|
+
| Subflow output is null | End node lacks output mapping | Map all `out` variables in the End node's `outputs` |
|
|
162
|
+
| Script output is null | Script lacks inline `outputs` | Add `outputs.output` and `outputs.error` inline |
|
|
163
|
+
| Missing Start/End node | Required trigger or end is absent | Add `core.trigger.manual` with `outputs` and `entryPointId`, plus `core.control.end` |
|
|
164
|
+
| Nesting limit exceeded | More than 3 levels of nesting | Flatten the structure or use resource nodes for deeper composition |
|
|
@@ -23,7 +23,7 @@ Use a Subflow node to group related steps into a reusable, drillable container w
|
|
|
23
23
|
| --- | --- |
|
|
24
24
|
| `input` | `output`, `error` |
|
|
25
25
|
|
|
26
|
-
The `error` port is the implicit error port shared with all action nodes — see [Implicit error port on action nodes](
|
|
26
|
+
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).
|
|
27
27
|
|
|
28
28
|
## Key Properties
|
|
29
29
|
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Summarize Pattern Node — Implementation
|
|
2
|
+
|
|
3
|
+
Summarize synthesizes a response grounded in an attached document. Node type: `uipath.pattern.deep-rag`; BPMN service task with `serviceType: "ECS.DeepRag"`. Inputs are the only configuration source; there are no process or connection bindings.
|
|
4
|
+
|
|
5
|
+
## Registry validation
|
|
6
|
+
|
|
7
|
+
Run:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
uip maestro flow registry get uipath.pattern.deep-rag --output json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Confirm:
|
|
14
|
+
|
|
15
|
+
- Input port: `input`; output ports: `output`, `error`.
|
|
16
|
+
- `model.type`: `bpmn:ServiceTask`; `model.serviceType`: `ECS.DeepRag`.
|
|
17
|
+
- `inputDefinition.properties`: `attachment` (declared `string`, but runtime requires the full Flow Attachment object `{ ID, FullName, MimeType, Metadata }`, with case-sensitive keys and uppercase `ID`), `prompt` (string), and `returnCitations` (boolean).
|
|
18
|
+
- `outputDefinition.output.type`: `"object"`; `outputDefinition.output.source`: `"=response"` (the BPMN engine wraps the result under that key, as for every ServiceTask).
|
|
19
|
+
- `outputDefinition.output.schema`: top-level `id` (string) and `content` (object|null), with `content.Text` (string) and `content.Citations` (array|null) containing `{ Ordinal: integer, PageNumber: integer, Source: string, Reference: string }`.
|
|
20
|
+
- `outputDefinition.error.schema.required`: `code`, `message`, `detail`, `category`, `status`.
|
|
21
|
+
|
|
22
|
+
If the command returns **"Node type not found: uipath.pattern.deep-rag"**, run `uip tools update` and `uip maestro flow registry pull --force`. If it still fails, confirm with a UiPath admin that the tenant's `canvas.nodes.summarize` server flag is enabled.
|
|
23
|
+
|
|
24
|
+
## Authoring and attachment wiring
|
|
25
|
+
|
|
26
|
+
Pattern nodes are OOTB BPMN service tasks and are **user-owned** per [Author capability — Node ownership](../../CAPABILITY.md#node-ownership--who-authors-the-node). Author them by editing `.flow` JSON directly (Edit/Write). The `uip maestro flow node add` / `edge add` CLI is reserved for CLI-owned nodes (connectors, connector-triggers, managed HTTP), where the CLI populates product-managed state. Use Edit/Write for OOTB structural edits—adding Summarize, wiring edges, and adding the `attachment` flow input. See [editing-operations.md](../../editing-operations.md).
|
|
27
|
+
|
|
28
|
+
Declare a flow `in` variable with `type: "file"`, bound to the trigger with `triggerNodeId`, and reference it through the trigger output:
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
"variables": {
|
|
32
|
+
"globals": [{
|
|
33
|
+
"id": "documentFile",
|
|
34
|
+
"direction": "in",
|
|
35
|
+
"type": "file",
|
|
36
|
+
"triggerNodeId": "start"
|
|
37
|
+
}]
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
"inputs": {
|
|
43
|
+
"attachment": "=js:$vars.start.output.documentFile",
|
|
44
|
+
"...": "..."
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Populate it by running `uip maestro flow debug --attachment <variableId>=<localPath>`, for example, `--attachment documentFile=./path/to/doc.pdf`. The CLI uploads the file and binds `{ ID, FullName, MimeType, Metadata }`. The flag is repeatable, and `<variableId>` must match a `variables.globals[]` `id`; see [cli-commands.md — Pre-flight](../../../shared/cli-commands.md#pre-flight---attachment-binding).
|
|
49
|
+
|
|
50
|
+
Do not declare the variable as `type: "object"`; reference it without the trigger output path; or pass a bare GUID, URL, path, `.ID`, or `.FullName`.
|
|
51
|
+
|
|
52
|
+
## JSON structure and rules
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"id": "summarizeContract",
|
|
57
|
+
"type": "uipath.pattern.deep-rag",
|
|
58
|
+
"typeVersion": "1.0",
|
|
59
|
+
"display": { "label": "Summarize Contract" },
|
|
60
|
+
"inputs": {
|
|
61
|
+
"attachment": "=js:$vars.start.output.documentFile",
|
|
62
|
+
"prompt": "Write a 5-bullet executive summary covering scope, term, SLAs, penalties, and termination.",
|
|
63
|
+
"returnCitations": true
|
|
64
|
+
},
|
|
65
|
+
"outputs": {
|
|
66
|
+
"output": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"source": "=response",
|
|
69
|
+
"var": "output",
|
|
70
|
+
"schema": {
|
|
71
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
72
|
+
"type": "object",
|
|
73
|
+
"properties": {
|
|
74
|
+
"id": { "type": "string" },
|
|
75
|
+
"content": {
|
|
76
|
+
"type": ["object", "null"],
|
|
77
|
+
"properties": {
|
|
78
|
+
"Text": { "type": "string" },
|
|
79
|
+
"Citations": {
|
|
80
|
+
"type": ["array", "null"],
|
|
81
|
+
"items": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"properties": {
|
|
84
|
+
"Ordinal": { "type": "integer" },
|
|
85
|
+
"PageNumber": { "type": "integer" },
|
|
86
|
+
"Source": { "type": "string" },
|
|
87
|
+
"Reference": { "type": "string" }
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"error": {
|
|
97
|
+
"type": "object",
|
|
98
|
+
"description": "Error information if the node fails",
|
|
99
|
+
"source": "=Error",
|
|
100
|
+
"var": "error"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
- Do not add an instance-level `model` block. BPMN type and `serviceType: "ECS.DeepRag"` belong only in the corresponding `definitions[]` entry; copy that entry verbatim from `uip maestro flow registry get uipath.pattern.deep-rag --output json`. Per [Author capability, rule 15](../../CAPABILITY.md), node instances normally have no `model` block.
|
|
107
|
+
- Set `typeVersion` exactly to `definitions[<deep-rag>].version` from the registry. Do not guess; use the exact single-dot `x.y` form, such as `"1.0"`, not `"1.0.0"`.
|
|
108
|
+
- Set `outputs.output.source` literally to `=response`, not `=deepRagResult` or another name.
|
|
109
|
+
- Set `outputs.output.type` to `"object"` with the nested PascalCase schema shown above.
|
|
110
|
+
- `returnCitations: true` populates `content.Citations`; `false` omits it, so downstream consumers must tolerate either form.
|
|
111
|
+
|
|
112
|
+
## End-node output mapping
|
|
113
|
+
|
|
114
|
+
Expose results with `=js:` expressions as required by [Author capability, rule 11](../../CAPABILITY.md):
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"id": "end",
|
|
119
|
+
"type": "core.control.end",
|
|
120
|
+
"typeVersion": "1.0",
|
|
121
|
+
"outputs": {
|
|
122
|
+
"summary": { "source": "=js:$vars.summarizeContract.output.content.Text" },
|
|
123
|
+
"citations": { "source": "=js:$vars.summarizeContract.output.content.Citations" }
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Without `=js:`, the runtime stores the literal expression string. Use only `.Text` and `.Citations`; lowercase variants resolve to `undefined`. If `returnCitations: false`, omit the `citations` mapping.
|
|
129
|
+
|
|
130
|
+
## Add via CLI (opt-in, not preferred)
|
|
131
|
+
|
|
132
|
+
The `uip maestro flow node add` / `edge add` CLI is not canonical for OOTB pattern nodes; use it only when scripting where Edit/Write is unavailable. Run:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
uip maestro flow node add <FlowName>.flow uipath.pattern.deep-rag \
|
|
136
|
+
--label "<LABEL>" \
|
|
137
|
+
--input '{
|
|
138
|
+
"attachment": "=js:$vars.<triggerId>.output.<fileVarId>",
|
|
139
|
+
"prompt": "<INSTRUCTION for the synthesis>",
|
|
140
|
+
"returnCitations": true
|
|
141
|
+
}' \
|
|
142
|
+
--output json
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
`attachment` must resolve to `{ ID, FullName, MimeType, Metadata }` through `$vars.<triggerId>.output.<fileVarId>`. Do not pass a bare GUID, URL, byte stream, or path. Set `returnCitations: false` or omit it when provenance is unnecessary.
|
|
146
|
+
|
|
147
|
+
## Accessing output
|
|
148
|
+
|
|
149
|
+
```javascript
|
|
150
|
+
// Downstream Script node
|
|
151
|
+
const result = $vars.summarizeContract.output;
|
|
152
|
+
const text = result.content.Text;
|
|
153
|
+
const citations = result.content.Citations ?? [];
|
|
154
|
+
return { summary: text, citationCount: citations.length };
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Use PascalCase: `Text`, `Citations`, `Ordinal`, `PageNumber`, `Source`, and `Reference`. When citations are disabled, guard with `?? []` or check `result.content.Citations != null` before iterating.
|
|
158
|
+
|
|
159
|
+
## Validate
|
|
160
|
+
|
|
161
|
+
Run:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
uip maestro flow validate <FlowName>.flow --output json
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
The validator checks that required inputs (`attachment`, `prompt`) are present and non-empty. A bare attachment id can pass validation but fail at runtime.
|
|
168
|
+
|
|
169
|
+
## Debug
|
|
170
|
+
|
|
171
|
+
| Error | Cause | Fix |
|
|
172
|
+
| --- | --- | --- |
|
|
173
|
+
| `Node type not found: uipath.pattern.deep-rag` | CLI predates Summarize support, or tenant flag `canvas.nodes.summarize` is off | Run `uip tools update` and `uip maestro flow registry pull --force`; if still missing, check with an admin that `canvas.nodes.summarize` is enabled |
|
|
174
|
+
| Runtime: synthesis returns empty `content.Text` | Prompt is vague, or attachment is unreadable, such as an image-only PDF with no OCR or a corrupted file | Tighten the prompt; confirm the attachment type is supported and has selectable text |
|
|
175
|
+
| `content.Citations` missing despite `returnCitations: true` | A downstream consumer read `inputDefaults` before runtime output existed | Reference `$vars.{nodeId}.output.content.Citations` only in nodes downstream of Summarize; do not precompute |
|
|
176
|
+
| Downstream `result.content.text` / `result.content.citations` is `undefined` | Lowercase field names were used | Use `result.content.Text` / `result.content.Citations` |
|
|
177
|
+
| Large documents time out | Synthesis cost scales with document size and one call is bounded | Split upstream into per-section Summarize calls plus a final merge, or use a published [Agent](../agent/impl.md) with a context-grounding resource |
|
|
178
|
+
| Wrong citations, such as pages off by one or wrong source | Document page numbering differs from displayed page ordinal | Treat `Ordinal` and `PageNumber` as advisory; present `Source`/`Reference` and let the reader verify |
|
|
179
|
+
|
|
180
|
+
## What not to do
|
|
181
|
+
|
|
182
|
+
- Do not hand-author `model.bindings`; Summarize has no process or connector binding. Such a block may be stripped or cause validation errors.
|
|
183
|
+
- Do not pass `--source` to `uip maestro flow node add`; `--source` is only for inline agent nodes. Summarize has no agent project behind it.
|
|
184
|
+
- Do not chain Summarize for multi-turn chat. Calls are single-turn and independent; use a published [Agent](../agent/impl.md) for conversational flows.
|
|
185
|
+
- Do not put the entire document text in `prompt`; the attachment is already ingested. Describe the task instead.
|
|
186
|
+
- Do not assume `content.Citations` is always present; it is omitted when `returnCitations: false`.
|
|
187
|
+
- Do not use lowercase field names such as `content.text`, `content.citations`, `.ordinal`, or `.page`; the runtime emits `content.Text`, `content.Citations`, `Ordinal`, `PageNumber`, `Source`, and `Reference`.
|
|
188
|
+
- Do not pass `attachment` as a bare string id, GUID, URL, or path. The runtime requires `{ ID, FullName, MimeType, Metadata }`, with uppercase `ID`, referenced as `=js:$vars.<triggerId>.output.<fileVarId>` from a file-typed flow `in` variable bound with `triggerNodeId`; see Key Inputs in `planning.md`. Bare-id mistakes can pass `flow validate` and fault at runtime.
|
|
189
|
+
- Do not write `outputs.output.source: "=deepRagResult"`; the canonical value is `"=response"`.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Summarize Pattern Node — Planning
|
|
2
|
+
|
|
3
|
+
The Summarize node comprehensively synthesizes one attached document (PDF, Word, etc.) through ingestion, retrieval, reasoning, and prose output, optionally with per-sentence source-page citations. It is in the **Document Processing** add-node category.
|
|
4
|
+
|
|
5
|
+
## Node Type
|
|
6
|
+
|
|
7
|
+
`uipath.pattern.deep-rag`
|
|
8
|
+
|
|
9
|
+
The wire type remains `deep-rag` although the canvas name is "Summarize"; this is contractual with the runtime serializer. This fixed OOTB type has no registry suffix and one version. It appears only when the platform-side `canvas.nodes.summarize` feature flag is enabled. The uip CLI requests this flag unconditionally in its manifest fetch, so the node appears after server rollout to the tenant. It does not appear in `uip maestro flow registry list` before then.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
Use Summarize for **"read this document and produce a thorough answer"** tasks, including summarization, document-grounded Q&A, compliance checks, and executive briefs where depth or source traceability matters.
|
|
14
|
+
|
|
15
|
+
| Situation | Use Summarize? |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| Long-document summarization, such as a contract, policy, or research paper | Yes |
|
|
18
|
+
| Free-form question grounded in one attached document | Yes |
|
|
19
|
+
| Reports requiring every claim to cite a source page | Yes — set `returnCitations: true` |
|
|
20
|
+
| Short, single-turn Q&A over small in-memory text | No — use [Agent](../agent/planning.md) or [Script](../script/planning.md) |
|
|
21
|
+
| Row-by-row tabular enrichment | No — use [Batch Transform](../batch-transform/planning.md) |
|
|
22
|
+
| Retrieval across multiple documents | No — Summarize supports one attachment per call. Chain one node per document and merge results, or use a published [Agent](../agent/planning.md) with a context-grounding resource. Do not chain nodes when the answer requires cross-document reasoning; per-document synthesis followed by merging loses cross-document grounding. |
|
|
23
|
+
| Conversational document chat | No — Summarize is single-turn. Use an [Agent](../agent/planning.md) with a context resource. |
|
|
24
|
+
|
|
25
|
+
### Anti-Patterns
|
|
26
|
+
|
|
27
|
+
- Do not use Summarize for small or simple text. For a few paragraphs inline in `$vars`, use a [Script](../script/planning.md) or [Agent](../agent/planning.md), which is cheaper and faster.
|
|
28
|
+
- Do not use Summarize as a general agent. It cannot call tools, escalate, or loop; use an [Agent](../agent/planning.md) for multi-step reasoning with tool use.
|
|
29
|
+
|
|
30
|
+
## Ports
|
|
31
|
+
|
|
32
|
+
| Port | Position | Direction | Use |
|
|
33
|
+
| --- | --- | --- | --- |
|
|
34
|
+
| `input` | left | target | Flow sequence input |
|
|
35
|
+
| `output` | right | source | Synthesis text, plus citations when enabled |
|
|
36
|
+
| `error` | right | source | Error handler |
|
|
37
|
+
|
|
38
|
+
There are no artifact ports. Pattern nodes do not wire to resource files; supply the prompt through node inputs.
|
|
39
|
+
|
|
40
|
+
## Output Variables
|
|
41
|
+
|
|
42
|
+
`$vars.{nodeId}.output` is an object whose schema is published on the OOTB definition and mirrored in `outputs.output.schema`:
|
|
43
|
+
|
|
44
|
+
- `id` — string, result identifier
|
|
45
|
+
- `content` — `object | null`
|
|
46
|
+
- `content.Text` — string, synthesized prose
|
|
47
|
+
- `content.Citations` — `array | null`, present only when `returnCitations: true`; entries are `{ Ordinal: integer, PageNumber: integer, Source: string, Reference: string }`
|
|
48
|
+
|
|
49
|
+
Use the exact **PascalCase** names `Text`, `Citations`, `Ordinal`, `PageNumber`, `Source`, and `Reference`. Lowercase variants such as `text`, `citations`, and `page` are incorrect.
|
|
50
|
+
|
|
51
|
+
`$vars.{nodeId}.error` is populated on failure with `{ code, message, detail, category, status }`.
|
|
52
|
+
|
|
53
|
+
## Key Inputs
|
|
54
|
+
|
|
55
|
+
| Input | Required | Type | Description |
|
|
56
|
+
| --- | --- | --- | --- |
|
|
57
|
+
| `attachment` | Yes | full Flow Attachment | Supply the full case-sensitive Flow Attachment object `{ ID, FullName, MimeType, Metadata }`; `ID` is uppercase, not `Id`. Define it as a flow-level `in` variable with `type: "file"`, bound to the trigger using `triggerNodeId: "<triggerId>"`. Populate it with `uip maestro flow debug --attachment <fileVarId>=<path>`; the flag is repeatable and `<fileVarId>=` must match the variable's `id` (see [cli-commands.md — Pre-flight](../../../shared/cli-commands.md#pre-flight---attachment-binding)). Reference it on the node as `=js:$vars.<triggerId>.output.<fileVarId>`, which resolves to the whole Attachment object. Although the OOTB `inputDefinition.attachment` declares `type: "string"` because Studio Web serializes the object into that slot when saving, the engine deserializes it back. Never wire a bare GUID, URL, byte stream, file path, or `.ID`/`.FullName` subfield. |
|
|
58
|
+
| `prompt` | Yes | string | Task instruction, such as an executive summary, a list of SLA penalty clauses, or an answer about a termination notice period. |
|
|
59
|
+
| `returnCitations` | No | boolean | Set to `true` to populate `content.Citations` with per-claim page references; default is `false`. |
|
|
60
|
+
|
|
61
|
+
## Planning Annotation
|
|
62
|
+
|
|
63
|
+
In the architectural plan:
|
|
64
|
+
|
|
65
|
+
- Write `pattern: summarize — <one-line purpose>` with a placeholder for the attachment source: `=js:$vars.<triggerId>.output.<fileVarId>`, referencing a trigger-bound `in` variable of `type: "file"`, plus a short prompt summary.
|
|
66
|
+
- Explicitly call out `returnCitations: true` in the node table when downstream steps display or audit sources; otherwise leave it `false`.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Switch Node — Planning
|
|
2
|
+
|
|
3
|
+
## Node Type
|
|
4
|
+
|
|
5
|
+
`core.logic.switch`
|
|
6
|
+
|
|
7
|
+
## Use When
|
|
8
|
+
|
|
9
|
+
Use a Switch node for multi-way branching with three or more paths based on ordered case expressions. Evaluate cases in order and take the first `true` case.
|
|
10
|
+
|
|
11
|
+
| Situation | Use Switch? |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| Three or more paths based on different conditions | Yes |
|
|
14
|
+
| Simple true/false branch | No — use [Decision](../decision/planning.md) |
|
|
15
|
+
| Branch on HTTP response status codes | No — use [HTTP](../http/planning.md) built-in branches |
|
|
16
|
+
| Branch requires reasoning on ambiguous input | No — use [Agent](../agent/planning.md) |
|
|
17
|
+
|
|
18
|
+
## Ports and Inputs
|
|
19
|
+
|
|
20
|
+
| Input Port | Output Port(s) |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| `input` | `case-{id}` for each case, plus optional `default` |
|
|
23
|
+
|
|
24
|
+
| Input | Required | Description |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| `cases` | Yes | Array of `{ id, label, expression }` with at least 1 item |
|
|
27
|
+
|
|
28
|
+
Each case creates the dynamic output port `case-{item.id}`. Use the optional `default` port for unmatched cases.
|
|
29
|
+
|
|
30
|
+
## Wiring Rules
|
|
31
|
+
|
|
32
|
+
- Produce one outgoing edge per case, plus optionally one from `default`.
|
|
33
|
+
- Set each case edge's `sourcePort` to `"case-{id}"`, matching the case's `id` field.
|
|
34
|
+
- Ensure every case branch leads to a downstream node.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Terminate Node — Implementation
|
|
2
|
+
|
|
3
|
+
## Node Type
|
|
4
|
+
|
|
5
|
+
`core.logic.terminate`
|
|
6
|
+
|
|
7
|
+
## Registry Validation
|
|
8
|
+
|
|
9
|
+
Run:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
uip maestro flow registry get core.logic.terminate --output json
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Confirm the input port is `input` and there are no output ports. Set the node instance `typeVersion` to the response's `version` field; do not hardcode it.
|
|
16
|
+
|
|
17
|
+
## JSON Structure
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"id": "abortOnError",
|
|
22
|
+
"type": "core.logic.terminate",
|
|
23
|
+
"typeVersion": "<DEFINITION_VERSION>",
|
|
24
|
+
"display": { "label": "Abort" },
|
|
25
|
+
"inputs": {}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
For add, delete, and wiring procedures, see [editing-operations.md](../../editing-operations.md). Use the structure above for node-specific `inputs`.
|
|
30
|
+
|
|
31
|
+
## Common Pattern — Error Handler
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
HTTP Request
|
|
35
|
+
|-- default -> Process -> End
|
|
36
|
+
|-- error -> Log Error (Script) -> Terminate
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Wire the action node's implicit `error` source port directly to the handler. Have the Script log `$vars.httpCall.error`, then use Terminate to abort the flow. Do not put a Decision downstream to test for an error: a failing node has already faulted the flow before execution reaches it.
|
|
40
|
+
|
|
41
|
+
Add this pattern only when requirements specify failure behavior. Without an error edge, failure faults the flow on its own, which is the correct default. Never set `inputs.errorHandlingEnabled: true` without the edge. See [file-format.md — Implicit error port on action nodes](../../../shared/file-format.md#implicit-error-port-on-action-nodes).
|
|
42
|
+
|
|
43
|
+
## Debug
|
|
44
|
+
|
|
45
|
+
| Error | Cause | Fix |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| Terminate has outgoing edges | An edge was wired from Terminate | Remove it; Terminate has no output ports |
|
|
48
|
+
| Workflow outputs missing | Terminate was reached where outputs were expected | Use End for paths that need output mapping; Terminate does not produce outputs |
|