@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
package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md
CHANGED
|
@@ -8,21 +8,21 @@ Pick this plugin when the sdd.md **literally uses the phrase "case exit conditio
|
|
|
8
8
|
|
|
9
9
|
For stage-level conditions, use [stage-entry-conditions](../stage-entry-conditions/planning.md) / [stage-exit-conditions](../stage-exit-conditions/planning.md). For task-level, use [task-entry-conditions](../task-entry-conditions/planning.md).
|
|
10
10
|
|
|
11
|
-
## No omission — one
|
|
11
|
+
## No omission — one caseplan element per sdd.md case-exit row
|
|
12
12
|
|
|
13
|
-
Every case-exit condition declared in sdd.md gets its own
|
|
13
|
+
Every case-exit condition declared in sdd.md gets its own caseplan element — **including rule-type `required-stages-completed` with `marks-case-complete: true`** (the "preferred pattern"). Never skip a condition because it's the default completion shape. If sdd.md wrote the row, the build emits the element.
|
|
14
14
|
|
|
15
15
|
## Required Fields from sdd.md
|
|
16
16
|
|
|
17
17
|
| Field | Source | Notes |
|
|
18
18
|
|-------|--------|-------|
|
|
19
|
-
| `display-name` | sdd.md Display Name column (optional) | Carry
|
|
19
|
+
| `display-name` | sdd.md Display Name column (optional) | Carry a semantic SDD value verbatim, e.g. "Case resolved", "Closed — escalation path". Omit when the cell is blank / `—` — do NOT invent one; impl defaults it to `Complete Rule {N}` (marks-case-complete `true`) / `Exit Rule {N}` (`false`). A cell already holding that default pattern is the SDD echoing the default, so impl renumbers it case-wide ([case-schema.md § Condition name uniqueness](../../../case-schema.md#condition-name-uniqueness)). |
|
|
20
20
|
| `marks-case-complete` | sdd.md | `true` for normal completion, `false` for non-completing exits |
|
|
21
21
|
| `rule-type` | From catalog below | See §Rule-type catalog |
|
|
22
22
|
| `selected-stage-id` | Required for `selected-stage-*` rule-types | Resolved from stage capture map |
|
|
23
23
|
| `connector fields` | SDD **Connector Rule Detail** block | `type-id` (activity-type-id), `connector-key`, `connection-id`, `object-name`, `event-operation`, `event-mode`, `input-values`, optional `filter` — see [connector-trigger-planning.md § Planning Pipeline](../../../connector-trigger-planning.md#planning-pipeline) |
|
|
24
24
|
| `condition-expression` | Optional on any rule-type | Extra `=js:` gate on **case state** (`=js:vars.X ...`) — NOT the event payload (no `event` namespace) |
|
|
25
|
-
| `outputs` | SDD **Connector Rule Outputs** block | Optional. `->` (extract field → case var) or `=` (assign expression → case var). See [connector-trigger-planning.md §
|
|
25
|
+
| `outputs` | SDD **Connector Rule Outputs** block | Optional. `->` (extract field → case var) or `=` (assign expression → case var). See [connector-trigger-planning.md § registry-resolved.json fields (resolution)](../../../connector-trigger-planning.md#registry-resolvedjson-fields-resolution). |
|
|
26
26
|
|
|
27
27
|
## Rule-Type Catalog (case-exit scope)
|
|
28
28
|
|
|
@@ -53,21 +53,22 @@ Add non-completing exit conditions only when the sdd.md explicitly describes an
|
|
|
53
53
|
|
|
54
54
|
## Ordering
|
|
55
55
|
|
|
56
|
-
Case exit conditions are created **after** all stages exist (so `selectedStageId` can resolve via the stage capture map). In
|
|
56
|
+
Case exit conditions are created **after** all stages exist (so `selectedStageId` can resolve via the stage capture map). In execution order, place these between stage conditions and SLA.
|
|
57
57
|
|
|
58
|
-
##
|
|
58
|
+
## Fields to Resolve
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
A condition produces **no `tasks/registry-resolved.json` entry** unless its `rule-type` is `wait-for-connector`. These are reasoning fields only — Phase 2 reads them from `sdd.md` ([planning.md § Step 4](../../../planning.md)).
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
case-exit condition — <summary>
|
|
62
64
|
- display-name: "<name>" # optional — omit when blank; impl defaults to "Complete Rule {N}"/"Exit Rule {N}" per marks-case-complete
|
|
63
65
|
- marks-case-complete: true
|
|
64
66
|
- rule-type: required-stages-completed
|
|
65
67
|
- selected-stage: "<stage-name>" # only for selected-stage-* rule-types
|
|
66
68
|
- condition-expression: "=js:vars.X..." # optional gate on case state, NOT the event payload
|
|
67
|
-
- order: after T<m>
|
|
68
69
|
- verify: Confirm Result: Success, capture ConditionId
|
|
69
70
|
```
|
|
70
71
|
|
|
71
|
-
> `rule-type: wait-for-connector` also needs the connector fields — see [connector-trigger-planning.md §
|
|
72
|
+
> `rule-type: wait-for-connector` also needs the connector fields — see [connector-trigger-planning.md § registry-resolved.json fields (resolution)](../../../connector-trigger-planning.md#registry-resolvedjson-fields-resolution).
|
|
72
73
|
|
|
73
74
|
<!-- END: planning.md -->
|
package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md
CHANGED
|
@@ -27,7 +27,7 @@ Write the Phase 2 stage-entry condition directly to the target stage's `data.ent
|
|
|
27
27
|
|
|
28
28
|
Rules use DNF — outer array is OR, inner array is AND.
|
|
29
29
|
|
|
30
|
-
> **One row = one condition object.** Each entry-condition row in
|
|
30
|
+
> **One row = one condition object.** Each entry-condition row in the SDD maps to a **separate** object in `entryConditions[]`. Never merge multiple rows into a single condition's `rules` AND group.
|
|
31
31
|
|
|
32
32
|
## Procedure
|
|
33
33
|
|
|
@@ -35,8 +35,8 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
35
35
|
2. Generate rule ID: `Rule_` + 6 alphanumeric chars
|
|
36
36
|
3. Locate the target stage in `schema.nodes` by ID
|
|
37
37
|
4. Initialize `stageNode.data.entryConditions = []` if absent (regular Stage is created without this key — see [`../../stages/impl-json.md`](../../stages/impl-json.md))
|
|
38
|
-
5. Read
|
|
39
|
-
6. Set `displayName`: use
|
|
38
|
+
5. Read the rule type and interrupting flag from the SDD's Stage Entry Conditions row; pick the recipe below
|
|
39
|
+
6. Set `displayName`: use the SDD row's `Display Name` if present; else default to `Entry Rule {N}`. `N` counts **case-wide**, not within this stage: scan the whole `caseplan.json` for existing `Entry Rule <number>` names across every stage's `data.entryConditions[]` and every task's `entryConditions[]`, then `N` = highest + 1 (`1` when none). A per-stage counter collides with the identically-defaulted task entry conditions — [case-schema.md § Condition name uniqueness](../../../case-schema.md#condition-name-uniqueness). Never emit a blank or omitted `displayName`.
|
|
40
40
|
7. Append the condition object to `stageNode.data.entryConditions[]`. **When the table has multiple rows, repeat steps 1–7 once per row** — append one condition object per row. Never fold multiple rows into a single condition's `rules` group.
|
|
41
41
|
|
|
42
42
|
## Rule Types
|
|
@@ -71,7 +71,7 @@ Fires when an upstream stage exits via a `wait-for-user` exit condition and the
|
|
|
71
71
|
|
|
72
72
|
### sla-status-change — case/stage SLA at-risk or breach
|
|
73
73
|
|
|
74
|
-
Resolve the
|
|
74
|
+
Resolve the element's `(sla-target, sla-display-name)` against the SLA object already written in Phase 2 Step 11, then cross-check the same ID in `id-map.json`. `slaId` is always required; never match by array index. Resolve `(sla-target, escalation-display-name)` **only when the row carries one** — an at-risk response. A breach element has no escalation field, and none is invented.
|
|
75
75
|
|
|
76
76
|
Breach — `slaId` alone:
|
|
77
77
|
|
|
@@ -98,7 +98,7 @@ At-risk — adds a concrete escalation declared on that same SLA:
|
|
|
98
98
|
]]
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
Escalation presence carries the status: `slaId` alone is a **breach** rule (an absent `escalationId` is the persisted representation of Breached); `slaId` plus a concrete **at-risk** `escalationId` on that SLA is an at-risk rule. Never emit the Case Designer's `"any"` escalation sentinel — released `validate` rejects it as a missing escalation. Use separate entry-condition rows when the same stage handles both statuses. Set the containing condition's `isInterrupting` from the
|
|
101
|
+
Escalation presence carries the status: `slaId` alone is a **breach** rule (an absent `escalationId` is the persisted representation of Breached); `slaId` plus a concrete **at-risk** `escalationId` on that SLA is an at-risk rule. Never emit the Case Designer's `"any"` escalation sentinel — released `validate` rejects it as a missing escalation. Use separate entry-condition rows when the same stage handles both statuses. Set the containing condition's `isInterrupting` from the SDD row, not from the SLA's scope. The referenced SLA may live on `root` or on any stage; `validate` passes with `isInterrupting` either value.
|
|
102
102
|
|
|
103
103
|
**This scope is the `enter-stage` response — a stage takes the case.** A `start-task` response puts the same rule on the follow-up **task's** `entryConditions` instead ([task-entry-conditions/impl-json.md](../task-entry-conditions/impl-json.md)). Do **not** author `start-task` as a stage-entry rule on the breached stage: `validate` accepts it, but re-entering the stage re-runs every task in it whose `shouldRunOnlyOnce` is `false` (the default), not just the intended follow-up. Response choice, status shape, interrupting semantics, and the defects `validate` cannot see: [sla-response-shapes.md](../../../sla-response-shapes.md). Non-interrupting lanes keep `data.stageType: "secondary"` and `isRequired: false` — never demote them to a regular stage.
|
|
104
104
|
|
|
@@ -125,6 +125,6 @@ In Phase 2, always write the canonical stub from [connector-trigger-impl.md § C
|
|
|
125
125
|
|
|
126
126
|
## Post-Write Verification
|
|
127
127
|
|
|
128
|
-
Confirm target stage's `data.entryConditions[]` contains the new object with `id`, non-empty `displayName` (SDD value or `Entry Rule {N}` default), `isInterrupting` matching the
|
|
128
|
+
Confirm target stage's `data.entryConditions[]` contains the new object with `id`, non-empty `displayName` (SDD value or `Entry Rule {N}` default), `isInterrupting` matching the SDD row, and `rules` carrying the expected `rule` value plus any required side field. For `sla-status-change`, verify `slaId` resolves to an object on the declared SLA target and `isInterrupting` matches the declared response. Check `escalationId` **against the row's status, not for its presence**: an at-risk element must carry one that resolves on that same SLA; a breach row must carry **none**. A missing `escalationId` on a breach rule is correct and complete — do **not** "repair" it by adding one, which silently converts the rule to at-risk ([sla-response-shapes.md § defects `validate` cannot see](../../../sla-response-shapes.md)). For `wait-for-connector`, Phase 2 expects the exact stub; after Phase 3, a resolved rule must have no `"placeholder"` values, use `<stageId>-<ruleId>` on inputs/outputs, and carry root bindings. A remaining stub must map to a reported unresolved connector.
|
|
129
129
|
|
|
130
130
|
<!-- END: impl-json.md -->
|
package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md
CHANGED
|
@@ -8,16 +8,16 @@ Pick this plugin when the sdd.md declares a stage entry condition or a global ev
|
|
|
8
8
|
|
|
9
9
|
For when a stage **exits**, use [stage-exit-conditions](../stage-exit-conditions/planning.md). For when a specific **task** starts, use [task-entry-conditions](../task-entry-conditions/planning.md).
|
|
10
10
|
|
|
11
|
-
## No omission — one
|
|
11
|
+
## No omission — one caseplan element per sdd.md Entry Condition row
|
|
12
12
|
|
|
13
|
-
Every stage with an **Entry Condition** declared in sdd.md gets its own stage-entry
|
|
13
|
+
Every stage with an **Entry Condition** declared in sdd.md gets its own stage-entry condition — **including rule-type `case-entered`** and stages with `is-interrupting: false`. Never skip a condition because the rule-type or field values look like defaults. If sdd.md wrote the row, the build emits the element.
|
|
14
14
|
|
|
15
15
|
## Required Fields from sdd.md
|
|
16
16
|
|
|
17
17
|
| Field | Source | Notes |
|
|
18
18
|
|-------|--------|-------|
|
|
19
19
|
| `<stage-id>` | previously captured from the stages plugin | Target stage |
|
|
20
|
-
| `display-name` | sdd.md Display Name column (optional) | Carry
|
|
20
|
+
| `display-name` | sdd.md Display Name column (optional) | Carry a semantic SDD value verbatim, e.g. "Pre-check", "Interrupt on Fraud". Omit when the cell is blank / `—` — do NOT invent one; impl defaults it to `Entry Rule {N}`. A cell already holding that default pattern is the SDD echoing the default, so impl renumbers it case-wide ([case-schema.md § Condition name uniqueness](../../../case-schema.md#condition-name-uniqueness)). |
|
|
21
21
|
| `is-interrupting` | sdd.md (default `false`) | `true` if the condition interrupts the current stage. Required for every secondary-stage entry row, except an `sla-status-change` parallel-oversight row; otherwise `false` is for regular-stage entry only. Carry the sdd.md value — never override it from the rule type or the SLA's scope. |
|
|
22
22
|
| `rationale` | sdd.md Design Rationale | Required reviewer context for why this rule/interrupt is used. Not emitted into caseplan JSON. |
|
|
23
23
|
| `rule-type` | Pick from the catalog below | See §Rule-type catalog |
|
|
@@ -27,7 +27,7 @@ Every stage with an **Entry Condition** declared in sdd.md gets its own stage-en
|
|
|
27
27
|
| `escalation-display-name` | `sla-status-change` arg 3 — a `Display Name` from that target's SDD escalation table | Target-unique **at-risk** escalation title; resolves to its escalation ID. **At-risk only** — omit for a breach response. A breach rule references the SLA alone; supplying an escalation converts it into an at-risk rule ([sla-response-shapes.md § Status](../../../sla-response-shapes.md)) |
|
|
28
28
|
| `connector fields` | SDD **Connector Rule Detail** block | `type-id` (activity-type-id), `connector-key`, `connection-id`, `object-name`, `event-operation`, `event-mode`, `input-values`, optional `filter` — resolved via [connector-trigger-planning.md § Planning Pipeline](../../../connector-trigger-planning.md#planning-pipeline) |
|
|
29
29
|
| `condition-expression` | Optional on any rule-type | Extra `=js:` gate on **case state** (`=js:vars.X ...`) — NOT the event payload (no `event` namespace) |
|
|
30
|
-
| `outputs` | SDD **Connector Rule Outputs** block | Optional. `->` (extract field → case var) or `=` (assign expression → case var). See [connector-trigger-planning.md §
|
|
30
|
+
| `outputs` | SDD **Connector Rule Outputs** block | Optional. `->` (extract field → case var) or `=` (assign expression → case var). See [connector-trigger-planning.md § registry-resolved.json fields (resolution)](../../../connector-trigger-planning.md#registry-resolvedjson-fields-resolution). |
|
|
31
31
|
|
|
32
32
|
## Rule-Type Catalog (stage-entry scope)
|
|
33
33
|
|
|
@@ -52,10 +52,12 @@ Allowed `ruleType` values and when to pick each:
|
|
|
52
52
|
|
|
53
53
|
Stage entry conditions are created **after** all stages exist (Step 7 in implementation.md). Source/target stage IDs must both be captured by then.
|
|
54
54
|
|
|
55
|
-
##
|
|
55
|
+
## Fields to Resolve
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
A condition produces **no `tasks/registry-resolved.json` entry** unless its `rule-type` is `wait-for-connector` (see the note below the block). These are reasoning fields only — Phase 2 reads them from `sdd.md` ([planning.md § Step 4](../../../planning.md)).
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
stage-entry condition on "<stage>" — <summary>
|
|
59
61
|
- target-stage: "<stage-name>"
|
|
60
62
|
- rationale: "<why this entry rule belongs on this stage>"
|
|
61
63
|
- display-name: "<name>" # optional — omit when SDD Display Name cell is blank; impl defaults to "Entry Rule {N}"
|
|
@@ -63,23 +65,21 @@ Stage entry conditions are created **after** all stages exist (Step 7 in impleme
|
|
|
63
65
|
- rule-type: selected-stage-completed
|
|
64
66
|
- selected-stage: "<upstream-stage-name>"
|
|
65
67
|
- condition-expression: "=js:vars.X..." # optional gate on case state, NOT the event payload
|
|
66
|
-
- order: after T<m>
|
|
67
68
|
- verify: Confirm Result: Success, capture ConditionId
|
|
68
69
|
```
|
|
69
70
|
|
|
70
|
-
> `rule-type: wait-for-connector` also needs the connector fields — see [connector-trigger-planning.md §
|
|
71
|
+
> `rule-type: wait-for-connector` also needs the connector fields — see [connector-trigger-planning.md § registry-resolved.json fields (resolution)](../../../connector-trigger-planning.md#registry-resolvedjson-fields-resolution).
|
|
71
72
|
|
|
72
73
|
`sla-status-change` example:
|
|
73
74
|
|
|
74
|
-
```
|
|
75
|
-
|
|
75
|
+
```text
|
|
76
|
+
stage-entry condition on "SLA Escalation" — case SLA breached
|
|
76
77
|
- target-stage: "SLA Escalation"
|
|
77
78
|
- rationale: "The case SLA can breach during any active stage, so one interrupting entry replaces per-stage exits."
|
|
78
79
|
- is-interrupting: true
|
|
79
80
|
- rule-type: sla-status-change
|
|
80
81
|
- sla-target: "root"
|
|
81
82
|
- sla-display-name: "Supplier Application SLA"
|
|
82
|
-
- order: after T<m>
|
|
83
83
|
- verify: Confirm Result: Success, capture ConditionId
|
|
84
84
|
```
|
|
85
85
|
|
package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md
CHANGED
|
@@ -30,8 +30,8 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
30
30
|
2. Generate rule ID: `Rule_` + 6 alphanumeric chars
|
|
31
31
|
3. Locate the target stage in `schema.nodes` by ID
|
|
32
32
|
4. Initialize `stageNode.data.exitConditions = []` if absent (regular Stage is created without this key — see [`../../stages/impl-json.md`](../../stages/impl-json.md))
|
|
33
|
-
5. Read
|
|
34
|
-
6. Set `displayName`: use
|
|
33
|
+
5. Read the exit type, exit-to-stage, marks-stage-complete, and rule type from the SDD's Stage Exit Conditions row; pick the recipe below. `exit-to-stage` is a stage **name** — resolve it to `exitToStageId` through `tasks/id-map.json`; never derive the id from the label (`Stage_<name>`).
|
|
34
|
+
6. Set `displayName`: use the SDD row's `Display Name` if present; else default by `marks-stage-complete`: `true` → `Complete Rule {N}`, `false` → `Exit Rule {N}`. FE keeps the two kinds on independent counters, but each counts **case-wide**, not within this stage: scan the whole `caseplan.json` for that kind's pattern across `metadata.caseExitRules[]` and every stage's `data.exitConditions[]`, then `N` = highest + 1 (`1` when none). A per-stage counter restarts at `1` in each stage and fails `validate` — [case-schema.md § Condition name uniqueness](../../../case-schema.md#condition-name-uniqueness). Never emit a blank or omitted `displayName`.
|
|
35
35
|
7. Append the condition object to `stageNode.data.exitConditions[]`
|
|
36
36
|
|
|
37
37
|
## Exit Types
|
|
@@ -66,7 +66,7 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
66
66
|
]]
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
`selectedTasksIds` is a JSON string array, not a comma-separated string. Resolve each planned selector to its taskId via `tasks/id-map.json` using the task's EXACT
|
|
69
|
+
`selectedTasksIds` is a JSON string array, not a comma-separated string. Resolve each planned selector to its taskId via `tasks/id-map.json` using the task's EXACT SDD display name — never a paraphrase or shortened form (a rule labeled `Determine sign-off level` does not match a task named `Confirm funds and determine sign-off level`; the selector carries the task's exact name). Resolve only tasks in the same stage whose entry conditions are not `adhoc`. If a selected task is ad-hoc/manual, stop and repair the plan: required routing cannot depend on optional user-launched work. **Never write a `selected-tasks-completed` rule with an empty or partially resolved `selectedTasksIds`** — an unresolvable name is a stop-and-ask (AskUserQuestion: name the intended task, or repair the plan), never an empty emit. `uip maestro case validate`'s `has no task(s) selected` finding must never be the discovery mechanism (Step 12 Check 13 catches it first).
|
|
70
70
|
|
|
71
71
|
### wait-for-connector — bind a connector event
|
|
72
72
|
|
|
@@ -130,6 +130,6 @@ The exception lane's entry is `selected-stage-exited("<origin>") + IF =js:(vars.
|
|
|
130
130
|
|
|
131
131
|
## Post-Write Verification
|
|
132
132
|
|
|
133
|
-
Confirm target stage's `data.exitConditions[]` contains the new object with `id`, non-empty `displayName` (SDD value or `Complete Rule {N}` / `Exit Rule {N}` default keyed to `marksStageComplete`), `type`, `exitToStageId` (if set), `marksStageComplete` matching the
|
|
133
|
+
Confirm target stage's `data.exitConditions[]` contains the new object with `id`, non-empty `displayName` (SDD value or `Complete Rule {N}` / `Exit Rule {N}` default keyed to `marksStageComplete`), `type`, `exitToStageId` (if set), `marksStageComplete` matching the SDD row, and `rules` carrying the expected `rule` value plus any required side field. For `wait-for-connector`, Phase 2 expects the exact stub; after Phase 3, a resolved rule must have no `"placeholder"` values, use `<stageId>-<ruleId>` on inputs/outputs, and carry root bindings. A remaining stub must map to a reported unresolved connector.
|
|
134
134
|
|
|
135
135
|
<!-- END: impl-json.md -->
|
package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md
CHANGED
|
@@ -8,16 +8,16 @@ Pick this plugin when the sdd.md **literally uses the phrase "stage exit conditi
|
|
|
8
8
|
|
|
9
9
|
For when a stage **enters**, use [stage-entry-conditions](../stage-entry-conditions/planning.md).
|
|
10
10
|
|
|
11
|
-
## No omission — one
|
|
11
|
+
## No omission — one caseplan element per sdd.md Exit Condition row
|
|
12
12
|
|
|
13
|
-
Every stage with an **Exit Condition** declared in sdd.md gets its own stage-exit
|
|
13
|
+
Every stage with an **Exit Condition** declared in sdd.md gets its own stage-exit condition — **including type `exit-only`, rule-type `required-tasks-completed`, and `marks-stage-complete: true`**. Never skip a condition because it looks like "the obvious default completion." If sdd.md wrote the row, the build emits the element.
|
|
14
14
|
|
|
15
15
|
## Required Fields from sdd.md
|
|
16
16
|
|
|
17
17
|
| Field | Source | Notes |
|
|
18
18
|
|-------|--------|-------|
|
|
19
19
|
| `<stage-id>` | Captured from the stages plugin | Target stage |
|
|
20
|
-
| `display-name` | sdd.md Display Name column (optional) | Carry
|
|
20
|
+
| `display-name` | sdd.md Display Name column (optional) | Carry a semantic SDD value verbatim. Omit when the cell is blank / `—` — do NOT invent one; impl defaults it to `Complete Rule {N}` (marks-stage-complete `true`) / `Exit Rule {N}` (`false`). A cell already holding that default pattern is the SDD echoing the default, so impl renumbers it case-wide ([case-schema.md § Condition name uniqueness](../../../case-schema.md#condition-name-uniqueness)). |
|
|
21
21
|
| `type` | sdd.md exit style | `exit-only` / `wait-for-user` / `return-to-origin` |
|
|
22
22
|
| `exit-to-stage-id` | sdd.md routing target (optional) | Required when routing to a specific stage |
|
|
23
23
|
| `marks-stage-complete` | sdd.md (default depends on type) | `true` for completion exits, `false` for diverging routes |
|
|
@@ -25,7 +25,7 @@ Every stage with an **Exit Condition** declared in sdd.md gets its own stage-exi
|
|
|
25
25
|
| `selected-tasks-ids` | Required for `selected-tasks-completed` | Comma-separated task IDs. Selected tasks must be non-adhoc siblings in the same stage. |
|
|
26
26
|
| `connector fields` | SDD **Connector Rule Detail** block | `type-id` (activity-type-id), `connector-key`, `connection-id`, `object-name`, `event-operation`, `event-mode`, `input-values`, optional `filter` — see [connector-trigger-planning.md § Planning Pipeline](../../../connector-trigger-planning.md#planning-pipeline) |
|
|
27
27
|
| `condition-expression` | Optional on any rule-type | Extra `=js:` gate on **case state** (`=js:vars.X ...`) — NOT the event payload (no `event` namespace) |
|
|
28
|
-
| `outputs` | SDD **Connector Rule Outputs** block | Optional. `->` (extract field → case var) or `=` (assign expression → case var). See [connector-trigger-planning.md §
|
|
28
|
+
| `outputs` | SDD **Connector Rule Outputs** block | Optional. `->` (extract field → case var) or `=` (assign expression → case var). See [connector-trigger-planning.md § registry-resolved.json fields (resolution)](../../../connector-trigger-planning.md#registry-resolvedjson-fields-resolution). |
|
|
29
29
|
|
|
30
30
|
## Exit Type Catalog
|
|
31
31
|
|
|
@@ -61,10 +61,12 @@ Before planning `selected-tasks-completed`, verify the selected tasks are not ad
|
|
|
61
61
|
|
|
62
62
|
Stage exit conditions are created **after** all tasks in the stage have been added (so `selected-tasks-ids` can resolve). Planning records task names; implementation looks up captured IDs.
|
|
63
63
|
|
|
64
|
-
##
|
|
64
|
+
## Fields to Resolve
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
A condition produces **no `tasks/registry-resolved.json` entry** unless its `rule-type` is `wait-for-connector` (see the note below the block). These are reasoning fields only — Phase 2 reads them from `sdd.md` ([planning.md § Step 4](../../../planning.md)).
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
stage-exit condition on "<stage>" — <summary>
|
|
68
70
|
- target-stage: "<stage-name>"
|
|
69
71
|
- display-name: "<name>" # optional — omit when blank; impl defaults to "Complete Rule {N}"/"Exit Rule {N}" per marks-stage-complete
|
|
70
72
|
- type: exit-only
|
|
@@ -73,10 +75,9 @@ Stage exit conditions are created **after** all tasks in the stage have been add
|
|
|
73
75
|
- rule-type: required-tasks-completed
|
|
74
76
|
- selected-tasks: "<Task A>, <Task B>" # only if rule-type requires
|
|
75
77
|
- condition-expression: "=js:vars.X..." # optional gate on case state, NOT the event payload
|
|
76
|
-
- order: after T<m>
|
|
77
78
|
- verify: Confirm Result: Success, capture ConditionId
|
|
78
79
|
```
|
|
79
80
|
|
|
80
|
-
> `rule-type: wait-for-connector` also needs the connector fields — see [connector-trigger-planning.md §
|
|
81
|
+
> `rule-type: wait-for-connector` also needs the connector fields — see [connector-trigger-planning.md § registry-resolved.json fields (resolution)](../../../connector-trigger-planning.md#registry-resolvedjson-fields-resolution).
|
|
81
82
|
|
|
82
83
|
<!-- END: planning.md -->
|
package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md
CHANGED
|
@@ -33,8 +33,8 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
33
33
|
3. Locate the target stage in `schema.nodes` by ID
|
|
34
34
|
4. Locate the target task inside `stageNode.data.tasks[lane][index]` (search every lane until the task ID is found)
|
|
35
35
|
5. Initialize `task.entryConditions = []` if absent
|
|
36
|
-
6. Read
|
|
37
|
-
7. Set `displayName`: use
|
|
36
|
+
6. Read the rule type from the SDD's Entry Condition table; pick the recipe below
|
|
37
|
+
7. Set `displayName`: use the SDD row's `Display Name` if present; else default to `Entry Rule {N}`. `N` counts **case-wide**, not within this task: scan the whole `caseplan.json` for existing `Entry Rule <number>` names across every stage's `data.entryConditions[]` and every task's `entryConditions[]`, then `N` = highest + 1 (`1` when none). A per-task counter names every unnamed first condition `Entry Rule 1` and fails `validate` — [case-schema.md § Condition name uniqueness](../../../case-schema.md#condition-name-uniqueness). Never emit a blank or omitted `displayName`.
|
|
38
38
|
8. Append the condition object to `task.entryConditions[]`
|
|
39
39
|
|
|
40
40
|
## Rule Types
|
|
@@ -57,7 +57,7 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
57
57
|
]]
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
`selectedTasksIds` is a JSON string array. Resolve each planned selector to its taskId via `tasks/id-map.json` using the task's EXACT
|
|
60
|
+
`selectedTasksIds` is a JSON string array. Resolve each planned selector to its taskId via `tasks/id-map.json` using the task's EXACT SDD display name — never a paraphrase or shortened form. Resolve only tasks in the same stage whose entry conditions are not `adhoc`. If a selected task is ad-hoc/manual, stop and repair the plan: required downstream flow cannot depend on optional user-launched work. **Never write a `selected-tasks-completed` rule with an empty or partially resolved `selectedTasksIds`** — an unresolvable name is a stop-and-ask (AskUserQuestion: name the intended task, or repair the plan), never an empty emit. `uip maestro case validate`'s `has no task(s) selected` finding must never be the discovery mechanism (Step 12 Check 13 catches it first).
|
|
61
61
|
|
|
62
62
|
### adhoc — expression gate
|
|
63
63
|
|
|
@@ -149,8 +149,8 @@ When a *stage* should take the case instead, the rule goes on the stage's `entry
|
|
|
149
149
|
|
|
150
150
|
## Post-Write Verification
|
|
151
151
|
|
|
152
|
-
Confirm target task's `entryConditions[]` length equals the number of
|
|
152
|
+
Confirm target task's `entryConditions[]` length equals the number of Entry Condition rows the SDD declares for this task. Each entry carries `id` (prefix `c`), non-empty `displayName` (SDD value or `Entry Rule {N}` default), and `rules` with the expected `rule` value plus any required side field. For `wait-for-connector`, Phase 2 expects the exact stub; after Phase 3, a resolved rule must have no `"placeholder"` values, use the owning stage's `<stageId>-<ruleId>` on inputs/outputs, and carry root bindings. A remaining stub must map to a reported unresolved connector.
|
|
153
153
|
|
|
154
|
-
**This count-parity check is not a safety net on its own** — it only confirms Step 10 wrote what
|
|
154
|
+
**This count-parity check is not a safety net on its own** — it only confirms Step 10 wrote what the SDD's condition rows asked for; if the write was skipped entirely (a Phase 1 planning gap), parity holds at zero and the task silently ends up with no entry rule, which hangs `case debug` indefinitely instead of failing any build-time check. [`implementation.md § Step 12 Check 15`](../../../implementation.md#step-12--end-of-phase-3-validator-pass) is the mandatory backstop that re-derives the expected rule from the source SDD independent of whether Step 10 ran.
|
|
155
155
|
|
|
156
156
|
<!-- END: impl-json.md -->
|
package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md
CHANGED
|
@@ -8,9 +8,9 @@ Pick this plugin when the sdd.md **literally uses the phrase "task entry conditi
|
|
|
8
8
|
|
|
9
9
|
For **stage-level** conditions (entire stage enters/exits), use [stage-entry-conditions](../stage-entry-conditions/planning.md) / [stage-exit-conditions](../stage-exit-conditions/planning.md).
|
|
10
10
|
|
|
11
|
-
## No omission — one
|
|
11
|
+
## No omission — one caseplan element per sdd.md Entry Condition row
|
|
12
12
|
|
|
13
|
-
Every task in sdd.md that declares an **Entry Condition** row gets its own task-entry
|
|
13
|
+
Every task in sdd.md that declares an **Entry Condition** row gets its own task-entry condition — **including rule-type `current-stage-entered`**. Do NOT skip, collapse, or omit a condition because the rule-type looks like a default. If sdd.md wrote the row, the build emits the element. "The default behavior would already cover it" is not a valid reason to omit.
|
|
14
14
|
|
|
15
15
|
## Required Fields from sdd.md
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ Every task in sdd.md that declares an **Entry Condition** row gets its own task-
|
|
|
18
18
|
|-------|--------|-------|
|
|
19
19
|
| `<stage-id>`, `<task-id>` | Captured from prior steps | |
|
|
20
20
|
| `rationale` | sdd.md task Design Rationale | Required reviewer context for the activation/sequencing choice. Not emitted into caseplan JSON. |
|
|
21
|
-
| `display-name` | sdd.md Display Name column (optional) | Carry
|
|
21
|
+
| `display-name` | sdd.md Display Name column (optional) | Carry a semantic SDD value verbatim. Omit when the cell is blank / `—` — do NOT invent one; impl defaults it to `Entry Rule {N}`. A cell already holding that default pattern is the SDD echoing the default, so impl renumbers it case-wide ([case-schema.md § Condition name uniqueness](../../../case-schema.md#condition-name-uniqueness)). |
|
|
22
22
|
| `rule-type` | From catalog below | |
|
|
23
23
|
| `selected-tasks-ids` | Required for `selected-tasks-completed` | Comma-separated task IDs |
|
|
24
24
|
| `sla-target` | `sla-status-change` arg 1 | `"root"` (case-level SLA) or the SLA-owning stage name — normally the stage containing this task. Scopes the lookups below to that one SLA table. Required for `sla-status-change` |
|
|
@@ -26,7 +26,7 @@ Every task in sdd.md that declares an **Entry Condition** row gets its own task-
|
|
|
26
26
|
| `escalation-display-name` | `sla-status-change` arg 3 — a `Display Name` from that target's SDD escalation table | Target-unique **at-risk** escalation title; resolves to its escalation ID. **At-risk only** — omit for a breach response, which references the SLA alone ([sla-response-shapes.md § Status](../../../sla-response-shapes.md)) |
|
|
27
27
|
| `connector fields` | SDD **Connector Rule Detail** block | `type-id` (activity-type-id), `connector-key`, `connection-id`, `object-name`, `event-operation`, `event-mode`, `input-values`, optional `filter` — see [connector-trigger-planning.md § Planning Pipeline](../../../connector-trigger-planning.md#planning-pipeline) |
|
|
28
28
|
| `condition-expression` | Optional | Extra `=js:` gate on **case state** (`=js:vars.X ...`) — NOT the event payload (no `event` namespace) |
|
|
29
|
-
| `outputs` | SDD **Connector Rule Outputs** block | Optional. `->` (extract field → case var) or `=` (assign expression → case var). See [connector-trigger-planning.md §
|
|
29
|
+
| `outputs` | SDD **Connector Rule Outputs** block | Optional. `->` (extract field → case var) or `=` (assign expression → case var). See [connector-trigger-planning.md § registry-resolved.json fields (resolution)](../../../connector-trigger-planning.md#registry-resolvedjson-fields-resolution). |
|
|
30
30
|
|
|
31
31
|
## Rule-Type Catalog (task-entry scope)
|
|
32
32
|
|
|
@@ -53,25 +53,26 @@ The Case App selector has three distinct modes:
|
|
|
53
53
|
|
|
54
54
|
`adhoc` is task-entry-only. It is never a stage entry rule, never a case trigger, never a substitute for `wait-for-connector`, and never the way to model a user-selected interrupting lane. Use a secondary stage with `user-selected-stage` for that.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
During design-lane authoring (`uipath-planner`), any requirement that says `then`, `after`, `before`, `in order`, or otherwise declares an immediate dependency should be authored as `runs-sequentially` on every task in that run. Do not convert it to parallel `current-stage-entered` tasks merely because no data binding links them. Use parallel mode only when the rationale says the tasks are independent. **Phase 1 does not re-author a supplied or approved SDD:** if its task row explicitly says `selected-tasks-completed("<previous task>")`, preserve that exact rule and selector even when the selected task is immediately previous.
|
|
57
57
|
|
|
58
58
|
## Phase 1 Plan Presentation Contract
|
|
59
59
|
|
|
60
|
-
The task
|
|
60
|
+
The task's **Activation Mode** in the SDD must already be settled before its entry condition is written:
|
|
61
61
|
|
|
62
62
|
```markdown
|
|
63
63
|
- activation-mode: sequential
|
|
64
64
|
- entry-rule: runs-sequentially
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
This pair lives on the task's own
|
|
67
|
+
This pair lives on the task's own SDD row, not on this condition. This file's own entry format below uses `rule-type:`, not `entry-rule:` — the two fields are not interchangeable and belong to two different rows. Writing `rule-type:` here does NOT retroactively satisfy the per-task requirement; if the task's own SDD row is missing `entry-rule:`, go back and add it there.
|
|
68
68
|
|
|
69
|
-
For every task-entry-condition
|
|
69
|
+
For every task-entry-condition element, verify the task's `activation-mode` and this condition's `rule-type` agree:
|
|
70
70
|
|
|
71
71
|
| activation-mode | Allowed rule-type |
|
|
72
72
|
|---|---|
|
|
73
73
|
| `sequential` | `runs-sequentially` |
|
|
74
74
|
| `parallel` | `current-stage-entered` |
|
|
75
|
+
| `parallel-after-predecessor` | `runs-sequentially`, with the siblings sharing the next task set after one predecessor |
|
|
75
76
|
| `event-triggered` | `wait-for-connector` or another explicitly authored event/condition rule |
|
|
76
77
|
| `adhoc` | `adhoc` |
|
|
77
78
|
| `fan-in` | `selected-tasks-completed` with multiple selected tasks or an explicit convergence rationale |
|
|
@@ -85,22 +86,23 @@ Task entry conditions are created **after** all tasks in the stage have been add
|
|
|
85
86
|
|
|
86
87
|
For sequential tasks, preserve the frontend's ordered `data.tasks` structure, including any explicitly parallel sibling sets; do not flatten the stage into one global chain and do not group a strict chain into one inner array. Add one `runs-sequentially` entry condition to each sequential task. The first task uses the rule as its stage-entry trigger; later tasks use it as the upstream-task-set-completed trigger. Do not add a separate `current-stage-entered` condition to the first sequential task. Lane or task-set placement is structural; the entry rule carries the sequential intent.
|
|
87
88
|
|
|
88
|
-
##
|
|
89
|
+
## Fields to Resolve
|
|
89
90
|
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
A condition produces **no `tasks/registry-resolved.json` entry** unless its `rule-type` is `wait-for-connector`. These are reasoning fields only — Phase 2 reads them from `sdd.md` ([planning.md § Step 4](../../../planning.md)).
|
|
92
|
+
|
|
93
|
+
```text
|
|
94
|
+
task-entry condition on task "<task>" in stage "<stage>" — <summary>
|
|
92
95
|
- target-stage: "<stage-name>"
|
|
93
96
|
- target-task: "<task-name>"
|
|
94
|
-
- activation-mode: sequential | parallel | event-triggered | adhoc | fan-in | conditional-gate
|
|
97
|
+
- activation-mode: sequential | parallel | parallel-after-predecessor | event-triggered | adhoc | fan-in | conditional-gate
|
|
95
98
|
- rationale: "<why this activation/sequencing mode fits>"
|
|
96
99
|
- display-name: "<name>" # optional — omit when SDD Display Name cell is blank; impl defaults to "Entry Rule {N}"
|
|
97
100
|
- rule-type: selected-tasks-completed
|
|
98
101
|
- selected-tasks: "<Task A>, <Task B>"
|
|
99
102
|
- condition-expression: "=js:vars.X..." # optional gate on case state, NOT the event payload
|
|
100
|
-
- order: after T<m>
|
|
101
103
|
- verify: Confirm Result: Success, capture ConditionId
|
|
102
104
|
```
|
|
103
105
|
|
|
104
|
-
> `rule-type: wait-for-connector` also needs the connector fields — see [connector-trigger-planning.md §
|
|
106
|
+
> `rule-type: wait-for-connector` also needs the connector fields — see [connector-trigger-planning.md § registry-resolved.json fields (resolution)](../../../connector-trigger-planning.md#registry-resolvedjson-fields-resolution).
|
|
105
107
|
|
|
106
108
|
<!-- END: planning.md -->
|
|
@@ -35,13 +35,13 @@ issues.append({ # pseudocode — not executed
|
|
|
35
35
|
|
|
36
36
|
## Flush — at every section boundary (MANDATORY)
|
|
37
37
|
|
|
38
|
-
Flush alongside the section's validate, then clear the buffer. Sections are the ones named in [`implementation.md` § Per-section batched writes](../../implementation.md): Phase 2
|
|
38
|
+
Flush alongside the section's validate, then clear the buffer. Sections are the ones named in [`implementation.md` § Per-section batched writes](../../implementation.md): Phase 2 vars, triggers, stages, task shapes, SLA, conditions; Phase 3 Step 9.7 connector schema, Step 9.8 I/O binding, §10.5 connector-rule upgrades.
|
|
39
39
|
|
|
40
40
|
**Flush even when the section produced zero issues** — the file's existence after the first section is what proves the log survived.
|
|
41
41
|
|
|
42
42
|
### First flush — create the file (Write)
|
|
43
43
|
|
|
44
|
-
```
|
|
44
|
+
```text
|
|
45
45
|
# Build Issues — <CaseName>
|
|
46
46
|
|
|
47
47
|
**Case file:** caseplan.json | **Build started:** <ISO>
|
|
@@ -84,7 +84,7 @@ Read the journal back, group by `plugin`, and replace **only** the block between
|
|
|
84
84
|
|
|
85
85
|
## Recovery — journal missing at Step 12.1
|
|
86
86
|
|
|
87
|
-
If `tasks/build-issues.md` does not exist when Step 12.1 runs, the incremental flush was skipped. Reconstruct what the artifacts prove — `<UNRESOLVED>` markers in `
|
|
87
|
+
If `tasks/build-issues.md` does not exist when Step 12.1 runs, the incremental flush was skipped. Reconstruct what the artifacts prove — `<UNRESOLVED>` markers in `registry-resolved.json`, placeholder tasks (`data: {}`) in `caseplan.json`, `selected: null` entries in `tasks/registry-resolved.json`, and any surviving connector stub — and stamp the file:
|
|
88
88
|
|
|
89
89
|
```
|
|
90
90
|
NOTE: reconstructed at Step 12.1 from on-disk artifacts — the incremental journal was not written. Severity and step attribution are approximate.
|
|
@@ -6,11 +6,11 @@ Cross-cutting direct-JSON rules live in [`case-editing-operations.md`](../../cas
|
|
|
6
6
|
|
|
7
7
|
## Purpose
|
|
8
8
|
|
|
9
|
-
Compose the `slaRules[]` array for each target (root or stage) in one write. Group all SLA
|
|
9
|
+
Compose the `slaRules[]` array for each target (root or stage) in one write. Group all SLA rows by target and emit the full array in a single mutation.
|
|
10
10
|
|
|
11
|
-
## Input spec (from
|
|
11
|
+
## Input spec (from the SDD's SLA tables)
|
|
12
12
|
|
|
13
|
-
|
|
|
13
|
+
| element kind | Required fields | Notes |
|
|
14
14
|
|---|---|---|
|
|
15
15
|
| Default SLA | `target`, `count`, `unit`, `display-name` | One per target. Emitted as the `=js:true` entry, always last. |
|
|
16
16
|
| Conditional rule | `target: "root"` \| `"<stage-name>"`, `condition` (natural-language), `count`, `unit`, `display-name` | Translated to `=js:<expr>` at execution and prepended to the target's default; see Expression Translation below. |
|
|
@@ -21,7 +21,7 @@ Compose the `slaRules[]` array for each target (root or stage) in one write. Gro
|
|
|
21
21
|
- SLA rule (default and conditional): `sla_` + 8 chars. **Required** on every entry.
|
|
22
22
|
- Escalation: `esc_` + 6 chars. Per [`case-editing-operations.md § ID Generation`](../../case-editing-operations.md#id-generation).
|
|
23
23
|
|
|
24
|
-
Mint these IDs while composing the Phase 2 objects, check them against existing caseplan/id-map IDs, and record them immediately: every SLA
|
|
24
|
+
Mint these IDs while composing the Phase 2 objects, check them against existing caseplan/id-map IDs, and record them immediately: every SLA element under `{kind: "sla-rule", displayName: "<title>", target: "root" | "<stageId>"}` and every escalation under `{kind: "escalation", displayName: "<title>", parentSlaTask: "T<m>", target: "root" | "<stageId>"}`. Write the object and its `id-map.json` entry in the same section. There is no preallocation-only pass.
|
|
25
25
|
|
|
26
26
|
## Target resolution
|
|
27
27
|
|
|
@@ -34,7 +34,7 @@ Mint these IDs while composing the Phase 2 objects, check them against existing
|
|
|
34
34
|
|
|
35
35
|
## Recipe — one target
|
|
36
36
|
|
|
37
|
-
After grouping
|
|
37
|
+
After grouping elements by target, compose the `slaRules` array and write it into the target's location per the rules above.
|
|
38
38
|
|
|
39
39
|
### Composed array
|
|
40
40
|
|
|
@@ -82,11 +82,11 @@ For a stage target, the same `slaRules` array is written under `node.data.slaRul
|
|
|
82
82
|
|
|
83
83
|
Emission rules:
|
|
84
84
|
|
|
85
|
-
1. **Conditional rules first, in
|
|
86
|
-
2. **Default rule (`=js:true`) last.** Always emitted when any SLA
|
|
87
|
-
3. **Escalation-only default rule is legal, but it still needs an ID and title.** If a target has escalations but no default SLA
|
|
85
|
+
1. **Conditional rules first, in element order.** Priority = sdd order (top-most wins).
|
|
86
|
+
2. **Default rule (`=js:true`) last.** Always emitted when any SLA element targets this node — even escalation-only cases.
|
|
87
|
+
3. **Escalation-only default rule is legal, but it still needs an ID and title.** If a target has escalations but no default SLA row, Step 11 directly emits `{id:"sla_...", displayName:"SLA Rule 1", expression:"=js:true", escalationRule:[…]}` with no `count` / `unit`, and records that synthetic ID.
|
|
88
88
|
4. **Always emit `escalationRule` on every rule.** Use `"escalationRule": []` when a rule has no attached escalations. Never omit the key.
|
|
89
|
-
5. **Omit `slaRules` key entirely** on targets with no SLA
|
|
89
|
+
5. **Omit `slaRules` key entirely** on targets with no SLA elements.
|
|
90
90
|
6. **Emit a unique `id` on every SlaRuleEntry.** `sla_` + 8 chars — **required** (schema v26). `displayName` is optional (`"Default"` for the trailing `=js:true` entry).
|
|
91
91
|
|
|
92
92
|
## Recipe — one escalation entry
|
|
@@ -94,7 +94,7 @@ Emission rules:
|
|
|
94
94
|
```json
|
|
95
95
|
{
|
|
96
96
|
"id": "esc_xxxxxx",
|
|
97
|
-
"displayName": "<from
|
|
97
|
+
"displayName": "<from element, or generated: Escalation rule <N> - <parent SLA displayName>>",
|
|
98
98
|
"action": {
|
|
99
99
|
"type": "notification",
|
|
100
100
|
"recipients": [
|
|
@@ -108,23 +108,23 @@ Emission rules:
|
|
|
108
108
|
}
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
-
- `displayName` is **required** (schema v27). Use the
|
|
111
|
+
- `displayName` is **required** (schema v27). Use the SDD row's display name when supplied; otherwise generate `Escalation rule <N> - <parent SLA displayName>` (N = 1-based index within the parent rule's `escalationRule[]`).
|
|
112
112
|
- `atRiskPercentage` included only when `triggerInfo.type === "at-risk"`.
|
|
113
113
|
- `recipients` is an array — **one entry per sdd-declared recipient**.
|
|
114
114
|
|
|
115
115
|
## Unresolved recipients (placeholder-style)
|
|
116
116
|
|
|
117
|
-
Phase 1 runs the identity resolver (see [`planning.md` § Identity Resolution](planning.md#identity-resolution)) and normally writes a UUID into `
|
|
117
|
+
Phase 1 runs the identity resolver (see [`planning.md` § Identity Resolution](planning.md#identity-resolution)) and normally writes a UUID into `registry-resolved.json`. When it still carries an `<UNRESOLVED: ...>` sentinel for a recipient (resolver failed, user declined, or sdd input was unresolvable), emit the recipient with a sentinel `target`:
|
|
118
118
|
|
|
119
119
|
```json
|
|
120
120
|
{ "scope": "User", "target": "<UNRESOLVED: user-uuid for manager@corp.com>", "value": "manager@corp.com" }
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
-
List every unresolved recipient in the completion report (per SKILL.md § Completion Output step 4) so the user can patch externally. Do not call an identity service from the JSON path — resolution is Phase 1's responsibility; Phase 2 just transcribes whatever
|
|
123
|
+
List every unresolved recipient in the completion report (per SKILL.md § Completion Output step 4) so the user can patch externally. Do not call an identity service from the JSON path — resolution is Phase 1's responsibility; Phase 2 just transcribes whatever the SDD carries.
|
|
124
124
|
|
|
125
125
|
## Expression translation
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
SDD SLA rows carry natural-language conditions. Translate at execution using the expression prefixes documented in [`bindings-and-expressions.md`](../../bindings-and-expressions.md). SLA rule `expression` is a boolean-condition sink — use bare `=js:<expr>` (no outer parens) per [§ Canonical form per sink](../../bindings-and-expressions.md#canonical-form-per-sink). Common patterns: `=js:vars.<id> === "<literal>"` for a case-variable comparison — this covers any SDD-declared field, including ones the SDD's "Case Metadata" table lists for readability (e.g. `Priority`: `=js:vars.priority === 'Urgent'`); `=js:true` for the default rule; `=js:(vars.X === 'foo') && (vars.Y > 5)` for combined boolean (each sub-clause parenthesized for operator precedence). Reserve `=js:metadata.<field>` for the closed set of structural fields in [case-schema.md § 1](../../case-schema.md#1-top-level--metadata) (e.g. `metadata.caseAppEnabled`) — it is NOT a namespace for arbitrary business data. If ambiguous, AskUserQuestion with 2–3 candidates + "Something else" per SKILL.md Rule 2.
|
|
128
128
|
|
|
129
129
|
## The clock is not the response
|
|
130
130
|
|
|
@@ -139,7 +139,7 @@ A breach rule references the SLA alone (`slaId`, no `escalationId`), so a breach
|
|
|
139
139
|
## Post-write validation
|
|
140
140
|
|
|
141
141
|
- Confirm `metadata.slaRules` (root) or `node.data.slaRules` (stage) exists with the expected entries. Verify the root-target uses `metadata` — not `root.data` (which doesn't exist on disk).
|
|
142
|
-
- Confirm the trailing entry's `expression === "=js:true"` when any SLA
|
|
142
|
+
- Confirm the trailing entry's `expression === "=js:true"` when any SLA element targeted this node.
|
|
143
143
|
- Confirm every emitted `sla_` and `esc_` ID appears in `id-map.json`. Step 10 must resolve every `sla-status-change` rule against IDs already emitted on the declared target.
|
|
144
144
|
- Run the section-boundary validation after all SLA targets have been written (not per-target); the Phase 2 preview profile runs later after conditions.
|
|
145
145
|
|