@uipath/skills 1.195.0 → 1.196.0
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/CODEOWNERS +16 -10
- package/README.md +39 -4
- package/assets/skill-status.json +189 -0
- package/assets/uip-catalog-snapshot.json +67 -97
- package/commands/install-permissions.md +46 -2
- package/hooks/suggest-permissions.sh +0 -0
- package/hooks/validate-skill-descriptions.sh +0 -0
- package/package.json +1 -1
- package/skills/uipath-admin/SKILL.md +6 -7
- package/skills/uipath-admin/references/audit-commands.md +32 -10
- package/skills/uipath-admin/references/audit-workflow-guide.md +25 -6
- package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +1 -1
- package/skills/uipath-agents/SKILL.md +5 -3
- package/skills/uipath-agents/references/coded/embedding-in-flows.md +6 -0
- package/skills/uipath-agents/references/coded/flow-integration.md +1 -0
- package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +2 -2
- package/skills/uipath-agents/references/coded/frameworks/llamaindex-integration.md +1 -1
- package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +5 -1
- package/skills/uipath-agents/references/coded/lifecycle/build.md +1 -0
- package/skills/uipath-agents/references/coded/lifecycle/evaluate.md +8 -6
- package/skills/uipath-agents/references/coded/quickstart.md +17 -12
- package/skills/uipath-agents/references/lowcode/agent-definition.md +17 -16
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/analyze-attachments.md +2 -2
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/batch-transform/impl-json.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/built-in-tools.md +4 -4
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/impl-json.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/context.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/datafabric.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +12 -12
- package/skills/uipath-agents/references/lowcode/capabilities/escalation/escalation.md +14 -14
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +23 -20
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +27 -26
- package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +12 -13
- package/skills/uipath-agents/references/lowcode/capabilities/mcp/mcp.md +133 -0
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +9 -9
- package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +25 -24
- package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +6 -6
- package/skills/uipath-agents/references/lowcode/critical-rules.md +17 -17
- package/skills/uipath-agents/references/lowcode/debug.md +55 -0
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +6 -6
- package/skills/uipath-agents/references/lowcode/evaluations/evaluation-sets.md +1 -1
- package/skills/uipath-agents/references/lowcode/evaluations/evaluators.md +3 -3
- package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +8 -8
- package/skills/uipath-agents/references/lowcode/lowcode.md +18 -12
- package/skills/uipath-agents/references/lowcode/model-selection-guide.md +3 -3
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +53 -33
- package/skills/uipath-agents/references/lowcode/solution-resources.md +8 -8
- package/skills/uipath-api-workflow/SKILL.md +32 -83
- package/skills/uipath-api-workflow/references/cli-reference.md +40 -26
- package/skills/uipath-api-workflow/references/connector-activity-discovery.md +75 -23
- package/skills/uipath-api-workflow/references/troubleshooting.md +4 -12
- package/skills/uipath-automation-discovery/SKILL.md +234 -0
- package/skills/uipath-automation-discovery/references/intake-guide.md +85 -0
- package/skills/uipath-automation-discovery/references/mining-guide.md +156 -0
- package/skills/uipath-automation-discovery/references/report-template.md +95 -0
- package/skills/uipath-coded-apps/SKILL.md +0 -2
- package/skills/uipath-data-fabric/SKILL.md +0 -2
- package/skills/uipath-feedback/SKILL.md +1 -1
- package/skills/uipath-governance/SKILL.md +0 -2
- package/skills/uipath-human-in-the-loop/SKILL.md +2 -3
- package/skills/uipath-maestro-bpmn/.maintenance/check-all.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-anchors.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-depth.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-link-text.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-links.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-orphans.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-plugin-pairs.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-template.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-uip-commands.sh +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.py +0 -0
- package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.sh +0 -0
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +1 -1
- package/skills/uipath-maestro-bpmn/references/operate/references/run.md +1 -1
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +2 -2
- package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +1 -1
- package/skills/uipath-maestro-case/SKILL.md +22 -27
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +7 -1
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +7 -16
- package/skills/uipath-maestro-case/references/case-commands.md +9 -9
- package/skills/uipath-maestro-case/references/case-editing-operations.md +51 -67
- package/skills/uipath-maestro-case/references/case-schema.md +74 -138
- package/skills/uipath-maestro-case/references/connector-integration.md +32 -5
- package/skills/uipath-maestro-case/references/connector-trigger-common.md +39 -12
- package/skills/uipath-maestro-case/references/evals/evals.json +9 -23
- package/skills/uipath-maestro-case/references/implementation.md +24 -24
- package/skills/uipath-maestro-case/references/phased-execution.md +24 -38
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +9 -9
- package/skills/uipath-maestro-case/references/planning.md +20 -79
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +15 -122
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +10 -22
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +7 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +10 -0
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +10 -42
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +8 -79
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +7 -14
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +4 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +2 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +12 -7
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +4 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +4 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +3 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +6 -7
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -27
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +8 -20
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +6 -11
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -30
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +8 -7
- package/skills/uipath-maestro-case/references/registry-discovery.md +4 -4
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +12 -10
- package/skills/uipath-maestro-case/references/troubleshooting-guide.md +1 -1
- package/skills/uipath-maestro-flow/.maintenance/check-all.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-depth.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-link-text.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-links.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-orphans.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-template.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-uip-commands.sh +0 -0
- package/skills/uipath-maestro-flow/.maintenance/check-versions.sh +0 -0
- package/skills/uipath-maestro-flow/SKILL.md +9 -6
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +4 -4
- package/skills/uipath-maestro-flow/references/author/references/brownfield.md +17 -2
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-cli.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +3 -3
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +9 -9
- package/skills/uipath-maestro-flow/references/author/references/greenfield.md +13 -10
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +75 -5
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +2 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +14 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +20 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +5 -5
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md +5 -5
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +81 -0
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +63 -0
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +59 -57
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/planning.md +8 -7
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +23 -23
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +6 -6
- package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +2 -2
- package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +1 -1
- package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +8 -8
- package/skills/uipath-maestro-flow/references/operate/references/run.md +2 -2
- package/skills/uipath-maestro-flow/references/operate/references/ship.md +7 -7
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +19 -17
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +7 -7
- package/skills/uipath-planner/SKILL.md +110 -74
- package/skills/{uipath-solution → uipath-planner}/assets/templates/agent-sdd-template.md +3 -3
- package/skills/{uipath-solution → uipath-planner}/assets/templates/api-workflow-sdd-template.md +4 -4
- package/skills/{uipath-solution → uipath-planner}/assets/templates/case-sdd-template.md +4 -4
- package/skills/{uipath-solution → uipath-planner}/assets/templates/coded-app-sdd-template.md +3 -3
- package/skills/{uipath-solution → uipath-planner}/assets/templates/flow-sdd-template.md +4 -4
- package/skills/{uipath-solution → uipath-planner}/assets/templates/rpa-sdd-template.md +11 -11
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +3 -3
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +10 -6
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +17 -7
- package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -2
- package/skills/{uipath-solution/references/design → uipath-planner/references}/product-selection-guide.md +8 -8
- package/skills/{uipath-solution/references/design → uipath-planner/references}/rpa-product-guide.md +1 -1
- package/skills/{uipath-solution/references/design → uipath-planner/references}/sdd-generation-guide.md +26 -39
- package/skills/{uipath-solution/references/design → uipath-planner/references}/tenant-library-search-guide.md +7 -7
- package/skills/uipath-platform/SKILL.md +21 -48
- package/skills/uipath-platform/references/integration-service/http-request.md +5 -2
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +19 -1
- package/skills/uipath-platform/references/integration-service/triggers.md +21 -5
- package/skills/uipath-platform/references/licensing/consumables-report.md +1 -1
- package/skills/uipath-platform/references/licensing/tenant-allocations.md +1 -1
- package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +1 -1
- package/skills/uipath-platform/references/{resources → orchestrator}/manage-assets.md +37 -34
- package/skills/uipath-platform/references/orchestrator/manage-sessions.md +1 -1
- package/skills/uipath-platform/references/orchestrator/orchestrator.md +4 -31
- package/skills/uipath-platform/references/{resources → orchestrator}/process-queues.md +61 -50
- package/skills/uipath-platform/references/{resources → orchestrator}/resources.md +21 -21
- package/skills/uipath-platform/references/orchestrator/run-jobs.md +26 -14
- package/skills/uipath-platform/references/orchestrator/setup-environment.md +20 -16
- package/skills/uipath-platform/references/orchestrator/tenant-admin.md +7 -7
- package/skills/uipath-platform/references/{resources → orchestrator}/triggers-and-webhooks.md +41 -37
- package/skills/uipath-platform/references/{resources → orchestrator}/work-with-storage.md +56 -34
- package/skills/uipath-platform/references/uip-commands.md +20 -19
- package/skills/uipath-review/SKILL.md +81 -7
- package/skills/uipath-review/references/agents/agent-common-issues.md +42 -0
- package/skills/uipath-review/references/agents/agent-review-checklist.md +79 -57
- package/skills/uipath-review/references/agents/agents-coded-rules.md +160 -0
- package/skills/uipath-review/references/agents/agents-common-rules.md +32 -0
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +128 -0
- package/skills/uipath-review/references/platform/platform-resources-checklist.md +2 -2
- package/skills/uipath-review/references/review-workflow-guide.md +1 -1
- package/skills/uipath-review/references/rpa/rpa-review-checklist.md +2 -2
- package/skills/uipath-review/references/rule-catalog-workflow.md +90 -0
- package/skills/uipath-review/references/rule-format.md +91 -0
- package/skills/uipath-rpa/SKILL.md +16 -6
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/CreateEntityRecord.md +149 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/CreateMultipleEntityRecords.md +67 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteEntityRecord.md +44 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteFileFromRecordField.md +56 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteMultipleEntityRecords.md +65 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DownloadFileFromRecordField.md +115 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/GetEntityRecordById.md +50 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/QueryEntityRecords.md +69 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UpdateEntityRecord.md +120 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UpdateMultipleEntityRecords.md +67 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UploadFileToRecordField.md +103 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/guides/data-service-filter-builder-guide.md +461 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/overview.md +355 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AppendRangeX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AutoFillX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AutoFitX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ChangeDataRangeModification.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ChangePivotTableDataSourceX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ClearRangeX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CopyPasteRangeX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CreatePivotTableXv2.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CreateTableX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteColumnX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteRowsX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DuplicateSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExecuteMacroArgumentX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExecuteMacroX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExportExcelToCsvX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FillRangeX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FilterPivotTableX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FilterX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FindFirstLastDataRowX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FindReplaceValueX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FormatRangeX.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertColumnX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertExcelChartX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertRowsX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InvokeVBAArgumentX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InvokeVBAX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/LookupX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/PivotTableFieldX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ProtectSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ReadCellFormulaX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ReadCellValueX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RefreshPivotTableX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RemoveDuplicatesX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RenameSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SaveAsPdfX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SaveExcelFileX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SortColumnX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SortX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/UnprotectSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/UpdateChartX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/VLookupX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/WriteCellX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.GSuite.Activities/3.8/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.Mail.Activities/2.8/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.MicrosoftOffice365.Activities/3.8/activities/SendMailConnections.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.MicrosoftOffice365.Activities/3.8/activities/overview.md +3 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Presentations.Activities/2.5/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.System.Activities/25.10/activities/overview.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Word.Activities/2.5/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/cli-reference.md +108 -554
- package/skills/uipath-rpa/references/coded/coding-guidelines.md +1 -1
- package/skills/uipath-rpa/references/coded/operations-guide.md +3 -3
- package/skills/uipath-rpa/references/coded/third-party-packages-guide.md +1 -1
- package/skills/uipath-rpa/references/connector-capabilities.md +3 -2
- package/skills/uipath-rpa/references/debugging.md +43 -36
- package/skills/uipath-rpa/references/environment-setup.md +3 -3
- package/skills/uipath-rpa/references/is-connector-xaml-guide.md +3 -3
- package/skills/uipath-rpa/references/library-authoring-guide.md +226 -0
- package/skills/uipath-rpa/references/project-structure-guide.md +43 -0
- package/skills/uipath-rpa/references/publishing-guide.md +5 -5
- package/skills/uipath-rpa/references/tenant-library-search-guide.md +18 -14
- package/skills/uipath-rpa/references/testing-guide.md +6 -6
- package/skills/uipath-rpa/references/trigger-pattern-guide.md +2 -2
- package/skills/uipath-rpa/references/ui-automation-guide.md +43 -6
- package/skills/uipath-rpa/references/uia-configure-target-workflows.md +2 -2
- package/skills/uipath-rpa/references/uia-prerequisites.md +1 -1
- package/skills/uipath-rpa/references/validation-guide.md +4 -4
- package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +4 -1
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +18 -6
- package/skills/uipath-rpa/references/xaml/long-running-workflow-guide.md +304 -0
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +3 -0
- package/skills/uipath-solution/SKILL.md +23 -125
- package/skills/uipath-solution/references/{operate/activate-and-manage.md → activate-and-manage.md} +1 -1
- package/skills/uipath-solution/references/{operate/develop-solution.md → develop-solution.md} +43 -37
- package/skills/uipath-solution/references/{operate/pack-and-deploy.md → pack-and-deploy.md} +3 -3
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/intra-solution-references.md +2 -2
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/manual-edits.md +4 -4
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/same-name-across-folders.md +2 -2
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/shared-cloud-resource.md +3 -3
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/virtual-resource.md +4 -4
- package/skills/uipath-solution/references/{operate/scenarios.md → scenarios.md} +5 -5
- package/skills/uipath-solution/references/{operate/solution-overview.md → solution-overview.md} +3 -3
- package/skills/uipath-tasks/SKILL.md +0 -2
- package/skills/uipath-test/SKILL.md +26 -7
- package/skills/uipath-troubleshoot/agents/triage.md +6 -4
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/overview.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/add-queue-item-failed.md +58 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/application-launch-failed.md +56 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-open-or-attach-failed.md +59 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/file-operation-failed.md +60 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/foreach-row-failed.md +56 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/image-target-not-found.md +56 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-code-failed.md +54 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-failed.md +58 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/kill-process-failed.md +49 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-activity-configuration-error.md +80 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-activity-timeout.md +61 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-element-interaction-failed.md +61 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-element-not-found.md +64 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +24 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-file-locked.md +142 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-file-not-found.md +140 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-null-reference.md +119 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-sheet-not-found.md +146 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-cell-failures.md +131 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +5 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/investigation_guide.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/overview.md +16 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/activity-configuration-error.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +131 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-not-found.md +84 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-open-failed.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/browser-navigation-failed.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-coordinate-off-screen.md +120 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/disabled-element.md +0 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/element-found-not-actionable.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/healing-agent-no-license.md +12 -12
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/healing-agent-orch-issues.md +108 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/inject-js-failed.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +7 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/select-item-no-items.md +37 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-manual.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/timeout-issue.md +2 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +120 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/wrong-target-application.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +12 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +111 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-connection-disabled.md +90 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-credentials.md +123 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-element-instance.md +96 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/llm-insufficient-information.md +1 -1
- package/skills/uipath-troubleshoot/references/products/agents/summary.md +4 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +7 -7
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-no-host.md +3 -1
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-stale-dispatch.md +2 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stopped-exit-code-0x40010004.md +104 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +1 -0
- package/skills/uipath-troubleshoot/references/summary.md +10 -1
- package/version-manifest.json +2 -2
- package/skills/uipath-ixp/SKILL.md +0 -84
- package/skills/uipath-ixp/references/cli-reference.md +0 -113
- package/skills/uipath-ixp/references/improve-prompts-guide.md +0 -283
- package/skills/uipath-ixp/references/label-documents-guide.md +0 -175
- package/skills/uipath-ixp/references/project-setup-guide.md +0 -90
- package/skills/uipath-maestro-case/references/plugins/edges/impl-json.md +0 -152
- package/skills/uipath-maestro-case/references/plugins/edges/planning.md +0 -93
- /package/skills/{uipath-solution/references/design → uipath-planner/references}/package-selection-guide.md +0 -0
- /package/skills/{uipath-solution/references/design → uipath-planner/references}/pdd-analysis-guide.md +0 -0
- /package/skills/uipath-solution/references/{operate/scenarios → scenarios}/failure-modes.md +0 -0
|
@@ -9,7 +9,6 @@ Generate reviewable task plan (`tasks.md`) from design document (`sdd.md`). Disc
|
|
|
9
9
|
> **Per-node-type detail lives in plugins.** This document covers the cross-cutting planning workflow. For how to fill fields for a specific node, consult the relevant plugin:
|
|
10
10
|
> - Root case → `plugins/case/planning.md`
|
|
11
11
|
> - Stages (regular / exception) → `plugins/stages/planning.md`
|
|
12
|
-
> - Edges → `plugins/edges/planning.md`
|
|
13
12
|
> - Tasks → `plugins/tasks/<type>/planning.md`
|
|
14
13
|
> - Triggers → `plugins/triggers/<type>/planning.md`
|
|
15
14
|
> - Conditions → `plugins/conditions/<scope>/planning.md`
|
|
@@ -50,74 +49,16 @@ uip maestro case registry pull
|
|
|
50
49
|
|
|
51
50
|
If not logged in, prompt the user to log in. The registry pull caches all resources locally at `~/.uip/case-resources/` so subsequent searches are local disk lookups.
|
|
52
51
|
|
|
53
|
-
**Capture `Data.BaseUrl` from the `login status` JSON for Step 2.1 tenant-override detection.** If `login status` failed or the field is absent, treat tenant override as unavailable and let Step 2.1 fall through to prompt-phrase detection — do not re-run `login status`.
|
|
54
|
-
|
|
55
52
|
## Step 2 — Locate and parse the design document
|
|
56
53
|
|
|
57
54
|
Accept the `sdd.md` file path from the user, or ask if not provided. When the directory contains multiple `.md` files, use **AskUserQuestion** with the candidates + "Something else" to disambiguate.
|
|
58
55
|
|
|
59
56
|
If the resolved path has **no `sdd.md`**, skill enters Phase 0 (interview mode) before this step. See [phase-0-interview.md](phase-0-interview.md). Phase 1 resumes here only after the Approve hard-stop in Phase 0.
|
|
60
57
|
|
|
61
|
-
`sdd.md` is the **sole input**. It describes stages, tasks,
|
|
58
|
+
`sdd.md` is the **sole input**. It describes stages, tasks, conditions, SLA, component types, persona information, and provides the search keywords for registry lookups. (It does not describe edges — transitions are expressed as stage entry/exit conditions; edges are retired.) The skill does not validate or gap-fill sdd.md — trust it as written. (Phase 0 may have generated it; once approved, Rule 2 applies regardless of source.)
|
|
62
59
|
|
|
63
60
|
> **Phase 0 carryover.** When Phase 0 ran, `tasks/registry-resolved.json` already contains user-confirmed registry picks. During Step 3 below, **read the existing file first**: skip re-search for entries already resolved, only run discovery for tasks Phase 0 deferred (`<UNRESOLVED>` markers in `sdd.md`). Append new resolutions to the same file.
|
|
64
61
|
|
|
65
|
-
### Step 2.1 — Detect schema version (Rule 18)
|
|
66
|
-
|
|
67
|
-
Resolution order (first match wins):
|
|
68
|
-
|
|
69
|
-
#### 2.1.a — Tenant override (alpha environment)
|
|
70
|
-
|
|
71
|
-
Read the `Data.BaseUrl` value captured from Step 1's `uip login status --output json` call. If the value equals `https://alpha.uipath.com` (exact case-sensitive string match, no trailing slash), schema is `v20` regardless of user prompt. Print plain-text confirmation BEFORE Step 3 begins:
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
> Schema: v20 (alpha tenant override — BaseUrl=https://alpha.uipath.com forces v20 regardless of prompt phrasing). Phase 4 validate authoritative; CLI upload / debug may reject downstream.
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Skip Step 2.1.b. The override is **forced** — user prompt phrases cannot downgrade to v19 from an alpha tenant.
|
|
78
|
-
|
|
79
|
-
If `Data.BaseUrl` is absent (login failed, field missing, different value), proceed to Step 2.1.b. Do NOT halt — login state is independent of schema selection.
|
|
80
|
-
|
|
81
|
-
#### 2.1.b — User-prompt phrase
|
|
82
|
-
|
|
83
|
-
Scan **only the user message that activated the skill** (the prompt that matched the skill description). Match case-insensitive substrings:
|
|
84
|
-
|
|
85
|
-
| Phrase (any one matches) |
|
|
86
|
-
|---|
|
|
87
|
-
| `v20 schema` |
|
|
88
|
-
| `schema v20` |
|
|
89
|
-
| `use v20` |
|
|
90
|
-
| `emit v20` |
|
|
91
|
-
| `generate v20` |
|
|
92
|
-
| `unified schema` |
|
|
93
|
-
| `schema 20.0.0` |
|
|
94
|
-
|
|
95
|
-
- **Match** → schema is `v20`. Print plain-text confirmation BEFORE Step 3 begins:
|
|
96
|
-
```
|
|
97
|
-
> Schema: v20 (skill-emit-only mode — Phase 4 validate authoritative; CLI upload / debug may reject downstream)
|
|
98
|
-
```
|
|
99
|
-
- **No match** → schema is `v19` (default). No confirmation line.
|
|
100
|
-
|
|
101
|
-
**Never** scan sdd.md content, file paths, registry-resolved.json, Phase 0 transcripts, or any subsequent user message. Detection happens once, at Phase 1 entry. If the user wants to switch schema mid-build, they must re-run the skill from Phase 1 (Rule 6). The tenant override (2.1.a) is also fixed at Phase 1 entry — switching tenants mid-build does not change `tasks.md`'s `Schema:` header.
|
|
102
|
-
|
|
103
|
-
### Step 2.2 — Persist schema choice in tasks.md header
|
|
104
|
-
|
|
105
|
-
When `tasks.md` is written at Step 4, the **first non-comment line** is the schema header:
|
|
106
|
-
|
|
107
|
-
```markdown
|
|
108
|
-
Schema: v19
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
or
|
|
112
|
-
|
|
113
|
-
```markdown
|
|
114
|
-
Schema: v20
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Place this line above all `T<n>` headings. Re-entry protocol (Phase 3 Step 9.6, Phase 4) re-reads tasks.md per Rule 7 and recovers the schema choice from this header. caseplan.json self-identifies via its top-level `version` literal as a secondary check.
|
|
118
|
-
|
|
119
|
-
If the schema header in tasks.md conflicts with an already-written caseplan.json's `version` field at re-entry, **halt with explicit error** — never silently re-flip.
|
|
120
|
-
|
|
121
62
|
## Step 3 — Resolve resources
|
|
122
63
|
|
|
123
64
|
Before resource resolution, seed TodoWrite with the items below to track Phase 1 progress through registry lookups and §4 T-entry emit. Mark each `in_progress` on entry, `completed` on exit. One item per emit class — never per T-entry.
|
|
@@ -127,11 +68,10 @@ Before resource resolution, seed TodoWrite with the items below to track Phase 1
|
|
|
127
68
|
3. Write trigger entries T02+ (§4.3)
|
|
128
69
|
4. Write variable / argument entries (§4.2.1)
|
|
129
70
|
5. Write stage entries (§4.4)
|
|
130
|
-
6. Write
|
|
131
|
-
7. Write
|
|
132
|
-
8. Write
|
|
133
|
-
9.
|
|
134
|
-
10. User approves tasks.md (Step 5)
|
|
71
|
+
6. Write task entries (§4.6)
|
|
72
|
+
7. Write condition entries (§4.7)
|
|
73
|
+
8. Write SLA entries (§4.8)
|
|
74
|
+
9. User approves tasks.md (Step 5)
|
|
135
75
|
|
|
136
76
|
For every task, trigger, and condition in the sdd.md:
|
|
137
77
|
|
|
@@ -177,7 +117,11 @@ For every task, trigger, and condition in the sdd.md:
|
|
|
177
117
|
|
|
178
118
|
### 3.4 Unresolved resources
|
|
179
119
|
|
|
180
|
-
When a resource cannot be resolved (registry gap and no cache match, or missing connection), **do not fabricate a placeholder or mock**.
|
|
120
|
+
When a resource cannot be resolved (registry gap and no cache match, or missing connection), **do not fabricate a placeholder or mock**.
|
|
121
|
+
|
|
122
|
+
> **Missing connection — offer to create first.** A missing/empty IS connection is not immediately "unresolved". The connector pipeline offers to create one via `uip is connections create` ([connector-integration.md § Step 2](connector-integration.md), [connector-trigger-common.md § Resolve the connection](connector-trigger-common.md#2-resolve-the-connection)). Only after the user **declines** or creation fails does the connection become `<UNRESOLVED>` and fall through to the steps below.
|
|
123
|
+
|
|
124
|
+
Otherwise:
|
|
181
125
|
|
|
182
126
|
1. Mark the line in `tasks.md` with `<UNRESOLVED: <reason>>` in the `taskTypeId` / `typeId` / `connectionId` slot.
|
|
183
127
|
2. **Omit `inputs:` and `outputs:` entirely** on that task entry — there is no schema to wire against. Any input mapping the sdd.md described becomes a fenced ```` ```text ```` code block under the entry with a `wiring notes (user must attach):` header line. **Do not start lines with `#`** — they would render as markdown headings; use a fenced code block instead. Example shape is in [placeholder-tasks.md § `tasks.md` Planning-Entry Shape](placeholder-tasks.md).
|
|
@@ -188,7 +132,7 @@ At execution time, unresolved tasks become **placeholder tasks** in `caseplan.js
|
|
|
188
132
|
|
|
189
133
|
## Step 4 — Generate tasks.md and registry-resolved.json
|
|
190
134
|
|
|
191
|
-
Create a `tasks/` folder adjacent to the sdd.md file. Generate `tasks.md` using the structure below.
|
|
135
|
+
Create a `tasks/` folder adjacent to the sdd.md file. Generate `tasks.md` using the structure below. Each section is a numbered task (`T01`, `T02`, …) — declarative parameters only. Field names use plain identifiers (e.g., `type:`, `displayName:`, `lane:`), not CLI flag syntax. The implementation phase translates each entry into the matching plugin's JSON writes.
|
|
192
136
|
|
|
193
137
|
Cross-reference: [case-schema.md](case-schema.md) for JSON shape, [bindings-and-expressions.md](bindings-and-expressions.md) for inputs/outputs wiring.
|
|
194
138
|
|
|
@@ -198,13 +142,13 @@ Also write `registry-resolved.json` — full detail per task: search query, all
|
|
|
198
142
|
|
|
199
143
|
Every declaration in `sdd.md` must become a T-task in `tasks.md`. Mapping is 1-to-1:
|
|
200
144
|
|
|
201
|
-
- **Never filter** declarations on the grounds that the default rule-type, default field value, or "implicit behavior" would cover them. If `sdd.md` lists a task, stage,
|
|
145
|
+
- **Never filter** declarations on the grounds that the default rule-type, default field value, or "implicit behavior" would cover them. If `sdd.md` lists a task, stage, trigger, condition, SLA row, **variable, or argument**, `tasks.md` emits a T-task for it — regardless of rule-type (`current-stage-entered`, `case-entered`, `exit-only`, `required-tasks-completed`, etc.).
|
|
202
146
|
- **Never merge** two sdd.md items into one T-task "because they're similar."
|
|
203
147
|
- **Never drop** defaults-looking items (e.g., `is-interrupting: false`, `runOnlyOnce: true`, `marks-stage-complete: true`). The explicit declaration is the signal — honor it.
|
|
204
148
|
- **When in doubt, emit.** It is always correct to create a T-task that mirrors an sdd.md row. It is never correct to silently omit one.
|
|
205
149
|
- **When format is ambiguous or unrecognized, ASK — do not skip.** If a row exists but you cannot determine the right plugin, category, or T-entry shape (e.g., trigger "Initial Variable Mapping" uses an aggregate phrase instead of explicit per-field mappings; a variable's category — In / Out / Variable — is unclear; a task type does not match the closed enum), invoke **AskUserQuestion** with the row content + the specific ambiguity + bounded options. Silent omission is a defect. This obligation applies to every sdd.md declaration class above, including variables and arguments.
|
|
206
150
|
|
|
207
|
-
Before presenting `tasks.md` at Step 5, run a completeness cross-check: for every declared stage /
|
|
151
|
+
Before presenting `tasks.md` at Step 5, run a completeness cross-check: for every declared stage / task / trigger / condition / SLA row **and every Case Variables table row (one T-entry each, per §4.2.1)** in sdd.md, verify a corresponding T-task exists. Gaps are a defect — fix before approval.
|
|
208
152
|
|
|
209
153
|
**Cross-check inventory.** Before approval, count and report each class:
|
|
210
154
|
|
|
@@ -214,7 +158,6 @@ Before presenting `tasks.md` at Step 5, run a completeness cross-check: for ever
|
|
|
214
158
|
| Triggers | Case Triggers | §4.3 (T02+) |
|
|
215
159
|
| Variables / arguments | Case Variables | §4.2.1 (after last trigger) |
|
|
216
160
|
| Stages | Section 2 stage headings | §4.4 |
|
|
217
|
-
| Edges | Stage Entry Conditions / Stage Exit Conditions referencing other stages | §4.5 |
|
|
218
161
|
| Tasks | Per-stage Tasks tables | §4.6 |
|
|
219
162
|
| Conditions | Stage Entry / Stage Exit / Task Entry / Case Exit tables | §4.7 |
|
|
220
163
|
| SLA | Case-Level SLA + per-stage Stage SLA + per-action Task SLA | §4.8 |
|
|
@@ -227,8 +170,8 @@ Counts that don't match the sdd.md → fix before Step 5 hard stop.
|
|
|
227
170
|
|
|
228
171
|
Procedure:
|
|
229
172
|
|
|
230
|
-
1. **Seed.** Write `tasks.md` with
|
|
231
|
-
2. **Per section.** Sections are §4.2.1 vars → §4.3 triggers → §4.4 stages → §4.
|
|
173
|
+
1. **Seed.** Write `tasks.md` with a `## Inventory` placeholder section only. Single Write.
|
|
174
|
+
2. **Per section.** Sections are §4.2.1 vars → §4.3 triggers → §4.4 stages → §4.6 tasks → §4.7 conditions → §4.8 SLA. For each section:
|
|
232
175
|
- **One Read** of `tasks.md` at section entry.
|
|
233
176
|
- **N Edit-appends** in sequence, one per T-entry in the section. Skip the re-Read between sibling Edits — Edit's tool result confirms applied state in context.
|
|
234
177
|
- TaskUpdate marks each T-entry `in_progress` → `completed` as it goes — that is the per-T-entry audit trail, not the file diff.
|
|
@@ -237,7 +180,7 @@ Procedure:
|
|
|
237
180
|
|
|
238
181
|
Why: section-batched round-trips keep tool-call transcript reviewable, preserve rollback granularity at section boundary, allow mid-run interruption recovery via re-Read + resume from next un-applied T-entry, and surface omissions before they propagate — without paying a per-T-entry Read tax that inflates inference latency by ~5s per turn.
|
|
239
182
|
|
|
240
|
-
**Hard cap on tasks.md write size.** After the §4.0a Step 1 Seed Write (
|
|
183
|
+
**Hard cap on tasks.md write size.** After the §4.0a Step 1 Seed Write (Inventory placeholder, <1KB), the only legal mutation of `tasks.md` is **Edit-append** per the section-batched contract above. A single Write replacing the whole `tasks.md` is **forbidden** regardless of size. A single Edit-append payload >30KB is also forbidden — split into per-section Edit-appends even when consecutive Edits would total >30KB combined. Rationale: a single 96KB Write of tasks.md emits ~40K output tokens in one turn = ~360s inference latency = ~20% of total session in one tool call. Section-batched Edit-appends spread that cost across ~7 turns of ~50s each, recovers reviewability, and matches the recovery contract (re-Read + resume from next un-applied T-entry).
|
|
241
184
|
|
|
242
185
|
**Recovery on interruption:** re-Read `tasks.md`, scan for next un-applied T-entry (the audit trail in TaskUpdate identifies it), resume from there. No sidecar checkpoint file.
|
|
243
186
|
|
|
@@ -245,7 +188,7 @@ This contract mirrors Phase 3's per-section JSON-write contract (see [implementa
|
|
|
245
188
|
|
|
246
189
|
### 4.1 Task ordering
|
|
247
190
|
|
|
248
|
-
Always in this order: stages →
|
|
191
|
+
Always in this order: stages → tasks → conditions → SLA.
|
|
249
192
|
|
|
250
193
|
The task **title IS the action description** — do not add a redundant `what` or `type` field. Absorb type into the title (e.g., `Add api-workflow task "..."` not `Add task` + `type: api-workflow`).
|
|
251
194
|
|
|
@@ -269,7 +212,7 @@ Title format: `Configure <trigger-type> trigger "<name>"`
|
|
|
269
212
|
|
|
270
213
|
Consult the corresponding trigger plugin (`plugins/triggers/<type>/planning.md`) for required fields.
|
|
271
214
|
|
|
272
|
-
**One T-entry per trigger row in sdd.md.** A case with N entry-point rows in its triggers table emits N trigger T-entries (T02, T03, …) — even when several rows would resolve to `<UNRESOLVED>` because the IS connection isn't provisioned. Per §4.0, "value can't be resolved yet" is not a reason to omit a row; it's a reason to mark `<UNRESOLVED: …>` and continue.
|
|
215
|
+
**One T-entry per trigger row in sdd.md.** A case with N entry-point rows in its triggers table emits N trigger T-entries (T02, T03, …) — even when several rows would resolve to `<UNRESOLVED>` because the IS connection isn't provisioned. Per §4.0, "value can't be resolved yet" is not a reason to omit a row; it's a reason to mark `<UNRESOLVED: …>` and continue. Regardless of how many triggers a case has, no per-trigger edge is created (edges are retired) — the case starts at the first stage's `case-entered` entry condition whenever any trigger fires.
|
|
273
216
|
|
|
274
217
|
Each trigger row uses its plugin's full field set — see `plugins/triggers/<type>/planning.md` for the per-type entry format. Worked example — sdd.md declares 3 entry-point rows (one manual + two events), one of which is unresolved:
|
|
275
218
|
|
|
@@ -311,11 +254,9 @@ Title format: `Create stage "<name>"` or `Create exception stage "<name>"`
|
|
|
311
254
|
|
|
312
255
|
One task per stage. Consult [`plugins/stages/planning.md`](plugins/stages/planning.md) for required fields and the `stage` vs `exception` (a.k.a. secondary) decision. Basic properties only — SLA and escalation come later (§4.7).
|
|
313
256
|
|
|
314
|
-
### 4.5
|
|
315
|
-
|
|
316
|
-
Title format: `Add edge "<source>" → "<target>"`
|
|
257
|
+
### 4.5 Edges — not authored (RETIRED)
|
|
317
258
|
|
|
318
|
-
|
|
259
|
+
The skill does not author edges. Emit no edge T-entries. Stage transitions derive entirely from stage entry/exit conditions (§4.7); `caseplan.json.edges` stays `[]`. The first stage's `case-entered` entry condition replaces the former Trigger→first-stage edge. See the reachability check in [`sdd-generation-rules.md`](sdd-generation-rules.md).
|
|
319
260
|
|
|
320
261
|
### 4.6 Add tasks
|
|
321
262
|
|
|
@@ -26,6 +26,7 @@ Solution setup (`uip solution init`) and project registration (`uip solution pro
|
|
|
26
26
|
| `case-identifier` | no | Defaults to `name`. |
|
|
27
27
|
| `identifier-type` | no | `constant` \| `external`. Defaults to `constant`. |
|
|
28
28
|
| `case-app-enabled` | no | Boolean. Defaults to `false`. |
|
|
29
|
+
| `directly-pass-task-outputs` | no | Boolean. Defaults to `true`. Set `false` only when sdd.md requests it. |
|
|
29
30
|
| `description` | no | Defaults to empty string. Always emitted so downstream consumers read a consistent shape. |
|
|
30
31
|
|
|
31
32
|
See [`planning.md`](planning.md) for how these fields are sourced from `sdd.md`.
|
|
@@ -139,35 +140,10 @@ If any check fails, halt and report.
|
|
|
139
140
|
1. **Scaffold has run.** The 5 files listed in § Scaffold must exist in `<SolutionDir>/<ProjectName>/`. They were written earlier in this same plugin invocation; if missing, halt (bug — re-run the plugin from the start).
|
|
140
141
|
2. **Collision behavior: overwrite.** If `caseplan.json` already exists, overwrite it. When absent, create it. Skill Phase 2 re-runs regenerate `tasks.md` from scratch per SKILL.md Rule 6, so a collision here means a genuine re-run and overwriting is correct.
|
|
141
142
|
|
|
142
|
-
## Schema branch — v19 vs v20 (Rule 18)
|
|
143
|
-
|
|
144
|
-
Read the `Schema:` header from `tasks.md` (first non-comment line, written at planning Step 2.2). One of:
|
|
145
|
-
|
|
146
|
-
- `Schema: v19` → use § Recipe (v19) below — DEFAULT.
|
|
147
|
-
- `Schema: v20` → use § Recipe (v20) below.
|
|
148
|
-
|
|
149
|
-
If header missing or malformed, halt with explicit error — never default silently.
|
|
150
|
-
|
|
151
143
|
## ID generation
|
|
152
144
|
|
|
153
|
-
### v19
|
|
154
|
-
|
|
155
|
-
- `root.id` is the literal string `"root"` — **not** a generated shortId. Divergent from every other plugin.
|
|
156
|
-
- **No trigger ID emitted at T01.** The triggers plugin owns primary-trigger creation at T02.
|
|
157
|
-
|
|
158
|
-
Record in `id-map.json`:
|
|
159
|
-
|
|
160
|
-
```json
|
|
161
|
-
{
|
|
162
|
-
"T01": { "kind": "case", "id": "root" }
|
|
163
|
-
}
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### v20
|
|
167
|
-
|
|
168
145
|
- Top-level `id` is generated: prefix `case-` + 10 chars from `[A-Za-z0-9]` (per `case-editing-operations.md` § ID Generation algorithm). Example: `case-aBcDeFgHiJ`.
|
|
169
|
-
- No
|
|
170
|
-
- **No trigger ID emitted at T01.** Same as v19.
|
|
146
|
+
- **No trigger ID emitted at T01.** The triggers plugin owns primary-trigger creation at T02.
|
|
171
147
|
|
|
172
148
|
Record in `id-map.json`:
|
|
173
149
|
|
|
@@ -179,73 +155,7 @@ Record in `id-map.json`:
|
|
|
179
155
|
|
|
180
156
|
The `id` value mirrors the actual top-level `id` written into `caseplan.json` — debug breadcrumb of reality.
|
|
181
157
|
|
|
182
|
-
## Recipe
|
|
183
|
-
|
|
184
|
-
Pure skeleton: `root` definition, empty `nodes: []`, empty `edges: []`. The primary trigger is the triggers plugin's responsibility at T02.
|
|
185
|
-
|
|
186
|
-
### Minimal variant (no description)
|
|
187
|
-
|
|
188
|
-
When `description` is absent in the T01 input, emit `description: ""` (always-emit so downstream consumers read a consistent shape).
|
|
189
|
-
|
|
190
|
-
```json
|
|
191
|
-
{
|
|
192
|
-
"root": {
|
|
193
|
-
"id": "root",
|
|
194
|
-
"name": "<name>",
|
|
195
|
-
"type": "case-management:root",
|
|
196
|
-
"caseIdentifier": "<case-identifier — defaults to <name>>",
|
|
197
|
-
"caseAppEnabled": <true|false — defaults to false>,
|
|
198
|
-
"caseIdentifierType": "<constant|external — defaults to constant>",
|
|
199
|
-
"version": "v19",
|
|
200
|
-
"publishVersion": 2,
|
|
201
|
-
"data": {
|
|
202
|
-
"intsvcActivityConfig": "v2",
|
|
203
|
-
"uipath": {
|
|
204
|
-
"variables": {
|
|
205
|
-
"inputOutputs": []
|
|
206
|
-
},
|
|
207
|
-
"bindings": []
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
"description": ""
|
|
211
|
-
},
|
|
212
|
-
"nodes": [],
|
|
213
|
-
"edges": []
|
|
214
|
-
}
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
### With description
|
|
218
|
-
|
|
219
|
-
Same as above with `description` value populated from sdd.md:
|
|
220
|
-
|
|
221
|
-
```json
|
|
222
|
-
{
|
|
223
|
-
"root": {
|
|
224
|
-
"id": "root",
|
|
225
|
-
"name": "<name>",
|
|
226
|
-
"type": "case-management:root",
|
|
227
|
-
"caseIdentifier": "<case-identifier>",
|
|
228
|
-
"caseAppEnabled": <true|false>,
|
|
229
|
-
"caseIdentifierType": "<constant|external>",
|
|
230
|
-
"version": "v19",
|
|
231
|
-
"publishVersion": 2,
|
|
232
|
-
"data": {
|
|
233
|
-
"intsvcActivityConfig": "v2",
|
|
234
|
-
"uipath": {
|
|
235
|
-
"variables": {
|
|
236
|
-
"inputOutputs": []
|
|
237
|
-
},
|
|
238
|
-
"bindings": []
|
|
239
|
-
}
|
|
240
|
-
},
|
|
241
|
-
"description": "<description>"
|
|
242
|
-
},
|
|
243
|
-
"nodes": [],
|
|
244
|
-
"edges": []
|
|
245
|
-
}
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
## Recipe (v20) — Skeleton (no trigger)
|
|
158
|
+
## Recipe — Skeleton (no trigger)
|
|
249
159
|
|
|
250
160
|
Pure skeleton: top-level fields + `metadata` block + empty `bindings: []` + empty `variables` + empty `nodes: []` + empty `edges: []` + empty `layout: {}`. Primary trigger is the triggers plugin's responsibility at T02.
|
|
251
161
|
|
|
@@ -254,7 +164,7 @@ Pure skeleton: top-level fields + `metadata` block + empty `bindings: []` + empt
|
|
|
254
164
|
```json
|
|
255
165
|
{
|
|
256
166
|
"id": "case-aBcDeFgHiJ",
|
|
257
|
-
"version": "
|
|
167
|
+
"version": "23.0.0",
|
|
258
168
|
"name": "<name>",
|
|
259
169
|
"metadata": {
|
|
260
170
|
"caseIdentifier": "<case-identifier — defaults to <name>>",
|
|
@@ -262,6 +172,7 @@ Pure skeleton: top-level fields + `metadata` block + empty `bindings: []` + empt
|
|
|
262
172
|
"caseAppEnabled": <true|false — defaults to false>,
|
|
263
173
|
"publishVersion": 2,
|
|
264
174
|
"caseUnifiedSchemaEnabled": true,
|
|
175
|
+
"caseDirectlyPassTaskOutputs": <true|false — defaults to true>,
|
|
265
176
|
"intsvcActivityConfig": "v2"
|
|
266
177
|
},
|
|
267
178
|
"bindings": [],
|
|
@@ -283,7 +194,7 @@ Adds top-level `description` field (NOT inside `metadata`):
|
|
|
283
194
|
```json
|
|
284
195
|
{
|
|
285
196
|
"id": "case-aBcDeFgHiJ",
|
|
286
|
-
"version": "
|
|
197
|
+
"version": "23.0.0",
|
|
287
198
|
"name": "<name>",
|
|
288
199
|
"description": "<description>",
|
|
289
200
|
"metadata": {
|
|
@@ -292,6 +203,7 @@ Adds top-level `description` field (NOT inside `metadata`):
|
|
|
292
203
|
"caseAppEnabled": <true|false>,
|
|
293
204
|
"publishVersion": 2,
|
|
294
205
|
"caseUnifiedSchemaEnabled": true,
|
|
206
|
+
"caseDirectlyPassTaskOutputs": <true|false — defaults to true>,
|
|
295
207
|
"intsvcActivityConfig": "v2"
|
|
296
208
|
},
|
|
297
209
|
"bindings": [],
|
|
@@ -306,11 +218,13 @@ Adds top-level `description` field (NOT inside `metadata`):
|
|
|
306
218
|
}
|
|
307
219
|
```
|
|
308
220
|
|
|
309
|
-
> **`intsvcActivityConfig` always emitted
|
|
221
|
+
> **`intsvcActivityConfig` always emitted** — set `metadata.intsvcActivityConfig: "v2"` on every caseplan.
|
|
222
|
+
>
|
|
223
|
+
> **`caseDirectlyPassTaskOutputs` always emitted** — write `metadata.caseDirectlyPassTaskOutputs` on every caseplan, value from the T01 `directly-pass-task-outputs` field (defaults to `true` when sdd.md is silent). When `true`, task outputs pass directly through messages instead of shared variables, fixing race conditions on task outputs in cases with parallel tasks. Emit `false` only when sdd.md explicitly requests it.
|
|
310
224
|
|
|
311
225
|
## caseIdentifier — constant vs external
|
|
312
226
|
|
|
313
|
-
Set `caseIdentifierType` from the T01 `identifier-type` (default `constant`);
|
|
227
|
+
Set `caseIdentifierType` from the T01 `identifier-type` (default `constant`); lives under `metadata.*`.
|
|
314
228
|
|
|
315
229
|
- **`constant`** — write the literal prefix from sdd.md (`"caseIdentifier": "LOAN"`).
|
|
316
230
|
- **`external`** — copy the T01 `case-identifier` expression **verbatim** into `caseIdentifier` (e.g. `"=vars.poNumber"` or `` "=js:`${metadata.InstanceId}-${vars.region}`" ``). Do NOT transform or `=js:`-wrap it — unlike task-input sinks ([bindings-and-expressions.md](../../bindings-and-expressions.md)), this value is written as authored. Valid forms + variable eligibility: [planning.md § External identifier value](planning.md).
|
|
@@ -319,8 +233,7 @@ Set `caseIdentifierType` from the T01 `identifier-type` (default `constant`); sa
|
|
|
319
233
|
|
|
320
234
|
- Indent: 4 spaces.
|
|
321
235
|
- Trailing newline: single `\n` at end of file.
|
|
322
|
-
- Key order
|
|
323
|
-
- Key order (v20 top-level): `id, version, name, description, metadata, bindings, variables, nodes, edges, layout`.
|
|
236
|
+
- Key order: `id, version, name, description, metadata, bindings, variables, nodes, edges, layout`.
|
|
324
237
|
|
|
325
238
|
Use the Write tool. File did not exist before — Edit does not apply.
|
|
326
239
|
|
|
@@ -328,42 +241,22 @@ Use the Write tool. File did not exist before — Edit does not apply.
|
|
|
328
241
|
|
|
329
242
|
Cheap sanity checks only — full validation runs after all plugins are done, per SKILL.md Anti-patterns ("Do NOT validate after each command").
|
|
330
243
|
|
|
331
|
-
### v19
|
|
332
|
-
|
|
333
|
-
1. **File parses.** `JSON.parse(readFile('caseplan.json'))` succeeds.
|
|
334
|
-
2. **Root shape.**
|
|
335
|
-
- `root.id === "root"`
|
|
336
|
-
- `root.type === "case-management:root"`
|
|
337
|
-
- `root.version === "v19"`
|
|
338
|
-
- `root.publishVersion === 2`
|
|
339
|
-
- `root.data.intsvcActivityConfig === "v2"`
|
|
340
|
-
- `root.data.uipath.variables.inputOutputs` is an array (empty at T01)
|
|
341
|
-
- `root.data.uipath.bindings` is an array (empty at T01)
|
|
342
|
-
3. **Empty node/edge arrays.**
|
|
343
|
-
- `nodes` is an array of length 0
|
|
344
|
-
- `edges` is an array of length 0
|
|
345
|
-
|
|
346
|
-
### v20
|
|
347
|
-
|
|
348
244
|
1. **File parses.** `JSON.parse(readFile('caseplan.json'))` succeeds.
|
|
349
245
|
2. **Top-level shape.**
|
|
350
246
|
- `id` matches `^case-[A-Za-z0-9]{10}$`
|
|
351
|
-
- `version === "
|
|
247
|
+
- `version === "23.0.0"`
|
|
352
248
|
- `metadata.caseUnifiedSchemaEnabled === true`
|
|
353
249
|
- `metadata.publishVersion === 2`
|
|
354
250
|
- `metadata.intsvcActivityConfig === "v2"`
|
|
251
|
+
- `typeof metadata.caseDirectlyPassTaskOutputs === "boolean"` (present; `true` unless sdd.md requested `false`)
|
|
355
252
|
- `bindings` is an array of length 0
|
|
356
253
|
- `variables.inputs`, `variables.outputs`, `variables.inputOutputs` are all arrays of length 0
|
|
357
254
|
3. **Empty node/edge arrays + layout.**
|
|
358
255
|
- `nodes` is an array of length 0
|
|
359
256
|
- `edges` is an array of length 0
|
|
360
257
|
- `layout` is an object (may be `{}`)
|
|
361
|
-
4. **No v19 leakage.**
|
|
362
|
-
- No `root` key at top level
|
|
363
|
-
- No `version === "v19"` anywhere
|
|
364
|
-
- No `data.intsvcActivityConfig` (v20 emits it under `metadata`, not `data`)
|
|
365
258
|
|
|
366
259
|
If any check fails, halt and report — do not proceed to downstream plugins.
|
|
367
260
|
|
|
368
|
-
**Do NOT run `uip maestro case validate` here.** A case-only caseplan will fail validation by design (no stage nodes,
|
|
261
|
+
**Do NOT run `uip maestro case validate` here.** A case-only caseplan will fail validation by design (no stage nodes, so the case cannot be entered). Validation runs once after the full build (SKILL.md Anti-patterns — "Do NOT validate after each command"). Pre-build validate is informational only, regardless of schema.
|
|
369
262
|
|
|
@@ -15,6 +15,7 @@ Always. This plugin is invoked for the very first T-entry (`T01`) in every `task
|
|
|
15
15
|
| `case-identifier` | sdd.md (optional; defaults to `name`) | The runtime identifier. |
|
|
16
16
|
| `identifier-type` | sdd.md (optional; default `constant`) | `constant` \| `external`. Use `external` when sdd.md says the identifier comes from an upstream system. |
|
|
17
17
|
| `case-app-enabled` | sdd.md (default `false`) | `true` if the sdd.md says the case is exposed via the Case App UI. |
|
|
18
|
+
| `directly-pass-task-outputs` | sdd.md (default `true`) | Passes task outputs through messages instead of shared variables, avoiding parallel-task race conditions. `false` only if sdd.md explicitly requests shared-variable passing. |
|
|
18
19
|
| `description` | sdd.md case description | |
|
|
19
20
|
|
|
20
21
|
## identifier-type Guidance
|
|
@@ -49,9 +50,10 @@ The case plugin writes a pure skeleton at T01 — no trigger node. The primary t
|
|
|
49
50
|
- case-identifier: "<identifier>"
|
|
50
51
|
- identifier-type: constant
|
|
51
52
|
- case-app-enabled: false
|
|
53
|
+
- directly-pass-task-outputs: true
|
|
52
54
|
- description: "<one-sentence description>"
|
|
53
55
|
- order: first
|
|
54
|
-
- verify: Confirm caseplan.json written and parses;
|
|
56
|
+
- verify: Confirm caseplan.json written and parses; id matches /^case-[A-Za-z0-9]{10}$/, version == "23.0.0", nodes == [], edges == []
|
|
55
57
|
```
|
|
56
58
|
|
|
57
59
|
> **External variant.** Replace the two identifier lines with `identifier-type: external` + `case-identifier: "=vars.<varId>"` (or a `=js:` expression). See § External identifier value.
|
package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md
CHANGED
|
@@ -2,13 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
> **Phase split.** Phase 3 only. Phase 2 does not write conditions. See [`../../../phased-execution.md`](../../../phased-execution.md).
|
|
4
4
|
|
|
5
|
-
Write the case-exit condition directly into
|
|
5
|
+
Write the case-exit condition directly into `metadata.caseExitRules[]` in `caseplan.json`. No CLI command needed.
|
|
6
6
|
|
|
7
|
-
> **
|
|
8
|
-
> - **v19** → array key is `caseExitConditions`, lives under `root.caseExitConditions` (sibling of `data`, `description`, `caseIdentifier`).
|
|
9
|
-
> - **v20** → array key is **`caseExitRules`** (renamed), lives under `metadata.caseExitRules` (top-level `metadata`).
|
|
10
|
-
>
|
|
11
|
-
> Plugin folder name `case-exit-conditions` follows the *concept* (case exit conditions), unchanged across schemas. Only the on-disk path and field name change. Do NOT place at the JSON top level under either schema.
|
|
7
|
+
> **Destination + field name.** Array key is `caseExitRules`, lives under `metadata.caseExitRules` (top-level `metadata`). Plugin folder name `case-exit-conditions` follows the *concept*; the on-disk field is `caseExitRules`. Do NOT place at the JSON top level.
|
|
12
8
|
|
|
13
9
|
## Condition JSON Shape
|
|
14
10
|
|
|
@@ -33,14 +29,10 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
33
29
|
|
|
34
30
|
1. Generate condition ID: `Condition_` + 6 alphanumeric chars
|
|
35
31
|
2. Generate rule ID: `Rule_` + 6 alphanumeric chars
|
|
36
|
-
3. Read `caseplan.json`.
|
|
37
|
-
- **v19** → locate the `root` object. Initialize `root.caseExitConditions = []` if absent.
|
|
38
|
-
- **v20** → locate top-level `metadata` object (initialize `metadata: {}` if missing — should already exist from T01). Initialize `metadata.caseExitRules = []` if absent.
|
|
32
|
+
3. Read `caseplan.json`. Locate top-level `metadata` object (initialize `metadata: {}` if missing — should already exist from T01). Initialize `metadata.caseExitRules = []` if absent.
|
|
39
33
|
4. Read `rule-type` and `marks-case-complete` from tasks.md; pick the recipe below
|
|
40
|
-
5. Set `displayName`: use tasks.md `display-name` if present; else default by `marks-case-complete`: `true` → `Complete Rule {N}`, `false` → `Exit Rule {N}`. `N` = 1-based index **within the same label kind** — at append time, count existing entries in
|
|
41
|
-
6. Append the condition object to
|
|
42
|
-
- **v19** → `root.caseExitConditions[]`
|
|
43
|
-
- **v20** → `metadata.caseExitRules[]`
|
|
34
|
+
5. Set `displayName`: use tasks.md `display-name` if present; else default by `marks-case-complete`: `true` → `Complete Rule {N}`, `false` → `Exit Rule {N}`. `N` = 1-based index **within the same label kind** — at append time, count existing entries in `metadata.caseExitRules[]` whose `marksCaseComplete` equals this condition's value, then `N = count + 1`. FE numbers complete and exit rules with independent counters — do NOT use the array's overall length. Never emit a blank or omitted `displayName`.
|
|
35
|
+
6. Append the condition object to `metadata.caseExitRules[]`
|
|
44
36
|
|
|
45
37
|
## Rule Types
|
|
46
38
|
|
|
@@ -68,9 +60,9 @@ Requires `marksCaseComplete: false`. Swap `rule` to `selected-stage-exited` for
|
|
|
68
60
|
|
|
69
61
|
### wait-for-connector — bind a connector event
|
|
70
62
|
|
|
71
|
-
Write `rule.uipath` per [connector-trigger-common.md § Target: connector-bound condition rule](../../../connector-trigger-common.md#target-connector-bound-condition-rule) (canonical rule JSON + procedure there) — a bare rule (no `uipath`) is rejected by Studio Web. **Root-scoped: `elementId = root-<ruleId>` on BOTH `uipath.inputs[]` and `uipath.outputs[]`** (not a stage id; the input `body` gets it too, not only the outputs). Valid for both `marksCaseComplete: true` and `false`. `conditionExpression` optional. If `type-id` / `connection-id` / `connector-key` is `<UNRESOLVED>`,
|
|
63
|
+
Write `rule.uipath` per [connector-trigger-common.md § Target: connector-bound condition rule](../../../connector-trigger-common.md#target-connector-bound-condition-rule) (canonical rule JSON + procedure there) — a bare rule (no `uipath`) is rejected by Studio Web. **Root-scoped: `elementId = root-<ruleId>` on BOTH `uipath.inputs[]` and `uipath.outputs[]`** (not a stage id; the input `body` gets it too, not only the outputs). Valid for both `marksCaseComplete: true` and `false`. `conditionExpression` optional. If `type-id` / `connection-id` / `connector-key` is `<UNRESOLVED>`, emit the **stub `uipath` placeholder** (2 `"placeholder"` context fields: `connectorKey` + `operation` — see [connector-trigger-common.md § Placeholder fallback](../../../connector-trigger-common.md#placeholder-fallback)).
|
|
72
64
|
|
|
73
|
-
**Rule output binding.** If the T-entry has `outputs:`, dispatch `rule.uipath.outputs[]` per [io-binding/impl-json.md § Output Binding Shapes for Connector Condition Rules](../../variables/io-binding/impl-json.md#output-binding-shapes-for-connector-condition-rules) **as the last step — after rule write, before root bindings**. `elementId` stays `root-<ruleId>` on every output entry. Skip when `uipath`
|
|
65
|
+
**Rule output binding.** If the T-entry has `outputs:`, dispatch `rule.uipath.outputs[]` per [io-binding/impl-json.md § Output Binding Shapes for Connector Condition Rules](../../variables/io-binding/impl-json.md#output-binding-shapes-for-connector-condition-rules) **as the last step — after rule write, before root bindings**. `elementId` stays `root-<ruleId>` on every output entry. Skip when the rule has no `uipath.outputs[]` (stub placeholder).
|
|
74
66
|
|
|
75
67
|
## Rule-Type × marksCaseComplete Matrix
|
|
76
68
|
|
|
@@ -82,14 +74,10 @@ Write `rule.uipath` per [connector-trigger-common.md § Target: connector-bound
|
|
|
82
74
|
| `false` | `selected-stage-exited` | `selectedStageId` |
|
|
83
75
|
| `false` | `wait-for-connector` | `uipath` connector configuration |
|
|
84
76
|
|
|
85
|
-
`conditionExpression` is optional on every rule — add it to any rule to further gate when it fires. Use bare `=js:<expr>` (no outer parens); combined boolean expressions wrap each sub-clause in parens: `=js:(vars.X === 'foo') && (vars.Y > 5)`. Full per-sink rule: [bindings-and-expressions.md § Canonical form per sink](../../../bindings-and-expressions.md#canonical-form-per-sink).
|
|
77
|
+
`conditionExpression` is optional on every rule — add it to any rule to further gate when it fires. Use bare `=js:<expr>` (no outer parens); combined boolean expressions wrap each sub-clause in parens: `=js:(vars.X === 'foo') && (vars.Y > 5)`. Use strict `===` / `!==`, never loose `==` / `!=` — normalize SDD shorthand like `approved == true` to `=js:vars.approved === true` (do not transcribe `==` verbatim). Full per-sink rule: [bindings-and-expressions.md § Canonical form per sink](../../../bindings-and-expressions.md#canonical-form-per-sink).
|
|
86
78
|
|
|
87
79
|
## Post-Write Verification
|
|
88
80
|
|
|
89
|
-
Confirm
|
|
90
|
-
- **v19** → `root.caseExitConditions[]`
|
|
91
|
-
- **v20** → `metadata.caseExitRules[]`
|
|
81
|
+
Confirm `metadata.caseExitRules[]` contains the new object with `id`, non-empty `displayName` (SDD value or `Complete Rule {N}` / `Exit Rule {N}` default keyed to `marksCaseComplete`), `marksCaseComplete` matching the T-entry, and `rules` carrying the expected `rule` value plus any required side field. Verify no `root` key exists at the top level.
|
|
92
82
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
For `wait-for-connector`: verify `rule.uipath.serviceType` is `"Intsvc.WaitForEvent"`, `rule.uipath.context[]` is populated (placeholders substituted), inputs/outputs `elementId` is `root-<ruleId>`, and ConnectionId + FolderKey root bindings exist. CLI `validate` does NOT check `rule.uipath` — confirm via Studio Web.
|
|
83
|
+
For `wait-for-connector`: verify `rule.uipath.serviceType` is `"Intsvc.WaitForEvent"`, `rule.uipath.context[]` is populated (placeholders substituted), inputs/outputs `elementId` is `root-<ruleId>`, and ConnectionId + FolderKey root bindings exist. Full `validate` flags a missing `rule.uipath`/`context` (`connector activity missing`) but not its internals (a wrong `serviceType` passes) — confirm the connector resolves in Studio Web.
|
package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md
CHANGED
|
@@ -27,6 +27,8 @@ Write the stage-entry condition directly to the target stage's `data.entryCondit
|
|
|
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 tasks.md/SDD maps to a **separate** object in `entryConditions[]`. Never merge multiple rows into a single condition's `rules` AND group.
|
|
31
|
+
|
|
30
32
|
## Procedure
|
|
31
33
|
|
|
32
34
|
1. Generate condition ID: `Condition_` + 6 alphanumeric chars
|
|
@@ -35,7 +37,7 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
35
37
|
4. Initialize `stageNode.data.entryConditions = []` if absent (regular Stage is created without this key — see [`../../stages/impl-json.md`](../../stages/impl-json.md))
|
|
36
38
|
5. Read `rule-type` and `is-interrupting` from tasks.md; pick the recipe below
|
|
37
39
|
6. Set `displayName`: use tasks.md `display-name` if present; else default to `Entry Rule {N}`, where `N` = the 1-based index this condition takes in `stageNode.data.entryConditions[]` (i.e. `entryConditions.length + 1` at append time). Never emit a blank or omitted `displayName`.
|
|
38
|
-
7. Append the condition object to `stageNode.data.entryConditions[]`
|
|
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.
|
|
39
41
|
|
|
40
42
|
## Rule Types
|
|
41
43
|
|
|
@@ -69,9 +71,9 @@ Fires when an upstream stage exits via a `wait-for-user` exit condition and the
|
|
|
69
71
|
|
|
70
72
|
### wait-for-connector — bind a connector event
|
|
71
73
|
|
|
72
|
-
Write `rule.uipath` per [connector-trigger-common.md § Target: connector-bound condition rule](../../../connector-trigger-common.md#target-connector-bound-condition-rule) (canonical rule JSON + procedure there) — a bare rule (no `uipath`) is rejected by Studio Web. **Stage-scoped: `elementId = <stageId>-<ruleId>`.** `conditionExpression` is optional — an extra `=js:` gate on **case state** (`vars.X`), NOT the event payload (no `event` namespace); set `isInterrupting: true` on the condition for exception/fraud/escalation flows. If `type-id` / `connection-id` / `connector-key` is `<UNRESOLVED>`,
|
|
74
|
+
Write `rule.uipath` per [connector-trigger-common.md § Target: connector-bound condition rule](../../../connector-trigger-common.md#target-connector-bound-condition-rule) (canonical rule JSON + procedure there) — a bare rule (no `uipath`) is rejected by Studio Web. **Stage-scoped: `elementId = <stageId>-<ruleId>`.** `conditionExpression` is optional — an extra `=js:` gate on **case state** (`vars.X`), NOT the event payload (no `event` namespace); set `isInterrupting: true` on the condition for exception/fraud/escalation flows. If `type-id` / `connection-id` / `connector-key` is `<UNRESOLVED>`, emit the **stub `uipath` placeholder** (2 `"placeholder"` context fields: `connectorKey` + `operation` — see [connector-trigger-common.md § Placeholder fallback](../../../connector-trigger-common.md#placeholder-fallback)).
|
|
73
75
|
|
|
74
|
-
**Rule output binding.** If the T-entry has `outputs:`, dispatch `rule.uipath.outputs[]` per [io-binding/impl-json.md § Output Binding Shapes for Connector Condition Rules](../../variables/io-binding/impl-json.md#output-binding-shapes-for-connector-condition-rules) **as the last step — after rule write, before root bindings**. `elementId` stays `<stageId>-<ruleId>` on every output entry. Skip when `uipath`
|
|
76
|
+
**Rule output binding.** If the T-entry has `outputs:`, dispatch `rule.uipath.outputs[]` per [io-binding/impl-json.md § Output Binding Shapes for Connector Condition Rules](../../variables/io-binding/impl-json.md#output-binding-shapes-for-connector-condition-rules) **as the last step — after rule write, before root bindings**. `elementId` stays `<stageId>-<ruleId>` on every output entry. Skip when the rule has no `uipath.outputs[]` (stub placeholder).
|
|
75
77
|
|
|
76
78
|
## Rule-Type Catalog
|
|
77
79
|
|
|
@@ -83,8 +85,8 @@ Write `rule.uipath` per [connector-trigger-common.md § Target: connector-bound
|
|
|
83
85
|
| `user-selected-stage` | — |
|
|
84
86
|
| `wait-for-connector` | `uipath` connector configuration (see [common](../../../connector-trigger-common.md#target-connector-bound-condition-rule)) |
|
|
85
87
|
|
|
86
|
-
`conditionExpression` is optional on every rule — add it to any rule to further gate when it fires.
|
|
88
|
+
`conditionExpression` is optional on every rule — add it to any rule to further gate when it fires. **Use strict `===` / `!==`, never loose `==` / `!=` — normalize SDD shorthand like `approved == true` to `=js:vars.approved === true` (do not transcribe `==` verbatim).** Full per-sink rule: [bindings-and-expressions.md § Canonical form per sink](../../../bindings-and-expressions.md#canonical-form-per-sink).
|
|
87
89
|
|
|
88
90
|
## Post-Write Verification
|
|
89
91
|
|
|
90
|
-
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 T-entry, and `rules` carrying the expected `rule` value plus any required side field. For `wait-for-connector`: verify `rule.uipath.serviceType` is `"Intsvc.WaitForEvent"`, `rule.uipath.context[]` is populated (placeholders substituted), inputs/outputs `elementId` is `<stageId>-<ruleId>`, and the ConnectionId + FolderKey root bindings exist.
|
|
92
|
+
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 T-entry, and `rules` carrying the expected `rule` value plus any required side field. For `wait-for-connector`: verify `rule.uipath.serviceType` is `"Intsvc.WaitForEvent"`, `rule.uipath.context[]` is populated (placeholders substituted), inputs/outputs `elementId` is `<stageId>-<ruleId>`, and the ConnectionId + FolderKey root bindings exist. Full `validate` flags a missing `rule.uipath`/`context` (`connector activity missing`) but not its internals (a wrong `serviceType` passes) — confirm the connector resolves in Studio Web.
|
package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md
CHANGED
|
@@ -39,6 +39,8 @@ Allowed `ruleType` values and when to pick each:
|
|
|
39
39
|
|
|
40
40
|
`is-interrupting: true` means the condition can fire **while another stage is active** and will interrupt it. Use for exception/interrupt flows.
|
|
41
41
|
|
|
42
|
+
> **First-stage start — `case-entered` is the case-start signal (edges retired).** With edges gone, there is no Trigger→first-stage edge; the case begins at the stage whose entry condition is `case-entered`. **At least one regular stage must carry `case-entered`**, or the case can never start. The sdd.md's first stage normally declares it — emit it verbatim. If NO stage declares `case-entered`, flag to the user via AskUserQuestion; do NOT silently inject one (Rule 2 — trust the sdd.md, no gap-fill). The reachability walk in [`sdd-generation-rules.md` § Logical integrity](../../../sdd-generation-rules.md) treats a case with no `case-entered` stage as a blocking orphan.
|
|
43
|
+
|
|
42
44
|
## Ordering
|
|
43
45
|
|
|
44
46
|
Stage entry conditions are created **after** all stages exist (Step 7 in implementation.md). Source/target stage IDs must both be captured by then.
|
package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md
CHANGED
|
@@ -38,7 +38,7 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
38
38
|
|
|
39
39
|
| `type` | When to pick |
|
|
40
40
|
|---|---|
|
|
41
|
-
| `exit-only` | Default — stage exits normally
|
|
41
|
+
| `exit-only` | Default — stage exits normally; next stage resolves via entry conditions (or `exitToStageId` when set). No edges. |
|
|
42
42
|
| `wait-for-user` | Manual user decision required |
|
|
43
43
|
| `return-to-origin` | Rework / exception loop — sends the case back to the previous stage |
|
|
44
44
|
|
|
@@ -70,9 +70,9 @@ Rules use DNF — outer array is OR, inner array is AND.
|
|
|
70
70
|
|
|
71
71
|
### wait-for-connector — bind a connector event
|
|
72
72
|
|
|
73
|
-
Write `rule.uipath` per [connector-trigger-common.md § Target: connector-bound condition rule](../../../connector-trigger-common.md#target-connector-bound-condition-rule) (canonical rule JSON + procedure there) — a bare rule (no `uipath`) is rejected by Studio Web. **Stage-scoped: `elementId = <stageId>-<ruleId>`.** Place it in the exit condition with `type` / `marksStageComplete` like the other exit rules above. `conditionExpression` optional. If `type-id` / `connection-id` / `connector-key` is `<UNRESOLVED>`,
|
|
73
|
+
Write `rule.uipath` per [connector-trigger-common.md § Target: connector-bound condition rule](../../../connector-trigger-common.md#target-connector-bound-condition-rule) (canonical rule JSON + procedure there) — a bare rule (no `uipath`) is rejected by Studio Web. **Stage-scoped: `elementId = <stageId>-<ruleId>`.** Place it in the exit condition with `type` / `marksStageComplete` like the other exit rules above. `conditionExpression` optional. If `type-id` / `connection-id` / `connector-key` is `<UNRESOLVED>`, emit the **stub `uipath` placeholder** (2 `"placeholder"` context fields: `connectorKey` + `operation` — see [connector-trigger-common.md § Placeholder fallback](../../../connector-trigger-common.md#placeholder-fallback)).
|
|
74
74
|
|
|
75
|
-
**Rule output binding.** If the T-entry has `outputs:`, dispatch `rule.uipath.outputs[]` per [io-binding/impl-json.md § Output Binding Shapes for Connector Condition Rules](../../variables/io-binding/impl-json.md#output-binding-shapes-for-connector-condition-rules) **as the last step — after rule write, before root bindings**. `elementId` stays `<stageId>-<ruleId>` on every output entry. Skip when `uipath`
|
|
75
|
+
**Rule output binding.** If the T-entry has `outputs:`, dispatch `rule.uipath.outputs[]` per [io-binding/impl-json.md § Output Binding Shapes for Connector Condition Rules](../../variables/io-binding/impl-json.md#output-binding-shapes-for-connector-condition-rules) **as the last step — after rule write, before root bindings**. `elementId` stays `<stageId>-<ruleId>` on every output entry. Skip when the rule has no `uipath.outputs[]` (stub placeholder).
|
|
76
76
|
|
|
77
77
|
### wait-for-user — manual decision gate
|
|
78
78
|
|
|
@@ -103,8 +103,8 @@ Routes the case back to the originating stage.
|
|
|
103
103
|
| `false` | `selected-tasks-completed` | `selectedTasksIds` (array) |
|
|
104
104
|
| `false` | `wait-for-connector` | `uipath` connector configuration |
|
|
105
105
|
|
|
106
|
-
`conditionExpression` is optional on every rule — add it to any rule to further gate when it fires. Use bare `=js:<expr>` (no outer parens); for combined boolean expressions wrap each sub-clause in parens: `=js:(vars.X === 'foo') && (vars.Y > 5)`. Full per-sink rule: [bindings-and-expressions.md § Canonical form per sink](../../../bindings-and-expressions.md#canonical-form-per-sink).
|
|
106
|
+
`conditionExpression` is optional on every rule — add it to any rule to further gate when it fires. Use bare `=js:<expr>` (no outer parens); for combined boolean expressions wrap each sub-clause in parens: `=js:(vars.X === 'foo') && (vars.Y > 5)`. **Use strict `===` / `!==`, never loose `==` / `!=` — normalize SDD shorthand like `approved == true` to `=js:vars.approved === true` (do not transcribe `==` verbatim).** Full per-sink rule: [bindings-and-expressions.md § Canonical form per sink](../../../bindings-and-expressions.md#canonical-form-per-sink).
|
|
107
107
|
|
|
108
108
|
## Post-Write Verification
|
|
109
109
|
|
|
110
|
-
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 T-entry, and `rules` carrying the expected `rule` value plus any required side field.
|
|
110
|
+
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 T-entry, and `rules` carrying the expected `rule` value plus any required side field. For `wait-for-connector`: verify `rule.uipath.serviceType` is `"Intsvc.WaitForEvent"`, `rule.uipath.context[]` is populated (placeholders substituted), inputs/outputs `elementId` is `<stageId>-<ruleId>`, and the ConnectionId + FolderKey root bindings exist.
|
package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md
CHANGED
|
@@ -31,7 +31,7 @@ Every stage with an **Exit Condition** declared in sdd.md gets its own stage-exi
|
|
|
31
31
|
|
|
32
32
|
| Exit `type` | When to pick |
|
|
33
33
|
|-------------|--------------|
|
|
34
|
-
| `exit-only` | **Default.** Stage exits normally
|
|
34
|
+
| `exit-only` | **Default.** Stage exits normally; the next stage is whichever one's entry condition matches (or `exit-to-stage-id` when set). No edges — routing is condition-driven. |
|
|
35
35
|
| `wait-for-user` | Exit requires manual user decision or approval. |
|
|
36
36
|
| `return-to-origin` | Rework / exception loop — sends the case back to the previous stage. |
|
|
37
37
|
|