@uipath/skills 1.199.0 → 1.200.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 +14 -8
- package/README.md +18 -3
- package/assets/skill-status.json +9 -1
- package/assets/uip-catalog-snapshot.json +227 -21
- package/package.json +11 -2
- package/scripts/npm-package-lifecycle.mjs +46 -0
- package/skills/uipath-admin/SKILL.md +5 -1
- package/skills/uipath-admin/references/audit-commands.md +1 -1
- package/skills/uipath-admin/references/audit-workflow-guide.md +9 -0
- package/skills/uipath-agents/SKILL.md +2 -2
- package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +7 -0
- package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +5 -6
- package/skills/uipath-agents/references/lowcode/critical-rules/critical-rules.md +1 -1
- package/skills/uipath-agents/references/lowcode/evaluations/evaluation-sets.md +5 -0
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +3 -3
- package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +3 -2
- package/skills/uipath-api-workflow/SKILL.md +2 -1
- package/skills/uipath-api-workflow/references/cli-reference.md +3 -3
- package/skills/uipath-coded-apps/SKILL.md +3 -2
- package/skills/uipath-coded-apps/assets/fixtures/governance-dashboard-starter-kit.tar.gz +0 -0
- package/skills/uipath-coded-apps/assets/templates/web-app-template.md +1 -1
- package/skills/uipath-coded-apps/references/create-web-app.md +60 -48
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +2 -2
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +2 -2
- package/skills/uipath-coded-apps/references/dashboards/primitives/tier-resolution.md +16 -16
- package/skills/uipath-coded-apps/references/oauth-scopes.md +28 -272
- package/skills/uipath-coded-apps/references/sdk/action-center.md +26 -243
- package/skills/uipath-coded-apps/references/sdk/agents.md +20 -130
- package/skills/uipath-coded-apps/references/sdk/conversational-agent.md +52 -706
- package/skills/uipath-coded-apps/references/sdk/data-fabric.md +20 -237
- package/skills/uipath-coded-apps/references/sdk/feedback.md +4 -139
- package/skills/uipath-coded-apps/references/sdk/governance-traces.md +7 -55
- package/skills/uipath-coded-apps/references/sdk/governance.md +4 -44
- package/skills/uipath-coded-apps/references/sdk/imports.md +77 -35
- package/skills/uipath-coded-apps/references/sdk/maestro.md +29 -406
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +30 -324
- package/skills/uipath-coded-apps/references/sdk/pagination.md +9 -67
- package/skills/uipath-coded-apps/references/sdk/traces.md +8 -43
- package/skills/uipath-functions/SKILL.md +23 -23
- package/skills/uipath-governance/SKILL.md +5 -4
- package/skills/uipath-governance/references/cli-cheatsheet.md +2 -1
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +143 -58
- package/skills/uipath-governance/references/compliance-pack/restore/impl.md +61 -0
- package/skills/uipath-human-in-the-loop/SKILL.md +4 -2
- package/skills/uipath-insights/SKILL.md +17 -18
- package/skills/uipath-ixp/SKILL.md +12 -7
- package/skills/uipath-ixp/references/cli-reference.md +71 -9
- package/skills/uipath-ixp/references/improve-prompts-guide.md +23 -9
- package/skills/uipath-ixp/references/label-documents-guide.md +33 -5
- package/skills/uipath-maestro-bpmn/SKILL.md +15 -14
- package/skills/uipath-maestro-bpmn/references/cli-conventions.md +15 -6
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +18 -17
- package/skills/uipath-maestro-case/SKILL.md +46 -33
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +77 -37
- package/skills/uipath-maestro-case/assets/templates/sdd-viewer.html +0 -2
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +3 -1
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +2 -2
- package/skills/uipath-maestro-case/references/brownfield.md +15 -5
- package/skills/uipath-maestro-case/references/case-commands.md +19 -3
- package/skills/uipath-maestro-case/references/case-editing-operations.md +24 -21
- package/skills/uipath-maestro-case/references/case-schema.md +38 -16
- package/skills/uipath-maestro-case/references/connector-trigger-common.md +15 -8
- package/skills/uipath-maestro-case/references/evals/evals.json +35 -18
- package/skills/uipath-maestro-case/references/implementation.md +86 -71
- package/skills/uipath-maestro-case/references/phase-0-interview.md +92 -23
- package/skills/uipath-maestro-case/references/phased-execution.md +70 -55
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +5 -5
- package/skills/uipath-maestro-case/references/planning.md +57 -9
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +7 -5
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +41 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +27 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +20 -7
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +37 -4
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +24 -13
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +9 -3
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +4 -0
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +4 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +2 -0
- 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/create-inline-common.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +6 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +4 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +17 -14
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +13 -10
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +18 -16
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +2 -2
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +11 -9
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +6 -2
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +19 -1
- package/skills/uipath-maestro-case/references/registry-discovery.md +3 -3
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +155 -51
- package/skills/uipath-maestro-case/references/sla-response-shapes.md +74 -0
- package/skills/uipath-maestro-flow/SKILL.md +4 -3
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +3 -0
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +10 -17
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/greenfield.md +8 -6
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +4 -9
- package/skills/uipath-maestro-flow/references/author/references/plugins/agentic-process/impl.md +3 -7
- package/skills/uipath-maestro-flow/references/author/references/plugins/api-workflow/impl.md +5 -8
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +11 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/flow/impl.md +3 -7
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +14 -17
- package/skills/uipath-maestro-flow/references/author/references/plugins/ixp/impl.md +60 -13
- package/skills/uipath-maestro-flow/references/author/references/plugins/queue/impl.md +2 -14
- package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +4 -9
- package/skills/uipath-maestro-flow/references/author/references/plugins/script/impl.md +3 -0
- package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +5 -9
- package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +13 -0
- package/skills/uipath-maestro-flow/references/shared/action-nodes.md +2 -2
- package/skills/uipath-maestro-flow/references/shared/file-format.md +16 -12
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +3 -3
- package/skills/uipath-planner/SKILL.md +1 -1
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +1 -1
- package/skills/uipath-platform/SKILL.md +1 -1
- package/skills/uipath-platform/references/data-fabric/bulk-import.md +10 -27
- package/skills/uipath-platform/references/data-fabric/choice-sets.md +7 -64
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +76 -267
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +23 -99
- package/skills/uipath-platform/references/data-fabric/file-attachments.md +5 -28
- package/skills/uipath-platform/references/data-fabric/filter-platform-contract.md +2 -2
- package/skills/uipath-platform/references/data-fabric/records-query.md +11 -32
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +6 -2
- package/skills/uipath-platform/references/licensing/consumables-report.md +18 -0
- package/skills/uipath-platform/references/licensing/licensing.md +1 -1
- package/skills/uipath-platform/references/orchestrator/run-jobs.md +9 -2
- package/skills/uipath-platform/references/orchestrator/setup-environment.md +9 -0
- package/skills/uipath-platform/references/traces/feedback.md +4 -1
- package/skills/uipath-process-mining/SKILL.md +97 -0
- package/skills/uipath-process-mining/references/app-types.md +66 -0
- package/skills/uipath-process-mining/references/data-model.md +130 -0
- package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +67 -0
- package/skills/uipath-process-mining/references/model-editing.md +112 -0
- package/skills/uipath-process-mining/references/pre-flight.md +119 -0
- package/skills/uipath-process-mining/references/querying.md +66 -0
- package/skills/uipath-process-mining/references/transformations.md +80 -0
- package/skills/uipath-process-mining/references/uip-pm-cli.md +145 -0
- package/skills/uipath-review/SKILL.md +23 -18
- package/skills/uipath-review/references/agents/agent-grading-rubric.md +1 -1
- package/skills/uipath-review/references/agents/agent-review-checklist.md +0 -4
- package/skills/uipath-review/references/agents/agents-coded-rules.md +1 -10
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +3 -6
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +62 -14
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +60 -4
- package/skills/uipath-review/references/review-workflow-guide.md +3 -2
- package/skills/uipath-review/references/rule-catalog-workflow.md +4 -5
- package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +20 -0
- package/skills/uipath-rpa/SKILL.md +57 -55
- package/skills/uipath-rpa/agents/uipath-project-discovery-agent.md +75 -19
- package/skills/uipath-rpa/assets/codedworkflow-template.md +245 -11
- package/skills/uipath-rpa/references/cli-reference.md +229 -6
- package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +158 -2
- package/skills/uipath-rpa/references/coded/integration-service-guide.md +6 -5
- package/skills/uipath-rpa/references/coded/operations-guide.md +273 -5
- package/skills/uipath-rpa/references/coded-vs-xaml-guide.md +3 -3
- package/skills/uipath-rpa/references/common-pattern-card.md +303 -0
- package/skills/uipath-rpa/references/data-manipulation-guide.md +18 -3
- package/skills/uipath-rpa/references/debugging.md +0 -2
- package/skills/uipath-rpa/references/environment-setup.md +309 -1
- package/skills/uipath-rpa/references/error-handling-guide.md +1 -1
- package/skills/uipath-rpa/references/execution-maps-guide.md +110 -0
- package/skills/uipath-rpa/references/is-connector-xaml-guide.md +58 -4
- package/skills/uipath-rpa/references/legacy/activity-docs/Excel.md +1 -1
- package/skills/uipath-rpa/references/legacy/activity-docs/_DU-PROCESS.md +0 -2
- package/skills/uipath-rpa/references/legacy/activity-docs/_INDEX.md +2 -2
- package/skills/uipath-rpa/references/legacy/activity-docs/_PATTERNS.md +1 -1
- package/skills/uipath-rpa/references/legacy/activity-docs/_REFRAMEWORK.md +2 -7
- package/skills/uipath-rpa/references/legacy/cli-reference.md +599 -0
- package/skills/uipath-rpa/references/legacy/error-handling-guide.md +2 -2
- package/skills/uipath-rpa/references/legacy/legacy-mode-guide.md +16 -16
- package/skills/uipath-rpa/references/legacy/project-organization-guide.md +2 -2
- package/skills/uipath-rpa/references/legacy/selector-guide.md +163 -1
- package/skills/uipath-rpa/references/legacy/testing-guide.md +246 -3
- package/skills/uipath-rpa/references/legacy/xaml-basics-and-rules.md +267 -2
- package/skills/uipath-rpa/references/library-authoring-guide.md +4 -3
- package/skills/uipath-rpa/references/testing-guide.md +2 -28
- package/skills/uipath-rpa/references/trigger-pattern-guide.md +1 -1
- package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +140 -33
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +57 -240
- package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +42 -2
- package/skills/uipath-rpa/references/xaml/long-running-workflow-guide.md +1 -1
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +194 -228
- package/skills/uipath-solution/references/activate-and-manage.md +22 -0
- package/skills/uipath-solution/references/develop-solution.md +26 -2
- package/skills/uipath-solution/references/pack-and-deploy.md +43 -9
- package/skills/uipath-test/SKILL.md +4 -4
- package/skills/uipath-test/references/playwright-first-mile-guide.md +5 -4
- package/skills/uipath-test/references/publish-and-link-guide.md +2 -2
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/click-silent-no-op.md +5 -5
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/queue-operation-failed.md +20 -4
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-file-not-found.md +12 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-outlook-mail-failures.md +12 -1
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-activity-bug-silent-failure.md +2 -1
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/playbooks/terminal-session-connection-failed.md +5 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-silent-no-op.md +5 -5
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/dependency-version-conflict.md +27 -6
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/napplicationcard-view-generation-failed.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/overview.md +4 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-auth-401-403.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-connection-failure.md +2 -1
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-content-type-rejected.md +37 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-proxy-blocked.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/package-version-mismatch.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/securestring-misuse-analyzer.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/summary.md +5 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-null-reference.md +14 -1
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-runtime-exception.md +2 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/is-activities-prerelease-not-found.md +39 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/response-content-too-large.md +41 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/summary.md +9 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/console-conflict-login-to-console.md +40 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/credential-store-unavailable.md +42 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/executor-start-transient-rerun.md +49 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-consecutive-system-exceptions.md +47 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-session-timeout.md +19 -19
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-output-too-large.md +47 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stopped-generic-exit-code.md +55 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/known-issue-robot-defect.md +40 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/platform-incident-correlation.md +45 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/screen-capture-handle-invalid.md +43 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/serverless-license-quota.md +43 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/serverless-time-limit-exceeded.md +34 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/workstation-in-use-machine-slots.md +40 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +13 -1
- package/version-manifest.json +2 -2
- package/skills/uipath-maestro-bpmn/validator/README.md +0 -224
- package/skills/uipath-maestro-bpmn/validator/model.mjs +0 -419
- package/skills/uipath-maestro-bpmn/validator/package.json +0 -17
- package/skills/uipath-maestro-bpmn/validator/rules.mjs +0 -1403
- package/skills/uipath-maestro-bpmn/validator/samples/invalid-conditional-and-variable.bpmn +0 -25
- package/skills/uipath-maestro-bpmn/validator/samples/valid-baseline.bpmn +0 -52
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.0.bpmn +0 -157
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.1.bpmn +0 -333
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.1.0.bpmn +0 -598
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.2.0.bpmn +0 -1709
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.2.0.bpmn +0 -564
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.3.0.bpmn +0 -671
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.4.0.bpmn +0 -1045
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.5.0.bpmn +0 -1176
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.6.0.bpmn +0 -670
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.7.0.bpmn +0 -466
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Can_Parse_Complex_Process_With_Task_Gateway_BoundaryEvent_etc.bpmn +0 -74
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExclusiveGatewayDefaultFlow.bpmn +0 -32
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExternalAgentWorkflow.bpmn +0 -62
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Golden_Scenario.initial.bpmn +0 -361
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/InclusiveJoinRouteAwayBranch.bpmn +0 -62
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_AsyncExecution_And_Create_CorrectModel.bpmn +0 -74
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_ExtractionValidation_And_Create_CorrectModel.bpmn +0 -35
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_FileUpload_And_Create_CorrectModel.bpmn +0 -33
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_JobAttachment_And_Create_CorrectModel.bpmn +0 -35
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_SubProcess_With_Multiple_Element_Types.bpmn +0 -76
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartEventWithOutputs.bpmn +0 -36
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartGatewayEnd.bpmn +0 -44
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all elements.bpmn +0 -516
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all_sequence_flow_types.bpmn +0 -173
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/demo.bpmn +0 -181
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-collapsed.bpmn +0 -126
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-expanded.bpmn +0 -122
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-003-collapsed_deeply-nested.bpmn +0 -438
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.1.0.bpmn +0 -87
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.3.0.bpmn +0 -165
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ApiWorkflow.bpmn +0 -39
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnNestedSubProcessTests.bpmn +0 -102
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnTimerBoundaryEvents.bpmn +0 -160
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithCatchAllErrorEventSubProcess.bpmn +0 -45
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithSpecificErrorEventSubProcess.bpmn +0 -46
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/CaseManagementWithConstantIdentifier.bpmn +0 -218
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorBoundary.bpmn +0 -78
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorPropagationInEventSubprocess.bpmn +0 -340
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/EventBasedGatewayFirstCatcherWins.bpmn +0 -56
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Example-EventBasedGateway.bpmn +0 -117
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewayConditional.bpmn +0 -45
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewaySharedEndEvent.bpmn +0 -45
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveWithParallelGateway.bpmn +0 -68
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/FourScriptTasks.bpmn +0 -84
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/HitlTaskOnly.bpmn +0 -55
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/InclusiveGatewayForkJoin.bpmn +0 -69
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_BPMN_Elements_And_Create_CorrectModel.bpmn +0 -20
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_HttpRequest_ServiceTask_And_Create_Correct_Model.bpmn +0 -34
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_MessageBoundaryEvent_And_Create_CorrectModel.bpmn +0 -87
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Script_Task_V2_And_Create_Correct_Model.bpmn +0 -31
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Sets_Containers_Properly.bpmn +0 -129
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +0 -59
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/boundaryevent.bpmn +0 -30
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/collapsed-subprocess.bpmn +0 -83
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/connectable-types.bpmn +0 -85
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/extensions-orchestrator-start-job.bpmn +0 -80
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/multiparticipantpool.bpmn +0 -77
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/nestedsubprocess.bpmn +0 -36
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/simple.bpmn +0 -59
- package/skills/uipath-maestro-bpmn/validator/test/integration.test.mjs +0 -146
- package/skills/uipath-maestro-bpmn/validator/test/model-helpers.mjs +0 -42
- package/skills/uipath-maestro-bpmn/validator/test/ported-rule-tests.mjs +0 -983
- package/skills/uipath-maestro-bpmn/validator/test/run-tests.mjs +0 -530
- package/skills/uipath-maestro-bpmn/validator/uipath-moddle.v1.json +0 -715
- package/skills/uipath-maestro-bpmn/validator/validate-bpmn.mjs +0 -164
- package/skills/uipath-review/references/agents/agents-common-rules.md +0 -32
- package/skills/uipath-rpa/assets/before-after-hooks-template.md +0 -115
- package/skills/uipath-rpa/assets/helper-utility-template.md +0 -22
- package/skills/uipath-rpa/assets/testcase-template.md +0 -92
- package/skills/uipath-rpa/references/coded/coding-guidelines.md +0 -255
- package/skills/uipath-rpa/references/coded/inspect-package-guide.md +0 -80
- package/skills/uipath-rpa/references/coded/third-party-packages-guide.md +0 -67
- package/skills/uipath-rpa/references/connector-capabilities.md +0 -79
- package/skills/uipath-rpa/references/legacy/activity-docs/Testing.md +0 -95
- package/skills/uipath-rpa/references/legacy/activity-docs/UIAutomation.md +0 -159
- package/skills/uipath-rpa/references/legacy/common-pitfalls.md +0 -318
- package/skills/uipath-rpa/references/legacy/discovery-workflow.md +0 -147
- package/skills/uipath-rpa/references/legacy/environment-setup.md +0 -78
- package/skills/uipath-rpa/references/legacy/project-structure.md +0 -206
- package/skills/uipath-rpa/references/legacy/test-data-guide.md +0 -142
- package/skills/uipath-rpa/references/legacy/validation-and-fixing.md +0 -154
- package/skills/uipath-rpa/references/project-structure-guide.md +0 -168
- package/skills/uipath-rpa/references/project-structure.md +0 -135
- package/skills/uipath-rpa/references/publishing-guide.md +0 -80
- package/skills/uipath-rpa/references/validation-guide.md +0 -170
- package/skills/uipath-rpa/references/xaml/csharp-expression-pitfalls.md +0 -43
- package/skills/uipath-rpa/references/xaml/flowchart-guide.md +0 -113
- package/skills/uipath-rpa/references/xaml/workflow-guide.md +0 -258
|
@@ -68,7 +68,7 @@ uip solution pack ./MySolution ./output --name "MySolution" --version "2.0.0" --
|
|
|
68
68
|
| `--version <version>` | Set the package version | `1.0.0` |
|
|
69
69
|
| `--nuget-sources-config-path <path>` | Local `NuGet.config` that sets the package sources used for resolution | -- |
|
|
70
70
|
|
|
71
|
-
The output is a `.zip` file named `<name
|
|
71
|
+
The output is a `.zip` file named `<name>_<version>.zip` — **underscore between name and version, not a dot** — written under `<output-path>/` (e.g., `MySolution_2.0.0.zip`). Don't guess the filename: read it from the command's `Data.Packages` field, or list `<output-path>/`. Run `solution resources refresh` first (from inside the solution dir, or with `--solution-folder <path>`) to ensure the solution's artefact files and debug overwrites are up to date — they're bundled into the package.
|
|
72
72
|
|
|
73
73
|
**Controlling package sources.** In offline or air-gapped environments, or when packages must be resolved from specific feeds, pass `--nuget-sources-config-path <path>` pointing at a local `NuGet.config`. Both `pack` and `restore` accept the flag; the sources declared in that file determine where each project's dependencies are resolved from, giving you precise control over feed selection.
|
|
74
74
|
|
|
@@ -77,10 +77,10 @@ The output is a `.zip` file named `<name>.<version>.zip` written under `<output-
|
|
|
77
77
|
Upload the packed .zip so it appears in the UiPath solution feed:
|
|
78
78
|
|
|
79
79
|
```bash
|
|
80
|
-
uip solution publish ./output/
|
|
80
|
+
uip solution publish ./output/MySolution_2.0.0.zip --output json
|
|
81
81
|
|
|
82
82
|
# Target a specific tenant
|
|
83
|
-
uip solution publish ./output/
|
|
83
|
+
uip solution publish ./output/MySolution_2.0.0.zip --tenant "Production" --output json
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
After publishing, the package is visible via `uip solution packages list` and available for deployment.
|
|
@@ -122,7 +122,7 @@ Key options:
|
|
|
122
122
|
| `-n, --name <name>` | Deployment name (required) | -- |
|
|
123
123
|
| `--package-name <name>` | Published solution package name (required) | -- |
|
|
124
124
|
| `--package-version <version>` | Package version to deploy (required) | -- |
|
|
125
|
-
| `--folder-name <name>` | New Orchestrator folder to create (required) | -- |
|
|
125
|
+
| `--folder-name <name>` | New Orchestrator folder to create (required). Always creates; a taken name is collision-renamed, never reused — see [`deploy run` Always Creates a New Folder](#deploy-run-always-creates-a-new-folder) | -- |
|
|
126
126
|
| `--parent-folder-path <path>` | Parent folder under which the new folder is created | -- |
|
|
127
127
|
| `--parent-folder-key <key>` | Parent folder key (GUID, alternative to `--parent-folder-path`) | -- |
|
|
128
128
|
| `--config-file <path>` | Configuration file from `deploy config get` | -- |
|
|
@@ -270,7 +270,7 @@ jobs:
|
|
|
270
270
|
- run: uip login --client-id "${{ secrets.UIPATH_CLIENT_ID }}" --client-secret "${{ secrets.UIPATH_CLIENT_SECRET }}" --tenant "${{ secrets.UIPATH_TENANT }}" --output json
|
|
271
271
|
- run: uip solution restore ./MySolution --output json # optional: fail fast on a missing feed before pack
|
|
272
272
|
- run: uip solution pack ./MySolution ./output --version "1.0.${{ github.run_number }}" --output json
|
|
273
|
-
- run: uip solution publish ./output/
|
|
273
|
+
- run: uip solution publish ./output/MySolution_*.zip --output json
|
|
274
274
|
- run: uip solution deploy run -n "MySolution-${{ github.run_number }}" --package-name "MySolution" --package-version "1.0.${{ github.run_number }}" --folder-name "MySolution" --config-file deploy-config.json --output json
|
|
275
275
|
```
|
|
276
276
|
|
|
@@ -285,13 +285,13 @@ uip solution pack ./MySolution ./output --version "1.2.0" --output json
|
|
|
285
285
|
|
|
286
286
|
# Staging
|
|
287
287
|
uip login tenant set "Staging" --output json
|
|
288
|
-
uip solution publish ./output/
|
|
288
|
+
uip solution publish ./output/MySolution_1.2.0.zip --output json
|
|
289
289
|
uip solution deploy run -n "MySolution-Staging" --package-name "MySolution" --package-version "1.2.0" \
|
|
290
290
|
--folder-name "MySolution" --config-file staging-config.json --output json
|
|
291
291
|
|
|
292
292
|
# Production (after validation)
|
|
293
293
|
uip login tenant set "Production" --output json
|
|
294
|
-
uip solution publish ./output/
|
|
294
|
+
uip solution publish ./output/MySolution_1.2.0.zip --output json
|
|
295
295
|
uip solution deploy run -n "MySolution-Prod" --package-name "MySolution" --package-version "1.2.0" \
|
|
296
296
|
--folder-name "MySolution" --config-file production-config.json --output json
|
|
297
297
|
```
|
|
@@ -315,9 +315,43 @@ These are different commands with different destinations:
|
|
|
315
315
|
| `solution publish` | Solution feed | For deployment via `deploy run` |
|
|
316
316
|
| `solution upload` | Studio Web | For browser-based editing |
|
|
317
317
|
|
|
318
|
-
### `deploy run` Creates a New Folder
|
|
318
|
+
### `deploy run` Always Creates a New Folder
|
|
319
319
|
|
|
320
|
-
`--folder-name` specifies a folder to **create**, not an existing folder to deploy into.
|
|
320
|
+
`--folder-name` specifies a folder to **create**, not an existing folder to deploy into. Use `--parent-folder-path` to set the parent folder where the new folder is created.
|
|
321
|
+
|
|
322
|
+
**Re-running with a name that is already taken does not fail and does not reuse the folder** — Orchestrator collision-renames the new one (`MySolution` → `MySolution 1`) and the deployment lands there. Repeated deploys therefore accumulate `MySolution 1`, `MySolution 2`, …
|
|
323
|
+
|
|
324
|
+
The CLI resolves the real folder and says so when it differs from what you asked for:
|
|
325
|
+
|
|
326
|
+
```json
|
|
327
|
+
{
|
|
328
|
+
"FolderName": "MySolution 4",
|
|
329
|
+
"FolderPath": "MySolution 4",
|
|
330
|
+
"RequestedFolderName": "MySolution",
|
|
331
|
+
"FolderNote": "Requested folder 'MySolution' already existed, so Orchestrator created 'MySolution 4' instead. ..."
|
|
332
|
+
}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
`RequestedFolderName` and `FolderNote` appear **only** on a rename, so their presence is the signal to check. Always provision against `Data.FolderPath`, never against the name you passed.
|
|
336
|
+
|
|
337
|
+
**There is no way to deploy into a pre-existing folder.** The install API takes `solutionRootFolderName` — a name, not a folder key — so the target cannot be addressed. This matters when the folder you want already holds hand-provisioned assets, an IXP folder-deployment, or an assigned robot: the deployment will land somewhere else and runtime resolution then fails on the missing resources.
|
|
338
|
+
|
|
339
|
+
Two ways around it:
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
# A. Let deploy create the folder FIRST, then provision into it.
|
|
343
|
+
uip solution deploy run --name my-deployment --package-name my-package \
|
|
344
|
+
--package-version 1.0.0 --folder-name MySolution --output json
|
|
345
|
+
# → read Data.FolderPath / Data.FolderKey from the response, then create the
|
|
346
|
+
# assets, folder-deploy IXP, and assign the robot into THAT folder.
|
|
347
|
+
|
|
348
|
+
# B. Skip solution deploy and bind each piece into the existing folder.
|
|
349
|
+
uip or packages upload ./piece.nupkg --output json
|
|
350
|
+
uip or processes create --package-key <id> --package-version <ver> \
|
|
351
|
+
--folder-key <existing-folder-key> --output json
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
Option A is preferred — it keeps the solution deployment intact. Option B loses the solution grouping, so use it only when the folder's existing contents cannot be recreated.
|
|
321
355
|
|
|
322
356
|
### `--parent-folder-path` is the Parent
|
|
323
357
|
|
|
@@ -70,7 +70,7 @@ Common `uip tm` commands organized by resource type.
|
|
|
70
70
|
| Command | Purpose |
|
|
71
71
|
|---|---|
|
|
72
72
|
| `uip tm testcases create --project-key <PROJECT_KEY> --name <TEST_CASE_NAME>` | Create a new test case in a Test Manager project. |
|
|
73
|
-
| `uip tm testcases list --project-key <PROJECT_KEY>` | List all test cases in a Test Manager project. Optional `--filter <text>`
|
|
73
|
+
| `uip tm testcases list --project-key <PROJECT_KEY>` | List all test cases in a Test Manager project. Optional `--filter <text>` — matches name or key by PREFIX, not substring. |
|
|
74
74
|
| `uip tm testcases update --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY> --name <TEST_CASE_NAME>` | Update a test case name, description, precondition, or postcondition (at least one field required). |
|
|
75
75
|
| `uip tm testcases delete --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY>` | Delete a test case by its key. |
|
|
76
76
|
| `uip tm testcases link-automation --project-key <PROJECT_KEY> --test-case-key <TEST_CASE_KEY> --folder-key <FOLDER_KEY> --package-name <PACKAGE_NAME> --test-name <TEST_NAME>` | Link an Orchestrator package automation to a test case. |
|
|
@@ -85,7 +85,7 @@ Common `uip tm` commands organized by resource type.
|
|
|
85
85
|
| `uip tm testcases steps move --project-key <PROJECT_KEY> --step-id <UUID> --target-position <n>` | Move a step to a new 0-based position. |
|
|
86
86
|
| `uip tm testcases steps delete --project-key <PROJECT_KEY> --step-id <UUID> --yes` | Delete a step. |
|
|
87
87
|
| `uip tm testcases list-result-history --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID>` | List test case log result history for a specific test case. Optional `--only-failed`, `--filter`, `--limit`, `--offset`. |
|
|
88
|
-
| `uip tm testcases run --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID>` | Start a new execution for one or more test cases. **Uses `--test-case-id <UUID>` (space-separated for multiple).** Optional `--async`, `--
|
|
88
|
+
| `uip tm testcases run --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_ID> --name <EXECUTION_NAME> --execution-type <manual\|automated\|none\|mixed>` | Start a new execution for one or more test cases. **Uses `--test-case-id <UUID>` (space-separated for multiple).** Optional `--async`, `--folder-key`, `--robot-user-key`, `--machine-key`. |
|
|
89
89
|
| `uip tm testcases add --test-set-key <TEST_SET_KEY> (--test-case-keys <KEY1> <KEY2> … \| --labels <Label1> <Label2> …)` | Add test cases to a test set — by explicit keys, OR every test case carrying at least one of the given labels. Both selectors are variadic and **space-separated**: `--test-case-keys DEMO:1 DEMO:2`, `--labels PW_Tag_smoke "PW_Suite_Checkout flow"` (quote names containing spaces). Keys additionally accept the comma form (`DEMO:1,DEMO:2`); **labels do not** — `--labels A,B` is read as one label named `A,B` and matches nothing. Label matching is OR, exact and case-sensitive. The two selectors are mutually exclusive. |
|
|
90
90
|
| `uip tm testcases remove --test-set-key <TEST_SET_KEY> --test-case-keys <KEY1,KEY2,...>` | Remove test cases from a test set (comma-separated keys). |
|
|
91
91
|
|
|
@@ -233,11 +233,11 @@ Object labels are tag-style metadata applied to Requirement, TestCase, TestSet,
|
|
|
233
233
|
2. **Probe the CLI surface once per session, before the first `uip tm` command.** Run `uip tm testcases --help --output json` (any flags accepted). Result `Success` → post-rename CLI; use the command tables above as-is. `unknown command` / non-zero exit → pre-rename CLI; translate via the [Pre-rename fallbacks](#pre-rename-fallbacks) table before each call. Re-probe on any later `unknown command` error.
|
|
234
234
|
3. **Always pass `--output json`** to every `uip` command — no exceptions. Structured JSON output is what you need to reason about results reliably, even when you only plan to summarize them back to the user.
|
|
235
235
|
4. **Cap retries at 3** for any failing `uip` CLI command. After 3 failures, stop and report the error to the user (see Rule — never fall back to direct REST APIs).
|
|
236
|
-
5. **Handle empty results** — if a list command returns an empty array, stop and inform the user rather than proceeding with a null key.
|
|
236
|
+
5. **Handle empty results** — if a list command returns an empty array, stop and inform the user rather than proceeding with a null key. Exception: a zero-result `tm testcases list --filter` call may be a prefix miss rather than a truly empty dataset — apply Rule 9's prefix fallback to disambiguate; stop only when the fallback also finds nothing. Filtered lookups on other resources (project, customfield) returning empty are real empty results — stop as usual.
|
|
237
237
|
6. **Confirm before delete** — always confirm the target resource key with the user before running any `delete` command. All delete commands require `--yes` (or `-y`) to proceed; omitting it exits without deleting.
|
|
238
238
|
7. **For operations requiring folder key** — use `uip or folders list -n <folder-name> --all --output json` when the user named a folder; when picking one yourself, list without `--all` so you only get folders you are a member of (run `/uipath-platform` for folder management details).
|
|
239
239
|
8. **Discover before assuming** — never guess automation names, folder keys, project IDs, or test case keys. Always run the matching `list` command first (e.g., `uip tm testcases list-automations`, `uip or folders list -n <folder-name> --all`).
|
|
240
|
-
9. **Narrow `list` calls server-side when the user names an entity.** When the user provides a name, key, label, or tag, check `uip tm <resource> list --help` (or `uip or <resource> list --help`) for the narrowing flag the command exposes and pass it on the `list` call. Never list all results and filter client-side — it wastes tokens and misses paginated entries. Applies to every entity across `uip tm` and `uip or`.
|
|
240
|
+
9. **Narrow `list` calls server-side when the user names an entity.** When the user provides a name, key, label, or tag, check `uip tm <resource> list --help` (or `uip or <resource> list --help`) for the narrowing flag the command exposes and pass it on the `list` call. Never list all results and filter client-side — it wastes tokens and misses paginated entries. Applies to every entity across `uip tm` and `uip or`. Exception: `tm testcases list --filter` matches by prefix. A mid-name term returns zero — retry `--filter` with a broader name prefix from context; re-list without `--filter` only when no workable prefix exists, paging through ALL results (`--limit`/`--offset`) before concluding the target is absent.
|
|
241
241
|
10. **Set default folder before any `run` command** — `uip tm testcases run` and `uip tm testsets run` both require a default Orchestrator folder on the project. Run `uip tm project set-default-folder --project-key <PROJECT_KEY> --folder-key <FOLDER_KEY> --output json` first. Get folder keys with `uip or folders list -n <folder-name> --all --output json`.
|
|
242
242
|
11. **On any `uip` command failure or ambiguity, STOP and ask the user — do NOT fall back to direct REST API calls.** When a `uip` command errors, returns malformed output, or the right flag/value is unclear (e.g., multiple matching entities, missing identifier, unexpected schema), interrupt and ask the user before proceeding. This overrides any instinct to "try the underlying API instead."
|
|
243
243
|
|
|
@@ -24,7 +24,7 @@ The key difference from the RPA pipeline: there is **no link step**. Uploading t
|
|
|
24
24
|
|
|
25
25
|
> **Do NOT run `uip tm testcases link-automation` on Playwright test cases.** They are linked by ingestion; manual linking is the RPA pipeline and will corrupt the association.
|
|
26
26
|
|
|
27
|
-
> **Reading command output.** `--output json` prints a JSON envelope, but not on its own line: auto-updater chatter (including `Update completed with failures.`, which is unrelated to your command), `Resolved project …` progress lines and trailing telemetry warnings share the same stream. Judge a command by the `Result` field inside the envelope, never by surrounding text,
|
|
27
|
+
> **Reading command output.** `--output json` prints a JSON envelope, but not on its own line: auto-updater chatter (including `Update completed with failures.`, which is unrelated to your command), `Resolved project …` progress lines and trailing telemetry warnings share the same stream. Judge a command by the `Result` field inside the envelope, never by surrounding text. Noise appears on **both sides** of the JSON, so taking everything from the first `{` is not enough — slice from the first `{` to the **matching final `}`** (or read the last balanced JSON object) before parsing, or a trailing telemetry line will break the parse.
|
|
28
28
|
|
|
29
29
|
> **If a command is missing.** Two commands in this pipeline are hidden from `--help`, so `--help` is not a reliable way to tell whether a build has them: `testsets playwright-context` (Step 5) and `run --playwright-projects` (Step 6). Older CLIs answer `unknown command` / `unknown option` for them. Treat them differently:
|
|
30
30
|
>
|
|
@@ -59,7 +59,7 @@ uip tm pack --project-path <dir> --type playwright \
|
|
|
59
59
|
uip or packages upload "<out-dir>/<PackageName>.1.0.0.nupkg" --output json
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
`--package-version` is a NuGet/SemVer-style version: three numeric parts with an optional prerelease suffix (`1.0.0`, `1.0.1-beta.1`) — `1.0` is rejected. Each upload needs a version the feed does not already have, so before re-packing check what is published and go above it:
|
|
62
|
+
`--package-version` is a NuGet/SemVer-style version: **three or four** numeric parts with an optional prerelease/build suffix (`1.0.0`, `1.0.0.0`, `1.0.1-beta.1`) — `1.0` is rejected. Each upload needs a version the feed does not already have, so before re-packing check what is published and go above it:
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
uip or packages list --search <PackageName> --output json
|
|
@@ -75,7 +75,7 @@ Ingestion is asynchronous and automatic. Poll until the auto-created test cases
|
|
|
75
75
|
uip tm testcases list --project-key <PROJECT_KEY> --output json
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
- Poll **unfiltered**. Do NOT pass `--filter <PackageName>` — `--filter` matches a test case's name or key by **prefix
|
|
78
|
+
- Poll **unfiltered**. Do NOT pass `--filter <PackageName>` — `--filter` matches a test case's name or key by **prefix** (see SKILL.md Rule 9), and an ingested test case is named `"<suite> > <test title>"`, so a package name never matches: the call stays empty forever and reads as a false "ingestion never happened".
|
|
79
79
|
- The rows carry `TestCaseKey` (e.g. `SHIP:1`) plus `Id` (the UUID) and `Name` — count `TestCaseKey`, not `Id`, when polling.
|
|
80
80
|
- Ingestion is done when `TestCount` new test cases from Step 1 are present, each named `"<suite> > <test title>"`. A plain `pack` prints only `Package`, `Output` and `TestCount` — if you want the exact expected names up front, run `--dry-run` first or read `testCases.json` inside the `.nupkg`; otherwise match on the count plus that name shape.
|
|
81
81
|
- `TestCount` from Step 1 is one test case per Playwright **test** — it is not multiplied by the number of Playwright projects (2 tests × 2 projects → 2 test cases).
|
|
@@ -135,7 +135,8 @@ uip tm testsets playwright-context --test-set-key <TEST_SET_KEY> --output json
|
|
|
135
135
|
Read the fields off the JSON response rather than relying on the names below staying current — this list describes today's shape, and `--output json` always carries whatever the API returns.
|
|
136
136
|
|
|
137
137
|
- `Data.IsPlaywright: true` → the set resolves to one Playwright package; `AvailablePlaywrightProjects` holds the only valid `--playwright-projects` values, and `SelectedPlaywrightProjects` shows any selection already stored on the test set. Both are **comma-joined strings** (`"chromium, firefox"`), not arrays — split on `", "` when scripting; no stored selection is `""`.
|
|
138
|
-
- `Data.IsPlaywright: false` → RPA,
|
|
138
|
+
- `Data.IsPlaywright: false` → the set does **not** resolve to exactly one synced Playwright package (RPA, multi-package, or no package at all) — run it **without** `--playwright-projects`.
|
|
139
|
+
- **`true` does not mean "only Playwright".** The check is *one* Playwright package, not *only* Playwright tests: a set holding Playwright tests from one package plus manual test cases still reports `true`, because manual cases resolve to no package. Treat the flag as "project selection is available here", not as a purity test.
|
|
139
140
|
- The server never errors on type here, so this is the safe discriminator for automation: probe first, branch on `IsPlaywright`.
|
|
140
141
|
- **False negative without a folder:** the probe resolves the package through the project's default folder — if that isn't set (Step 4), a genuine Playwright test set reports `IsPlaywright: false`. Set the default folder before trusting a `false`.
|
|
141
142
|
|
|
@@ -27,7 +27,7 @@ uip tm wait → block until terminal
|
|
|
27
27
|
uip rpa pack "<PROJECT_DIR>" "<OUTPUT_DIR>" --output json
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
Both arguments are positional — there is no `--project-dir` / `--project-path` flag here. See [/uipath:uipath-rpa §
|
|
30
|
+
Both arguments are positional — there is no `--project-dir` / `--project-path` flag here. See [/uipath:uipath-rpa § cli-reference.md § Pack & Publish to Orchestrator](../../uipath-rpa/references/cli-reference.md#pack--publish-to-orchestrator) for full pack flags. Capture `OutputPath` from the JSON output — that's the `.nupkg` to upload.
|
|
31
31
|
|
|
32
32
|
## Step 2 — Upload to Orchestrator
|
|
33
33
|
|
|
@@ -80,7 +80,7 @@ Two run modes — pick one:
|
|
|
80
80
|
**Single test case** — uses `--test-case-id <UUID>`, NOT `--test-case-key`. Get the UUID from `uip tm testcases list --output json` (`Id` field):
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
|
-
uip tm testcases run --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_UUID> --execution-type automated --output json
|
|
83
|
+
uip tm testcases run --project-key <PROJECT_KEY> --test-case-id <TEST_CASE_UUID> --name <EXECUTION_NAME> --execution-type automated --output json
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
**Whole test set** — uses `--test-set-key`:
|
|
@@ -26,7 +26,7 @@ What this looks like:
|
|
|
26
26
|
|
|
27
27
|
What can cause it:
|
|
28
28
|
|
|
29
|
-
- **Input method not
|
|
29
|
+
- **Input method did not actuate the control.** Classic Click exposes two mutually-exclusive booleans: `SimulateClick` and `SendWindowMessages`; both unset = **Default** (hardware events). `SimulateClick` acts through the element's control/accessibility API and IS supported for browsers, Java and SAP - but only when the specific control implements the action. A control that accepts the API call without acting produces a silent miss. This is **per-element, not per-technology**: do NOT conclude it from `app='java.exe'` (or SAP) alone. A node that cannot take the control API at all fails loudly with `Cannot use UI_CONTROL_API on this UI node. Please use UI_HARDWARE_EVENTS method.` - that is an Error log, so it belongs to the exception paths above, not here. Two Simulate limits independent of technology: only a **single left click with no key modifiers** is honored (double + right/middle raises `Simulate input method is not supported for Double Right/Middle Click` at validation), and a click **offset** is honored only on Java targets.
|
|
30
30
|
- **Click intercepted by a covering element** — an overlay, modal, tooltip, or another window sat over the target; the event hit the cover.
|
|
31
31
|
- **Wrong target resolved** — a loose/positional selector matched a duplicate / off-screen / inert element that looks right.
|
|
32
32
|
- **`ClippingRegion` / `CursorPosition` offset** places the click at a point outside the element or on empty space.
|
|
@@ -34,7 +34,7 @@ What can cause it:
|
|
|
34
34
|
|
|
35
35
|
What to look for:
|
|
36
36
|
|
|
37
|
-
- The classic Click's `SimulateClick` / `SendWindowMessages` flags and the target **technology** (from the full selector). Source-required.
|
|
37
|
+
- The classic Click's `SimulateClick` / `SendWindowMessages` flags, the click shape (`ClickType`, `MouseButton`, `KeyModifiers`), and the target **technology** (from the full selector). Source-required. Technology alone does not confirm or eliminate the input-method branch.
|
|
38
38
|
- Runtime proof of no-effect in Info-level logs or business output — needed to separate "silently did nothing" from "did the right thing and the user is mistaken".
|
|
39
39
|
|
|
40
40
|
## Investigation
|
|
@@ -48,7 +48,7 @@ Source-required — resolve the project per SKILL.md §5.4 before concluding.
|
|
|
48
48
|
- `SimulateClick` (`True`/`False`) and `SendWindowMessages` (`True`/`False`). Both `False` = Default / hardware events.
|
|
49
49
|
- `ClippingRegion` / `CursorPosition` / `OffsetX` / `OffsetY` if set.
|
|
50
50
|
5. Read the activity's full `Selector` and identify the **target technology**: `app='java.exe'` / a `javastate`/`java` attribute = Java; `app='saplogon.exe'` / `sapwnd` = SAP; a browser or plain `wnd`/`ctrl` for Win32/WPF.
|
|
51
|
-
6.
|
|
51
|
+
6. Do NOT ask docs whether the input method is supported for the target technology - `SimulateClick` is documented as supported (and recommended) for browsers, Java and SAP, so a technology-level answer neither confirms nor eliminates branch **(A)**. What decides it is element-level: runtime proof of no-effect (step 3) plus a re-run on Default hardware events.
|
|
52
52
|
|
|
53
53
|
## Resolution
|
|
54
54
|
|
|
@@ -56,7 +56,7 @@ Source-required — resolve the project per SKILL.md §5.4 before concluding.
|
|
|
56
56
|
|
|
57
57
|
Walk from the top; stop at the first branch that matches.
|
|
58
58
|
|
|
59
|
-
1. **Is `SimulateClick=True` or `SendWindowMessages=True
|
|
59
|
+
1. **Is `SimulateClick=True` or `SendWindowMessages=True`, with runtime proof the control never acted and no `UI_CONTROL_API` Error log?** → branch **(A)**. The control accepted the API-level event without performing the action. Report it as the *likely* cause, confirmed only by a re-run on Default hardware events - the target technology is not evidence either way.
|
|
60
60
|
2. **Was a covering element present** (overlay / modal / another window over the target)? → branch **(B)**.
|
|
61
61
|
3. **Did the selector resolve a duplicate / off-screen / inert element** (loose/positional `idx=`)? → branch **(C)**.
|
|
62
62
|
4. **Is a `ClippingRegion` / `CursorPosition` offset set** that lands off the element? → branch **(D)**.
|
|
@@ -66,7 +66,7 @@ In every branch, **also** add explicit outcome detection (branch **(F)**) — cl
|
|
|
66
66
|
|
|
67
67
|
### Branches
|
|
68
68
|
|
|
69
|
-
- **(A)
|
|
69
|
+
- **(A) Control did not act on the API-level event.** Set `SimulateClick=False` AND `SendWindowMessages=False` so the Click uses **Default (hardware events)**, which drives the physical cursor and works regardless of the UI framework (requires an interactive session with the target in the foreground). This is the same remedy the driver itself names when a node rejects the control API. Do NOT set both flags together — that is a separate config error. Re-run and confirm the effect lands; if it still misses, the cause is elsewhere (B)-(E).
|
|
70
70
|
- **(B) Covering element intercepted the event.** Add a deterministic dismiss/wait step before the Click (close the banner/modal; `Wait UI Element Appear`/`Element Exists` on the blocker's absence).
|
|
71
71
|
- **(C) Wrong element resolved.** Tighten the `Selector` to a stable, unique attribute; remove positional `idx=`.
|
|
72
72
|
- **(D) Offset lands off the element.** Clear or correct `ClippingRegion` / `CursorPosition` (`OffsetX`/`OffsetY`) so the click point falls inside the target.
|
|
@@ -63,12 +63,23 @@ What to look for:
|
|
|
63
63
|
not found, and timeout.
|
|
64
64
|
5. Confirm the robot account is authenticated and has the queue permission required by that operation
|
|
65
65
|
in the folder.
|
|
66
|
-
6.
|
|
66
|
+
6. **Enumerate queues in the other folders the identity can see**, not just the job's folder. This is
|
|
67
|
+
what closes the wrong-execution-folder branch: if the queue exists elsewhere, the process is running
|
|
68
|
+
in the wrong folder and that is the fix; if no folder holds it, the branch is excluded and only
|
|
69
|
+
wrong-name and missing-queue remain. Report the result either way — "the job's folder has no queues"
|
|
70
|
+
leaves the branch open, "no visible folder holds this queue" closes it.
|
|
71
|
+
7. When runtime evidence proves the queue name was unavailable but does not explain why that name was
|
|
67
72
|
used, check the working-directory source boundary from `SKILL.md` §5: inspect the named workflow and
|
|
68
73
|
`project.json` if present. If source is unavailable, leave wrong name, deleted/missing queue, and
|
|
69
74
|
wrong execution folder as explicit conditional branches; do not pick one from the activity display
|
|
70
75
|
name or a suggestive suffix.
|
|
71
76
|
|
|
77
|
+
**State the evidence boundary as two separate claims.** Keep what the runtime response proves apart from
|
|
78
|
+
what it cannot: the correlated 404 / error 1002 establishes that the name was unavailable **at run
|
|
79
|
+
time** — that part is settled, not a hypothesis. Whether the name is wrong, the queue was deleted, or
|
|
80
|
+
the process ran in the wrong folder is what remains open, and only source or folder inventory closes it.
|
|
81
|
+
Blurring the two into one hedge understates a conclusion you have actually established.
|
|
82
|
+
|
|
72
83
|
## Resolution
|
|
73
84
|
|
|
74
85
|
- **If the queue name is empty:** set `QueueName` (ensure the upstream variable/argument that feeds it
|
|
@@ -79,9 +90,14 @@ What to look for:
|
|
|
79
90
|
intended schema and settings.
|
|
80
91
|
- **If the intended queue exists in another folder:** run/deploy the process in that folder, or define
|
|
81
92
|
the intended queue in the current job folder.
|
|
82
|
-
- **If evidence cannot choose among
|
|
83
|
-
that discriminates them, then present
|
|
84
|
-
|
|
93
|
+
- **If evidence cannot choose among the wrong-name, missing/deleted, and wrong-folder branches:** lead
|
|
94
|
+
with the source/configuration check that discriminates them, then present each as a labelled
|
|
95
|
+
conditional fix — **either** create/recreate the queue under the exact name the activity references,
|
|
96
|
+
**or** correct the activity's `QueueName` to an existing queue and republish, **or** run the process
|
|
97
|
+
in the folder that holds the intended queue. Naming only one of them is an incomplete answer: without
|
|
98
|
+
the project source you cannot tell whether the name is wrong or the queue is gone, so the user needs
|
|
99
|
+
every branch that the evidence still allows. Do not create a queue merely because a not-found response
|
|
100
|
+
occurred.
|
|
85
101
|
- **If keys contain reserved characters:** rename the Add item's information keys to remove `.`, `#`,
|
|
86
102
|
`@`, `:`.
|
|
87
103
|
- **If a key is duplicated across the two collections:** remove the duplicate so each Add item key
|
package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md
CHANGED
|
@@ -13,7 +13,7 @@ see the **system-activities** package.
|
|
|
13
13
|
| UI Activity Timeout | Medium | A classic UI activity threw `ActivityTimeoutException` ("Activity timeout exceeded") — the element or state was never reached. Includes `Wait UI Element Appear` (element never appeared) and `Wait Image Vanish` (image still present after the timeout). | [ui-activity-timeout.md](./playbooks/ui-activity-timeout.md) |
|
|
14
14
|
| UI Element Interaction Failed | Medium | `ElementOperationException` from `Click` / `Type Into` / `Send Hotkey` / `Take Screenshot` — the element was located but the action could not be performed (disabled, occluded, off-screen, or focus lost between find and act). | [ui-element-interaction-failed.md](./playbooks/ui-element-interaction-failed.md) |
|
|
15
15
|
| Type Into — Wrong, Incomplete, or Appended Text | Medium | **No signature** (no exception, job `Successful`, zero Error logs). A classic `Type Into` found its field and posted keystrokes, but the **resulting value is wrong** — new text appended because the field was not cleared (`EmptyField` unset), characters dropped/garbled by the input method (`SimulateType`/`SendWindowMessages` on Java/SAP/Citrix), literal text interpreted as key commands (`[k(...)]`, `+^%(){}`), or a mask/autocomplete rewrite. The text landed, just wrong — distinct from a pure no-op (nothing landed → click-silent-no-op.md). Route here via the no-signature table. | [type-into-wrong-or-incomplete-text.md](./playbooks/type-into-wrong-or-incomplete-text.md) |
|
|
16
|
-
| Click Silent No-Op — Reported Success But Did Nothing | Medium | **No signature** (no exception, job `Successful`, zero Error logs). A classic input activity (`Click`, `Type Into`, `Send Hotkey`) posted its event and reported success, but the effect never landed. Causes:
|
|
16
|
+
| Click Silent No-Op — Reported Success But Did Nothing | Medium | **No signature** (no exception, job `Successful`, zero Error logs). A classic input activity (`Click`, `Type Into`, `Send Hotkey`) posted its event and reported success, but the effect never landed. Causes: control did not act on the API-level event under `SimulateClick`/`SendWindowMessages` (per-element, NOT a Java/SAP technology rule - Simulate is supported there), covering overlay, wrong/duplicate element, `ClippingRegion`/`CursorPosition` offset, lost focus. Classic Click has NO Verify Execution, so the miss is silent by design. Distinct from `ElementOperationException` (ui-element-interaction-failed.md, which throws). Route here via the no-signature table. | [click-silent-no-op.md](./playbooks/click-silent-no-op.md) |
|
|
17
17
|
| Browser Could Not Open or Attach | Medium | `BrowserOperationException` / invalid-browser error from `Open Browser`, `Close Tab`, or `Attach Browser` (Browser Scope) — browser not installed/launchable, extension missing/disabled, browser crashed, or wrong browser type for the communication method. | [browser-open-or-attach-failed.md](./playbooks/browser-open-or-attach-failed.md) |
|
|
18
18
|
| BrowserScope (Attach Browser) Errors | Medium | Classic `UiPath.Core.Activities.BrowserScope` (Attach Browser) failures, owning the **COM / environmental** family — `System.Runtime.InteropServices.COMException`, `HRESULT E_FAIL` (`0x80004005`), "Invalid access to memory location" — from display-scaling mismatch, privilege/integrity-level mismatch, or non-interactive/Session-0 runs (works on dev, fails on the prod robot). Also covers the BrowserScope-specific `TimeoutMS`-fallback-after-package-migration tell. Routes "cannot communicate" (extension/comms) → browser-open-or-attach-failed.md and selector/timeout signatures → ui-element-not-found.md / ui-activity-timeout.md. Recommends migrating to modern Use Application/Browser. | [browser-scope-errors.md](./playbooks/browser-scope-errors.md) |
|
|
19
19
|
| Application Could Not Launch | Medium | `Open Application` / `Open Browser` failed to start the target. File/executable path not found, bad arguments, or "Both FileName and Arguments arguments are null" validation. The app never produced a window for the scope to attach to. | [application-launch-failed.md](./playbooks/application-launch-failed.md) |
|
|
@@ -20,11 +20,23 @@ What to look for:
|
|
|
20
20
|
- The `FilePath` expression in the `.xaml`: is the variable quoted as a literal string? Is the path relative? Does the folder portion exist?
|
|
21
21
|
- Whether the failure is intermittent (points at a timing race) or every run (points at a wrong/quoted path).
|
|
22
22
|
|
|
23
|
+
**Discriminator — the file's presence afterward decides the branch.** If the file is sitting at the
|
|
24
|
+
*exact path from the error message* when someone checks later, the path was correct all along: a
|
|
25
|
+
quoted-literal or drifted relative path resolves somewhere the file never appears, so it could not
|
|
26
|
+
produce the file at that path. That single observation **excludes** the quoted-path and
|
|
27
|
+
working-directory branches and confirms timing. Combined with an intermittent failure pattern (fails
|
|
28
|
+
most runs, occasionally works) it is conclusive — lead with the race, do not report a path problem as
|
|
29
|
+
the primary cause and the race as a secondary possibility.
|
|
30
|
+
|
|
31
|
+
The converse also holds: if the file is genuinely not at that path afterward, timing is excluded and
|
|
32
|
+
the cause is the path expression itself.
|
|
33
|
+
|
|
23
34
|
## Investigation
|
|
24
35
|
|
|
25
36
|
1. Read the error and the resolved path from job evidence; confirm it is `Could not find file` / `Could not find a part of the path` at `Read CSV`.
|
|
26
37
|
2. Read the `Read CSV` `FilePath` expression from the `.xaml`: is it a bare variable, a quoted literal, a relative path? Does the directory portion exist on the host?
|
|
27
38
|
3. Check what runs immediately before the read — a download/export/sync — and whether failures are intermittent (race) vs every run (bad path).
|
|
39
|
+
4. Establish whether the file is present at the error's exact path after the fault, and apply the discriminator above. Ask the user if it is not already in evidence — it is the cheapest decisive fact available, and it settles the branch on its own.
|
|
28
40
|
|
|
29
41
|
## Resolution
|
|
30
42
|
|
|
@@ -43,7 +43,17 @@ Go in this order — cheaper checks first.
|
|
|
43
43
|
|
|
44
44
|
3. **Confirm branch 1 (COM cast / library not registered).** Confirm the desktop Outlook is installed on the **Robot host** (not only the developer machine) and note its **bitness** against the Robot process. A 64-bit process with a 32-bit-only Outlook (or a corrupted type library after an Office update) produces the cast / not-registered error. Check for a stray `OUTLOOK.EXE` left running with no window from a prior job.
|
|
45
45
|
|
|
46
|
-
4. **Confirm branch 2 (timeout / hang).** Determine whether the run is **unattended** (no interactive desktop).
|
|
46
|
+
4. **Confirm branch 2 (timeout / hang), then pick the sub-cause.** Determine whether the run is **unattended** (no interactive desktop). Read `TimeoutMS` and compare against a realistic profile-load + send time. A hang on an unattended Robot with no visible Outlook is the prototypical case.
|
|
47
|
+
|
|
48
|
+
Branch 2 has three sub-causes and they are **separable — do not report them as equally likely.** The job log discriminates them:
|
|
49
|
+
|
|
50
|
+
| Log / test evidence | Sub-cause | Why |
|
|
51
|
+
|---|---|---|
|
|
52
|
+
| Item reaches the **Outbox** and stays there; connectivity reports Disconnected; **no dialog or prompt raised** | **Work Offline** | The message was accepted and queued — the Object Model Guard never lets it get that far. Offline means there is nothing to transmit against, so the call blocks to `TimeoutMS`. |
|
|
53
|
+
| A modal is **awaiting input**; the item was never queued; an attended re-run on the host **shows the popup** | **Object Model Guard / security prompt** | The Guard blocks at compose/send time, before the item is created. |
|
|
54
|
+
| Item sends, but only after a long first profile load; duration near but under a raised `TimeoutMS` | **Slow profile load** | Genuinely slow, not blocked. |
|
|
55
|
+
|
|
56
|
+
An attended re-run on the same host is the decisive test: **a popup appearing** confirms the Guard; **no popup plus mail left sitting in the Outbox** confirms Work Offline and eliminates the Guard. Eliminate the sub-causes the evidence excludes rather than listing them as parallel checks — registering antivirus or setting the programmatic-access GPO does nothing for an offline mailbox.
|
|
47
57
|
|
|
48
58
|
5. **Confirm branch 3 (uninitialized input).** In the workflow source, trace the variables bound to `To`, `Subject`, `Body`, and each attachment path back to their producers. A variable left `Nothing` (upstream step skipped, or declared in an inner scope) or an empty attachment path confirms the branch. Reproduce by hardcoding literal values into the activity fields — if the error disappears, an input was null.
|
|
49
59
|
|
|
@@ -63,6 +73,7 @@ Map the branch identified in Investigation to the fix:
|
|
|
63
73
|
- Make sure Outlook is **running, signed in, and Online** (turn off `Send/Receive > Work Offline`) under the Robot's Windows user before the activity runs.
|
|
64
74
|
- Resolve the **security prompt** at its source rather than waiting on it: keep antivirus up to date and registered with Windows Security Center (this is what normally suppresses the Object Model Guard prompt), or set the Outlook programmatic-access / Trust Center policy via Group Policy for the Robot's user. Do **not** rely on a human dismissing the prompt on an unattended Robot.
|
|
65
75
|
- If the send is **legitimately** slow (first profile load), raise `TimeoutMS` above the worst observed duration (it is in **milliseconds**: `60000` = 60 s). Raising the timeout does **not** fix a blocking security prompt or Work Offline state — only branch-2 *slowness*.
|
|
76
|
+
- **When the run is unattended, pair the immediate fix with the durable one.** Clearing Work Offline or the prompt fixes this run, but the desktop-Outlook dependency will keep producing branch-1 and branch-2 faults on a host with no interactive session — online/offline state, profile health and modal prompts are all things an unattended Robot cannot manage. Recommend migrating the activity to **Send SMTP Mail Message** or the Graph **o365-activities** (see the alternative below) as part of the same answer, not as a footnote.
|
|
66
77
|
|
|
67
78
|
- **Branch 3 — Uninitialized input:**
|
|
68
79
|
- Initialize every variable bound to `To`, `Subject`, and `Body` before the activity, and guard against null/empty (a null `To` is the most common). Validate it by hardcoding literal values into the fields first.
|
|
@@ -6,7 +6,7 @@ confidence: medium
|
|
|
6
6
|
|
|
7
7
|
## Context
|
|
8
8
|
|
|
9
|
-
A `Get Asset` or `Get
|
|
9
|
+
A `Get Asset`, `Get Orchestrator Asset`, or `Get Credential` (`GetRobotCredential`) activity completes without throwing an exception, but the output variable is null, zero, or empty. The defect is in the shared output-binding path of the `UiPath.System.Activities` asset family, so it covers `Get Credential` exactly as it covers `Get Asset`: its `Username` / `Password` outputs stay null. Do NOT exclude this cause because the failing activity is `Get Credential` rather than `Get Asset`.
|
|
10
10
|
|
|
11
11
|
What this looks like:
|
|
12
12
|
- Activity completes successfully (no exception in job traces)
|
|
@@ -28,6 +28,7 @@ What to look for:
|
|
|
28
28
|
1. Check whether the activity was copy-pasted from another sequence — copy-paste retains internal state from the original.
|
|
29
29
|
2. Check the Studio and `UiPath.System.Activities` package version — version 22.10.x has a bug where variables created with `Ctrl+K` do not receive output values.
|
|
30
30
|
3. Verify the output variable was created before the activity (not via `Ctrl+K` during activity configuration in the affected version).
|
|
31
|
+
4. Neither authoring gesture is recorded in the workflow source. A `Ctrl+K` variable and a Variables-panel variable both serialize as a plain `<Variable>` in the enclosing scope's `Variables` collection, and a copy-pasted activity is indistinguishable from a freshly dragged one. Confirm the creation path with the developer. If that is unavailable, treat the package version as the deciding signal. Do NOT exclude this cause because the XAML shows the variables pre-declared.
|
|
31
32
|
|
|
32
33
|
## Resolution
|
|
33
34
|
|
|
@@ -44,7 +44,9 @@ What can cause it:
|
|
|
44
44
|
2. **Map the message to the failing step:** `Error initiating connection` → open failed (reachability/provider); `Error waiting for connection` → ready-timeout; `Terminal host process path not found` / `Error initializing EHLLL library` / `Error attaching to session` → provider runtime missing/misconfigured on the robot; `The specified existing connection is disconnected` → stale reused connection; `No connection specified` → no input.
|
|
45
45
|
3. **Capture the connection config** from the connection string or workflow source: provider type, terminal type, host, port, and the configured `TimeoutMS`.
|
|
46
46
|
4. **Check host reachability from the robot machine** (not the developer machine) — host/port open, and the emulator/provider runtime installed there.
|
|
47
|
-
5. **For reused connections,** confirm the upstream `TerminalSession` that produced the `ExistingConnection` kept it alive (output connection / `CloseConnection` unchecked) and that it didn't already close.
|
|
47
|
+
5. **For reused connections only,** confirm the upstream `TerminalSession` that produced the `ExistingConnection` kept it alive (output connection / `CloseConnection` unchecked) and that it didn't already close.
|
|
48
|
+
|
|
49
|
+
The `ExistingConnection` branches apply **only** when the message is `The specified existing connection is disconnected` or `No connection specified`. A session that opens a new connection from a `ConnectionString` cannot fail this way — do not raise `ExistingConnection` as a candidate for it, and do not offer it as a "check this too" step. Likewise, once the message maps to a single failing step in step 2, name that cause; listing the full cause table back to the user as undifferentiated possibilities is not a diagnosis.
|
|
48
50
|
|
|
49
51
|
## Resolution
|
|
50
52
|
|
|
@@ -55,4 +57,6 @@ What can cause it:
|
|
|
55
57
|
- **If `No connection specified`:** provide a non-empty `ConnectionString` or a valid `ExistingConnection`.
|
|
56
58
|
- **If `Service unavailable`:** restore/restart the terminal service the provider depends on, then re-run.
|
|
57
59
|
|
|
60
|
+
When the fault arrived wrapped in `System.AggregateException`, say so explicitly in the answer: the aggregate is only the async wrapper around the connect task, and the inner `TerminalConnectionException` (with its `ResultCode` / `ConnectionStatus` trailer) is the root cause. An answer that stops at "one or more errors occurred" has not diagnosed anything.
|
|
61
|
+
|
|
58
62
|
If the host is demonstrably reachable, the provider runtime is installed, and the connection string is correct yet the open still fails, the cause is outside the activity — escalate to the terminal host / emulator administrator.
|
|
@@ -26,7 +26,7 @@ What this looks like:
|
|
|
26
26
|
|
|
27
27
|
What can cause it:
|
|
28
28
|
|
|
29
|
-
- **Input method not
|
|
29
|
+
- **Input method did not actuate the control.** `InteractionMode = Simulate` acts through the element's control/accessibility API and IS supported for browsers, Java and SAP - it is the product's *recommended* mode for those technologies, and `Background` resolves to it - but only when the specific control implements the action. A control that accepts the API call without acting produces a silent miss. This is **per-element, not per-technology**: do NOT conclude it from `app='java.exe'` (or SAP) alone. A node that cannot take the control API at all fails loudly with `Cannot use UI_CONTROL_API on this UI node. Please use UI_HARDWARE_EVENTS method.` - that is an Error log, so it is not this family. Two Simulate limits independent of technology: only a **single left click with no key modifiers** is honored, and a click **offset** is honored only on Java targets (silently ignored elsewhere under Simulate, which is its own miss cause).
|
|
30
30
|
- **Click intercepted by a covering element** — a transparent overlay, cookie/consent banner, modal, or tooltip sat on top of the target at action time; the event hit the overlay, not the control.
|
|
31
31
|
- **Wrong target resolved** — the selector matched a duplicate / off-screen / ARIA-hidden / shadow-DOM element that looks right but is inert.
|
|
32
32
|
- **Focus / activation lost** between activities — a prior step left focus on another window/tab, so the posted input went nowhere.
|
|
@@ -35,7 +35,7 @@ What can cause it:
|
|
|
35
35
|
|
|
36
36
|
What to look for:
|
|
37
37
|
|
|
38
|
-
- The activity's `InteractionMode` and the enclosing scope's **target technology** — these live only in the workflow source. Source-required.
|
|
38
|
+
- The activity's `InteractionMode`, the click shape (`ClickType`, `MouseButton`, `KeyModifiers`, `PointOffset`), and the enclosing scope's **target technology** — these live only in the workflow source. Source-required. Technology alone does not confirm or eliminate the input-method branch.
|
|
39
39
|
- Whether Verify Execution is configured with a **real verification target** (not just a `Mode`).
|
|
40
40
|
- Runtime proof of no-effect in the Info-level logs or business output — needed to separate "silently did nothing" from "did the right thing and the user is mistaken".
|
|
41
41
|
|
|
@@ -50,7 +50,7 @@ Source-required — resolve the project per SKILL.md §5.4 before concluding.
|
|
|
50
50
|
- `InteractionMode` (`Simulate` / `SendWindowMessages` / `HardwareEvents` / `ChromiumAPI` / `Background`).
|
|
51
51
|
- `VerifyOptions` — is a verification `Target` set, or is it inert (`Mode` only, empty `Retry`/`Timeout`)?
|
|
52
52
|
5. Open the enclosing scope (`NApplicationCard` / Use Application/Browser) and read its `TargetApp` **technology**: `app='java.exe'` / a `javastate` selector = Java; `app='saplogon.exe'` / `sapwnd` = SAP; a Chromium `app='chrome.exe'`/`'msedge.exe'` with an HTML selector = browser.
|
|
53
|
-
6.
|
|
53
|
+
6. Do NOT ask docs whether the input method is supported for the target technology - `Simulate` is documented as supported and recommended for browsers, Java and SAP, so a technology-level answer neither confirms nor eliminates branch **(A)**. What decides it is element-level: runtime proof of no-effect (step 3) plus a re-run on `HardwareEvents`.
|
|
54
54
|
7. If HA was enabled, confirm the empty recovery archive — it is the expected "no fault, no trigger" state, not a separate defect to fix.
|
|
55
55
|
|
|
56
56
|
## Resolution
|
|
@@ -59,7 +59,7 @@ Source-required — resolve the project per SKILL.md §5.4 before concluding.
|
|
|
59
59
|
|
|
60
60
|
Walk from the top; stop at the first branch that matches.
|
|
61
61
|
|
|
62
|
-
1. **Is `InteractionMode = Simulate`
|
|
62
|
+
1. **Is `InteractionMode = Simulate` / `SendWindowMessages` / `Background`, with runtime proof the control never acted and no `UI_CONTROL_API` Error log?** → branch **(A)**. The control accepted the API-level event without performing the action. Report it as the *likely* cause, confirmed only by a re-run on `HardwareEvents` - the target technology is not evidence either way.
|
|
63
63
|
2. **Was a covering element present** (overlay / banner / modal detected in HA data or visible in the informative screenshot)? → branch **(B)**.
|
|
64
64
|
3. **Did the selector resolve a duplicate / off-screen / hidden element** (multiple matches, `idx=`-positional, shadow/iframe)? → branch **(C)**.
|
|
65
65
|
4. **Was focus/activation on the wrong window** at action time (prior activity left another app foreground; `ActivateBefore` not set)? → branch **(D)**.
|
|
@@ -69,7 +69,7 @@ In every branch, **also** close the detection gap (branch **(F)**) so a future m
|
|
|
69
69
|
|
|
70
70
|
### Branches
|
|
71
71
|
|
|
72
|
-
- **(A)
|
|
72
|
+
- **(A) Control did not act on the API-level event.** Set the acting activity's `InteractionMode` to **`HardwareEvents`** (drives the physical cursor/keyboard — works regardless of framework; requires an interactive session and the foreground). This is the same remedy the driver itself names when a node rejects the control API. `ChromiumAPI` is browser-only. Re-run and confirm the effect lands; if it still misses, the cause is elsewhere (B)-(E). Note `HardwareEvents` gives up Simulate's background/out-of-focus execution, so state that trade-off when proposing it.
|
|
73
73
|
- **(B) Covering element intercepted the event.** Add a deterministic dismiss/wait step before the action (close the banner, dismiss the modal, Check App State for the overlay to disappear). Inspect HA data / the informative screenshot for the intercepting element. See [interpretations/healing-agent-data.md](../interpretations/healing-agent-data.md).
|
|
74
74
|
- **(C) Wrong element resolved.** Tighten the activity's `Target` selector to a stable, unique attribute; remove positional `idx=`; for shadow-DOM/iframe, scope to the correct frame. Do not loosen — the current selector matched something inert.
|
|
75
75
|
- **(D) Focus/activation lost.** Set `ActivateBefore = True` on the activity, or add a Use Application / Activate step before it so the target window is foreground when the input is posted.
|
|
@@ -15,7 +15,15 @@ Two signatures, two root causes, two fixes. Discriminate first.
|
|
|
15
15
|
- Message: `Method not found: 'Void UiPath.UIAutomationNext.Activities…'` (or `System.MissingMethodException` naming a UIAutomationNext type/member).
|
|
16
16
|
- The assembly **loaded**, but a member the caller was compiled against is absent.
|
|
17
17
|
- Surfaces at project **open / validation** in Studio, or at first activity execution.
|
|
18
|
-
|
|
18
|
+
Two different skews produce this same exception. **Split them on whether the failure is environment-dependent** — this decides the fix, and the two fixes are not interchangeable.
|
|
19
|
+
|
|
20
|
+
**A1 — same package, different version per environment** (check this first when a robot is involved). The project pins one `UiPath.UIAutomation.Activities` version, but the machine that *runs* the workflow restored a different build of that same package. The assembly loads (so there is no `FileLoadException`), yet the member the compiled `.xaml` was built against is absent from the restored build.
|
|
21
|
+
|
|
22
|
+
- Tell: **works in Studio / Debug on the authoring machine, faults on the robot or Assistant.** Same project, same `.xaml`, different outcome per environment.
|
|
23
|
+
- The pinned version in `project.json` alone does not confirm agreement — it states what the project asks for, not what each environment actually restored.
|
|
24
|
+
- This is *not* a disagreement between two different packages. Do not attribute it to `UiPath.System.Activities` (or any sibling) merely because its version also differs; that difference is incidental unless the missing member belongs to that package's assembly.
|
|
25
|
+
|
|
26
|
+
**A2 — version mismatch inside the project's own dependency set.** The package set in `project.json` pins versions whose bundled `UiPath.UIAutomationNext` / `UiPath.UIAutomationNext.Activities` disagree. Fails everywhere, including Studio. Most common triggers:
|
|
19
27
|
- `UiPath.UIAutomation.Activities` bumped in isolation while `UiPath.System.Activities` (or a dependent package) stayed on an older, incompatible line — or vice versa.
|
|
20
28
|
- A sibling package (`UiPath.Testing.Activities`, `UiPath.MicrosoftOffice365.Activities`, a shared **library**) compiled against a different UIAutomationNext version than the one the project resolves; the older `.dll` wins at load and the newer caller's method is missing.
|
|
21
29
|
|
|
@@ -29,8 +37,9 @@ Two signatures, two root causes, two fixes. Discriminate first.
|
|
|
29
37
|
## Investigation
|
|
30
38
|
|
|
31
39
|
1. Capture the **exception type** and full message. `MissingMethodException` / "Method not found" → Signature A. `FileNotFoundException` / `FileLoadException` / "Could not load file or assembly" → Signature B. This single fact selects the branch — do not proceed without it.
|
|
40
|
+
1b. For Signature A, split A1 from A2 on **environment dependence**: does the same project run in Studio/Debug and fail only on the robot or Assistant? Yes → **A1** (same package, different restored build per environment). Fails everywhere including Studio → **A2** (the project's own package set disagrees). Note which package owns the member named in the message — that is the package to realign, and a version difference in an unrelated sibling is not the cause.
|
|
32
41
|
2. Read `project.json` `dependencies` and `studioVersion`. Record every package that carries UI Automation: `UiPath.UIAutomation.Activities`, and any of `UiPath.Testing.Activities`, `UiPath.MicrosoftOffice365.Activities`, plus referenced libraries. Note whether one was bumped out of step with `UiPath.System.Activities`.
|
|
33
|
-
3. Note **where** it fails: design-time (open/validate) vs runtime, and **which environment** (Studio vs Assistant/robot). Studio-only-passes + robot-fails is
|
|
42
|
+
3. Note **where** it fails: design-time (open/validate) vs runtime, and **which environment** (Studio vs Assistant/robot). Studio-only-passes + robot-fails means the two environments resolved different packages — but the exception type decides which branch that is: a load failure → Signature B, `MissingMethodException` → Signature A1. The environment tell alone does not select B.
|
|
34
43
|
4. For Signature B: identify the pinned `UiPath.UIAutomation*` version and confirm whether that exact version exists on the Orchestrator/tenant feed and in the robot's `%userprofile%\.nuget\packages`.
|
|
35
44
|
5. Confirm the assembly named is `UiPath.UIAutomationNext.Activities` (or its transitive `UiPath.UIAutomationNext` / `UiPath.UIAutomationCore`). A different assembly name → a different package's conflict; apply the same reasoning to that package.
|
|
36
45
|
|
|
@@ -38,16 +47,28 @@ Two signatures, two root causes, two fixes. Discriminate first.
|
|
|
38
47
|
|
|
39
48
|
Walk from the signature you confirmed in Investigation step 1.
|
|
40
49
|
|
|
41
|
-
### Signature
|
|
50
|
+
### Signature A1 — pin one exact version across every environment
|
|
51
|
+
|
|
52
|
+
Use this when the failure is environment-dependent (runs in Studio/Debug, faults on the robot).
|
|
53
|
+
|
|
54
|
+
1. Open **Manage Packages** → Project Dependencies and read the installed `UiPath.UIAutomation.Activities` version.
|
|
55
|
+
2. Choose **one stable version and make it identical everywhere** the project runs — authoring Studio, the robot, and any other execution machine. Upgrade or downgrade so they match.
|
|
56
|
+
3. **Pin that exact version in `project.json` — not a floating range.** A range is what let the two environments resolve different builds; re-pinning is the fix, not a precaution.
|
|
57
|
+
4. Restore/rebuild and **republish** so the robot picks up the aligned dependency.
|
|
58
|
+
5. Re-run on the robot. `Method not found` clears once the restored assembly exposes the signature the `.xaml` was built against.
|
|
59
|
+
|
|
60
|
+
Keep the recommendation scoped to the package that owns the missing member. Bumping the whole foundational set here is broader than the defect and changes packages that were never implicated.
|
|
61
|
+
|
|
62
|
+
### Signature A2 — align the project's dependency set (Manage Packages)
|
|
42
63
|
|
|
43
|
-
The fix lives in `project.json` / **Manage Packages**, not on the robot.
|
|
64
|
+
Use this when the failure reproduces everywhere, Studio included. The fix lives in `project.json` / **Manage Packages**, not on the robot.
|
|
44
65
|
|
|
45
66
|
1. Open **Manage Packages** in Studio.
|
|
46
67
|
2. Update **all foundational packages together** to a mutually compatible, latest-stable line: `UiPath.System.Activities`, `UiPath.UIAutomation.Activities`, and every package that brings `UiPath.UIAutomationNext` (Testing, Office365, referenced libraries). Do **not** bump one in isolation — that is what produced the mismatch.
|
|
47
68
|
3. If a referenced **library** pins the conflicting UIAutomationNext version, rebuild/republish that library against the aligned version first, then update the consuming project to it.
|
|
48
69
|
4. Reopen / revalidate the workflow. `MissingMethodException` clears once the loaded UIAutomationNext assembly exposes the member the caller expects.
|
|
49
70
|
|
|
50
|
-
> Do NOT clean the NuGet cache
|
|
71
|
+
> Do NOT clean the NuGet cache to fix Signature A — the assembly loaded fine; the versions disagree, and cache work does not change which versions `project.json` resolves. Republishing is likewise pointless for A2 (nothing about the robot's environment is wrong) but **is** required for A1, so the robot restores the newly pinned version.
|
|
51
72
|
|
|
52
73
|
### Signature B — make the runtime resolve the pinned version (cache + feed + republish)
|
|
53
74
|
|
|
@@ -58,7 +79,7 @@ The fix is on the robot's package resolution, not in the activity properties.
|
|
|
58
79
|
3. **Republish with deterministic resolution:** set dependency resolution to **Lowest Applicable Version** (or **Strict**) and republish, so the resolved version is one the feed can serve rather than a floating range the robot cannot satisfy.
|
|
59
80
|
4. Re-run on the robot. `Could not load file or assembly` clears once the pinned version is restorable in the robot's environment.
|
|
60
81
|
|
|
61
|
-
> "Works in Studio, fails in Assistant" is Signature B
|
|
82
|
+
> "Works in Studio, fails in Assistant" with a **load failure** is Signature B — Studio restored the version locally; the robot could not. Fix the robot-side resolution, not the workflow. The same environment tell with a `MissingMethodException` is Signature A1 instead: there the assembly loaded, so the fix is version alignment across environments, not cache/feed repair.
|
|
62
83
|
|
|
63
84
|
## Not this playbook
|
|
64
85
|
|
|
@@ -59,6 +59,12 @@ What to look for:
|
|
|
59
59
|
4. Confirm the `.xaml` itself is structurally intact (the `NApplicationCard` node is present and
|
|
60
60
|
well-formed) — a rendering failure with valid source points at cache/version skew, not corrupt XAML.
|
|
61
61
|
|
|
62
|
+
The three causes are **cumulative, not alternatives**. Finding one does not rule out the others, and a
|
|
63
|
+
stale `obj/project.assets.json` is the easiest to spot — do not stop there. Run steps 2 and 3 in full
|
|
64
|
+
every time and report every cause the evidence supports. In particular, always compare the package pin
|
|
65
|
+
against `studioVersion` even after a stale project cache is already confirmed: a project-cache clear
|
|
66
|
+
alone leaves a version skew in place and the view fails to regenerate on reopen.
|
|
67
|
+
|
|
62
68
|
## Resolution
|
|
63
69
|
|
|
64
70
|
- **Version skew (most common):** align the automation activity package with the Studio version and
|
|
@@ -74,5 +80,9 @@ What to look for:
|
|
|
74
80
|
- After clearing caches / aligning versions, reopen the workflow — the `NApplicationCard` view
|
|
75
81
|
regenerates once Studio loads a consistent activity assembly.
|
|
76
82
|
|
|
83
|
+
When the evidence shows both a version skew and a drifted cache, deliver both fixes together: align the
|
|
84
|
+
package/Studio versions **and** clear `%LOCALAPPDATA%\UiPath\.cache` plus the project's
|
|
85
|
+
`.local`/`bin`/`obj`. Either one on its own leaves the card unrenderable.
|
|
86
|
+
|
|
77
87
|
Do not attempt to fix this by editing the `.xaml` by hand — the source is intact; the fault is in the
|
|
78
88
|
Studio-side view factory / cache, and hand-edits risk corrupting a valid file.
|
|
@@ -13,7 +13,7 @@ What this looks like:
|
|
|
13
13
|
- The runtime "closest matches" in the exception belong to a completely different page, locale, or site than the inner selector expects.
|
|
14
14
|
- The scope container has a permissive attach configuration that allows reuse of an unintended existing window/tab.
|
|
15
15
|
|
|
16
|
-
**Silent variant (no exception).** For the general silent-no-op family (
|
|
16
|
+
**Silent variant (no exception).** For the general silent-no-op family (a control that does not act on the API-level `Simulate`/`SendWindowMessages` event, overlay intercept, wrong/duplicate element, lost focus, DOM race), the dedicated home is [click-silent-no-op.md](./click-silent-no-op.md); use THIS playbook when the specific miss cause is a wrong-page scope attach. The wrong-page attach can also produce **no fault at all**: the inner activity runs against the wrong page, its target never matches, yet the job ends `Successful` and the action never happened. This is the "the job succeeded but the button was never clicked" report. It occurs when the miss cannot surface as an exception — e.g. `Simulate` input plus an **absent or target-less Verify Execution** (a `VerifyOptions` with a Mode set but no verification target is inert — "nothing to check" — so the no-op passes silently). There is no exception and no "closest matches" to read; diagnose from source — the scope shape plus the inner activity's Verify Execution config — not from logs. On a silent run the **inert Verify is the confirmed cause of the silent success** (and, when HA was enabled, of why HA never engaged); the **wrong-page attach is only the *likely, unproven* miss cause** — with no exception/closest-matches there is no runtime evidence of which page attached, so do NOT report the scope as a confirmed root cause.
|
|
17
17
|
|
|
18
18
|
What can cause it:
|
|
19
19
|
- `AttachMode=ByInstance` + default `OpenMode=IfNotOpen`: the container reuses any existing window of the configured app instead of opening the intended URL.
|