@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
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Merge Node — Planning
|
|
2
|
-
|
|
3
|
-
## Node Type
|
|
4
|
-
|
|
5
|
-
`core.logic.merge`
|
|
6
|
-
|
|
7
|
-
## When to Use
|
|
8
|
-
|
|
9
|
-
Use a Merge node to synchronize parallel branches before continuing. It waits for all incoming paths to complete.
|
|
10
|
-
|
|
11
|
-
### Selection Heuristics
|
|
12
|
-
|
|
13
|
-
| Situation | Use Merge? |
|
|
14
|
-
| --- | --- |
|
|
15
|
-
| Two or more parallel branches need to join before continuing | Yes |
|
|
16
|
-
| Sequential pipeline (no parallel branches) | No — wire nodes directly |
|
|
17
|
-
|
|
18
|
-
## Ports
|
|
19
|
-
|
|
20
|
-
| Input Port | Output Port(s) |
|
|
21
|
-
| --- | --- |
|
|
22
|
-
| `input` (accepts multiple connections) | `output` |
|
|
23
|
-
|
|
24
|
-
## Wiring Rules
|
|
25
|
-
|
|
26
|
-
- Connect each parallel branch's terminal node to the Merge node's `input` port
|
|
27
|
-
- Merge accepts multiple incoming edges on the same `input` port
|
|
28
|
-
- Execution continues from `output` only after all incoming paths complete
|
|
29
|
-
- Use after forking from a single node to multiple downstream nodes
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
# RPA Node — Implementation
|
|
2
|
-
|
|
3
|
-
RPA nodes invoke RPA processes. Pattern: `uipath.core.rpa-workflow.{key}`.
|
|
4
|
-
|
|
5
|
-
## Discovery
|
|
6
|
-
|
|
7
|
-
**Published (tenant registry):**
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
uip maestro flow registry pull --force
|
|
11
|
-
uip maestro flow registry search "uipath.core.rpa-workflow" --output json
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
Search the **node-type token** `uipath.core.rpa-workflow` — this lists every published RPA workflow — then pick the one you need by its `resourceKey` / folder path and description. Do **not** search by the process name from the request: `registry search` matches the Orchestrator **release name**, which is frequently unrelated to the name the user uses or the folder the process lives in. The requested name often appears only in the folder path, so a keyword search for it returns nothing even though the process exists. Match on the folder path inside `resourceKey`, not on a name keyword.
|
|
15
|
-
|
|
16
|
-
**An empty result is not authoritative — do not conclude the process is unpublished.** Before treating "not found" as real, confirm all three hold: (a) you searched the `uipath.core.rpa-workflow` token, not a name keyword; (b) `registry pull --force` ran first; (c) you scanned the returned folder paths and descriptions for the target, not just the display names. Only then is the process genuinely absent. Jumping to the local-scaffold fallback on a name-search miss builds a flow that validates but has nothing real to run.
|
|
17
|
-
|
|
18
|
-
**In-solution (local, no login required):**
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
uip maestro flow registry list --local --output json
|
|
22
|
-
uip maestro flow registry get "<node-type>" --local --output json
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Run from inside the flow project directory. Discovers sibling RPA projects in the same `.uipx` solution.
|
|
26
|
-
|
|
27
|
-
## Registry Validation
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
uip maestro flow registry get "uipath.core.rpa-workflow.{key}" --output json
|
|
31
|
-
uip maestro flow registry get "uipath.core.rpa-workflow.{key}" --local --output json
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Confirm:
|
|
35
|
-
|
|
36
|
-
- Input port: `input`
|
|
37
|
-
- Output port: `output`
|
|
38
|
-
- `model.serviceType` — `Orchestrator.StartJob`
|
|
39
|
-
- `model.bindings.resourceSubType` — `Process`
|
|
40
|
-
- `model.bindings.resourceKey` — the `<FolderPath>.<ResourceName>` string used to scope binding resolution
|
|
41
|
-
- `inputDefinition` — may contain typed input fields (check `properties`)
|
|
42
|
-
- `outputDefinition` — always `error` (`source: "=Error"`); processes with output arguments also declare `output` (`source: "=this"`). Either way do not author `output` on the instance — the converter injects `=this`, and `$vars.{nodeId}.output` carries the process return value
|
|
43
|
-
|
|
44
|
-
## Adding / Editing
|
|
45
|
-
|
|
46
|
-
For step-by-step add, delete, and wiring procedures, see [editing-operations.md](../../editing-operations.md). Use the JSON structure below for the node-specific `inputs`.
|
|
47
|
-
|
|
48
|
-
## JSON Structure
|
|
49
|
-
|
|
50
|
-
### Node instance (inside `nodes[]`)
|
|
51
|
-
|
|
52
|
-
The instance carries only per-instance data (`inputs`, `outputs`, `display`). BPMN type, serviceType, version, and binding/context templates come from the definition in `definitions[]`.
|
|
53
|
-
|
|
54
|
-
```json
|
|
55
|
-
{
|
|
56
|
-
"id": "processInvoices",
|
|
57
|
-
"type": "uipath.core.rpa-workflow.invoice-process-abc123",
|
|
58
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
59
|
-
"display": { "label": "Process Invoices" },
|
|
60
|
-
"inputs": {
|
|
61
|
-
"documentPath": "=js:$vars.fileLocation",
|
|
62
|
-
"batchSize": 50
|
|
63
|
-
},
|
|
64
|
-
"outputs": {
|
|
65
|
-
"error": {
|
|
66
|
-
"type": "object",
|
|
67
|
-
"description": "Error information if the RPA process fails",
|
|
68
|
-
"source": "=Error",
|
|
69
|
-
"var": "error"
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**Declare `error` only — `output` is derived.** Authoring it makes the converter copy your `source` verbatim; `"=result.response"` then resolves to null at runtime while `flow validate` passes. See [file-format.md § Node outputs](../../../../shared/file-format.md#node-outputs).
|
|
76
|
-
|
|
77
|
-
### Top-level `bindings[]` entries (sibling of `nodes`/`edges`/`definitions`)
|
|
78
|
-
|
|
79
|
-
Add one entry per `(resourceKey, propertyAttribute)` pair. Share entries across node instances that reference the same RPA process — do NOT create duplicates.
|
|
80
|
-
|
|
81
|
-
```json
|
|
82
|
-
"bindings": [
|
|
83
|
-
{
|
|
84
|
-
"id": "bProcessInvoicesName",
|
|
85
|
-
"name": "name",
|
|
86
|
-
"type": "string",
|
|
87
|
-
"resource": "process",
|
|
88
|
-
"resourceKey": "Finance/Automation.Invoice Processor",
|
|
89
|
-
"default": "Invoice Processor",
|
|
90
|
-
"propertyAttribute": "name",
|
|
91
|
-
"resourceSubType": "Process"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"id": "bProcessInvoicesFolderPath",
|
|
95
|
-
"name": "folderPath",
|
|
96
|
-
"type": "string",
|
|
97
|
-
"resource": "process",
|
|
98
|
-
"resourceKey": "Finance/Automation.Invoice Processor",
|
|
99
|
-
"default": "Finance/Automation",
|
|
100
|
-
"propertyAttribute": "folderPath",
|
|
101
|
-
"resourceSubType": "Process"
|
|
102
|
-
}
|
|
103
|
-
]
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
> For the resolution mechanics and why these entries are required, see [file-format.md — Bindings](../../../../shared/file-format.md#bindings--orchestrator-resource-bindings-top-level-bindings).
|
|
107
|
-
|
|
108
|
-
## If the RPA Process Is Genuinely Not Published
|
|
109
|
-
|
|
110
|
-
Reach this path only after the empty-result confirmation in [Discovery](#discovery) — a brand-name search miss does not qualify. When the process truly does not exist on the tenant and no sibling RPA project provides it, tell the user to create the RPA project inside the same solution using `uipath-rpa`. Once the project exists as a sibling in the `.uipx` solution, discover it with `uip maestro flow registry list --local --output json` and wire it directly — no publish required.
|
|
111
|
-
|
|
112
|
-
A freshly scaffolded RPA project has no implementation, so the wired flow will pass `flow validate` but fault the moment it is debugged or run (`Robot.JobUnexpectedExitCode`) until `uipath-rpa` fills in the actual workflow. A validated flow is not a working one.
|
|
113
|
-
|
|
114
|
-
## Debug
|
|
115
|
-
|
|
116
|
-
| Error | Cause | Fix |
|
|
117
|
-
| --- | --- | --- |
|
|
118
|
-
| Node type not found in registry | Searched by process name (matches release name, not folder), process not published, or registry stale | Search the `uipath.core.rpa-workflow` token and match on folder path — not a name keyword. If in same solution: run `registry list --local`. Otherwise: run `uip login` then `uip maestro flow registry pull --force` |
|
|
119
|
-
| Input schema mismatch | Inputs don't match `inputDefinition` | Run `registry get` and check required inputs in `inputDefinition.properties` |
|
|
120
|
-
| Process execution failed | Underlying RPA process errored | Check `$vars.{nodeId}.error` for details |
|
|
121
|
-
| Mock placeholder still in flow | Process not yet replaced | Follow the mock replacement workflow above |
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
# Subflow Node — Implementation
|
|
2
|
-
|
|
3
|
-
## Node Type
|
|
4
|
-
|
|
5
|
-
`core.subflow`
|
|
6
|
-
|
|
7
|
-
## Registry Validation
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
uip maestro flow registry get core.subflow --output json
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Confirm: input port `input`, output ports `output` and `error`. Set the node instance `typeVersion` to the `version` field from this response — 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": {
|
|
24
|
-
"a": 2,
|
|
25
|
-
"b": 3
|
|
26
|
-
},
|
|
27
|
-
"outputs": {
|
|
28
|
-
"error": {
|
|
29
|
-
"type": "object",
|
|
30
|
-
"description": "Error information if the subflow fails",
|
|
31
|
-
"source": "=Error",
|
|
32
|
-
"var": "error"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**Declare `error` only — `output` is derived.** Authoring it makes the converter copy your `source` verbatim; `"=result.response"` then resolves to null at runtime while `flow validate` passes. See [file-format.md § Node outputs](../../../../shared/file-format.md#node-outputs).
|
|
39
|
-
|
|
40
|
-
## Subflow Definition
|
|
41
|
-
|
|
42
|
-
Subflow contents are stored in a top-level `subflows` object keyed by the parent node's ID:
|
|
43
|
-
|
|
44
|
-
```json
|
|
45
|
-
{
|
|
46
|
-
"subflows": {
|
|
47
|
-
"subflow1": {
|
|
48
|
-
"nodes": [
|
|
49
|
-
{
|
|
50
|
-
"id": "subflow1Start",
|
|
51
|
-
"type": "core.trigger.manual",
|
|
52
|
-
"typeVersion": "1.0",
|
|
53
|
-
"display": { "label": "Start" },
|
|
54
|
-
"inputs": {
|
|
55
|
-
"entryPointId": "unique-uuid-here",
|
|
56
|
-
"isDefaultEntryPoint": true
|
|
57
|
-
},
|
|
58
|
-
"outputs": {
|
|
59
|
-
"output": {
|
|
60
|
-
"type": "object",
|
|
61
|
-
"description": "Data passed when manually triggering the workflow.",
|
|
62
|
-
"source": "null",
|
|
63
|
-
"var": "output"
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"id": "script1",
|
|
69
|
-
"type": "core.action.script",
|
|
70
|
-
"typeVersion": "1.0",
|
|
71
|
-
"display": { "label": "Add Numbers" },
|
|
72
|
-
"inputs": {
|
|
73
|
-
"script": "return { result: $vars.subflow1Start.output.a + $vars.subflow1Start.output.b };"
|
|
74
|
-
},
|
|
75
|
-
"outputs": {
|
|
76
|
-
"output": {
|
|
77
|
-
"type": "object",
|
|
78
|
-
"description": "The return value of the script",
|
|
79
|
-
"source": "=result.response",
|
|
80
|
-
"var": "output"
|
|
81
|
-
},
|
|
82
|
-
"error": {
|
|
83
|
-
"type": "object",
|
|
84
|
-
"description": "Error information if the script fails",
|
|
85
|
-
"source": "=Error",
|
|
86
|
-
"var": "error"
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"id": "subflow1End",
|
|
92
|
-
"type": "core.control.end",
|
|
93
|
-
"typeVersion": "1.0",
|
|
94
|
-
"display": { "label": "End" },
|
|
95
|
-
"inputs": {},
|
|
96
|
-
"outputs": {
|
|
97
|
-
"result": { "source": "=js:$vars.script1.output.result" }
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
],
|
|
101
|
-
"edges": [
|
|
102
|
-
{
|
|
103
|
-
"id": "sf-e1",
|
|
104
|
-
"sourceNodeId": "subflow1Start",
|
|
105
|
-
"sourcePort": "output",
|
|
106
|
-
"targetNodeId": "script1",
|
|
107
|
-
"targetPort": "input"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"id": "sf-e2",
|
|
111
|
-
"sourceNodeId": "script1",
|
|
112
|
-
"sourcePort": "success",
|
|
113
|
-
"targetNodeId": "subflow1End",
|
|
114
|
-
"targetPort": "input"
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
"variables": {
|
|
118
|
-
"globals": [
|
|
119
|
-
{
|
|
120
|
-
"id": "a",
|
|
121
|
-
"direction": "in",
|
|
122
|
-
"type": "number",
|
|
123
|
-
"defaultValue": 0,
|
|
124
|
-
"triggerNodeId": "subflow1Start"
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"id": "b",
|
|
128
|
-
"direction": "in",
|
|
129
|
-
"type": "number",
|
|
130
|
-
"defaultValue": 0,
|
|
131
|
-
"triggerNodeId": "subflow1Start"
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"id": "result",
|
|
135
|
-
"direction": "out",
|
|
136
|
-
"type": "number",
|
|
137
|
-
"defaultValue": 0
|
|
138
|
-
}
|
|
139
|
-
],
|
|
140
|
-
"nodes": []
|
|
141
|
-
},
|
|
142
|
-
"layout": {
|
|
143
|
-
"nodes": {
|
|
144
|
-
"subflow1Start": { "position": { "x": 200, "y": 144 }, "size": { "width": 96, "height": 96 }, "collapsed": false },
|
|
145
|
-
"script1": { "position": { "x": 400, "y": 144 }, "size": { "width": 96, "height": 96 }, "collapsed": false },
|
|
146
|
-
"subflow1End": { "position": { "x": 600, "y": 144 }, "size": { "width": 96, "height": 96 }, "collapsed": false }
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Passing a Flow Input Into the Subflow
|
|
155
|
-
|
|
156
|
-
A **parent flow** forwarding its own trigger input into a subflow must give the parent's `in`
|
|
157
|
-
variable a `triggerNodeId` — same as a subflow `in` variable (rule #3), pointing at the
|
|
158
|
-
parent's trigger node. Omit it and it's a silent trap: `uip maestro flow validate` still
|
|
159
|
-
reports **Valid**, but at `flow debug` the trigger output is empty, the value arrives `null`,
|
|
160
|
-
and the subflow script faults (e.g. `Cannot read property 'split' of null`).
|
|
161
|
-
|
|
162
|
-
**Parent flow `variables.globals`** — note `triggerNodeId` on the `in` variable:
|
|
163
|
-
```json
|
|
164
|
-
{
|
|
165
|
-
"variables": {
|
|
166
|
-
"globals": [
|
|
167
|
-
{ "id": "text", "direction": "in", "type": "string", "defaultValue": "", "triggerNodeId": "start" },
|
|
168
|
-
{ "id": "reversedText", "direction": "out", "type": "string", "defaultValue": "" }
|
|
169
|
-
]
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
**Parent trigger + subflow node** — the subflow node reads the trigger output and maps it to
|
|
175
|
-
the subflow's `in` variable:
|
|
176
|
-
```json
|
|
177
|
-
{
|
|
178
|
-
"nodes": [
|
|
179
|
-
{
|
|
180
|
-
"id": "start",
|
|
181
|
-
"type": "core.trigger.manual",
|
|
182
|
-
"typeVersion": "1.0",
|
|
183
|
-
"inputs": { "entryPointId": "<uuid>", "isDefaultEntryPoint": true },
|
|
184
|
-
"outputs": { "output": { "type": "object", "description": "Data passed when manually triggering the process.", "source": "null", "var": "output" } }
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
"id": "reverseSubflow",
|
|
188
|
-
"type": "core.subflow",
|
|
189
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
190
|
-
"inputs": { "text": "=js:$vars.start.output.text" }
|
|
191
|
-
}
|
|
192
|
-
]
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Value flow: caller input `text` → (bound to `start` via the parent global's `triggerNodeId`)
|
|
197
|
-
→ `$vars.start.output.text` → subflow node input `text` → the subflow's own `in` variable
|
|
198
|
-
(with its **own** `triggerNodeId: "<subflowStart>"`) → `$vars.<subflowStart>.output.text`
|
|
199
|
-
inside the subflow. The parent `in` var and the subflow `in` var are **independent variables
|
|
200
|
-
in separate scopes**, joined only by the subflow node's `inputs` mapping; each needs its own
|
|
201
|
-
`triggerNodeId` pointing at its respective Start node.
|
|
202
|
-
|
|
203
|
-
## Subflow Rules
|
|
204
|
-
|
|
205
|
-
1. Every subflow **must** have its own Start node (`core.trigger.manual`) and End node (`core.control.end`)
|
|
206
|
-
2. Subflow `variables.globals` with `direction: "in"` map to the parent node's `inputs`
|
|
207
|
-
3. Subflow `in` variables **must** have `triggerNodeId` set to the subflow's Start node ID — this makes them accessible via `$vars.{startNodeId}.output.{varId}`
|
|
208
|
-
4. Subflow `variables.globals` with `direction: "out"` map to the parent node's outputs, accessible via `$vars.{subflowNodeId}.output` in the parent flow
|
|
209
|
-
5. Parent-scope `$vars` are **not** visible inside the subflow — pass values explicitly via inputs
|
|
210
|
-
6. Subflow nodes must have inline `outputs` defined on them (Start node needs `outputs.output`, Script nodes need `outputs.output` and `outputs.error`)
|
|
211
|
-
7. Subflows can be nested (subflow inside subflow), up to 3 levels
|
|
212
|
-
8. Each subflow has its own `nodes`, `edges`, `variables`, and `layout` sections
|
|
213
|
-
9. Subflow node positions go in the subflow's own `layout.nodes` — NOT in the top-level `layout.nodes`. Each subflow scope is independent.
|
|
214
|
-
10. Parent flow forwarding an external input to a subflow: the parent's `in` variable **must** also set `triggerNodeId` to the parent's trigger node ID — same as #3, one scope up. `uip maestro flow validate` still reports **Valid** (it does not fail on the omission); the value silently arrives `null` at runtime. See [Passing a Flow Input Into the Subflow](#passing-a-flow-input-into-the-subflow).
|
|
215
|
-
|
|
216
|
-
## Creating a Subflow
|
|
217
|
-
|
|
218
|
-
For the step-by-step procedure, see [Edit/Write: Create a subflow](../../editing-operations-json.md#create-a-subflow). Use the parent node JSON and subflow definition structures above for the node-specific fields.
|
|
219
|
-
|
|
220
|
-
## Debug
|
|
221
|
-
|
|
222
|
-
| Error | Cause | Fix |
|
|
223
|
-
| --- | --- | --- |
|
|
224
|
-
| `$vars.inputData` undefined inside subflow script | Missing `triggerNodeId` on subflow `in` variable, or using `$vars.{varId}` directly | Add `triggerNodeId: "{startNodeId}"` to each `in` variable and access via `$vars.{startNodeId}.output.{varId}` |
|
|
225
|
-
| Subflow script sees `null` for a value forwarded from the parent (e.g. `Cannot read property 'split' of null`) | Parent flow's `in` variable is missing `triggerNodeId`, so the parent trigger output is empty and `null` is forwarded into the subflow | Add `triggerNodeId: "{parentStartNodeId}"` to the parent flow's `in` variable (same fix as the row above, but for the root flow) |
|
|
226
|
-
| `$vars.parentNode` undefined inside subflow | Parent scope not accessible | Pass values via subflow `in` variables |
|
|
227
|
-
| Subflow output is null | Missing output mapping on subflow's End node | Map all `out` variables in the End node's `outputs` |
|
|
228
|
-
| Script output is null | Missing inline `outputs` on script node | Add `outputs.output` and `outputs.error` inline on the script node |
|
|
229
|
-
| Missing Start/End node | Subflow lacks required trigger or end | Add `core.trigger.manual` (with `outputs` and `entryPointId`) and `core.control.end` to the subflow |
|
|
230
|
-
| Nesting limit exceeded | Subflow nested more than 3 levels deep | Flatten the structure or use resource nodes for deeper composition |
|
|
@@ -1,198 +0,0 @@
|
|
|
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"`. No process bindings, no connection binding — inputs are the only source of configuration.
|
|
4
|
-
|
|
5
|
-
## Registry Validation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
uip maestro flow registry get uipath.pattern.deep-rag --output json
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Confirm:
|
|
12
|
-
|
|
13
|
-
- Input port: `input`
|
|
14
|
-
- Output ports: `output`, `error`
|
|
15
|
-
- `model.type` — `bpmn:ServiceTask`
|
|
16
|
-
- `model.serviceType` — `ECS.DeepRag`
|
|
17
|
-
- `inputDefinition.properties` — `attachment` (declared `string`; runtime wants the **full Flow Attachment object** `{ ID, FullName, MimeType, Metadata }` — keys are case-sensitive, `ID` is uppercase, not `Id` — Studio Web's file-picker form serializes the whole object into that slot, the engine deserializes it back), `prompt` (string), `returnCitations` (boolean)
|
|
18
|
-
- `outputDefinition.output.type` — `"object"`; `outputDefinition.output.source` — `"=response"` (the BPMN engine wraps the result under that key — same convention as every other ServiceTask)
|
|
19
|
-
- `outputDefinition.output.schema` — top-level fields `id` (string) and `content` (object|null) with PascalCase nested fields:
|
|
20
|
-
- `content.Text` — string
|
|
21
|
-
- `content.Citations` — array|null of `{ Ordinal: integer, PageNumber: integer, Source: string, Reference: string }`
|
|
22
|
-
- `outputDefinition.error.schema.required` — `code`, `message`, `detail`, `category`, `status`
|
|
23
|
-
|
|
24
|
-
If the command errors with **"Node type not found: uipath.pattern.deep-rag"**, the CLI build predates Summarize support or the tenant's `canvas.nodes.summarize` server flag is off. Run `uip tools update` and `uip maestro flow registry pull --force`; if it still errors, confirm with your UiPath admin that `canvas.nodes.summarize` is enabled on the tenant.
|
|
25
|
-
|
|
26
|
-
## Adding / Editing
|
|
27
|
-
|
|
28
|
-
Pattern nodes are OOTB BPMN service tasks — they are **user-owned** per [Author capability — Node ownership](../../../CAPABILITY.md#node-ownership--who-authors-the-node), so author them by editing the `.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. For OOTB structural edits — adding the Summarize node, wiring its edges, adding the `attachment` flow input — use Edit/Write against the `.flow` file. See [editing-operations.md](../../editing-operations.md) for the JSON authoring mechanics; the snippets below cover what is **specific** to Summarize.
|
|
29
|
-
|
|
30
|
-
## Wiring `attachment` — file variable bound to the trigger
|
|
31
|
-
|
|
32
|
-
The canonical canvas-produced shape is a flow `in` variable of `type: "file"` bound to the trigger via `triggerNodeId`, with the Summarize node's `attachment` referencing it through the trigger's output:
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
"variables": {
|
|
36
|
-
"globals": [
|
|
37
|
-
{
|
|
38
|
-
"id": "documentFile",
|
|
39
|
-
"direction": "in",
|
|
40
|
-
"type": "file",
|
|
41
|
-
"triggerNodeId": "start"
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Then on the Summarize node:
|
|
48
|
-
|
|
49
|
-
```json
|
|
50
|
-
"inputs": {
|
|
51
|
-
"attachment": "=js:$vars.start.output.documentFile",
|
|
52
|
-
...
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Populate that variable at runtime with `uip maestro flow debug --attachment <variableId>=<localPath>` (example: `--attachment documentFile=./path/to/doc.pdf` for the `documentFile` variable above). The CLI uploads the file and binds it as a `{ ID, FullName, MimeType, Metadata }` Attachment object — keys are case-sensitive; `ID` is uppercase, not `Id`. The flag is repeatable; the `<variableId>` (left of `=`) must match a `variables.globals[]` entry's `id` — see [cli-commands.md — Pre-flight](../../../../shared/cli-commands.md#pre-flight---attachment-binding). Do not declare the variable as `type: "object"`, do not reference it as `=js:$vars.<variableId>` directly without the trigger output path, and do not pass a bare GUID/URL/path/`.ID`/`.FullName`.
|
|
57
|
-
|
|
58
|
-
## JSON Structure
|
|
59
|
-
|
|
60
|
-
```json
|
|
61
|
-
{
|
|
62
|
-
"id": "summarizeContract",
|
|
63
|
-
"type": "uipath.pattern.deep-rag",
|
|
64
|
-
"typeVersion": "1.0",
|
|
65
|
-
"display": { "label": "Summarize Contract" },
|
|
66
|
-
"inputs": {
|
|
67
|
-
"attachment": "=js:$vars.start.output.documentFile",
|
|
68
|
-
"prompt": "Write a 5-bullet executive summary covering scope, term, SLAs, penalties, and termination.",
|
|
69
|
-
"returnCitations": true
|
|
70
|
-
},
|
|
71
|
-
"outputs": {
|
|
72
|
-
"output": {
|
|
73
|
-
"type": "object",
|
|
74
|
-
"source": "=response",
|
|
75
|
-
"var": "output",
|
|
76
|
-
"schema": {
|
|
77
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
78
|
-
"type": "object",
|
|
79
|
-
"properties": {
|
|
80
|
-
"id": { "type": "string" },
|
|
81
|
-
"content": {
|
|
82
|
-
"type": ["object", "null"],
|
|
83
|
-
"properties": {
|
|
84
|
-
"Text": { "type": "string" },
|
|
85
|
-
"Citations": {
|
|
86
|
-
"type": ["array", "null"],
|
|
87
|
-
"items": {
|
|
88
|
-
"type": "object",
|
|
89
|
-
"properties": {
|
|
90
|
-
"Ordinal": { "type": "integer" },
|
|
91
|
-
"PageNumber": { "type": "integer" },
|
|
92
|
-
"Source": { "type": "string" },
|
|
93
|
-
"Reference": { "type": "string" }
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
"error": {
|
|
103
|
-
"type": "object",
|
|
104
|
-
"description": "Error information if the node fails",
|
|
105
|
-
"source": "=Error",
|
|
106
|
-
"var": "error"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Notes:
|
|
113
|
-
|
|
114
|
-
- **No instance-level `model` block.** BPMN type and `serviceType: "ECS.DeepRag"` live only in the corresponding `definitions[]` entry — copy that 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.
|
|
115
|
-
- **`typeVersion` must match `definitions[<deep-rag>].version` exactly** — set it to the `version` field from the `registry get uipath.pattern.deep-rag` response; do not guess. Use the registry's exact form (single-dot `x.y`, e.g. `"1.0"`, not `"1.0.0"`).
|
|
116
|
-
- `outputs.output.source` is the literal **`=response`** (the convention every BPMN ServiceTask follows). Do not rewrite to `=deepRagResult` or similar.
|
|
117
|
-
- `outputs.output.type` is **`"object"`**, with the nested PascalCase schema above.
|
|
118
|
-
- Setting `returnCitations: true` populates `content.Citations`; setting `false` omits the array entirely (the downstream consumer should tolerate either).
|
|
119
|
-
|
|
120
|
-
## End-node output mapping
|
|
121
|
-
|
|
122
|
-
If the flow surfaces the synthesized text or citations as flow `out` variables, the End node must map them. Per [Author capability, rule 11](../../../CAPABILITY.md), value-field expressions need the `=js:` prefix. Note the **PascalCase** field names:
|
|
123
|
-
|
|
124
|
-
```json
|
|
125
|
-
{
|
|
126
|
-
"id": "end",
|
|
127
|
-
"type": "core.control.end",
|
|
128
|
-
"typeVersion": "1.0",
|
|
129
|
-
"outputs": {
|
|
130
|
-
"summary": { "source": "=js:$vars.summarizeContract.output.content.Text" },
|
|
131
|
-
"citations": { "source": "=js:$vars.summarizeContract.output.content.Citations" }
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
Without `=js:`, the runtime stores the literal string (e.g. `"$vars.summarizeContract.output.content.Text"`) into the flow output instead of the real value. When `returnCitations: false`, drop the `citations` mapping rather than mapping a missing field. Lowercase variants (`.text`, `.citations`) do not exist in the response shape — they would resolve to `undefined`.
|
|
137
|
-
|
|
138
|
-
## Add via CLI (opt-in, not preferred)
|
|
139
|
-
|
|
140
|
-
The `uip maestro flow node add` / `edge add` CLI is **not** the canonical authoring path for OOTB pattern nodes (see [Node ownership](../../../CAPABILITY.md#node-ownership--who-authors-the-node) — pattern nodes are user-owned). Reach for it only when scripting in a context where Edit/Write isn't available. The shape:
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
uip maestro flow node add <FlowName>.flow uipath.pattern.deep-rag \
|
|
144
|
-
--label "<LABEL>" \
|
|
145
|
-
--input '{
|
|
146
|
-
"attachment": "=js:$vars.<triggerId>.output.<fileVarId>",
|
|
147
|
-
"prompt": "<INSTRUCTION for the synthesis>",
|
|
148
|
-
"returnCitations": true
|
|
149
|
-
}' \
|
|
150
|
-
--output json
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
`attachment` must resolve to a **full Flow Attachment object** `{ ID, FullName, MimeType, Metadata }` — keys are case-sensitive; `ID` is uppercase, not `Id`. Reference it through the trigger's output (`$vars.<triggerId>.output.<fileVarId>`) — that's how the canvas wires file-typed flow `in` variables. Do **not** pass a bare GUID, URL, byte stream, or path; even though the OOTB `inputDefinition` declares `type: "string"`, the engine wants the object. Set `returnCitations: false` (or omit) when downstream consumers do not need page-level provenance.
|
|
154
|
-
|
|
155
|
-
## Accessing Output
|
|
156
|
-
|
|
157
|
-
```javascript
|
|
158
|
-
// Downstream Script node
|
|
159
|
-
const result = $vars.summarizeContract.output;
|
|
160
|
-
const text = result.content.Text; // the synthesized prose
|
|
161
|
-
const citations = result.content.Citations ?? []; // [{ Ordinal, PageNumber, Source, Reference }, ...]
|
|
162
|
-
return {
|
|
163
|
-
summary: text,
|
|
164
|
-
citationCount: citations.length,
|
|
165
|
-
};
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
Field names are **PascalCase** (`Text`, `Citations`, `Ordinal`, `PageNumber`, `Source`, `Reference`). If `returnCitations: false`, the `Citations` array is not present. Guard with `?? []` or check `result.content.Citations != null` before iterating.
|
|
169
|
-
|
|
170
|
-
## Validate
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
uip maestro flow validate <FlowName>.flow --output json
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
The validator checks that required inputs (`attachment`, `prompt`) are present and non-empty.
|
|
177
|
-
|
|
178
|
-
## Debug
|
|
179
|
-
|
|
180
|
-
| Error | Cause | Fix |
|
|
181
|
-
| --- | --- | --- |
|
|
182
|
-
| `Node type not found: uipath.pattern.deep-rag` | CLI predates Summarize support, or tenant flag `canvas.nodes.summarize` is off | `uip tools update`, `uip maestro flow registry pull --force`; check with admin that `canvas.nodes.summarize` is enabled if still missing |
|
|
183
|
-
| Runtime: synthesis returns empty `content.Text` | Prompt too vague, or attachment unreadable (image-only PDF with no OCR, corrupted file) | Tighten the prompt; confirm the attachment type is supported and has selectable text |
|
|
184
|
-
| `content.Citations` missing even though set `returnCitations: true` | Downstream consumer read the node's `inputDefaults` before the runtime produced the output | Reference `$vars.{nodeId}.output.content.Citations` only in nodes downstream of Summarize; do not precompute |
|
|
185
|
-
| Downstream `result.content.text` / `result.content.citations` is `undefined` | Used lowercase field names — the response shape is PascalCase | Switch to `result.content.Text` / `result.content.Citations` |
|
|
186
|
-
| Large documents time out | Synthesis cost scales with doc size; single call is bounded | Split the document upstream (per-section Summarize calls + a final merge step) or move to a published [Agent](../agent/impl.md) with a context-grounding resource |
|
|
187
|
-
| Wrong citations (pages off by one, wrong source) | The attached document's page numbering doesn't match the displayed page ordinal | Treat `Ordinal` and `PageNumber` as advisory — present `Source`/`Reference` alongside and let the reader verify |
|
|
188
|
-
|
|
189
|
-
## What NOT to Do
|
|
190
|
-
|
|
191
|
-
- **Do not hand-author `model.bindings`** on the node — Summarize has no process or connector binding. Adding a `bindings` block will be stripped or cause validate errors.
|
|
192
|
-
- **Do not pass `--source` on `uip maestro flow node add`** — `--source` is only for inline agent nodes. Summarize has no agent project behind it.
|
|
193
|
-
- **Do not chain Summarize for multi-turn chat.** It is single-turn; each call is independent. Use a published [Agent](../agent/impl.md) for conversational flows.
|
|
194
|
-
- **Do not stuff `prompt` with entire document text.** The attachment is already ingested — the prompt should describe **the task**, not the input.
|
|
195
|
-
- **Do not assume `content.Citations` is always present.** When `returnCitations: false`, the field is omitted; downstream code must guard.
|
|
196
|
-
- **Do not use lowercase field names** (`content.text`, `content.citations`, `.ordinal`, `.page`). The runtime emits PascalCase: `content.Text`, `content.Citations`, `Ordinal`, `PageNumber`, `Source`, `Reference`.
|
|
197
|
-
- **Do not pass `attachment` as a bare string id, GUID, URL, or path.** The OOTB schema and Studio Web's file-picker UI suggest a string, but the runtime needs the **full Flow Attachment object** `{ ID, FullName, MimeType, Metadata }` — keys are case-sensitive; `ID` is uppercase, not `Id`. The canonical wiring is a flow `in` variable of `type: "file"` bound to the trigger via `triggerNodeId`, referenced as `=js:$vars.<triggerId>.output.<fileVarId>` (see Key Inputs in `planning.md`). Bare-id mistakes pass `flow validate` cleanly and fault at runtime.
|
|
198
|
-
- **Do not write `outputs.output.source: "=deepRagResult"`.** The canonical value is `"=response"` (the convention every BPMN ServiceTask follows).
|
package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Summarize Pattern Node — Planning
|
|
2
|
-
|
|
3
|
-
The Summarize node runs comprehensive document synthesis over an attached file (PDF, Word, etc.): ingest, retrieve, reason, and return prose — optionally with per-sentence citations back to the source pages. It sits in the **Document Processing** category of the add-node panel.
|
|
4
|
-
|
|
5
|
-
## Node Type
|
|
6
|
-
|
|
7
|
-
`uipath.pattern.deep-rag`
|
|
8
|
-
|
|
9
|
-
(The wire type still reads `deep-rag` even though the canvas display name is "Summarize" — the node type is contractual with the runtime serializer and was not renamed.)
|
|
10
|
-
|
|
11
|
-
Fixed OOTB node type — no registry suffix, one version. It does not appear in `uip maestro flow registry list` unless the tenant has the platform-side `canvas.nodes.summarize` feature flag enabled. The uip CLI unconditionally requests this flag in its manifest fetch, so the node will appear once the server rolls it out to your tenant.
|
|
12
|
-
|
|
13
|
-
## When to Use
|
|
14
|
-
|
|
15
|
-
Use Summarize when the task is **"read this document and produce a thorough answer"** — summarization, Q&A, compliance checks, executive briefs — where depth matters and traceability back to the source is valuable.
|
|
16
|
-
|
|
17
|
-
### Selection Heuristics
|
|
18
|
-
|
|
19
|
-
| Situation | Use Summarize? |
|
|
20
|
-
| --- | --- |
|
|
21
|
-
| Summarize a long document (contract, policy, research paper) | Yes |
|
|
22
|
-
| Answer a free-form question grounded in one attached document | Yes |
|
|
23
|
-
| Produce a report where every claim must cite the source page | Yes — set `returnCitations: true` |
|
|
24
|
-
| Short, single-turn Q&A over small text in-memory | No — use [Agent](../agent/planning.md) or [Script](../script/planning.md) |
|
|
25
|
-
| Row-by-row enrichment of tabular data | No — use [Batch Transform](../batch-transform/planning.md) |
|
|
26
|
-
| Multi-document retrieval across a corpus | No — Summarize is scoped to one attachment per call. Chain multiple Summarize nodes (one per doc) and merge results, or use a published [Agent](../agent/planning.md) with a context-grounding resource |
|
|
27
|
-
| The user wants to chat with the document | No — Summarize is single-turn. Use an [Agent](../agent/planning.md) with a context resource for conversational behavior |
|
|
28
|
-
|
|
29
|
-
### Anti-Patterns
|
|
30
|
-
|
|
31
|
-
- **Do not use Summarize for small/simple text.** For a few paragraphs inline in `$vars`, a [Script](../script/planning.md) or [Agent](../agent/planning.md) is cheaper and faster.
|
|
32
|
-
- **Do not use Summarize as a general agent.** It cannot call tools, escalate, or loop — it is a single synthesis step. For multi-step reasoning with tool use, use an [Agent](../agent/planning.md).
|
|
33
|
-
- **Do not chain multiple Summarize nodes to emulate multi-document retrieval if the answer requires cross-document reasoning.** Per-document synthesis then merging loses cross-doc grounding. Use a published [Agent](../agent/planning.md) with a proper retrieval resource instead.
|
|
34
|
-
|
|
35
|
-
## Ports
|
|
36
|
-
|
|
37
|
-
| Port | Position | Direction | Use |
|
|
38
|
-
| --- | --- | --- | --- |
|
|
39
|
-
| `input` | left | target | Flow sequence input |
|
|
40
|
-
| `output` | right | source | Synthesis text (plus citations if enabled) |
|
|
41
|
-
| `error` | right | source | Error handler |
|
|
42
|
-
|
|
43
|
-
No artifact ports. Pattern-style nodes do not wire to resource files — the prompt lives on the node inputs.
|
|
44
|
-
|
|
45
|
-
## Output Variables
|
|
46
|
-
|
|
47
|
-
`$vars.{nodeId}.output` is an object whose schema is published on the OOTB definition (also mirrored on the node instance's `outputs.output.schema`):
|
|
48
|
-
|
|
49
|
-
- `id` — string, the result identifier
|
|
50
|
-
- `content` — `object | null`
|
|
51
|
-
- `content.Text` — string, the synthesized prose
|
|
52
|
-
- `content.Citations` — `array | null`, present only when `returnCitations: true`. Each entry: `{ Ordinal: integer, PageNumber: integer, Source: string, Reference: string }`
|
|
53
|
-
|
|
54
|
-
Note the **PascalCase** field names (`Text`, `Citations`, `Ordinal`, `PageNumber`, `Source`, `Reference`) — the runtime emits them this way to match the engine response shape; lowercase variants (`text`, `citations`, `page`) are wrong.
|
|
55
|
-
|
|
56
|
-
`$vars.{nodeId}.error` — populated on failure: `{ code, message, detail, category, status }`.
|
|
57
|
-
|
|
58
|
-
## Key Inputs
|
|
59
|
-
|
|
60
|
-
| Input | Required | Type | Description |
|
|
61
|
-
| --- | --- | --- | --- |
|
|
62
|
-
| `attachment` | Yes | full Flow Attachment | The runtime engine wants the **full Flow Attachment object** `{ ID, FullName, MimeType, Metadata }` — keys are case-sensitive; `ID` is uppercase, not `Id`. Source it as a flow-level `in` variable of `type: "file"` bound to the trigger via `triggerNodeId: "<triggerId>"`. The variable's payload is populated by `uip maestro flow debug --attachment <fileVarId>=<path>` (repeatable; `<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 Summarize node as `=js:$vars.<triggerId>.output.<fileVarId>` — that path resolves to the whole Attachment object at runtime. The OOTB `inputDefinition.attachment` declares `type: "string"` because Studio Web's file-picker form serializes the object into that string slot at save time; the engine deserializes it back. **Never** wire a bare GUID, URL, byte stream, file path, or `.ID`/`.FullName` subfield. |
|
|
63
|
-
| `prompt` | Yes | string | The task instruction — e.g., "Write a 3-paragraph executive summary", "List every SLA penalty clause", "Answer: what is the termination notice period?". |
|
|
64
|
-
| `returnCitations` | No | boolean | When `true`, the `content.Citations` array is populated with per-claim page references. Default `false`. |
|
|
65
|
-
|
|
66
|
-
## Planning Annotation
|
|
67
|
-
|
|
68
|
-
In the architectural plan:
|
|
69
|
-
|
|
70
|
-
- `pattern: summarize — <one-line purpose>` with a placeholder for the attachment source (a `=js:$vars.<triggerId>.output.<fileVarId>` reference to a trigger-bound `in` variable of `type: "file"`) and a short summary of the prompt.
|
|
71
|
-
- If the downstream step needs to display or audit sources, call out `returnCitations: true` explicitly in the node table; otherwise leave it `false`.
|