@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,164 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// Offline semantic validator for UiPath Maestro BPMN XML.
|
|
3
|
-
//
|
|
4
|
-
// Pipeline:
|
|
5
|
-
// 1. Parse the BPMN with bpmn-moddle using the UiPath extension descriptor
|
|
6
|
-
// (same getModdle() + fromXML() pattern as PO.Frontend).
|
|
7
|
-
// 2. Reconstruct the PO.Frontend Node[]/Edge[]/CanvasState model (model.mjs).
|
|
8
|
-
// 3. Run ALL 19 PO.Frontend validation rules (rules.mjs) per diagram, plus a
|
|
9
|
-
// whole-model variable-existence check.
|
|
10
|
-
// 4. (Optional) Run the Maestro-original connection-liveness ping via uip CLI.
|
|
11
|
-
//
|
|
12
|
-
// Prints `VALID` and exits 0 when there are no ERROR-severity findings.
|
|
13
|
-
// Otherwise lists every finding (rule code + message) and exits non-zero.
|
|
14
|
-
// WARNING-severity findings are printed but do not gate.
|
|
15
|
-
//
|
|
16
|
-
// Usage: node validate-bpmn.mjs <bpmn-file> [resources]
|
|
17
|
-
// resources: comma-separated release names, or a numeric folder ID, for the
|
|
18
|
-
// optional solution-resource liveness ping (requires uip CLI auth).
|
|
19
|
-
import BpmnModdle from "bpmn-moddle";
|
|
20
|
-
import sax from "sax";
|
|
21
|
-
import descriptor from "./uipath-moddle.v1.json" with { type: "json" };
|
|
22
|
-
import { readFileSync, existsSync } from "fs";
|
|
23
|
-
import { execFileSync } from "child_process";
|
|
24
|
-
import { buildModel, collectKnownVariableIds, allNodes, allEdges } from "./model.mjs";
|
|
25
|
-
import { validateDiagram, validateVariableExistence, validateVariableNotSet, SEVERITY } from "./rules.mjs";
|
|
26
|
-
|
|
27
|
-
// Strict XML well-formedness check via sax's strict mode. Returns the first
|
|
28
|
-
// error message (with a line number) or null when the document is well-formed.
|
|
29
|
-
function strictXmlError(xml) {
|
|
30
|
-
const parser = sax.parser(true, {});
|
|
31
|
-
let error = null;
|
|
32
|
-
parser.onerror = (e) => {
|
|
33
|
-
if (!error) {
|
|
34
|
-
const line = (parser.line ?? 0) + 1;
|
|
35
|
-
error = `${e.message.split("\n")[0]} (near line ${line})`;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
try {
|
|
39
|
-
parser.write(xml).close();
|
|
40
|
-
} catch (e) {
|
|
41
|
-
if (!error) error = String(e.message ?? e).split("\n")[0];
|
|
42
|
-
}
|
|
43
|
-
return error;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// --- uip CLI resolution (cached) — used only for the liveness-ping extra. ---
|
|
47
|
-
let _uipBin;
|
|
48
|
-
function resolveUipBin() {
|
|
49
|
-
if (_uipBin !== undefined) return _uipBin;
|
|
50
|
-
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
51
|
-
const candidates = ["uip", `${home}/.bun/bin/uip`, `${home}/.local/bin/uip`, "/usr/local/bin/uip"];
|
|
52
|
-
for (const p of candidates) {
|
|
53
|
-
try {
|
|
54
|
-
if ((p.startsWith("/") || p.startsWith(home)) && !existsSync(p)) continue;
|
|
55
|
-
execFileSync(p, ["--version"], { encoding: "utf8", timeout: 5000, stdio: "pipe" });
|
|
56
|
-
_uipBin = p;
|
|
57
|
-
return p;
|
|
58
|
-
} catch {
|
|
59
|
-
/* keep trying */
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
_uipBin = null;
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function pingConnections(resourceArg) {
|
|
67
|
-
// Maestro-original extra: liveness-check bound IS connections. Best-effort;
|
|
68
|
-
// a missing/unauthenticated CLI is reported as a NOTE, never a hard failure.
|
|
69
|
-
const bin = resolveUipBin();
|
|
70
|
-
if (!bin) return { note: "uip CLI not found; skipped connection liveness ping." };
|
|
71
|
-
try {
|
|
72
|
-
const args = ["is", "connections", "ping", "--output", "json"];
|
|
73
|
-
if (/^\d+$/.test(resourceArg)) args.push("--folder", resourceArg);
|
|
74
|
-
const out = execFileSync(bin, args, { encoding: "utf8", timeout: 30000, stdio: "pipe" });
|
|
75
|
-
return { ok: true, raw: out.trim() };
|
|
76
|
-
} catch (e) {
|
|
77
|
-
return { note: `connection liveness ping unavailable: ${String(e.message || e).split("\n")[0]}` };
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const file = process.argv[2];
|
|
82
|
-
const resourceArg = process.argv[3];
|
|
83
|
-
if (!file) {
|
|
84
|
-
console.error("Usage: node validate-bpmn.mjs <bpmn-file> [resources]");
|
|
85
|
-
process.exit(1);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
const xml = readFileSync(file, "utf8");
|
|
89
|
-
|
|
90
|
-
// Strict XML well-formedness gate. bpmn-moddle's SAX parser (saxen) is lenient:
|
|
91
|
-
// it accepts unescaped `&`/`<`, `--` inside comments, and other malformed input
|
|
92
|
-
// that strict parsers — and the Studio Web canvas import — reject. A validator
|
|
93
|
-
// that is more permissive than the real import gives false confidence, so parse
|
|
94
|
-
// strictly first and refuse anything the import would refuse.
|
|
95
|
-
{
|
|
96
|
-
const err = strictXmlError(xml);
|
|
97
|
-
if (err) {
|
|
98
|
-
console.error(`WELL-FORMEDNESS ERROR: ${err}`);
|
|
99
|
-
process.exit(2);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
const moddle = new BpmnModdle({ uipath: descriptor });
|
|
104
|
-
|
|
105
|
-
let definitions;
|
|
106
|
-
try {
|
|
107
|
-
const result = await moddle.fromXML(xml);
|
|
108
|
-
definitions = result.rootElement;
|
|
109
|
-
if (result.warnings?.length) {
|
|
110
|
-
for (const w of result.warnings) console.error(`PARSE WARNING: ${w.message ?? w}`);
|
|
111
|
-
}
|
|
112
|
-
} catch (e) {
|
|
113
|
-
console.error(`SCHEMA ERROR: failed to parse BPMN XML: ${e.message ?? e}`);
|
|
114
|
-
process.exit(2);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// Build the model and run all rules.
|
|
118
|
-
const canvasState = buildModel(definitions);
|
|
119
|
-
const knownIds = collectKnownVariableIds(canvasState);
|
|
120
|
-
|
|
121
|
-
const findings = [];
|
|
122
|
-
for (const diagram of Object.values(canvasState.diagramsById)) {
|
|
123
|
-
// Skip the trivial root-only "single blank start, no edges" diagram, mirroring
|
|
124
|
-
// ValidateBpmnFlowUtils.validateBpmnFlow.
|
|
125
|
-
const realNodes = diagram.nodes.filter((n) => n.type !== "bpmn:Participant");
|
|
126
|
-
if (
|
|
127
|
-
diagram.diagramId === canvasState.rootDiagramId &&
|
|
128
|
-
realNodes.length === 1 &&
|
|
129
|
-
realNodes[0].type === "bpmn:StartEvent" &&
|
|
130
|
-
diagram.edges.length === 0
|
|
131
|
-
) {
|
|
132
|
-
continue;
|
|
133
|
-
}
|
|
134
|
-
findings.push(...validateDiagram(diagram, canvasState, { enableMissingRootVariableValidation: true }));
|
|
135
|
-
}
|
|
136
|
-
findings.push(...validateVariableExistence(allNodes(canvasState), allEdges(canvasState), knownIds));
|
|
137
|
-
findings.push(...validateVariableNotSet(allNodes(canvasState), allEdges(canvasState), knownIds, canvasState));
|
|
138
|
-
|
|
139
|
-
// Optional connection liveness ping (Maestro-original extra).
|
|
140
|
-
if (resourceArg) {
|
|
141
|
-
const ping = pingConnections(resourceArg);
|
|
142
|
-
if (ping.note) console.error(`NOTE: ${ping.note}`);
|
|
143
|
-
else if (ping.ok) console.error(`connection liveness ping ok`);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const errors = findings.filter((f) => f.severity === SEVERITY.ERROR);
|
|
147
|
-
const warnings = findings.filter((f) => f.severity === SEVERITY.WARNING);
|
|
148
|
-
|
|
149
|
-
const fmt = (f) => ` [${f.severity}] ${f.code}: ${f.message}${f.elementId ? ` (element: ${f.elementId})` : ""}`;
|
|
150
|
-
|
|
151
|
-
if (warnings.length) {
|
|
152
|
-
console.error("WARNINGS:");
|
|
153
|
-
for (const w of warnings) console.error(fmt(w));
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
if (errors.length === 0) {
|
|
157
|
-
console.log("VALID");
|
|
158
|
-
process.exit(0);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
console.error("ERRORS:");
|
|
162
|
-
for (const e of errors) console.error(fmt(e));
|
|
163
|
-
console.error(`\n${errors.length} blocking error(s), ${warnings.length} warning(s).`);
|
|
164
|
-
process.exit(1);
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Agents — Common Rules (both formats)
|
|
2
|
-
|
|
3
|
-
Judgment rules that apply to **both** coded and low-code agents. Read [`../rule-format.md`](../rule-format.md) and [`../rule-catalog-workflow.md`](../rule-catalog-workflow.md) first.
|
|
4
|
-
|
|
5
|
-
> **This catalog is judgment-only.** Deterministic agent checks (eval counts, tool counts, schema-property presence, set-membership, regex, run-artifact analysis) run in the `uip agent review` / `uip codedagent review` CLI, which the reviewer invokes **first** (SKILL.md Step 2.5). The CLI returns those findings in the same rule format. This file holds only rules that require an LLM to read source and reason — what a regex or count cannot decide reliably.
|
|
6
|
-
|
|
7
|
-
Companion files:
|
|
8
|
-
|
|
9
|
-
- [`agents-lowcode-rules.md`](agents-lowcode-rules.md) — low-code judgment rules
|
|
10
|
-
- [`agents-coded-rules.md`](agents-coded-rules.md) — coded judgment rules
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## SchemaChecker
|
|
15
|
-
|
|
16
|
-
| rule_id | severity | category | trigger | detection_method | suggested_fix |
|
|
17
|
-
|---|---|---|---|---|---|
|
|
18
|
-
| `SCHEMA_NO_DESCRIPTIONS` | judgment | schema | Input/output schema properties lack **informative** descriptions | Locate the schema (see [Schema location](#schema-location)). Read each property's `description`. Assess — not mere presence: is each description informative enough for the LLM to populate / consume the field correctly and for Studio Web to render a useful hint? A field named `id` described as `"the id"` adds no signal; a missing description on a non-obvious field is worse. Emit when a meaningful share of properties are undescribed or described with content that restates the field name. file = schema source. (The deterministic `>50%-missing` count runs in the review CLI; this rule judges informativeness.) | Add a `description` to each property that states what it holds, valid values, and format — Studio Web shows these as field hints and the LLM uses them as semantic signals. |
|
|
19
|
-
|
|
20
|
-
### Schema location
|
|
21
|
-
|
|
22
|
-
- **Coded** — Read `entry-points.json` if present; else `uipath.json` → `.entryPoints[0].input` / `.entryPoints[0].output`. The finding's `file` points to whichever source was read.
|
|
23
|
-
- **Low-code normalized** — Read the normalized JSON. Use `.input_schema` and `.output_schema`.
|
|
24
|
-
- **Low-code agent-builder** — Read `entry-points.json`. Use `.entryPoints[0].input` and `.entryPoints[0].output`.
|
|
25
|
-
|
|
26
|
-
Assess input and output schema independently — emit a separate finding per schema when each is weak.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## What this catalog cannot do
|
|
31
|
-
|
|
32
|
-
The agent applies these rules from the project source as it is *checked into the repo*. It cannot verify runtime behaviour (whether the LLM follows the prompt, whether tool selection is correct, whether guardrails fire) or validate live IDs (connection IDs, index names, recipients) — those require running the agent or calling APIs.
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Before/After Hooks Template
|
|
2
|
-
|
|
3
|
-
## IBeforeAfterRun on Individual Workflow/Test Case
|
|
4
|
-
|
|
5
|
-
**File: `TestLoginFlow.cs`**
|
|
6
|
-
|
|
7
|
-
```csharp
|
|
8
|
-
using UiPath.CodedWorkflows;
|
|
9
|
-
|
|
10
|
-
namespace {{PROJECT_NAME}}
|
|
11
|
-
{
|
|
12
|
-
public class TestLoginFlow : CodedWorkflow, IBeforeAfterRun
|
|
13
|
-
{
|
|
14
|
-
public void Before(BeforeRunContext context)
|
|
15
|
-
{
|
|
16
|
-
Log($"[BEFORE] Starting {context.RelativeFilePath}");
|
|
17
|
-
// Open browser, navigate to login page
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
public void After(AfterRunContext context)
|
|
21
|
-
{
|
|
22
|
-
Log($"[AFTER] Finished {context.RelativeFilePath}");
|
|
23
|
-
// Close browser, clean up
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
[TestCase]
|
|
27
|
-
public void Execute()
|
|
28
|
-
{
|
|
29
|
-
// Before() has already run
|
|
30
|
-
|
|
31
|
-
// Arrange
|
|
32
|
-
string username = "testuser";
|
|
33
|
-
|
|
34
|
-
// Act
|
|
35
|
-
var result = workflows.Login(username: username, password: "pass123");
|
|
36
|
-
|
|
37
|
-
// Assert
|
|
38
|
-
testing.VerifyExpression(result.success, "Login should succeed");
|
|
39
|
-
|
|
40
|
-
// After() will run automatically
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Partial Class CodedWorkflow — Hooks for ALL Files
|
|
47
|
-
|
|
48
|
-
**File: `CodedWorkflowHooks.cs`** (Coded Source File — NOT a workflow, no entry point)
|
|
49
|
-
|
|
50
|
-
```csharp
|
|
51
|
-
using UiPath.CodedWorkflows;
|
|
52
|
-
|
|
53
|
-
namespace {{PROJECT_NAME}}
|
|
54
|
-
{
|
|
55
|
-
public partial class CodedWorkflow : IBeforeAfterRun
|
|
56
|
-
{
|
|
57
|
-
public void Before(BeforeRunContext context)
|
|
58
|
-
{
|
|
59
|
-
Log($"[BEFORE] Execution started for {context.RelativeFilePath}");
|
|
60
|
-
|
|
61
|
-
// Example: Open application
|
|
62
|
-
// var app = uiAutomation.Open("myApp");
|
|
63
|
-
|
|
64
|
-
// Example: Log in
|
|
65
|
-
// Login("testuser", "password");
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
public void After(AfterRunContext context)
|
|
69
|
-
{
|
|
70
|
-
Log($"[AFTER] Execution finished for {context.RelativeFilePath}");
|
|
71
|
-
|
|
72
|
-
// Example: Close application
|
|
73
|
-
// uiAutomation.Close(app);
|
|
74
|
-
|
|
75
|
-
// Example: Clean up test data
|
|
76
|
-
// DeleteTestData();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Partial Class CodedWorkflow — Shared Logic (Without Hooks)
|
|
83
|
-
|
|
84
|
-
**File: `CodedWorkflowExtensions.cs`** (Coded Source File)
|
|
85
|
-
|
|
86
|
-
```csharp
|
|
87
|
-
using UiPath.CodedWorkflows;
|
|
88
|
-
|
|
89
|
-
namespace {{PROJECT_NAME}}
|
|
90
|
-
{
|
|
91
|
-
public partial class CodedWorkflow
|
|
92
|
-
{
|
|
93
|
-
// Shared helper available in all workflows and test cases
|
|
94
|
-
protected string GetEnvironmentUrl()
|
|
95
|
-
{
|
|
96
|
-
var env = system.GetAsset("Environment").ToString();
|
|
97
|
-
return env == "prod" ? "https://app.example.com" : "https://staging.example.com";
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// Shared constant
|
|
101
|
-
protected const int MaxRetries = 3;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
## Usage in Any Workflow
|
|
107
|
-
|
|
108
|
-
```csharp
|
|
109
|
-
[Workflow]
|
|
110
|
-
public void Execute()
|
|
111
|
-
{
|
|
112
|
-
string url = GetEnvironmentUrl(); // available via partial class
|
|
113
|
-
Log($"Using environment: {url}");
|
|
114
|
-
}
|
|
115
|
-
```
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# UiPath Coded Helper/Utility Classes Templates
|
|
2
|
-
|
|
3
|
-
Ready-to-use templates for UiPath coded class files. Replace placeholders in `{{PLACEHOLDER}}` format.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Helper/Utility Class (.cs) — No Attribute
|
|
8
|
-
|
|
9
|
-
```csharp
|
|
10
|
-
using System;
|
|
11
|
-
using System.Collections.Generic;
|
|
12
|
-
|
|
13
|
-
namespace {{PROJECT_NAME}}
|
|
14
|
-
{
|
|
15
|
-
public class {{CLASS_NAME}}
|
|
16
|
-
{
|
|
17
|
-
{{IMPLEMENTATION}}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
IMPORTANT!: Helper classes do NOT inherit from `CodedWorkflow`, do NOT have `[Workflow]` or `[TestCase]` attributes. They are NOT entry points and do not appear in the fileInfoCollection attribute from `project.json`.
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# UiPath Coded Test Cases Templates
|
|
2
|
-
|
|
3
|
-
Ready-to-use templates for UiPath coded test cases files. Replace placeholders in `{{PLACEHOLDER}}` format.
|
|
4
|
-
|
|
5
|
-
> **Using statements:** These templates include only the minimal required usings. Add service-specific usings based on actual usage — see [coding-guidelines.md](../references/coded/coding-guidelines.md) for the full mapping.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Coded Test Case (.cs) — Basic
|
|
10
|
-
|
|
11
|
-
```csharp
|
|
12
|
-
using System;
|
|
13
|
-
using System.Collections.Generic;
|
|
14
|
-
using UiPath.CodedWorkflows;
|
|
15
|
-
// Add service-specific usings as needed — see references/coding-guidelines.md
|
|
16
|
-
|
|
17
|
-
namespace {{PROJECT_NAME}}
|
|
18
|
-
{
|
|
19
|
-
public class {{CLASS_NAME}} : CodedWorkflow
|
|
20
|
-
{
|
|
21
|
-
[TestCase]
|
|
22
|
-
public void Execute()
|
|
23
|
-
{
|
|
24
|
-
// Arrange
|
|
25
|
-
{{ARRANGE}}
|
|
26
|
-
|
|
27
|
-
// Act
|
|
28
|
-
{{ACT}}
|
|
29
|
-
|
|
30
|
-
// Assert
|
|
31
|
-
testing.VerifyExpression({{ASSERTION}});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Coded Test Case (.cs) — Data-Driven with Default Parameters
|
|
38
|
-
|
|
39
|
-
```csharp
|
|
40
|
-
using System;
|
|
41
|
-
using System.Collections.Generic;
|
|
42
|
-
using UiPath.CodedWorkflows;
|
|
43
|
-
// Add service-specific usings as needed — see references/coding-guidelines.md
|
|
44
|
-
|
|
45
|
-
namespace {{PROJECT_NAME}}
|
|
46
|
-
{
|
|
47
|
-
public class {{CLASS_NAME}} : CodedWorkflow
|
|
48
|
-
{
|
|
49
|
-
[TestCase]
|
|
50
|
-
public void Execute(System.String {{paramName}} = "{{defaultValue}}")
|
|
51
|
-
{
|
|
52
|
-
// Arrange
|
|
53
|
-
{{ARRANGE}}
|
|
54
|
-
|
|
55
|
-
// Act
|
|
56
|
-
{{ACT}}
|
|
57
|
-
|
|
58
|
-
// Assert
|
|
59
|
-
testing.VerifyExpression({{ASSERTION}});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Coded Test Case (.cs) — Data-Driven with Test Data Queue
|
|
66
|
-
|
|
67
|
-
```csharp
|
|
68
|
-
using System;
|
|
69
|
-
using System.Collections.Generic;
|
|
70
|
-
using UiPath.CodedWorkflows;
|
|
71
|
-
// Add service-specific usings as needed — see references/coding-guidelines.md
|
|
72
|
-
|
|
73
|
-
namespace {{PROJECT_NAME}}
|
|
74
|
-
{
|
|
75
|
-
public class {{CLASS_NAME}} : CodedWorkflow
|
|
76
|
-
{
|
|
77
|
-
[TestCase]
|
|
78
|
-
public void Execute()
|
|
79
|
-
{
|
|
80
|
-
// Arrange — get test data from queue
|
|
81
|
-
var item = testing.GetTestDataQueueItem("{{QUEUE_NAME}}");
|
|
82
|
-
{{EXTRACT_FIELDS}}
|
|
83
|
-
|
|
84
|
-
// Act
|
|
85
|
-
{{ACT}}
|
|
86
|
-
|
|
87
|
-
// Assert
|
|
88
|
-
testing.VerifyExpression({{ASSERTION}});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
```
|