@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
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Common pitfalls that cause validation errors or runtime failures.
|
|
4
4
|
|
|
5
|
+
Moved topical catalogs — one pointer each, content lives with its domain:
|
|
6
|
+
|
|
7
|
+
- IS `ConnectorActivity` gotchas: [../is-connector-xaml-guide.md](../is-connector-xaml-guide.md)
|
|
8
|
+
- Flowchart/StateMachine/ProcessDiagram node wiring (`x:Reference` / `__ReferenceID`): [canvas-layout-guide.md](canvas-layout-guide.md)
|
|
9
|
+
- CLI usage pitfalls: [../cli-reference.md](../cli-reference.md)
|
|
10
|
+
|
|
5
11
|
## Container/Scope Requirements
|
|
6
12
|
|
|
7
13
|
These activities **must** be placed inside a specific parent scope:
|
|
@@ -137,6 +143,10 @@ Alternatives:
|
|
|
137
143
|
- Build the bracket characters with `ChrW(91)` / `ChrW(93)` so the string carries no literal `[` / `]`: `Text="["13700132" & ChrW(91) & "k(enter)" & ChrW(93)]"`.
|
|
138
144
|
- Split the input: one `NTypeInto` for the digits, one `NKeyboardShortcuts` (or a second `NTypeInto`) for `[k(enter)]`.
|
|
139
145
|
|
|
146
|
+
## UIA `N*` Activities Carry a `Version` — Never Strip It
|
|
147
|
+
|
|
148
|
+
Every UIA `N*` activity carries a `Version` attribute in its `uip rpa activities get-default-xaml` starter (e.g. `NGetText Version="V5"`, `NApplicationCard Version="V2"`). Dropping it survives BOTH `validate` and `build` and fails only at runtime with `System.InvalidOperationException ... ThrowIfNotInTree` on the activity's argument bindings. Carry over **every** attribute the starter emits. See [csharp-activity-binding-guide.md § `ThrowIfNotInTree` at runtime](csharp-activity-binding-guide.md#throwifnotintree-at-runtime--two-causes).
|
|
149
|
+
|
|
140
150
|
## ActivityAction/ActivityFunc Initialization
|
|
141
151
|
|
|
142
152
|
Scope activities (like `ExcelApplicationCard`, `Use Application/Browser`) use `ActivityAction` to wrap their child content. The XAML pattern is:
|
|
@@ -266,7 +276,7 @@ Studio silently clears any Dictionary-wrapped argument entries on load — the a
|
|
|
266
276
|
2. Use the correct argument direction: `InArgument` for `in_*`, `OutArgument` for `out_*`, `InOutArgument` for `io_*`
|
|
267
277
|
3. The `x:TypeArguments` must match the callee's argument type
|
|
268
278
|
4. For literal string values, place the text directly in the element content (e.g., `<InArgument ...>someValue</InArgument>`)
|
|
269
|
-
5. For variable bindings, follow the expression language rules in [xaml-basics-and-rules.md](xaml-basics-and-rules.md#expression-language): VB uses `[bracket]` shorthand, C# uses `<CSharpValue>`/`<CSharpReference>` elements
|
|
279
|
+
5. For variable bindings, follow the expression language rules in [xaml-basics-and-rules.md](xaml-basics-and-rules.md#respect-expression-language): VB uses `[bracket]` shorthand, C# uses `<CSharpValue>`/`<CSharpReference>` elements
|
|
270
280
|
|
|
271
281
|
### OutArgument Bindings Must Be Variable References
|
|
272
282
|
|
|
@@ -340,6 +350,25 @@ Or attribute form with explicit literal:
|
|
|
340
350
|
|
|
341
351
|
Or omit `Default` entirely if the variable is assigned before its first read.
|
|
342
352
|
|
|
353
|
+
## InvokeCode Code Property — Attribute Form Only
|
|
354
|
+
|
|
355
|
+
Author `Code` as an XML **attribute** (XML-escaped; `
` for newlines). A bare text or CDATA child element (`<ui:InvokeCode.Code>…</ui:InvokeCode.Code>`) passes `validate` AND `build` but deserializes as empty code — the activity runs as a silent no-op (`hasErrors: false`, none of the code's effects happen).
|
|
356
|
+
|
|
357
|
+
**Correct:**
|
|
358
|
+
```xml
|
|
359
|
+
<ui:InvokeCode Language="CSharp" DisplayName="Process rows"
|
|
360
|
+
Code="var total = 0m;
ProcessRows(total);" />
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Silent no-op (passes validate + build):**
|
|
364
|
+
```xml
|
|
365
|
+
<ui:InvokeCode Language="CSharp" DisplayName="Process rows">
|
|
366
|
+
<ui:InvokeCode.Code><![CDATA[var total = 0m; ProcessRows(total);]]></ui:InvokeCode.Code>
|
|
367
|
+
</ui:InvokeCode>
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
**Detection:** run reports success but the code's outputs are absent (0 rows processed, no files written). No validate/build diagnostic catches it — verify effects after the first run.
|
|
371
|
+
|
|
343
372
|
## InvokeCode Language Property
|
|
344
373
|
|
|
345
374
|
The `Language` property on `InvokeCode` uses the `UiPath.Core.Activities.NetLanguage` enum, which has **only two valid values**: `VBNet` and `CSharp`.
|
|
@@ -354,6 +383,28 @@ System.FormatException: VisualBasic is not a valid value for NetLanguage.
|
|
|
354
383
|
|
|
355
384
|
**Prevention:** Omit the `Language` attribute entirely — InvokeCode infers it from the project's expression language. If you must set it explicitly, use `"VBNet"` or `"CSharp"`.
|
|
356
385
|
|
|
386
|
+
## C# XAML Expressions Compile as Expression Trees
|
|
387
|
+
|
|
388
|
+
Each C# expression in a XAML workflow compiles as a lambda expression tree, which forbids constructs a normal method body allows:
|
|
389
|
+
|
|
390
|
+
- **No optional-argument overloads** — `line.Split(',', StringSplitOptions.None)` fails with `CS0854: An expression tree may not contain a call ... that uses optional arguments`. Pass every argument explicitly: `line.Split(new char[]{ ',' })`.
|
|
391
|
+
- **No `out` variables** — `int.TryParse(s, out var n)` cannot appear in an expression. Validate with a format guard short-circuited before `int.Parse(s, CultureInfo.InvariantCulture)`, or move the logic into `Invoke Code`.
|
|
392
|
+
- **No statements** — no assignments, loops, or multi-statement blocks inside one expression.
|
|
393
|
+
|
|
394
|
+
When a transform hits these limits, use `Invoke Code` — see [data-manipulation-guide.md](../data-manipulation-guide.md) for the escalation path.
|
|
395
|
+
|
|
396
|
+
## XAML Expressions Cannot Reference Coded Source File Types
|
|
397
|
+
|
|
398
|
+
XAML expressions (C# or VB) cannot call types defined in the project's coded source files (`.cs`) — the expression compiler does not reference the coded-workflows assembly. `validate` and `build` fail with `CS0103` / `BC30451` on the type name.
|
|
399
|
+
|
|
400
|
+
**Fix:** inline the logic in `InvokeCode`, or invoke a coded workflow via `InvokeWorkflowFile`. Helpers shared across projects belong in a library ([../library-authoring-guide.md](../library-authoring-guide.md)).
|
|
401
|
+
|
|
402
|
+
## WriteTextFile Emits a UTF-8 BOM When Encoding Is Set
|
|
403
|
+
|
|
404
|
+
`WriteTextFile` with `Encoding="utf-8"` maps to .NET `Encoding.UTF8` **with preamble** — output starts with a BOM, which strict JSON parsers reject. Omitting the `Encoding` property writes BOM-less UTF-8.
|
|
405
|
+
|
|
406
|
+
**Rule:** for machine-consumed output (JSON, or CSV for downstream parsers), omit `Encoding`. If explicit encoding control is required, write via `InvokeCode`: `File.WriteAllText(path, content, new UTF8Encoding(false))`.
|
|
407
|
+
|
|
357
408
|
## `Chr()` / `Asc()` Break at Runtime in Modern Projects — Use `ChrW()` / `AscW()`
|
|
358
409
|
|
|
359
410
|
`Chr(n)` / `Asc(c)` go through ANSI code page 1252, which .NET 6+ does not register. For `n ≥ 128` they throw `System.NotSupportedException: No data is available for encoding 1252` at runtime — after passing both `validate` and `build`. Use `ChrW(n)` / `AscW(c)` (Unicode, no code page) instead, or the BCL `Convert.ToChar(n)` / `CInt(c)`.
|
|
@@ -387,72 +438,7 @@ The HTTP Request activity (`NetHttpRequest`) has extensive configuration:
|
|
|
387
438
|
- Missing `ConnectionId` when `UseConnectionService=True` → validation error about missing account/connection name
|
|
388
439
|
- Child activities expect their parent scope to have initialized OAuth extensions (`IGraphServiceClient`, `OAuthDataOptions`, etc.) — using them without a parent scope causes `NullReferenceException` at runtime
|
|
389
440
|
|
|
390
|
-
|
|
391
|
-
- **Discover connections**: `uip is connections list [connector-key] --output json` — find existing connection GUIDs
|
|
392
|
-
- **Verify connection health**: `uip is connections ping <connection-id>` — check if a connection is still active
|
|
393
|
-
- **Create new connection**: `uip is connections create <connector-key>` — opens OAuth flow for user to authenticate
|
|
394
|
-
- **Re-authenticate**: `uip is connections edit <connection-id>` — re-runs OAuth flow for expired/revoked connections
|
|
395
|
-
- If no connection exists and you cannot create one interactively, use a placeholder GUID (`00000000-0000-0000-0000-000000000000`) and inform the user they must configure the connection in Studio
|
|
396
|
-
|
|
397
|
-
## IS `ConnectorActivity` Gotchas
|
|
398
|
-
|
|
399
|
-
Full authoring flow: [../is-connector-xaml-guide.md](../is-connector-xaml-guide.md).
|
|
400
|
-
|
|
401
|
-
### JIT `OutArgument` from Studio Designer Breaks Fresh Loads
|
|
402
|
-
|
|
403
|
-
When Studio's designer touches an IS `ConnectorActivity`, it can inject a JIT-typed `OutArgument` on the `Jit_<operation>` `FieldObject`:
|
|
404
|
-
|
|
405
|
-
```xml
|
|
406
|
-
<isactr:FieldObject Name="Jit_send_message_to_channel_v2" Type="FieldArgument">
|
|
407
|
-
<isactr:FieldObject.Value>
|
|
408
|
-
<OutArgument x:TypeArguments="uiascb:send_message_to_channel_v2_Create" />
|
|
409
|
-
</isactr:FieldObject.Value>
|
|
410
|
-
</isactr:FieldObject>
|
|
411
|
-
```
|
|
412
|
-
|
|
413
|
-
The `uiascb:` namespace points at a Studio-session-local dynamically-compiled assembly (e.g. `C35283077FA_send_mes.<hash>`). On any **fresh load** (new Studio session, Helm, CI), that assembly doesn't exist, compile fails with:
|
|
414
|
-
|
|
415
|
-
```
|
|
416
|
-
[Error] Unable to create activity builder for <workflow>.xaml.
|
|
417
|
-
Reason was 'Cannot create unknown type '{...}OutArgument({...}<op>_Create)'.'
|
|
418
|
-
```
|
|
419
|
-
|
|
420
|
-
**Fix** — strip the injected `OutArgument` back to bare form:
|
|
421
|
-
|
|
422
|
-
```xml
|
|
423
|
-
<isactr:FieldObject Name="Jit_send_message_to_channel_v2" Type="FieldArgument" />
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
Also remove the `xmlns:uiascb` namespace declaration from the root `<Activity>` element if no other reference uses it. Tracked as PILOT-4812.
|
|
427
|
-
|
|
428
|
-
### Field Names Come From the Schema, Not Memory
|
|
429
|
-
|
|
430
|
-
`FieldObject Name` values are connector-specific and schema-driven. Never guess. Always read:
|
|
431
|
-
|
|
432
|
-
```bash
|
|
433
|
-
uip is resources describe <connector-key> <object-name> --operation Create --output json
|
|
434
|
-
cat ~/.uipath/cache/integrationservice/<connector-key>/_static/<operation>.Create.json
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
Guessed names (e.g. `method`/`path`/`body` for an HTTP operation that actually expects connector-specific names) trigger a `Configuration contains a breaking change` runtime error.
|
|
438
|
-
|
|
439
|
-
### `Configuration` Attribute Is Opaque
|
|
440
|
-
|
|
441
|
-
The `Configuration` attribute on `ConnectorActivity` is a base64 + gzip JSON blob encoding connector + operation identity (`ConnectorKey`, `ObjectName`, `HttpMethod`, `Operation`, `ActivityType`). **Never hand-edit.** Always take the value verbatim from `uip rpa activities get-default-xaml --activity-type-id <GUID> --connection-id <GUID>`. When an operation's full schema is gated behind prerequisite criteria fields (Jira `project`/`issuetype`, generic record `Type`), re-run that command with `--field-values <criteria>=<value>` to obtain the expanded blob — never splice extra fields into an old blob (see [is-connector-xaml-guide.md § Hidden Secondary Fields](../is-connector-xaml-guide.md)).
|
|
442
|
-
|
|
443
|
-
### `FieldObject.Value` Attribute Does Nothing
|
|
444
|
-
|
|
445
|
-
Putting a literal in the attribute form — `<isactr:FieldObject Name="channel" Value="hello" />` — is silently ignored. The runtime only reads the element form:
|
|
446
|
-
|
|
447
|
-
```xml
|
|
448
|
-
<isactr:FieldObject Name="channel" Type="FieldArgument">
|
|
449
|
-
<isactr:FieldObject.Value>
|
|
450
|
-
<InArgument x:TypeArguments="x:String">
|
|
451
|
-
<CSharpValue x:TypeArguments="x:String">"hello"</CSharpValue>
|
|
452
|
-
</InArgument>
|
|
453
|
-
</isactr:FieldObject.Value>
|
|
454
|
-
</isactr:FieldObject>
|
|
455
|
-
```
|
|
441
|
+
- Connection lifecycle CLI (list / ping / create / edit) and the placeholder-GUID fallback when no connection exists: [../is-connector-xaml-guide.md](../is-connector-xaml-guide.md)
|
|
456
442
|
|
|
457
443
|
## Deprecated Activities (Do Not Use)
|
|
458
444
|
|
|
@@ -585,7 +571,7 @@ Activity-level mechanics below. For the expression/code layer (LINQ filter/sort/
|
|
|
585
571
|
Activity properties typed as enums (e.g. `Operator`, `ClickType`, `KeyModifiers`, `EmptyFieldMode`, comparison/filter strategies) are checked at compile time against the activity's enum, **not** during `validate` static analysis. An invalid identifier on an enum-typed attribute returns "no diagnostics found" from `validate` and surfaces only at `build` / `CacheMetadata` time. Two consequences:
|
|
586
572
|
|
|
587
573
|
1. Always read `{projectRoot}/.local/docs/packages/<PackageId>/activities/<Activity>.md` for the exact, package-version-specific enum members before authoring an enum-valued attribute. Do not infer values from naming intuition or from prose in this skill.
|
|
588
|
-
2. Always run `uip rpa build` after `validate` clears — it is the only validator that catches invalid enum identifiers (see [../
|
|
574
|
+
2. Always run `uip rpa build` after `validate` clears — it is the only validator that catches invalid enum identifiers (see [../cli-reference.md § Validation Iteration Loop](../cli-reference.md#validation-iteration-loop)).
|
|
589
575
|
|
|
590
576
|
## Package Version Changes Break XAML
|
|
591
577
|
|
|
@@ -610,10 +596,6 @@ Activity properties typed as enums (e.g. `Operator`, `ClickType`, `KeyModifiers`
|
|
|
610
596
|
|
|
611
597
|
**Prevention:** When using `uip rpa activities get-default-xaml`, the output matches the currently installed package version. Never copy XAML snippets from projects using different package versions.
|
|
612
598
|
|
|
613
|
-
## UIA `N*` Activities Carry a `Version` — Never Strip It
|
|
614
|
-
|
|
615
|
-
Every UIA `N*` activity carries a `Version` attribute in its `uip rpa activities get-default-xaml` starter (e.g. `NGetText Version="V5"`, `NApplicationCard Version="V2"`). Dropping it survives BOTH `validate` and `build` and fails only at runtime with `System.InvalidOperationException ... ThrowIfNotInTree` on the activity's argument bindings. Carry over **every** attribute the starter emits. See [csharp-expression-pitfalls.md § `ThrowIfNotInTree` at runtime](csharp-expression-pitfalls.md).
|
|
616
|
-
|
|
617
599
|
## Expression Language Mismatch
|
|
618
600
|
|
|
619
601
|
Every XAML file must use the same expression language as the project (`expressionLanguage` in `project.json`).
|
|
@@ -628,15 +610,11 @@ Every XAML file must use the same expression language as the project (`expressio
|
|
|
628
610
|
- VB uses `OrElse`/`AndAlso` (short-circuit) vs `Or`/`And` (non-short-circuit) — different behavior in XAML expressions
|
|
629
611
|
|
|
630
612
|
**C#-specific gotchas:**
|
|
631
|
-
- Expressions must use explicit `<CSharpValue>` / `<CSharpReference>` elements inside `<InArgument>` / `<OutArgument>` — do NOT use `[bracket]` shorthand (brackets create VB expression nodes)
|
|
632
|
-
-
|
|
613
|
+
- Expressions must use explicit `<CSharpValue>` / `<CSharpReference>` elements inside `<InArgument>` / `<OutArgument>` — do NOT use `[bracket]` shorthand (brackets create VB expression nodes). String interpolation (`$"..."`) is NOT supported — concatenate.
|
|
614
|
+
- Attribute-form expressions, `OutArgument<T>` parse failures, and `ThrowIfNotInTree` are specific to **XAML projects with `expressionLanguage: CSharp`** — NOT to coded workflows (`.cs` files), which are plain C# and never use `CSharpValue`/`CSharpReference`: [csharp-activity-binding-guide.md](csharp-activity-binding-guide.md).
|
|
633
615
|
|
|
634
616
|
**Prevention:** Always check `project.json` `expressionLanguage` before writing any expression. Never mix languages.
|
|
635
617
|
|
|
636
|
-
### C# expression pitfalls — separate file
|
|
637
|
-
|
|
638
|
-
Applies only to XAML projects with `expressionLanguage: CSharp` — not to VB XAML, and not to coded workflows (`.cs` files). Attribute-form expressions, `OutArgument<T>` parse failures, and `ThrowIfNotInTree` all have root causes specific to that configuration. See [csharp-expression-pitfalls.md](csharp-expression-pitfalls.md) and [csharp-activity-binding-guide.md](csharp-activity-binding-guide.md).
|
|
639
|
-
|
|
640
618
|
## Missing Assembly References
|
|
641
619
|
|
|
642
620
|
Common validation error: `"The type 'Dictionary<,>' is defined in an assembly that is not referenced"`.
|
|
@@ -665,14 +643,6 @@ Cannot create unknown type '{http://schemas.microsoft.com/netfx/2009/xaml/activi
|
|
|
665
643
|
|
|
666
644
|
**Root cause:** Workflow arguments (In/Out/InOut) must be declared in `<x:Members>` with `<x:Property>` children — both prefixed with `x:` (the XAML language schema, `http://schemas.microsoft.com/winfx/2006/xaml`). Writing `<Activity.Properties>` with bare `<Property>` elements resolves `Property` against the **default** xmlns (the activities namespace), where no such type exists — so the file fails to load entirely.
|
|
667
645
|
|
|
668
|
-
**Wrong** — Studio cannot open the workflow:
|
|
669
|
-
```xml
|
|
670
|
-
<Activity.Properties>
|
|
671
|
-
<Property Name="in_Username" Type="InArgument(x:String)" />
|
|
672
|
-
<Property Name="out_LoginSuccess" Type="OutArgument(x:Boolean)" />
|
|
673
|
-
</Activity.Properties>
|
|
674
|
-
```
|
|
675
|
-
|
|
676
646
|
**Correct:**
|
|
677
647
|
```xml
|
|
678
648
|
<x:Members>
|
|
@@ -752,20 +722,6 @@ xmlns:ss="clr-namespace:System.Security;assembly=System.Private.CoreLib"
|
|
|
752
722
|
<OutArgument x:TypeArguments="ss:SecureString">[var_SecurePass]</OutArgument>
|
|
753
723
|
```
|
|
754
724
|
|
|
755
|
-
**Fix example:**
|
|
756
|
-
|
|
757
|
-
Wrong — causes `Cannot create unknown type` at load time:
|
|
758
|
-
```xml
|
|
759
|
-
<Variable x:TypeArguments="x:DateTime" Name="startTime" />
|
|
760
|
-
<Variable x:TypeArguments="x:DateTimeOffset" Name="reminderTime" />
|
|
761
|
-
```
|
|
762
|
-
|
|
763
|
-
Correct — requires `xmlns:s="clr-namespace:System;assembly=System.Private.CoreLib"`:
|
|
764
|
-
```xml
|
|
765
|
-
<Variable x:TypeArguments="s:DateTime" Name="startTime" />
|
|
766
|
-
<Variable x:TypeArguments="s:DateTimeOffset" Name="reminderTime" />
|
|
767
|
-
```
|
|
768
|
-
|
|
769
725
|
The same rule applies anywhere a type argument appears: `x:TypeArguments` on `Variable`, `InArgument`, `OutArgument`, `CSharpValue`, `CSharpReference`, `ActivityAction`, `DelegateInArgument`, etc.
|
|
770
726
|
|
|
771
727
|
---
|
|
@@ -804,40 +760,6 @@ This pattern is NOT a general substitute for fixed-arity array parameters — on
|
|
|
804
760
|
|
|
805
761
|
---
|
|
806
762
|
|
|
807
|
-
## Array Types in `Variable` Declarations
|
|
808
|
-
|
|
809
|
-
The XAML parser rejects CLR array syntax in `<Variable x:TypeArguments="...">`. `<Variable x:TypeArguments="x:String[]">` fails to load with `Cannot create unknown type ... Variable(String[])`. The error message does not hint at the fix.
|
|
810
|
-
|
|
811
|
-
**Use `scg:List(<T>)` instead of `<T>[]`** for variable declarations. Required `xmlns:scg` declaration depends on `targetFramework`:
|
|
812
|
-
|
|
813
|
-
- **Modern (Windows/Portable):** `xmlns:scg="clr-namespace:System.Collections.Generic;assembly=System.Private.CoreLib"`
|
|
814
|
-
- **Legacy (.NET Framework 4.6.1):** `xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"`
|
|
815
|
-
|
|
816
|
-
Wrong:
|
|
817
|
-
```xml
|
|
818
|
-
<Variable x:TypeArguments="x:String[]" Name="paths" />
|
|
819
|
-
```
|
|
820
|
-
|
|
821
|
-
Correct — **VB XAML** (`expressionLanguage: VisualBasic`, bracket shorthand for the default expression):
|
|
822
|
-
```xml
|
|
823
|
-
<Variable x:TypeArguments="scg:List(x:String)" Name="paths" Default="[New List(Of String)()]" />
|
|
824
|
-
```
|
|
825
|
-
|
|
826
|
-
Correct — **C# XAML** (`expressionLanguage: CSharp`): drop the `Default` attribute and use `<Variable.Default>` with `<CSharpValue>` instead; see [csharp-activity-binding-guide.md](csharp-activity-binding-guide.md).
|
|
827
|
-
|
|
828
|
-
**`InArgument` with array `x:TypeArguments` — context-dependent.** The canonical XAML for `AddDataRow.ArrayRow` (see [`../activity-docs/UiPath.System.Activities/26.4/activities/AddDataRow.md`](../activity-docs/UiPath.System.Activities/26.4/activities/AddDataRow.md)) uses `<InArgument x:TypeArguments="x:Object[]">[New Object() { ... }]</InArgument>` and Studio accepts it. Some agent-authored variants of the same form have been reported to fail at parse time — root cause unverified. **If `InArgument x:TypeArguments="x:Object[]"` fails in your project, fall back to calling the underlying params overload via `InvokeMethod`** (only safe when the target method has a `ParamArray Object()` / `params object[]` overload — `DataRowCollection.Add` does):
|
|
829
|
-
|
|
830
|
-
```xml
|
|
831
|
-
<InvokeMethod TargetObject="[dt.Rows]" MethodName="Add">
|
|
832
|
-
<InArgument x:TypeArguments="x:String">Alice</InArgument>
|
|
833
|
-
<InArgument x:TypeArguments="x:Int32">42</InArgument>
|
|
834
|
-
</InvokeMethod>
|
|
835
|
-
```
|
|
836
|
-
|
|
837
|
-
This pattern is NOT a general substitute for fixed-arity array parameters — only for `ParamArray`/`params` overloads where the runtime builds the array from N positional arguments. For non-params arrays (e.g. `Method(int[] arr)`), `InvokeMethod` with N separate `<InArgument>` children does not work; the array must be constructed in a preceding `Assign`.
|
|
838
|
-
|
|
839
|
-
---
|
|
840
|
-
|
|
841
763
|
## Generic Type Arguments Cannot Wrap Array Types
|
|
842
764
|
|
|
843
765
|
`<Variable x:TypeArguments="scg:List(x:Object[])">` fails with *"Cannot create unknown type … List(Object[])"*. The XAML type system refuses to construct `List<Object[]>` — an array element type nested inside a generic. Same for `<InArgument x:TypeArguments="scg:IEnumerable(x:Object[])">` on `ForEach.Values`. This blocks the natural shape for projecting LINQ rows into `AddDataRow.ArrayRow` (which is `InArgument<Object[]>`).
|
|
@@ -874,70 +796,6 @@ The boxed array reaches `ArrayRow` (whose property type is `Object[]`) correctly
|
|
|
874
796
|
|
|
875
797
|
**Fix:** Find the activity with the empty expression in the XAML and either set a valid expression or remove the empty argument element.
|
|
876
798
|
|
|
877
|
-
## x:Reference / __ReferenceID Naming
|
|
878
|
-
|
|
879
|
-
Flowcharts, State Machines, and Long Running Workflows (ProcessDiagram) use `x:Name="__ReferenceID0"` and `<x:Reference>__ReferenceID0</x:Reference>` to link nodes.
|
|
880
|
-
|
|
881
|
-
### Where `<x:Reference>` Goes
|
|
882
|
-
|
|
883
|
-
`<x:Reference>` is used ONLY inside property elements to create cross-references between nodes:
|
|
884
|
-
|
|
885
|
-
| Property Element | Container | Purpose |
|
|
886
|
-
|-----------------|-----------|---------|
|
|
887
|
-
| `Flowchart.StartNode` | Flowchart | Points to the first node |
|
|
888
|
-
| `FlowStep.Next` | Flowchart | Links to the next node |
|
|
889
|
-
| `FlowDecision.True` / `.False` | Flowchart | Branch targets |
|
|
890
|
-
| `Transition.To` | State Machine | Transition destination state |
|
|
891
|
-
| `StateMachine.InitialState` | State Machine | Starting state (attribute form: `{x:Reference ...}`) |
|
|
892
|
-
| `ProcessDiagram.StartNode` | ProcessDiagram | Points to start event |
|
|
893
|
-
| `EventNode.Next` / `TaskNode.Next` | ProcessDiagram | Links to next node |
|
|
894
|
-
| `DecisionNode.True` / `.False` | ProcessDiagram | Branch targets |
|
|
895
|
-
|
|
896
|
-
### Node Registration Rule
|
|
897
|
-
|
|
898
|
-
All nodes in a Flowchart/ProcessDiagram must be registered as children of the container element. Two scenarios:
|
|
899
|
-
|
|
900
|
-
1. **Direct children** of the container (e.g., `<FlowStep>` directly under `<Flowchart>`) — already registered. Do NOT also add a trailing `<x:Reference>`.
|
|
901
|
-
2. **Inline definitions** inside property elements (e.g., `<FlowStep>` inside `<FlowDecision.True>`) — MUST add a trailing `<x:Reference>` entry as a direct child of the container.
|
|
902
|
-
|
|
903
|
-
**Correct — inline node registered with trailing `<x:Reference>`:**
|
|
904
|
-
```xml
|
|
905
|
-
<Flowchart>
|
|
906
|
-
<Flowchart.StartNode>
|
|
907
|
-
<x:Reference>__ReferenceID0</x:Reference>
|
|
908
|
-
</Flowchart.StartNode>
|
|
909
|
-
<FlowDecision x:Name="__ReferenceID0"> <!-- direct child — no trailing ref -->
|
|
910
|
-
<FlowDecision.True>
|
|
911
|
-
<FlowStep x:Name="__ReferenceID1"> <!-- inline definition -->
|
|
912
|
-
...
|
|
913
|
-
</FlowStep>
|
|
914
|
-
</FlowDecision.True>
|
|
915
|
-
</FlowDecision>
|
|
916
|
-
<x:Reference>__ReferenceID1</x:Reference> <!-- register inline node -->
|
|
917
|
-
</Flowchart>
|
|
918
|
-
```
|
|
919
|
-
|
|
920
|
-
**Wrong — re-listing a direct child:**
|
|
921
|
-
```xml
|
|
922
|
-
<Flowchart>
|
|
923
|
-
<FlowStep x:Name="__ReferenceID0"> <!-- direct child -->
|
|
924
|
-
...
|
|
925
|
-
</FlowStep>
|
|
926
|
-
<x:Reference>__ReferenceID0</x:Reference> <!-- WRONG — already a direct child -->
|
|
927
|
-
</Flowchart>
|
|
928
|
-
```
|
|
929
|
-
|
|
930
|
-
The same registration rules apply to `<upa:ProcessDiagram>` and its node types (`EventNode`, `TaskNode`, `DecisionNode`, `SwitchNode<T>`, `SplitNode`, `MergeNode`, `SubProcessNode`, `EndNode`, `BoundaryNode`).
|
|
931
|
-
|
|
932
|
-
### Other Gotchas
|
|
933
|
-
|
|
934
|
-
- `__ReferenceID` values must be unique within the entire XAML file — duplicate IDs cause deserialization errors
|
|
935
|
-
- When copy-pasting FlowStep/FlowDecision nodes, duplicate `__ReferenceID` values will be created — Studio auto-renumbers, but manual XAML editing doesn't
|
|
936
|
-
- When copying from flowchart to sequence, elements may be ordered backwards due to node ordering in XAML
|
|
937
|
-
- `x:Reference` can only refer to elements with `x:Name` in the same XAML file — cross-file references are not supported
|
|
938
|
-
|
|
939
|
-
**When editing manually:** If adding new FlowStep/FlowDecision nodes, use a `__ReferenceID` number higher than any existing one in the file.
|
|
940
|
-
|
|
941
799
|
## XAML File Size and Performance
|
|
942
800
|
|
|
943
801
|
- XAML files over **5 MB** cause significant Studio slowdowns
|
|
@@ -961,20 +819,6 @@ The same registration rules apply to `<upa:ProcessDiagram>` and its node types (
|
|
|
961
819
|
|
|
962
820
|
**Fix:** Prefix with the XAML escape sequence `{}` to indicate a literal string: `Search="{}{FullName}"`
|
|
963
821
|
|
|
964
|
-
## Selector Special Characters
|
|
965
|
-
|
|
966
|
-
When writing selectors in XAML, XML special characters must be escaped:
|
|
967
|
-
|
|
968
|
-
| Character | XAML Escape | Notes |
|
|
969
|
-
|-----------|------------|-------|
|
|
970
|
-
| `&` | `&` | Most common issue — `&` in window titles/URLs |
|
|
971
|
-
| `<` | `<` | Rare in selectors |
|
|
972
|
-
| `>` | `>` | Rare in selectors |
|
|
973
|
-
| `"` | `"` | Inside attribute values |
|
|
974
|
-
| `'` | `'` | Inside single-quoted attributes |
|
|
975
|
-
|
|
976
|
-
**Double-encoding gotcha:** If a selector value goes through both XML escaping and UiPath's own escaping, you may get `&amp;` instead of `&`. Use `SecurityElement.Escape()` in C# expressions for dynamic selectors.
|
|
977
|
-
|
|
978
822
|
## ViewState Section Corruption
|
|
979
823
|
|
|
980
824
|
The `<sap2010:WorkflowViewState.ViewStateManager>` section can become corrupted:
|
|
@@ -997,34 +841,7 @@ The `.project/JitCustomTypesSchema.json` file can be missing or outdated.
|
|
|
997
841
|
|
|
998
842
|
**Fix:** Use the `Read` tool to read it one more time only. If this also fails, then read the project structure.
|
|
999
843
|
|
|
1000
|
-
##
|
|
1001
|
-
|
|
1002
|
-
### `validate --file-path` requires relative paths
|
|
1003
|
-
|
|
1004
|
-
The `--file-path` parameter of `uip rpa validate` must be a path **relative to the project directory**:
|
|
1005
|
-
- Correct: `--file-path "Workflows/SendEmail.xaml"`
|
|
1006
|
-
- Wrong: `--file-path "C:\Users\me\Projects\MyProject\Workflows\SendEmail.xaml"`
|
|
1007
|
-
|
|
1008
|
-
Using an absolute path will result in a "file not found" error even if the file exists.
|
|
1009
|
-
|
|
1010
|
-
### `--project-dir` defaults to CWD
|
|
1011
|
-
|
|
1012
|
-
All `uip rpa` commands default to the current working directory as the project root. If you are running commands from a parent directory or monorepo root, every command will silently target the wrong location. Always verify the CWD contains `project.json`, or pass `--project-dir` explicitly.
|
|
1013
|
-
|
|
1014
|
-
### Studio IPC connection failures
|
|
1015
|
-
|
|
1016
|
-
`uip rpa` commands communicate with Studio over IPC. By default this is a **headless Studio** that auto-launches from a NuGet package — no Studio Desktop required. Recovery steps when commands fail with connection errors:
|
|
1017
|
-
|
|
1018
|
-
1. **Re-run the command.** Headless Studio relaunches automatically on the next call; transient pipe errors clear on retry.
|
|
1019
|
-
2. **Raise the timeout for the first call.** Cold NuGet restore of the headless Studio package can take 30–90 s — `uip rpa --timeout 600 <command>`.
|
|
1020
|
-
3. **`uip rpa project open --project-dir "..."`** — open the project explicitly if Studio reports no project loaded.
|
|
1021
|
-
4. **Studio Desktop only** — if the failing command is `diff` or `focus-activity` (or the user set `UIPATH_RPA_TOOL_USE_STUDIO=1`), check Studio Desktop with the hidden `uip rpa instances list --output json` and run `uip rpa studio start --project-dir "..."` if no instance is up.
|
|
1022
|
-
|
|
1023
|
-
### CLI output format for parsing
|
|
1024
|
-
|
|
1025
|
-
Always use `--output json` when you need to parse CLI output programmatically. The default `table` format is human-readable but unreliable for parsing (column alignment varies, long values may be truncated). JSON output is structured and unambiguous.
|
|
1026
|
-
|
|
1027
|
-
### DataTable.Select numeric comparisons on Excel-sourced data
|
|
844
|
+
## DataTable.Select numeric comparisons on Excel-sourced data
|
|
1028
845
|
|
|
1029
846
|
When reading Excel data with `ReadRangeX`, column types in the resulting `DataTable` may be `String` even when the Excel cells contain numbers. This causes `DataTable.Select("[Amount] > 1000")` to perform string comparison instead of numeric comparison (e.g., `"4200" < "800"` alphabetically), silently dropping rows.
|
|
1030
847
|
|
|
@@ -10,7 +10,7 @@ For any activity property typed `InArgument<T>` or `OutArgument<T>`:
|
|
|
10
10
|
- **Literal value with a direct type converter** (string literal on `<String>`, enum, number, boolean, `TimeSpan`, `{x:Null}`) → attribute form is safe.
|
|
11
11
|
- **Anything non-literal** (variable reference, concatenation, method call, property access) → use the child-element form with `<CSharpValue>` (read) or `<CSharpReference>` (write).
|
|
12
12
|
|
|
13
|
-
The XAML attribute parser defaults to VB for expression-bearing attribute values, **regardless of the project's expression language**. At runtime, the VB JIT is disabled on non-Legacy projects — so attribute-form expressions fail with `JIT compilation is disabled for non-Legacy projects`.
|
|
13
|
+
The XAML attribute parser defaults to VB for expression-bearing attribute values, **regardless of the project's expression language**. At runtime, the VB JIT is disabled on non-Legacy projects — so attribute-form expressions fail with `JIT compilation is disabled for non-Legacy projects`. Full failure modes: [§ C# Expression Pitfalls](#c-expression-pitfalls) below.
|
|
14
14
|
|
|
15
15
|
## Property-surface sourcing
|
|
16
16
|
|
|
@@ -71,7 +71,7 @@ Which properties exist on a given activity, the `<Activity>.md` lookup order, an
|
|
|
71
71
|
|
|
72
72
|
**Author new Get Text activities with `TextString`** (the typed, current-designer property shown above). **When editing an existing workflow,** note that older ones may bind the output to the legacy non-generic `Text` `OutArgument` (`<uix:NGetText.Text>`) instead — both `Text` and `TextString` are real, functional members (the activity writes the scraped text to both at runtime), so a working `Text` binding is valid and should be left as-is, not rewritten to `TextString`. Only `Value` is a genuine unknown member.
|
|
73
73
|
|
|
74
|
-
**Scoping requirement:** when `NGetText` sits inside `<uix:NApplicationCard.Body><ActivityAction><Sequence>`, the `statusText` variable must be declared on that inner `Sequence.Variables`, not on an outer one crossing the `ActivityAction` boundary — otherwise runtime throws `ThrowIfNotInTree`. See [
|
|
74
|
+
**Scoping requirement:** when `NGetText` sits inside `<uix:NApplicationCard.Body><ActivityAction><Sequence>`, the `statusText` variable must be declared on that inner `Sequence.Variables`, not on an outer one crossing the `ActivityAction` boundary — otherwise runtime throws `ThrowIfNotInTree`. See [§ ThrowIfNotInTree at runtime](#throwifnotintree-at-runtime--two-causes).
|
|
75
75
|
|
|
76
76
|
### Assign with a C# expression
|
|
77
77
|
|
|
@@ -120,3 +120,43 @@ Which properties exist on a given activity, the `<Activity>.md` lookup order, an
|
|
|
120
120
|
```
|
|
121
121
|
|
|
122
122
|
> **XAML escaping:** `<`, `>`, `&`, `"` must be escaped inside `<CSharpValue>` element content (`<`, `>`, `&`, `"`).
|
|
123
|
+
|
|
124
|
+
## C# Expression Pitfalls
|
|
125
|
+
|
|
126
|
+
Failure modes in scope: all pass static `validate` validation — they only surface at `CacheMetadata` time under `uip rpa build` or `uip rpa run`.
|
|
127
|
+
|
|
128
|
+
## Attribute-form expressions fail at runtime
|
|
129
|
+
|
|
130
|
+
Any non-literal attribute value on an `InArgument<T>` / `OutArgument<T>` property (e.g. `Message="logMessage"`, `TextString="statusText"`) is deserialized as `VisualBasicValue<T>` by the XAML attribute parser — regardless of the project's `expressionLanguage`. On non-Legacy projects the VB JIT is disabled, so these fail at runtime:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
System.InvalidOperationException: JIT compilation is disabled for non-Legacy projects.
|
|
134
|
+
ExpressionToCompile { Code = "logMessage" ... } should have been compiled by the Studio Compiler.
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Fix:** use `<CSharpValue>` (read) or `<CSharpReference>` (write) child-element form for anything non-literal.
|
|
138
|
+
|
|
139
|
+
**Attribute form is safe for:** literal strings on `InArgument<String>`, enums, numbers, booleans, `TimeSpan` literals, `{x:Null}` — values with a direct type converter that bypasses the expression parser.
|
|
140
|
+
|
|
141
|
+
## `OutArgument<T>` attribute form fails at parse time
|
|
142
|
+
|
|
143
|
+
`<uix:NGetText TextString="statusText"/>` raises `Failed to create a 'TextString' from the text 'statusText'` — `TextString` is `OutArgument<String>`, not a plain property, so the XAML parser has no converter for it. Always use the `<OutArgument>` + `<CSharpReference>` child form for output bindings.
|
|
144
|
+
|
|
145
|
+
## `ThrowIfNotInTree` at runtime — two causes
|
|
146
|
+
|
|
147
|
+
Same runtime stack, two distinct root causes:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
System.InvalidOperationException: The argument of type 'System.String' cannot be used.
|
|
151
|
+
Make sure that it is declared on an activity.
|
|
152
|
+
at System.Activities.Argument.ThrowIfNotInTree()
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Cause 1 — variable declared outside the `ActivityAction` scope.** `OutArgument<T>` + `<CSharpReference>` bound to a variable declared on a `Sequence` **outside** the `ActivityAction` body passes validation but throws at runtime.
|
|
156
|
+
|
|
157
|
+
- **Typical case:** a UI activity inside `<uix:NApplicationCard.Body><ActivityAction><Sequence>` writes an output to a variable declared on the *outer* `Sequence` rather than the inner one.
|
|
158
|
+
- **Fix:** declare the variable on the `Sequence.Variables` immediately inside the `ActivityAction`, not on a parent `Sequence` outside it.
|
|
159
|
+
|
|
160
|
+
**Cause 2 — UIA activity authored without its `Version` attribute.** A UIA activity missing the `Version` its `activities get-default-xaml` starter emits (e.g. `NGetText` without `Version="V5"`) throws `ThrowIfNotInTree` at runtime on its argument bindings even when variable scoping is correct. This passes BOTH `validate` AND `build` clean — it surfaces only at run.
|
|
161
|
+
|
|
162
|
+
- **Diagnosis rule:** when scoping is verified correct, diff the authored activity against its `uip rpa activities get-default-xaml` starter and restore any missing attributes — the starter's `Version` in particular. Never strip an attribute the starter emits.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Long Running Workflow (ProcessDiagram) Guide
|
|
2
2
|
|
|
3
|
-
Package, node vocabulary, gateway patterns, and suspend/resume for Long Running Workflows. Related references: XAML anatomy → [xaml-basics-and-rules.md § Long Running Workflow](xaml-basics-and-rules.md); layout + ViewState → [canvas-layout-guide.md § 5](canvas-layout-guide.md); node registration → [
|
|
3
|
+
Package, node vocabulary, gateway patterns, and suspend/resume for Long Running Workflows. Related references: XAML anatomy → [xaml-basics-and-rules.md § Long Running Workflow](xaml-basics-and-rules.md); layout + ViewState → [canvas-layout-guide.md § 5](canvas-layout-guide.md); node registration → [canvas-layout-guide.md § Node Registration](canvas-layout-guide.md#node-registration).
|
|
4
4
|
|
|
5
5
|
## When to Use LRW
|
|
6
6
|
|