@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
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
# Coding Guidelines Reference
|
|
2
|
-
|
|
3
|
-
Detailed coding rules, best practices, anti-patterns, and troubleshooting for UiPath coded workflows.
|
|
4
|
-
|
|
5
|
-
## Using Statements Rules
|
|
6
|
-
|
|
7
|
-
**CRITICAL: Only include `using` statements for namespaces actually used in the file.** Adding usings for packages not in `project.json` will cause compile errors.
|
|
8
|
-
|
|
9
|
-
**Minimal using statements** (always safe in any workflow/test case file):
|
|
10
|
-
```csharp
|
|
11
|
-
using System;
|
|
12
|
-
using System.Collections.Generic;
|
|
13
|
-
using UiPath.CodedWorkflows;
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
**Add based on actual usage** — only include these when the file uses the corresponding types/services AND the package is in `project.json`:
|
|
17
|
-
```csharp
|
|
18
|
-
// If using system.* service (UiPath.System.Activities package):
|
|
19
|
-
using UiPath.Core;
|
|
20
|
-
using UiPath.Core.Activities.Storage; // only if using storage APIs
|
|
21
|
-
using UiPath.Orchestrator.Client.Models; // only if using Orchestrator models
|
|
22
|
-
|
|
23
|
-
// If using testing.* service (UiPath.Testing.Activities package):
|
|
24
|
-
using UiPath.Testing;
|
|
25
|
-
using UiPath.Testing.Enums; // only if using testing enums
|
|
26
|
-
using UiPath.Testing.Activities.TestData; // only if using test data queues
|
|
27
|
-
|
|
28
|
-
// If using uiAutomation.* service (UiPath.UIAutomation.Activities package):
|
|
29
|
-
using UiPath.UIAutomationNext.API.Contracts;
|
|
30
|
-
using UiPath.UIAutomationNext.API.Models;
|
|
31
|
-
using UiPath.UIAutomationNext.Enums;
|
|
32
|
-
|
|
33
|
-
// If using Object Repository descriptors (Descriptors.App.Screen.Element):
|
|
34
|
-
using <ProjectNamespace>.ObjectRepository; // e.g. using RoboticEnterpriseFramework.ObjectRepository;
|
|
35
|
-
// OR if descriptors come from a UILibrary NuGet package (not the project's own OR):
|
|
36
|
-
// using <PackageNamespace>.ObjectRepository; // e.g. using MultipleApps.Descriptors.ObjectRepository;
|
|
37
|
-
// CRITICAL: Without this, you get CS0103: The name 'Descriptors' does not exist in the current context
|
|
38
|
-
// NOTE: When descriptors come from a UILibrary package, use the PACKAGE namespace, not the project namespace
|
|
39
|
-
|
|
40
|
-
// If using excel.* service (UiPath.Excel.Activities package):
|
|
41
|
-
using UiPath.Excel;
|
|
42
|
-
using UiPath.Excel.Activities;
|
|
43
|
-
using UiPath.Excel.Activities.API;
|
|
44
|
-
using UiPath.Excel.Activities.API.Models;
|
|
45
|
-
|
|
46
|
-
// If using word.* service (UiPath.Word.Activities package):
|
|
47
|
-
using UiPath.Word;
|
|
48
|
-
using UiPath.Word.Activities;
|
|
49
|
-
using UiPath.Word.Activities.API;
|
|
50
|
-
using UiPath.Word.Activities.API.Models;
|
|
51
|
-
|
|
52
|
-
// If using powerpoint.* service (UiPath.Presentations.Activities package):
|
|
53
|
-
using UiPath.Presentations;
|
|
54
|
-
using UiPath.Presentations.Activities;
|
|
55
|
-
using UiPath.Presentations.Activities.API;
|
|
56
|
-
using UiPath.Presentations.Activities.API.Models;
|
|
57
|
-
|
|
58
|
-
// If using mail.* service (UiPath.Mail.Activities package):
|
|
59
|
-
using UiPath.Mail.Activities.Api;
|
|
60
|
-
|
|
61
|
-
// If using office365.* service (UiPath.MicrosoftOffice365.Activities package):
|
|
62
|
-
using UiPath.MicrosoftOffice365.Activities.Api;
|
|
63
|
-
|
|
64
|
-
// If using google.* service (UiPath.GSuite.Activities package):
|
|
65
|
-
using UiPath.GSuite.Activities.Api;
|
|
66
|
-
|
|
67
|
-
// Standard .NET (add as needed):
|
|
68
|
-
using System.Data; // DataTable
|
|
69
|
-
using System.Linq; // LINQ
|
|
70
|
-
using System.IO; // file operations
|
|
71
|
-
using System.Text.RegularExpressions; // regex
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**When adding a file that uses a service:**
|
|
75
|
-
1. Check `project.json` to confirm the required package is listed in `dependencies` — add it if missing
|
|
76
|
-
2. Add only the `using` statements needed for the types actually referenced in the file
|
|
77
|
-
3. Add the entry point to `project.json` (**Process projects only** — Tests and Library projects do not use `entryPoints`). Add `fileInfoCollection` for test case files (all project types)
|
|
78
|
-
|
|
79
|
-
## Platform types — do not reinvent
|
|
80
|
-
|
|
81
|
-
UiPath ships first-class types for the patterns coded workflows most commonly need (exceptions, queue items, credentials, OR descriptors). **Always import the platform type instead of defining a project-local equivalent.** A project-local `BusinessRuleException`, custom queue-item record, or hand-rolled credential helper diverges from Orchestrator behaviour and breaks integration with platform features that expect the canonical types.
|
|
82
|
-
|
|
83
|
-
| Platform type | Namespace / package | Use for | Do NOT do this instead |
|
|
84
|
-
|---|---|---|---|
|
|
85
|
-
| **`UiPath.Core.BusinessRuleException`** | `UiPath.Core` (in `UiPath.System.Activities`) | Business-rule violations that must NOT be retried by REFramework / Orchestrator (e.g., invalid input data, validation failure, missing required field). Orchestrator marks the queue item as `Failed` with no retry. | Define a project-local `class BusinessRuleException : Exception { … }`. |
|
|
86
|
-
| **`UiPath.Robot.Activities.BusinessException`** | `UiPath.Robot.Activities` | Same role as `BusinessRuleException` in robot-side custom activity packages. | Same — do not define your own. |
|
|
87
|
-
| **`UiPath.Core.Activities.Storage.IResource` / `ILocalResource`** | `UiPath.Core.Activities.Storage` (in `UiPath.System.Activities`) | File / folder handles passed to activities that need an `IResource`. | Pass raw `string` paths or hand-roll a `LocalResource` constructor (the constructor is internal — see § IResource / ILocalResource below). |
|
|
88
|
-
| **`UiPath.Orchestrator.Client.Models.QueueItemDto`** and related | `UiPath.Orchestrator.Client.Models` (in `UiPath.System.Activities`) | Queue-item shape returned by `GetTransactionItem` / pushed via `AddQueueItem`. | Define a project-local queue-item record that diverges from Orchestrator's schema. |
|
|
89
|
-
| **OR descriptors `Descriptors.<App>.<Screen>.<Element>`** | Generated into `<PROJECT_DIR>/.local/.codedworkflows/ObjectRepository.cs` | UI element targeting in coded UI automation. | Hand-roll selector strings or `TargetAppModel` instances; bypass the Object Repository. |
|
|
90
|
-
| **`UiPath.CodedWorkflows.CodedWorkflow`** | `UiPath.CodedWorkflows` (built into the runtime) | Base class for `[Workflow]` and `[TestCase]` classes. | Inherit from a custom base; the Studio wrapper generation depends on this exact type. |
|
|
91
|
-
|
|
92
|
-
### Throwing `BusinessRuleException` correctly
|
|
93
|
-
|
|
94
|
-
```csharp
|
|
95
|
-
using UiPath.Core; // brings BusinessRuleException into scope
|
|
96
|
-
|
|
97
|
-
if (!System.Text.RegularExpressions.Regex.IsMatch(hash, @"^[0-9a-f]{40}$"))
|
|
98
|
-
{
|
|
99
|
-
throw new BusinessRuleException(
|
|
100
|
-
$"Computed hash '{hash}' does not match expected SHA1 format (40 lowercase hex chars).");
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
`BusinessRuleException` is recognised by REFramework's `SetTransactionStatus` and by Orchestrator's queue-item lifecycle — items failed with this exception are marked **Failed** and not retried automatically. A project-local exception with the same name is just an `Exception` from REFramework's point of view and triggers the system-error retry path instead.
|
|
105
|
-
|
|
106
|
-
### When you MAY define a project-local type
|
|
107
|
-
|
|
108
|
-
Project-local types are appropriate for **domain DTOs** that have no platform equivalent — `InvoiceLineItem`, `CustomerRecord`, `WorkItem` — and belong in Coded Source Files. The rule above applies to platform-provided types only: do not reinvent exceptions, queue-item shapes, credential handles, file-resource handles, or OR descriptors.
|
|
109
|
-
|
|
110
|
-
## Coded Workflow Analyzer Rules
|
|
111
|
-
|
|
112
|
-
Four built-in Workflow Analyzer rules with scope `Coded Workflow` run as Roslyn analyzers over the project's `.cs` files. All four are **Error** severity and enabled by default — a violation fails `uip rpa analyze`, `build`, and `pack`, and Studio flags the same violations as validation errors. Author to satisfy them up front:
|
|
113
|
-
|
|
114
|
-
| Rule | Trigger | Fix |
|
|
115
|
-
|------|---------|-----|
|
|
116
|
-
| **ST-NMG-017** — Class name matches default namespace | A class declared inside the project's default namespace has the same name as that namespace (generated from the project name) — e.g. class `Invoicing` in project `Invoicing`. Applies to every class, including Coded Source Files. | Rename the class (and its file to match) — e.g. `InvoicingWorkflow` |
|
|
117
|
-
| **ST-DBP-010** — Multiple `[Workflow]`/`[TestCase]` | More than one `[Workflow]` or `[TestCase]` attribute in the same **file** (the two attribute kinds count together) | One entry-point attribute per file — move each extra entry point to its own file |
|
|
118
|
-
| **ST-REL-001** — Mismatched InOut argument types | An entry-point input parameter collapses into an InOut argument (its name matches a return-tuple element, or it is literally named `Output` with a single non-void return) but the input and returned types differ | Make the input parameter type and the returned type identical |
|
|
119
|
-
| **ST-USG-017** — Invalid parameter modifier | `out` or `ref` modifier on a `[Workflow]`/`[TestCase]` method parameter | Use return values or tuples for outputs instead |
|
|
120
|
-
|
|
121
|
-
> Older CLI versions listed these rules in `analyzer-rules list` but did not execute them headlessly — only Studio flagged the violations. Do not treat a clean `analyze`/`build`/`pack` from an older CLI as proof these rules pass; fix violations at authoring time regardless.
|
|
122
|
-
|
|
123
|
-
## Best Practices
|
|
124
|
-
|
|
125
|
-
### API Discovery
|
|
126
|
-
- **ALWAYS search for existing .cs files BEFORE generating new code** — Learn from existing patterns
|
|
127
|
-
- Read at least 5 existing workflow files (or all if fewer) to understand project conventions
|
|
128
|
-
- **When writing UI automation code** — the UIA package guide (`{PROJECT_DIR}/.local/docs/packages/UiPath.UIAutomation.Activities/ui-automation-guide.md`) MUST be read IN FULL first (SKILL.md Rule 7). Follow its **Finding Descriptors** hierarchy in strict order. Do NOT write any UI code until descriptors are resolved:
|
|
129
|
-
1. Read `ObjectRepository.cs` — use existing descriptors if present
|
|
130
|
-
2. Inspect UILibrary/descriptor NuGet packages in `project.json` (e.g. `*.Descriptors`, `*.UILibrary`) using `uip rpa packages inspect`. The tool checks the local NuGet cache automatically. If the package is still not found, read `.metadata` files manually at `~/.nuget/packages/<package-name>/<version>/contentFiles/any/any/.objects/` to discover App/Screen/Element hierarchy
|
|
131
|
-
3. If descriptors are still missing — use the `uia-configure-target` skill flow (found in the UIA activity-docs) to create targets. This handles capturing the application, discovering elements, generating selectors, improving them, and registering them in the OR. Do NOT manually call the internal `uip rpa uia` CLIs outside of the skill flow. Fallback: the indication commands (see UIA docs) when elements appear only after user interaction (e.g., a compose form that opens after clicking a button)
|
|
132
|
-
4. UITask (ScreenPlay) is ONLY for when selectors are genuinely brittle/unreliable — NEVER as a first approach
|
|
133
|
-
5. NEVER bypass Object Repository by constructing `TargetAppModel` with raw URL/BrowserType
|
|
134
|
-
- Use `uip rpa packages inspect` for API discovery when documentation is unclear
|
|
135
|
-
|
|
136
|
-
### IResource / ILocalResource — Converting File Paths
|
|
137
|
-
|
|
138
|
-
Many activities (O365, GSuite, Mail, file operations) require `IResource` or `ILocalResource` instead of a string path. NEVER pass a raw string where `IResource` is expected — it will fail at runtime. NEVER try to construct `LocalResource(string)` directly — the constructor is internal.
|
|
139
|
-
|
|
140
|
-
| Method | Signature | Use when |
|
|
141
|
-
|--------|-----------|----------|
|
|
142
|
-
| `GetResourceForLocalPath` | `system.GetResourceForLocalPath(string path, PathType pathType)` → `IResource` | You have a path and need an `IResource` (no existence check needed) |
|
|
143
|
-
| `PathExists` (with out param) | `system.PathExists(string path, PathType pathType, out ILocalResource resource)` → `bool` | You need to verify the file exists AND get an `ILocalResource` |
|
|
144
|
-
|
|
145
|
-
```csharp
|
|
146
|
-
// Direct conversion — preferred when you know the file exists
|
|
147
|
-
IResource file = system.GetResourceForLocalPath(@"C:\Reports\report.pdf", PathType.File);
|
|
148
|
-
IResource folder = system.GetResourceForLocalPath(@"C:\Archive", PathType.Folder);
|
|
149
|
-
|
|
150
|
-
// With existence check
|
|
151
|
-
if (system.PathExists(@"C:\Reports\report.pdf", PathType.File, out ILocalResource localFile))
|
|
152
|
-
{
|
|
153
|
-
// use localFile
|
|
154
|
-
}
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
`PathType` values: `PathType.File`, `PathType.Folder`
|
|
158
|
-
|
|
159
|
-
### Code Quality
|
|
160
|
-
- **Start simple, iterate** — Create minimal working version first, then refine
|
|
161
|
-
- **NEVER use C# `out` or `ref` keywords in `[Workflow]` methods** — The auto-generated `*+Activity.cs` wrapper does not handle them correctly. Symptoms: analyzer error ST-USG-017 at `analyze`/`build`/`pack`, compile error `CS1620`, or runtime `Using 'out' and 'ref' modifiers is not allowed for Coded Workflows executions.` Studio regenerates the wrapper on every save, so manual fixes are reverted. Use return values or tuples for outputs instead
|
|
162
|
-
- **Only include using statements for packages in project.json** — Adding unused usings causes compile errors
|
|
163
|
-
- **Match input parameter names exactly** — Execute method signature must match `--input` arguments (case-sensitive)
|
|
164
|
-
- **Escape backslashes in paths** — Use `C:\\path\\file.txt` not `C:\path\file.txt` in input arguments
|
|
165
|
-
|
|
166
|
-
### Validation Loop (Critical Rule #14)
|
|
167
|
-
uip rpa validate --file-path "<FILE>" --project-dir "<PROJECT_DIR>" --output json
|
|
168
|
-
@../validation-guide.md
|
|
169
|
-
|
|
170
|
-
### Error Handling
|
|
171
|
-
- **Fix compilation errors methodically** — Categorize: Syntax → Type → Logic. Use the validation loop above to iterate until clean.
|
|
172
|
-
- **Retry on execution failures** — Attempt to fix and retry up to 2 times before asking user
|
|
173
|
-
- **Analyze errors carefully** — Read error messages, identify root cause, make targeted fixes
|
|
174
|
-
- **Fix one thing at a time** — When a runtime error occurs, identify the root cause, fix ONLY that, and re-run. Never bundle a speculative "improvement" (e.g., switching from TypeInto to KeyboardShortcut) with the actual fix (e.g., correcting a selector). Changing two things at once makes it impossible to verify which change resolved the issue — or whether the speculative change introduced a new one.
|
|
175
|
-
- **Don't give up too early** — But stop after 2 failed retries and present the user with options:
|
|
176
|
-
```
|
|
177
|
-
Workflow execution failed after 2 retry attempts.
|
|
178
|
-
|
|
179
|
-
**Error Details:** <specific error message and location>
|
|
180
|
-
**Suggested Fix:** <analysis of what went wrong>
|
|
181
|
-
**Next Steps:** Would you like me to:
|
|
182
|
-
A) <recommended fix approach>
|
|
183
|
-
B) <alternative approach>
|
|
184
|
-
C) <user-driven approach>
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### File Operations
|
|
188
|
-
- **ALWAYS use Read tool before Edit tool** — Understand current state before making changes
|
|
189
|
-
- **Prefer editing over creating new files** — Build on existing work, avoid file bloat
|
|
190
|
-
- **Use Glob for file discovery** — Never guess file locations
|
|
191
|
-
|
|
192
|
-
## Anti-Patterns (What NOT to Do)
|
|
193
|
-
|
|
194
|
-
> Many of these reinforce SKILL.md Critical Rules. They are grouped by category for quick scanning.
|
|
195
|
-
|
|
196
|
-
### Project & Code Structure
|
|
197
|
-
|
|
198
|
-
- Never manually write `project.json` or `project.uiproj` when creating a new project — use `uip rpa init` (Critical Rule #1)
|
|
199
|
-
- Never generate C# code without first searching for existing .cs files (API Discovery)
|
|
200
|
-
- Never edit files without reading them first
|
|
201
|
-
- Never skip the `[Workflow]` or `[TestCase]` attribute on the Execute method (Critical Rule #4)
|
|
202
|
-
- Never put more than one `[Workflow]`/`[TestCase]` attribute in the same file — analyzer error ST-DBP-010 (see § Coded Workflow Analyzer Rules)
|
|
203
|
-
- Never name a class the same as the project — analyzer error ST-NMG-017 (see § Coded Workflow Analyzer Rules)
|
|
204
|
-
- Never forget to inherit from `CodedWorkflow` (except Coded Source Files) (Critical Rule #3)
|
|
205
|
-
- Never add `using` statements for packages not in `project.json` — causes CS errors
|
|
206
|
-
- Never guess service method names — verify with existing code or `uip rpa packages inspect`
|
|
207
|
-
|
|
208
|
-
### UI Automation
|
|
209
|
-
|
|
210
|
-
- Never hardcode UI selectors — use Object Repository descriptors
|
|
211
|
-
- Never write UI code referencing descriptors without first reading `ObjectRepository.cs`
|
|
212
|
-
- Never manually craft UI selectors by calling the internal `uip rpa uia` CLIs outside of the `uia-configure-target` skill flow — this skips selector improvement and OR registration
|
|
213
|
-
- Never skip the target configuration step when a descriptor is missing — use the `uia-configure-target` skill flow (fallback: indication commands per the UIA docs)
|
|
214
|
-
- Never use UITask (ScreenPlay) as the primary approach — resolve descriptors via Finding Descriptors hierarchy first (Critical Rule #15)
|
|
215
|
-
- Never skip configuring targets because it "seems tedious" — configure ALL missing elements
|
|
216
|
-
- Never construct `TargetAppModel` with raw URL/BrowserType to bypass Object Repository
|
|
217
|
-
- Never skip checking UILibrary/descriptor NuGet packages in `project.json`
|
|
218
|
-
- Never use an element descriptor on the wrong screen handle — each `UiTargetApp` is bound to its screen. Wrong handle gives `"Target name 'X' is not part of the current screen."`
|
|
219
|
-
- Never use `SelectItem` on web dropdowns without a `TypeInto` fallback — web `<select>` elements often fail with `"Cannot select item"`
|
|
220
|
-
- Never forget `using <ProjectNamespace>.ObjectRepository;` (or `using <PackageName>.ObjectRepository;` for UILibrary packages) when referencing `Descriptors.*`
|
|
221
|
-
|
|
222
|
-
### Object Repository / Indicate Commands
|
|
223
|
-
|
|
224
|
-
- Never assume `.objects/` subdirectories mean a valid App exists — verify `.metadata` files are present
|
|
225
|
-
- Never cache or reuse AppVersion references across OR resets — always re-read `.objects/` metadata
|
|
226
|
-
- Never run indicate commands from outside the project directory — cwd must contain `project.json`
|
|
227
|
-
- Never use camelCase flags — all `uip rpa` CLI flags use kebab-case (e.g., `--foo-bar`, not `--fooBar`)
|
|
228
|
-
|
|
229
|
-
### Validation & Execution
|
|
230
|
-
|
|
231
|
-
- Never assume create/edit succeeded without running the validation loop (Critical Rule #14)
|
|
232
|
-
- Never continue retrying indefinitely — stop after 5 validation fix attempts or 2 runtime execution retries
|
|
233
|
-
- Never make unrelated changes during retry — identify the root cause, fix only that, re-run and verify. Never bundle a speculative "improvement" with the actual fix (e.g., fixing a broken selector AND switching from TypeInto to KeyboardShortcut in the same edit). One change, one re-run.
|
|
234
|
-
- Never execute a workflow with parameters without providing `--input` arguments
|
|
235
|
-
- Never use parameter names in `--input` that don't match the Execute method signature (case-sensitive)
|
|
236
|
-
|
|
237
|
-
### Shell & Environment
|
|
238
|
-
|
|
239
|
-
- Never redirect output to `nul` — use `> /dev/null 2>&1` instead (`nul` creates a literal file on Windows)
|
|
240
|
-
- Never use Windows shell commands (`del`, `dir`, `copy`) in bash — use `rm`, `ls`, `cp`
|
|
241
|
-
|
|
242
|
-
## Common Issues and Fixes
|
|
243
|
-
|
|
244
|
-
| Issue | Cause | Fix |
|
|
245
|
-
|-------|-------|-----|
|
|
246
|
-
| **"Studio X.X.X does not have interop support"** | Surfaces only when running against Studio Desktop and the auto-detected install is too old (< 26.2). Headless Studio is unaffected. | Pass `--studio-dir "<STUDIO_DIR>"` pointing to a 26.2+ build, or drop the Studio Desktop override and let the command run headless |
|
|
247
|
-
| **No Studio instances found** | Only relevant for `diff` / `focus-activity` — they need Studio Desktop. Every other command runs headless and doesn't need a Desktop instance. | Run `uip rpa studio start --project-dir "<PROJECT_DIR>"` if you actually need Studio Desktop; otherwise re-run the command — headless Studio relaunches automatically |
|
|
248
|
-
| **Stale pipe / ENOENT** | Studio instance crashed or was closed | The tool retries automatically; if persistent, re-run the command (headless) or restart Studio Desktop |
|
|
249
|
-
| **Workflow cannot be found** | Entrypoint not in project.json | Verify project.json entrypoint has the file listed (Process projects only — Tests and Library projects do not use `entryPoints`) |
|
|
250
|
-
| **Service property not available** | Missing package dependency | Install the required package via `uip rpa packages install --project-dir "<PROJECT_DIR>" --packages id=<PACKAGE_ID> --output json` (no `add-dependency` command exists; do not hand-edit `project.json`) |
|
|
251
|
-
| **Timeout** | Studio took too long to start. First headless call on a cold NuGet cache can take 30–90 s. | Increase timeout: `--timeout 600` |
|
|
252
|
-
| **"Target name 'X' is not part of the current screen"** | Element descriptor used on wrong screen handle | Use the `UiTargetApp` handle from `Open`/`Attach` for the screen that owns the element |
|
|
253
|
-
| **"Cannot select item. It was not found among existing items"** | The `Item` value doesn't match any option (wrong text/casing) — not a control-type limitation | Read the control's `items` attribute via the interact CLI (SelectItem usage guide, routed from the UIA package guide § Documentation) and pass one of those values verbatim. `SelectItem` drives any control whose `items` lists options (any UI stack); use `TypeInto` only for type-ahead combos or controls with no `items`. |
|
|
254
|
-
| **`packages inspect` cannot find UILibrary package** | Package is on a private/local NuGet feed | Use `--nupkg-path` to inspect the local `.nupkg` directly, or read `.metadata` files manually from `~/.nuget/packages/<name>/<version>/contentFiles/any/any/.objects/` |
|
|
255
|
-
| **Studio rejects manually created project** | Missing metadata dirs, wrong schema/version | Always use `uip rpa init` instead of writing `project.json` manually |
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# Inspect NuGet Package Tool (On-Demand API Discovery)
|
|
2
|
-
|
|
3
|
-
Use this when the static reference files (`references/<service>/examples.md`) don't cover an API, when the user has a different package version, or when you need ground-truth method signatures.
|
|
4
|
-
|
|
5
|
-
## How to Run
|
|
6
|
-
|
|
7
|
-
The `packages inspect` verb is built into the UiPath CLI. No separate build step is needed.
|
|
8
|
-
|
|
9
|
-
### Inspect a package from a NuGet feed
|
|
10
|
-
```bash
|
|
11
|
-
uip rpa packages inspect --package-name <PackageName> --package-version <Version> [--feed-url <NuGetV3FeedUrl>]```
|
|
12
|
-
|
|
13
|
-
When `--feed-url` is omitted, the tool downloads from the UiPath Official feed first and falls back to nuget.org.
|
|
14
|
-
|
|
15
|
-
### Inspect a local .nupkg file
|
|
16
|
-
```bash
|
|
17
|
-
uip rpa packages inspect --nupkg-path <path/to/package.nupkg>```
|
|
18
|
-
|
|
19
|
-
Use this when the package is already cached locally (e.g. from a private feed) or when you have a `.nupkg` file on disk.
|
|
20
|
-
|
|
21
|
-
## Examples
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Inspect Excel activities from UiPath feed
|
|
25
|
-
uip rpa packages inspect --package-name UiPath.Excel.Activities --package-version 3.3.1
|
|
26
|
-
# Inspect a specific version the user has
|
|
27
|
-
uip rpa packages inspect --package-name UiPath.System.Activities --package-version 25.12.2
|
|
28
|
-
# Inspect from a custom feed
|
|
29
|
-
uip rpa packages inspect --package-name MyPackage --package-version 1.0.0 --feed-url https://my-feed/v3/index.json
|
|
30
|
-
# Inspect third-party package from nuget.org
|
|
31
|
-
uip rpa packages inspect --package-name CsvHelper --package-version 33.0.1
|
|
32
|
-
# Inspect a local .nupkg file directly
|
|
33
|
-
uip rpa packages inspect --nupkg-path ~/.nuget/packages/csvhelper/33.0.1/csvhelper.33.0.1.nupkg```
|
|
34
|
-
|
|
35
|
-
## Finding the Latest Stable Version
|
|
36
|
-
|
|
37
|
-
When you don't know the version of a UiPath package, query the UiPath Official NuGet feed to find the latest stable (non-preview) version:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
UIPATH_FEED="https://uipath.pkgs.visualstudio.com/5b98d55c-1b14-4a03-893f-7a59746f1246/_packaging/1c781268-d43d-45ab-9dfc-0151a1c740b7/nuget/v3/flat2" && bun -e "const p=process.argv[1];const r=await fetch(p+'/index.json');const d=await r.json();console.log(d.versions.find(v=>v.indexOf('preview')<0))" "$UIPATH_FEED/<package-name-lowercase>"
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Replace `<package-name-lowercase>` with the package ID in lowercase (e.g. `uipath.microsoftoffice365.activities`).
|
|
44
|
-
|
|
45
|
-
**Examples:**
|
|
46
|
-
```bash
|
|
47
|
-
# Latest stable UiPath.MicrosoftOffice365.Activities → 3.6.10
|
|
48
|
-
... "$UIPATH_FEED/uipath.microsoftoffice365.activities"
|
|
49
|
-
|
|
50
|
-
# Latest stable UiPath.System.Activities → 25.12.2
|
|
51
|
-
... "$UIPATH_FEED/uipath.system.activities"
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**Notes:**
|
|
55
|
-
- The feed returns versions in descending order (newest first); the one-liner picks the first non-preview entry
|
|
56
|
-
- Package names in the URL **must be lowercase**
|
|
57
|
-
- This feed is public for version listing but requires authentication for package downloads (Studio handles this automatically when restoring dependencies)
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## When to Use
|
|
62
|
-
|
|
63
|
-
- **First**, check for pre-generated coded API docs at `{projectRoot}/.local/docs/packages/{PackageId}/coded/coded-api.md` — these contain service API signatures and usage for coded workflows. Use `packages inspect` only when these docs are missing or insufficient.
|
|
64
|
-
- You encounter an unknown activity/method not in reference files
|
|
65
|
-
- The user's `project.json` has a different package version than reference docs
|
|
66
|
-
- You need exact method signatures, parameter types, or enum values
|
|
67
|
-
- You're unsure about the correct API and want to verify against the actual package
|
|
68
|
-
- You need to find and evaluate a third-party NuGet package for use in a coded workflow
|
|
69
|
-
|
|
70
|
-
## Output
|
|
71
|
-
|
|
72
|
-
Structured markdown listing all public types, methods, properties, enums, delegates, and events from the package DLLs. The tool performs framework-aware DLL selection and recursive dependency resolution (up to depth 2).
|
|
73
|
-
|
|
74
|
-
## Requirements & Notes
|
|
75
|
-
|
|
76
|
-
- Requires `uip` to be available on PATH
|
|
77
|
-
- Downloads from the UiPath Official feed first, then falls back to nuget.org — so it works with **any** NuGet package, not just UiPath ones
|
|
78
|
-
- The tool automatically checks the local NuGet cache at `~/.nuget/packages/` when a package cannot be downloaded
|
|
79
|
-
- For local `.nupkg` files (e.g. packages from private feeds already cached locally), use `--nupkg-path` to skip the download entirely
|
|
80
|
-
- Some packages are metapackages with no DLLs (e.g. `Humanizer`). If you get "No DLLs found", try the `.Core` sub-package (e.g. `Humanizer.Core`)
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Using Third-Party NuGet Packages in Coded Workflows
|
|
2
|
-
|
|
3
|
-
When a user needs functionality that **no UiPath built-in activity provides** (e.g. PDF generation, barcode reading, advanced math, specific file formats), find and use a third-party NuGet package.
|
|
4
|
-
|
|
5
|
-
## Decision Flow
|
|
6
|
-
|
|
7
|
-
1. **Consider whether a built-in activity or plain .NET is the better fit** — prefer activities for Orchestrator integration, UI automation, and document handling; prefer .NET for data transforms, HTTP to external APIs, parsing, etc.
|
|
8
|
-
2. **If no built-in activity fits** — search for a well-known .NET NuGet package that provides the capability
|
|
9
|
-
3. **Inspect the package** — run the `uip rpa packages inspect` command with the appropriate flags in order to get exact API signatures before writing code
|
|
10
|
-
4. **Install it** — run `uip rpa packages install --project-dir "<PROJECT_DIR>" --packages 'id=<PACKAGE_ID>,version=<VERSION>' --output json`. Omit `,version=<VERSION>` to resolve the latest compatible. Do NOT hand-edit `project.json` `dependencies`. **There is no `uip rpa add-dependency` command.**
|
|
11
|
-
5. **Write C# code using the package** — use the package's API directly in the `Execute` method (no service proxy needed — just `using` + direct API calls)
|
|
12
|
-
|
|
13
|
-
## How Third-Party Packages Differ from UiPath Activity Packages
|
|
14
|
-
|
|
15
|
-
- UiPath packages provide services on the `CodedWorkflow` base class (e.g. `excel.ReadRange(...)`)
|
|
16
|
-
- Third-party packages are used as **plain C# libraries** — instantiate classes, call methods directly
|
|
17
|
-
- They do NOT get a service property on `CodedWorkflow`
|
|
18
|
-
- Add them to `project.json` `dependencies` just like UiPath packages: `"PackageName": "[version]"`
|
|
19
|
-
|
|
20
|
-
## Example — Using CsvHelper in a Coded Workflow
|
|
21
|
-
|
|
22
|
-
```csharp
|
|
23
|
-
using System;
|
|
24
|
-
using System.Globalization;
|
|
25
|
-
using System.IO;
|
|
26
|
-
using CsvHelper;
|
|
27
|
-
using UiPath.CodedWorkflows;
|
|
28
|
-
|
|
29
|
-
namespace MyProject
|
|
30
|
-
{
|
|
31
|
-
public class ProcessCsv : CodedWorkflow
|
|
32
|
-
{
|
|
33
|
-
[Workflow]
|
|
34
|
-
public void Execute(string inputPath)
|
|
35
|
-
{
|
|
36
|
-
using var reader = new StreamReader(inputPath);
|
|
37
|
-
using var csv = new CsvReader(reader, CultureInfo.InvariantCulture);
|
|
38
|
-
var records = csv.GetRecords<dynamic>().ToList();
|
|
39
|
-
Log($"Read {records.Count} records from CSV");
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
With `project.json` dependency:
|
|
46
|
-
```json
|
|
47
|
-
{
|
|
48
|
-
"dependencies": {
|
|
49
|
-
"CsvHelper": "[33.0.1]"
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## How to Search for Packages
|
|
55
|
-
|
|
56
|
-
- Use web search to find the best .NET NuGet package for the task
|
|
57
|
-
- Look for packages with high download counts, active maintenance, and .NET 6+ support
|
|
58
|
-
- Common choices:
|
|
59
|
-
- `CsvHelper` (CSV parsing)
|
|
60
|
-
- `QuestPDF` (PDF generation)
|
|
61
|
-
- `ClosedXML` (Excel without UiPath)
|
|
62
|
-
- `HtmlAgilityPack` (HTML parsing)
|
|
63
|
-
- `Dapper` (database access)
|
|
64
|
-
- `RestSharp` (REST APIs)
|
|
65
|
-
- `Polly` (retry/resilience patterns)
|
|
66
|
-
- `Newtonsoft.Json` (JSON parsing - already included in most projects)
|
|
67
|
-
- After identifying a package, run the `uip rpa packages inspect` command to discover exact APIs before coding
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# Discover Connector Capabilities (For IS/Connector Workflows)
|
|
2
|
-
|
|
3
|
-
When a workflow involves an Integration Service connector (Salesforce, Jira, ServiceNow, Slack, etc.), explore the connector before writing XAML. For the full end-to-end authoring flow, see [is-connector-xaml-guide.md](is-connector-xaml-guide.md).
|
|
4
|
-
|
|
5
|
-
## Prerequisite: `uip login`
|
|
6
|
-
|
|
7
|
-
All `uip is *` commands require an authenticated session. They fail silently (with a generic "Not logged in" error) otherwise.
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
uip login # production (cloud.uipath.com)
|
|
11
|
-
uip login --authority https://alpha.uipath.com/identity_ # alpha
|
|
12
|
-
uip login --authority https://staging.uipath.com/identity_ # staging
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
If you need the user to authenticate, ask them to type `! uip login` so the token lands in the current session.
|
|
16
|
-
|
|
17
|
-
## Discovery Commands
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
# List connectors available to the tenant (find the connector key):
|
|
21
|
-
uip is connectors list --output json
|
|
22
|
-
|
|
23
|
-
# What activities does a specific connector offer? (get activity names + method + operation)
|
|
24
|
-
uip is activities list <connector-key> --output json
|
|
25
|
-
|
|
26
|
-
# What data objects/resources does it expose?
|
|
27
|
-
uip is resources list <connector-key> --output json
|
|
28
|
-
|
|
29
|
-
# Describe an object's schema for an operation (fields, types, required flags, enum values).
|
|
30
|
-
# Second positional is the object/resource name (from `resources list`); the operation goes in --operation:
|
|
31
|
-
uip is resources describe <connector-key> <object-name> --operation Create --output json
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
`resources describe` is the authoritative field schema — **never guess field names**. The response includes a `metadataFile` path like `~/.uipath/cache/integrationservice/<connector>/_static/<operation>.Create.json`. Read that JSON directly for the full `parameters` / `requestFields` / `responseFields` list.
|
|
35
|
-
|
|
36
|
-
Note: it's `resources describe` (not `activities describe`). The `activities` subcommand only has `list`.
|
|
37
|
-
|
|
38
|
-
## Finding an Activity's Type ID (for XAML generation)
|
|
39
|
-
|
|
40
|
-
For hand-authored XAML, the IS `ConnectorActivity` element needs a `UiPathActivityTypeId` GUID. Get it via `activities find`:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
uip rpa activities find --query "<search terms>" --project-dir "<PROJECT_DIR>" --output json
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
In the response, each result's `activityTypeId` field is the GUID to pass to:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
uip rpa activities get-default-xaml \
|
|
50
|
-
--activity-type-id "<TYPE_ID>" \
|
|
51
|
-
--connection-id "<CONN_ID>" \
|
|
52
|
-
--project-dir "<PROJECT_DIR>" --output json
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**`--activity-type-id` is mandatory for IS dynamic activities** — without it, the default XAML comes back empty (`Configuration={x:Null}`, no fields) and isn't runnable.
|
|
56
|
-
|
|
57
|
-
`get-default-xaml` also accepts repeatable `--field-values name=value` pairs: the values are pre-bound as literals in the returned `FieldObjects`, and when they cover the operation's prerequisite criteria fields (e.g. Jira's `project` + `issuetype`), the returned `Configuration` blob is re-resolved with the full expanded field schema — the same expansion Studio's designer performs when those fields are committed in the canvas. Full usage pattern: [is-connector-xaml-guide.md § Step 4](is-connector-xaml-guide.md).
|
|
58
|
-
|
|
59
|
-
## Connection Management
|
|
60
|
-
|
|
61
|
-
**Check if a connection exists:**
|
|
62
|
-
```bash
|
|
63
|
-
uip is connections list <connector-key> --output json
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**If no connection exists**, options:
|
|
67
|
-
1. **Create one** (opens an OAuth browser flow for the user): `uip is connections create <connector-key>`
|
|
68
|
-
2. **Placeholder** — drop the XAML with a placeholder `ConnectionId="00000000-0000-0000-0000-000000000000"` and tell the user to configure the connection in Studio before running.
|
|
69
|
-
|
|
70
|
-
**Verify a connection is active:**
|
|
71
|
-
```bash
|
|
72
|
-
uip is connections ping <connection-id>
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
If the ping fails, offer to re-authenticate: `uip is connections edit <connection-id>`.
|
|
76
|
-
|
|
77
|
-
## Next: Generate the XAML
|
|
78
|
-
|
|
79
|
-
Once you have `connector-key`, `activityTypeId`, `connection-id`, and the field schema, follow [is-connector-xaml-guide.md](is-connector-xaml-guide.md) for the complete authoring flow with a worked example.
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
# UiPath Testing Activities - Legacy Reference
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
Test assertions, data generation, document comparison, and test data queue management. Package: `UiPath.Testing.Activities`.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Assertion Activities
|
|
9
|
-
|
|
10
|
-
| Activity | Purpose | Key Arguments |
|
|
11
|
-
|----------|---------|---------------|
|
|
12
|
-
| `VerifyExpression` | Assert boolean is true | Expression (bool), ContinueOnFailure (default true) |
|
|
13
|
-
| `VerifyExpressionWithOperator` | Compare two values | FirstExpression, SecondExpression, Operator |
|
|
14
|
-
| `VerifyRange` | Value within/outside range | Expression, LowerLimit, UpperLimit, VerificationType (IsWithin/IsNotWithin) |
|
|
15
|
-
| `VerifyControlAttribute` | Verify activity output | ActivityToTest, OutputArgument, Expression, Operator |
|
|
16
|
-
|
|
17
|
-
### Comparison Operators
|
|
18
|
-
Equality (=), Inequality (<>), GreaterThan (>), GreaterThanOrEqual (>=), LessThan (<), LessThanOrEqual (<=), Contains, RegexMatch
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Document Comparison (NET5+)
|
|
23
|
-
|
|
24
|
-
| Activity | Purpose | Key Arguments |
|
|
25
|
-
|----------|---------|---------------|
|
|
26
|
-
| `ComparePdfDocuments` | Diff two PDFs | BaselinePath, TargetPath, ComparisonType (Line/Word/Character), Rules, IncludeImages |
|
|
27
|
-
| `CompareText` | Diff two strings | BaselineText, TargetText, ComparisonType, OutputFilePath (HTML) |
|
|
28
|
-
| `CreateComparisonRule` | Custom ignore rules | RuleName, ComparisonRuleType (Regex/Wildcard), Pattern, UsePlaceholder |
|
|
29
|
-
|
|
30
|
-
### Comparison Output
|
|
31
|
-
- `Result` (bool): True if equivalent
|
|
32
|
-
- `Differences` (IEnumerable\<Difference\>): Each with Operation (Inserted/Deleted/Equal) and Text
|
|
33
|
-
- `SemanticDifferences`: AI analysis when InterpretDifferencesWithAutopilot=true
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Test Data Queue Activities
|
|
38
|
-
|
|
39
|
-
| Activity | Purpose | Key Arguments |
|
|
40
|
-
|----------|---------|---------------|
|
|
41
|
-
| `GetTestDataQueueItem` | Get next item | QueueName, MarkConsumed (default true) |
|
|
42
|
-
| `GetTestDataQueueItems` | Batch fetch with filter | QueueName, Status (All/OnlyConsumed/OnlyNotConsumed), Top, Skip |
|
|
43
|
-
| `NewAddTestDataQueueItem` | Add single item | QueueName, ItemInformation (Dict\<string, InArgument\>) |
|
|
44
|
-
| `BulkAddTestDataQueue` | Add from DataTable | QueueName, QueueItemsDataTable |
|
|
45
|
-
| `DeleteTestDataQueueItems` | Delete items | TestDataQueueItems (must have valid Ids) |
|
|
46
|
-
| ~~`AddTestDataQueueItem`~~ | **OBSOLETE** | Use NewAddTestDataQueueItem instead |
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Test Data Generation
|
|
51
|
-
|
|
52
|
-
| Activity | Output | Key Arguments |
|
|
53
|
-
|----------|--------|---------------|
|
|
54
|
-
| `RandomString` | string | Case (Lower/Upper/Camel/Mixed), Length (default 10) |
|
|
55
|
-
| `RandomNumber` | decimal | Min, Max, Decimals (default 0) |
|
|
56
|
-
| `RandomDate` | DateTime | MinDate, MaxDate |
|
|
57
|
-
| `RandomValue` | string | FilePath (one value per line, random selection) |
|
|
58
|
-
| `GivenName` | string | (from predefined list) |
|
|
59
|
-
| `LastName` | string | (from predefined list) |
|
|
60
|
-
| `Address` | Dict\<string, string\> | Country, City (both hidden in designer) |
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## Critical Gotchas
|
|
65
|
-
|
|
66
|
-
### Assertions
|
|
67
|
-
1. **ContinueOnFailure=true by default in designer activities** - assertions don't stop workflow; set to false for strict testing. **Note**: Coded workflow API defaults to `false` (opts?.ContinueOnError ?? false)
|
|
68
|
-
2. **Screenshot capture** available on both success and failure (separate flags, both default false)
|
|
69
|
-
3. **VerifyControlAttribute cannot be nested** inside another VerifyControlAttribute
|
|
70
|
-
4. **Type compatibility validated at CacheMetadata** - incompatible types cause design-time errors
|
|
71
|
-
5. **RegexMatch operator** uses full .NET regex engine
|
|
72
|
-
|
|
73
|
-
### Document Comparison
|
|
74
|
-
6. **ComparePdfDocuments creates visual diff PDFs** - `{filename}_result.pdf` for both baseline and target
|
|
75
|
-
7. **CompareText creates HTML diff report** at OutputFilePath (default "differences.html")
|
|
76
|
-
8. **Rules (regex/wildcard)** allow ignoring dynamic content (dates, IDs)
|
|
77
|
-
9. **Semantic analysis (Autopilot)** provides AI explanation separate from byte-level diff
|
|
78
|
-
|
|
79
|
-
### Test Data Queues
|
|
80
|
-
10. **Requires Orchestrator** - all queue operations go through IOrchestratorService
|
|
81
|
-
11. **MarkConsumed=true** prevents item from being returned again
|
|
82
|
-
12. **Batch fetch max 1000** items per internal API call
|
|
83
|
-
13. **Top=0 treated as null** (no limit)
|
|
84
|
-
14. **Delete requires valid Ids** - items must be previously retrieved
|
|
85
|
-
15. **BulkAdd DataTable columns must be unique** - throws InvalidArgumentsException
|
|
86
|
-
16. **Queue items stored as JSON** in Orchestrator
|
|
87
|
-
|
|
88
|
-
### Test Data Generation
|
|
89
|
-
17. **RandomValue reads from file** - file must exist with line-delimited values
|
|
90
|
-
18. **Address Country/City inputs hidden in designer** but available programmatically
|
|
91
|
-
19. **RandomDate validates MinDate < MaxDate** (skipped for expression arguments)
|
|
92
|
-
|
|
93
|
-
### Misc
|
|
94
|
-
20. **AttachDocument** uploads file to Orchestrator as test evidence
|
|
95
|
-
21. **CoverageMergeActivity is internal** (Browsable=false) - for test framework infrastructure only
|