@uipath/skills 1.198.0-preview.21 → 1.199.0-preview.106
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 +4 -2
- package/hooks/send-telemetry.ps1 +19 -13
- package/hooks/send-telemetry.sh +19 -13
- package/package.json +1 -1
- package/skills/uipath-admin/SKILL.md +10 -7
- package/skills/uipath-admin/references/audit-commands.md +21 -10
- package/skills/uipath-admin/references/audit-workflow-guide.md +15 -6
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +6 -1
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +7 -1
- package/skills/uipath-agents/references/coded/embedding-in-flows.md +5 -5
- package/skills/uipath-agents/references/coded/flow-integration.md +1 -1
- package/skills/uipath-agents/references/coded/quickstart.md +3 -3
- package/skills/uipath-agents/references/coded-vs-lowcode-guide.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +39 -2
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +36 -2
- package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +4 -4
- package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +1 -1
- package/skills/uipath-agents/references/lowcode/critical-rules/critical-rules.md +1 -1
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +19 -9
- package/skills/uipath-agents/references/lowcode/solution-resources.md +2 -2
- package/skills/uipath-api-workflow/SKILL.md +14 -7
- package/skills/uipath-api-workflow/references/cli-reference.md +2 -2
- package/skills/uipath-api-workflow/references/connector-activity-discovery.md +1 -1
- package/skills/uipath-api-workflow/references/expressions-and-context.md +2 -2
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +74 -0
- package/skills/uipath-api-workflow/references/task-types.md +3 -3
- package/skills/uipath-api-workflow/references/troubleshooting.md +23 -10
- package/skills/uipath-coded-apps/SKILL.md +3 -3
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +2 -2
- package/skills/uipath-coded-apps/references/create-action-app.md +11 -3
- package/skills/uipath-coded-apps/references/create-web-app.md +9 -7
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +3 -1
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +145 -87
- package/skills/uipath-coded-apps/references/dashboards/primitives/state-file.md +2 -2
- package/skills/uipath-coded-apps/references/debug.md +44 -37
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +69 -616
- package/skills/uipath-coded-apps/references/sdk/conversational-agent.md +1 -1
- package/skills/uipath-coded-apps/references/sdk/data-fabric.md +3 -1
- package/skills/uipath-coded-apps/references/widgets/validation-station.md +169 -13
- package/skills/uipath-feedback/SKILL.md +12 -6
- package/skills/uipath-governance/references/auth-context.md +1 -1
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +115 -31
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +2 -1
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +2 -2
- package/skills/uipath-human-in-the-loop/SKILL.md +3 -3
- package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +2 -2
- package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +1 -1
- package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +2 -2
- package/skills/uipath-insights/SKILL.md +2 -2
- package/skills/uipath-ixp/SKILL.md +5 -5
- package/skills/uipath-ixp/references/cli-reference.md +1 -1
- package/skills/uipath-maestro-bpmn/SKILL.md +92 -8
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +5 -1
- package/skills/uipath-maestro-bpmn/references/diagnose/references/troubleshooting-guide.md +5 -0
- package/skills/uipath-maestro-bpmn/references/expression-authoring.md +16 -3
- package/skills/uipath-maestro-bpmn/references/operate/references/run.md +17 -3
- package/skills/uipath-maestro-bpmn/references/public-safety.md +15 -0
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +50 -22
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +17 -0
- package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +30 -2
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +54 -7
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +8 -4
- package/skills/uipath-maestro-case/SKILL.md +72 -34
- package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +1 -1
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +40 -20
- package/skills/uipath-maestro-case/assets/templates/sdd-viewer.html +2 -2
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +13 -8
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +1 -1
- package/skills/uipath-maestro-case/references/brownfield.md +13 -3
- package/skills/uipath-maestro-case/references/case-commands.md +6 -6
- package/skills/uipath-maestro-case/references/case-editing-operations.md +13 -13
- package/skills/uipath-maestro-case/references/case-schema.md +58 -47
- package/skills/uipath-maestro-case/references/connector-trigger-common.md +2 -2
- package/skills/uipath-maestro-case/references/evals/evals.json +124 -23
- package/skills/uipath-maestro-case/references/implementation.md +15 -15
- package/skills/uipath-maestro-case/references/phase-0-interview.md +119 -460
- package/skills/uipath-maestro-case/references/phased-execution.md +23 -17
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +3 -3
- package/skills/uipath-maestro-case/references/planning.md +48 -28
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +2 -1
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +2 -2
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +18 -2
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +12 -7
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +23 -7
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +3 -0
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +7 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +15 -6
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +17 -34
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +15 -13
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +14 -10
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +2 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +8 -2
- 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 +4 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +55 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +9 -6
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +10 -5
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +3 -3
- 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 +1 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +1 -0
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +2 -1
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +10 -4
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +74 -24
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +51 -8
- package/skills/uipath-maestro-case/references/registry-discovery.md +83 -29
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +96 -64
- package/skills/uipath-maestro-flow/SKILL.md +2 -1
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/greenfield.md +6 -6
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +4 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +4 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +5 -7
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +13 -12
- package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +2 -1
- package/skills/uipath-mcp-servers/SKILL.md +6 -6
- package/skills/uipath-mcp-servers/references/is-activity-workflow.md +17 -7
- package/skills/uipath-planner/SKILL.md +36 -24
- package/skills/uipath-planner/assets/templates/agent-sdd-template.md +111 -7
- package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +75 -11
- package/skills/uipath-planner/assets/templates/bpmn-sdd-template.md +429 -0
- package/skills/uipath-planner/assets/templates/case-sdd-template.md +114 -19
- package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +68 -5
- package/skills/uipath-planner/assets/templates/flow-sdd-template.md +84 -5
- package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +265 -26
- package/skills/uipath-planner/references/attended-reauth-pattern-guide.md +7 -1
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +11 -6
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +90 -86
- package/skills/uipath-planner/references/package-selection-guide.md +4 -2
- package/skills/uipath-planner/references/pdd-analysis-guide.md +34 -7
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +25 -3
- package/skills/uipath-planner/references/plan-and-tasks-format.md +7 -6
- package/skills/uipath-planner/references/platform-availability-guide.md +5 -2
- package/skills/uipath-planner/references/product-selection-guide.md +239 -21
- package/skills/uipath-planner/references/rpa-product-guide.md +22 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +123 -31
- package/skills/uipath-planner/references/tenant-library-search-guide.md +6 -4
- package/skills/uipath-planner/scripts/docx-extract.ps1 +59 -0
- package/skills/uipath-planner/scripts/sdd-to-docx.ps1 +74 -0
- package/skills/uipath-platform/SKILL.md +12 -3
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +7 -1
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +21 -2
- package/skills/uipath-platform/references/data-fabric/filter-platform-contract.md +2 -0
- package/skills/uipath-platform/references/data-fabric/records-query.md +12 -0
- package/skills/uipath-platform/references/integration-service/triggers.md +2 -0
- package/skills/uipath-platform/references/orchestrator/tenant-admin.md +3 -1
- package/skills/uipath-rpa/CLAUDE.md +12 -10
- package/skills/uipath-rpa/SKILL.md +62 -34
- package/skills/uipath-rpa/references/cli-reference.md +3 -1
- package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +1 -1
- package/skills/uipath-rpa/references/coded/coding-guidelines.md +18 -3
- package/skills/uipath-rpa/references/coded/operations-guide.md +8 -6
- package/skills/uipath-rpa/references/legacy/activity-docs/ActiveDirectory.md +2 -3
- package/skills/uipath-rpa/references/legacy/activity-docs/_INDEX.md +1 -1
- package/skills/uipath-rpa/references/library-authoring-guide.md +1 -1
- package/skills/uipath-rpa/references/powershell-interop-guide.md +1 -1
- package/skills/uipath-rpa/references/project-structure-guide.md +1 -1
- package/skills/uipath-rpa/references/testing-guide.md +1 -1
- package/skills/uipath-rpa/references/uia-starter-guide.md +216 -0
- package/skills/uipath-rpa/references/validation-guide.md +2 -0
- package/skills/uipath-rpa/references/xaml/workflow-guide.md +2 -2
- package/skills/uipath-solution/SKILL.md +8 -6
- package/skills/uipath-solution/references/develop-solution.md +14 -14
- package/skills/uipath-solution/references/pack-and-deploy.md +4 -0
- package/skills/uipath-solution/references/scenarios/intra-solution-references.md +1 -1
- package/skills/uipath-solution/references/scenarios/manual-edits.md +2 -2
- package/skills/uipath-solution/references/solution-overview.md +28 -1
- package/skills/uipath-tasks/SKILL.md +2 -2
- package/skills/uipath-tasks/references/action-center-urls.md +4 -5
- package/skills/uipath-troubleshoot/SKILL.md +15 -9
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/overview.md +19 -2
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-open-or-attach-failed.md +4 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-scope-errors.md +119 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/click-silent-no-op.md +76 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-failed.md +38 -11
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-file-design-time-errors.md +89 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/queue-operation-failed.md +91 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/trigger-scope-and-local-triggers-failed.md +106 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/type-into-wrong-or-incomplete-text.md +91 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +7 -2
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/overview.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-datatable-structure-mismatch.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-file-locked-or-invalid-path.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-helper-method-not-found.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-file-not-found.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-invalid-format.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-more-values-than-header.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-access-denied.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-cannot-set-unknown-member.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-invalid-delimiter.md +27 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-unsupported-encoding.md +27 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/summary.md +16 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-query-failures.md +27 -2
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/overview.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-card-failures.md +20 -31
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-scope-failures.md +7 -6
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-not-installed.md +72 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/null-reference-from-activity.md +150 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-sheet-not-found.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/{read-range-file-locked.md → workbook-file-locked.md} +54 -40
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-cell-failures.md +3 -3
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +5 -7
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/overview.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-403-401-auth.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-host-not-found.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-httpclient-reused-in-loop.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-stuck-tmp.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/investigation_guide.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/overview.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-document-rejected.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-license-or-endpoint-rejected.md +63 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-not-enabled-or-tenant-key.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-storage-or-taxonomy-missing.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/investigation_guide.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/overview.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/playbooks/broadcast-message-timeout.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/playbooks/broadcast-message-unauthorized-access.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/presentation.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/summary.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/investigation_guide.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/overview.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-activity-missing-or-not-loaded.md +37 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-add-comment-failures.md +50 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-scope-authentication-failures.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-scope-response-not-json-or-500.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-transition-issue-failures.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/presentation.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/summary.md +11 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/overview.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-smtp-mail-failures.md +161 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/summary.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/investigation_guide.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/overview.md +26 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-endpoint-and-authentication.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-engine-config-and-dependencies.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-input-and-runtime.md +51 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/investigation_guide.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/overview.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-corrupt-or-image-input.md +49 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-encrypted-or-wrong-password.md +51 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-file-not-found-or-not-pdf.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-invalid-page-range.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-read-ocr-no-engine.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/summary.md +11 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/overview.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-architecture-version-mismatch.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-hang-dotnet-runtime.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/summary.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/investigation_guide.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/overview.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-bapi-not-found.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-connection-failed.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-unsupported-bapi.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/summary.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/investigation_guide.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/overview.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/playbooks/connection-resolution-failure.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/playbooks/slack-api-error.md +65 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/summary.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/investigation_guide.md +13 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/overview.md +21 -9
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/compress-extract-files-failed.md +64 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/download-file-failed.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/file-folder-operation-failed.md +61 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-wrong-activity-type.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/queue-transaction-activity-failed.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/summary.md +6 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/investigation_guide.md +28 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/overview.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/playbooks/terminal-session-connection-failed.md +58 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/playbooks/terminal-session-null-reference.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/summary.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +10 -27
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/investigation_guide.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/overview.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-not-found.md +1 -10
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/browser-communication-failed.md +85 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-coordinate-off-screen.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-silent-no-op.md +79 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/dependency-version-conflict.md +66 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/disabled-element.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/napplicationcard-view-generation-failed.md +78 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +2 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-healing-disabled.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-healing-fix.md +4 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-manual.md +3 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/type-into-input-failed.md +148 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +5 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/add-picture-failures.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-interop-failures.md +5 -0
- package/skills/uipath-troubleshoot/references/presenting.md +3 -3
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/context-grounding-index-not-found.md +35 -24
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +14 -12
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/input-schema-validation-failure.md +23 -13
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-connection-disabled.md +6 -4
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-credentials.md +12 -9
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-element-instance.md +12 -9
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/llm-insufficient-information.md +20 -13
- package/skills/uipath-troubleshoot/references/products/agents/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/products/api-workflows/investigation_guide.md +52 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/overview.md +33 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/connection-auth-failure.md +49 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/expression-reference-error.md +32 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/output-undefined.md +39 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/publish-deploy-failure.md +38 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/run-not-successful.md +37 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/summary.md +14 -0
- package/skills/uipath-troubleshoot/references/products/assistant/investigation_guide.md +71 -0
- package/skills/uipath-troubleshoot/references/products/assistant/overview.md +44 -0
- package/skills/uipath-troubleshoot/references/products/assistant/playbooks/assistant-crash.md +38 -0
- package/skills/uipath-troubleshoot/references/products/assistant/playbooks/orchestrator-connection-failure.md +43 -0
- package/skills/uipath-troubleshoot/references/products/assistant/playbooks/process-missing-or-unstartable.md +41 -0
- package/skills/uipath-troubleshoot/references/products/assistant/playbooks/sign-in-failure.md +42 -0
- package/skills/uipath-troubleshoot/references/products/assistant/summary.md +18 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/overview.md +49 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/action-app-form-data-not-loading.md +66 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/api-401-after-login.md +51 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/api-403-folder-permission.md +51 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/cors-error-wrong-base-url.md +46 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/deploy-404-app-not-found.md +59 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/invalid-scope.md +70 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/isauthenticated-false-after-callback.md +59 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/redirect-uri-mismatch.md +59 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/summary.md +14 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-invalid.md +11 -10
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-not-resolved.md +3 -3
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-general-exception.md +1 -1
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/request-failed.md +2 -0
- package/skills/uipath-troubleshoot/references/products/maestro/error_codes.md +2 -2
- package/skills/uipath-troubleshoot/references/products/maestro/investigation_guide.md +6 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/autopilot-429.md +8 -5
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/expression-evaluation-errors.md +6 -0
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/gateway-no-outgoing-flow.md +6 -4
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-404.md +3 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/js-runtime-discrepancy.md +7 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/marker-input-null.md +4 -0
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/marker-invalid-cast.md +5 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/multi-instance-parallel.md +7 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +2 -0
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/personal-automation-quota.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/service-task-child-job-faulted.md +10 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/variable-expression-errors.md +6 -0
- package/skills/uipath-troubleshoot/references/products/maestro/summary.md +5 -5
- package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +2 -2
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-logon-failure.md +2 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-session-timeout.md +50 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-no-host.md +2 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stuck.md +2 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +1 -0
- package/skills/uipath-troubleshoot/references/products/studio/overview.md +34 -0
- package/skills/uipath-troubleshoot/references/products/studio/playbooks/studio-autopilot-unavailable.md +47 -0
- package/skills/uipath-troubleshoot/references/products/studio/summary.md +7 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/overview.md +12 -1
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/argument-exception.md +48 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/argument-out-of-range-exception.md +50 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/assign-linq-no-data-rows.md +78 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/assign-type-mismatch.md +91 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/directory-not-found-exception.md +47 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/if-condition-compiler-error.md +81 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/if-wrong-branch.md +85 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/index-out-of-range-exception.md +48 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/invalid-operation-exception.md +51 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/key-not-found-exception.md +45 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/null-reference-exception.md +2 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/visualbasicvalue-requires-compilation.md +47 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/summary.md +11 -0
- package/skills/uipath-troubleshoot/references/summary.md +138 -5
- package/version-manifest.json +2 -2
- package/skills/uipath-rpa/references/ui-automation-guide.md +0 -559
- package/skills/uipath-rpa/references/uia-configure-target-workflows.md +0 -188
- package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +0 -102
- package/skills/uipath-rpa/references/uia-prerequisites.md +0 -42
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/add-queue-item-failed.md +0 -58
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-excel-not-installed.md +0 -36
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-file-locked.md +0 -40
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-null-reference.md +0 -37
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-null-reference.md +0 -119
|
@@ -28,7 +28,7 @@ Build, debug, and deploy UiPath Coded Web Applications and Coded Action Apps usi
|
|
|
28
28
|
| **Coded Web App** | React/Vue/other frontend hosted on UiPath CDN | User-facing app accessed via a URL |
|
|
29
29
|
| **Coded Action App** | React form wired to UiPath Action Center | Rendered inside human task reviews in Maestro/Agent workflows |
|
|
30
30
|
|
|
31
|
-
> **Coded apps are not registered in `.uipx` solutions.** They have no `project.uiproj` / `project.json`, so `uip solution
|
|
31
|
+
> **Coded apps are not registered in `.uipx` solutions.** They have no `project.uiproj` / `project.json`, so `uip solution projects add` does not apply. A coded app can live alongside a solution directory but deploys independently via `uip codedapp publish` (and `uip codedapp deploy`), not via `uip solution pack` / `publish` / `deploy`.
|
|
32
32
|
|
|
33
33
|
## Critical Rules
|
|
34
34
|
|
|
@@ -42,7 +42,7 @@ Build, debug, and deploy UiPath Coded Web Applications and Coded Action Apps usi
|
|
|
42
42
|
8. **Base URL must use the API subdomain.** `https://api.uipath.com` not `https://cloud.uipath.com`. See the table below.
|
|
43
43
|
9. **`vite.config.ts` must always set `base: './'`.** The platform handles URL routing — apps must use relative asset paths. Do not use a routing name or a sub-path here.
|
|
44
44
|
10. **Use `getAppBase()` from `@uipath/uipath-typescript` for any absolute URL constructed at runtime** — router basename, image `src`, `fetch` paths. Deployed apps mount at a non-root prefix; `/`-rooted paths work locally but 404 after deploy. Vite's `base: './'` only fixes import-time references.
|
|
45
|
-
11. **`uip codedapp deploy` must run non-interactively.** Pass the folder key as `--folder-key <GUID>` (or as `UIPATH_FOLDER_KEY=<GUID>` env-var prefix — either works). The interactive folder picker fails in non-TTY contexts (CI, agent shells). If the user provides a folder **name**, resolve it to a key with `uip or folders list --output json` and match on the `Name` field (output rows are `{ Key, Name, Path, Description, Type, ParentKey }`). The `uip or ...` commands require the Orchestrator tool — install once via `uip tools install @uipath/orchestrator-tool` (check first with `uip tools list`).
|
|
45
|
+
11. **`uip codedapp deploy` must run non-interactively.** Pass the folder key as `--folder-key <GUID>` (or as `UIPATH_FOLDER_KEY=<GUID>` env-var prefix — either works). The interactive folder picker fails in non-TTY contexts (CI, agent shells). If the user provides a folder **name**, resolve it to a key with `uip or folders list --output json` and match on the `Name` field (output rows are `{ Key, Name, Path, Description, Type, ParentKey }`). A **personal workspace** is the row with `Type == "Personal"` — resolve its `Key` the same way. To deploy into a **new** folder, create it first with `uip or folders create "<NAME>" --output json` and read `Data.Key`. The `uip or ...` commands require the Orchestrator tool — install once via `uip tools install @uipath/orchestrator-tool` (check first with `uip tools list`).
|
|
46
46
|
12. **Guard against text overflow in every UI.** See [patterns.md](references/patterns.md) "Preventing Text Overflow".
|
|
47
47
|
13. **Inspect the DF schema before writing analytics, filters, or seeds.** Run `uip df entities get <ENTITY_ID> --output json` to inspect fields and types. At runtime, use `entities.getById(<id>)` from the app's authenticated session. DF doesn't behave like a typical RDBMS; see [sdk/data-fabric.md](references/sdk/data-fabric.md) "Anti-shapes & gotchas".
|
|
48
48
|
14. **Every list call returns ONE page — even with no options. There is no "give me everything" path.** Applies to `getAll`, `getAllRecords`, `queryRecordsById`, `getFileMetaData`, etc. `getAll()` with no options does NOT return all rows; the SDK sends no `pageSize` and the **server** applies its own cap, wrapped in a misleadingly-named `NonPaginatedResponse`. To list every row from a source that may exceed the cap, you MUST loop the cursor: `while (page.hasNextPage) { page = await getAll({ cursor: page.nextCursor }) }` and accumulate `items`. Reading `result.items.length` after a single call is almost always a bug. See [sdk/pagination.md](references/sdk/pagination.md).
|
|
@@ -164,7 +164,7 @@ To change any of these values, edit `uipath.json`.
|
|
|
164
164
|
2. **Build** — `npm run build`. Verify `ls dist/`.
|
|
165
165
|
3. **Pack** — `uip codedapp pack dist -n <name> --version <version>`. Produces `.uipath/<name>.<version>.nupkg`. Bump version if previously published.
|
|
166
166
|
4. **Publish** — `uip codedapp publish` (add `-t Action` for action apps). Verify `cat .uipath/app.config.json`.
|
|
167
|
-
5. **Deploy** — `uip codedapp deploy -n <name> --folder-key <GUID>`. Resolve the GUID from a
|
|
167
|
+
5. **Deploy** — `uip codedapp deploy -n <name> --folder-key <GUID>`. Resolve the GUID from the chosen folder: a personal workspace (`Type == "Personal"`), a named existing folder, or a freshly `uip or folders create`d one — via `uip or folders list --output json`. Dashboards additionally choose a **deploy mode** (standalone / governance-pinned / governance) that sets `--tags`; see [dashboards deploy impl](references/dashboards/plugins/deploy/impl.md). Never let the command go interactive. Share the app URL with the user.
|
|
168
168
|
|
|
169
169
|
## SDK Module Imports
|
|
170
170
|
|
|
@@ -121,8 +121,8 @@ const REGISTRY = JSON.parse(readFileSync(resolve(__dirname, 'capability-registry
|
|
|
121
121
|
* @property {string} routingName - Permanent URL slug (e.g. "agent-health-x7k2")
|
|
122
122
|
* @property {string} orgName
|
|
123
123
|
* @property {string} tenantName
|
|
124
|
-
* @property {string} cloudUrl - e.g. https://
|
|
125
|
-
* @property {string} apiUrl - e.g. https://
|
|
124
|
+
* @property {string} cloudUrl - e.g. https://cloud.uipath.com
|
|
125
|
+
* @property {string} apiUrl - e.g. https://api.uipath.com
|
|
126
126
|
* @property {string} [clientId] - External OAuth app client ID
|
|
127
127
|
*/
|
|
128
128
|
|
|
@@ -173,11 +173,19 @@ Ask:
|
|
|
173
173
|
> It needs these scopes: `<deduced-scopes>`
|
|
174
174
|
>
|
|
175
175
|
> - If yes, paste it
|
|
176
|
-
> - If no, say **"create one"** and I'll
|
|
176
|
+
> - If no, say **"create one"** and I'll create it via the `uip admin` CLI"
|
|
177
177
|
|
|
178
|
-
**If the user says "create one":**
|
|
178
|
+
**If the user says "create one":** Create it with the `uip admin external-apps` CLI — read [oauth-client-setup.md](oauth-client-setup.md) for prerequisites and full flags. Confirm `uip` is authenticated, then create with the scopes above, passing `<cloud-host>` as the redirect URI:
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
```bash
|
|
181
|
+
uip admin external-apps create "<app name>" \
|
|
182
|
+
--non-confidential \
|
|
183
|
+
--user-scope "<deduced-scopes>" \
|
|
184
|
+
--redirect-uri "<cloud-host>" \
|
|
185
|
+
--output json
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
`--redirect-uri` is required by the CLI, so pass `<cloud-host>` to satisfy it; the value is inert at runtime — an action app runs inside Action Center's iframe with a host-injected session and never performs a browser OAuth redirect (Critical Rule 17). The External App is needed only for its client ID and scopes (written to `uipath.json`). Parse `id` from the response as the client ID. On `403` / no auth, use the [Manual portal fallback](oauth-client-setup.md#manual-portal-fallback).
|
|
181
189
|
|
|
182
190
|
Store the resulting client ID as `<client-id>`.
|
|
183
191
|
|
|
@@ -43,7 +43,7 @@ Please answer these questions to continue:
|
|
|
43
43
|
|
|
44
44
|
**5. Client ID** — do you have an existing OAuth External Application client ID with the scopes above?
|
|
45
45
|
- If yes, paste it
|
|
46
|
-
- If no, say **"create one"** and I'll
|
|
46
|
+
- If no, say **"create one"** and I'll create it via the `uip admin` CLI
|
|
47
47
|
|
|
48
48
|
**6. Default UI styling** — apply UiPath's Apollo Vertex design system (`@uipath/apollo-wind` components, semantic tokens, and a light/dark theme toggle out of the box)?
|
|
49
49
|
- `yes` *(recommended)* — apollo-wind + `next-themes` on top of Tailwind: Apollo Vertex design system, light/dark theme toggle out of the box
|
|
@@ -53,17 +53,19 @@ Please answer these questions to continue:
|
|
|
53
53
|
|
|
54
54
|
**Wait for the user's reply before proceeding.**
|
|
55
55
|
|
|
56
|
-
### Step 2.5 —
|
|
56
|
+
### Step 2.5 — Create the External Application (only if user said "create one")
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
Create it with the `uip admin external-apps` CLI — read [oauth-client-setup.md](oauth-client-setup.md) for prerequisites and full flags. Confirm `uip` is authenticated (`uip login status --output json`), then:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
uip admin external-apps create "<app name>" \
|
|
62
|
+
--non-confidential \
|
|
63
|
+
--user-scope "<scopes from Step 1>" \
|
|
64
|
+
--redirect-uri "http://localhost:5173,http://localhost:5173/" \
|
|
65
|
+
--output json
|
|
62
66
|
```
|
|
63
67
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Once confirmed available, read [oauth-client-setup.md](oauth-client-setup.md) and follow it exactly to create the External Application with the scopes from Step 1 and redirect URI `http://localhost:5173`. That reference has all the browser automation details.
|
|
68
|
+
Parse `id` from the response — that is the Client ID. If the CLI returns `403` (no admin permission) or can't authenticate, use the [Manual portal fallback](oauth-client-setup.md#manual-portal-fallback).
|
|
67
69
|
|
|
68
70
|
### Step 3 — Resolve org name (if not provided)
|
|
69
71
|
|
|
@@ -9,6 +9,7 @@ By the time you read this you have already loaded all docs, checked state, and f
|
|
|
9
9
|
3. **The build runs in a subagent when one is available, else inline (Phase 4).** After confirmation, the main thread prints one "Building…" line. **Best effort: if the host agent already provides a sub-task/subagent mechanism (the `Task` tool in Claude Code; the equivalent in Codex/Gemini/others), use it automatically** — spawn a build subagent so the build command, events, tsc/npm output, and retries stay hidden, then relay its returned milestone block. **If no such mechanism exists, fall back to running the same build steps inline in the main thread** — the build and its output are identical; only the noise-hiding is lost. Subagent use is an optimization, never a hard requirement.
|
|
10
10
|
4. Never read `build-dashboard.mjs` — this file documents everything.
|
|
11
11
|
5. Never run directory exploration via any shell — `ls`, `find`, `dir`, `Get-ChildItem`, `tree`.
|
|
12
|
+
6. **A build is ALWAYS compiler-driven — never hand-roll.** Author `intent.json` (pure metadata) + one `metrics/<name>.ts` per metric, then run `build-dashboard.mjs intent.json`. NEVER hand-write `src/metrics/`, `src/dashboard/`, or a bespoke React app and `npm run build` it directly: a hand-rolled build authors no `intent.json`, so the compiler cannot edit/upgrade it and validation fails. This holds for EVERY build — including custom (T3) metrics, governance (`AgentTraces.getGovernance*`), job routing/classification (`ProcessType` filters), and detail-view / row-link dashboards. No metric is "too custom" for the compiler; express it as `intent.json` + a `metrics/*.ts` module. Hand-edited `src/` is valid ONLY in an already-**ejected** project (CAPABILITY.md § Regimes), never a fresh build.
|
|
12
13
|
|
|
13
14
|
---
|
|
14
15
|
|
|
@@ -240,7 +241,7 @@ Never re-ask for anything the user already provided. The same pattern applies to
|
|
|
240
241
|
**Creating the OAuth app:** Run this single command. `--redirect-uri` takes **comma-separated** values — register BOTH the local dev server and the org portal base, so login works in dev and after deploy:
|
|
241
242
|
|
|
242
243
|
- `http://localhost:25173` — local dev server
|
|
243
|
-
- `<CLOUD_URL>/<ORG>/portal_` — deployed app base; `<CLOUD_URL>` and `<ORG>` are the `cloudUrl` (`Data.BaseUrl`) and `orgName` (`Data.Organization`) extracted in Phase 1, so they track the logged-in environment (e.g. `https://
|
|
244
|
+
- `<CLOUD_URL>/<ORG>/portal_` — deployed app base; `<CLOUD_URL>` and `<ORG>` are the `cloudUrl` (`Data.BaseUrl`) and `orgName` (`Data.Organization`) extracted in Phase 1, so they track the logged-in environment (e.g. `https://cloud.uipath.com/acme/portal_`)
|
|
244
245
|
|
|
245
246
|
```bash
|
|
246
247
|
uip admin external-apps create "UiPath Dashboard - <DASHBOARD_NAME>" \
|
|
@@ -348,6 +349,7 @@ Building **[Dashboard Name]**…
|
|
|
348
349
|
The build subagent prompt:
|
|
349
350
|
|
|
350
351
|
> You are the dashboard build executor. You NEVER surface raw output or file edits — your final message is the only thing shown.
|
|
352
|
+
> 0. **Build ONLY via the compiler.** Author `intent.json` + `metrics/*.ts`, then run `build-dashboard.mjs intent.json`. NEVER hand-write `src/metrics/`/`src/dashboard/` or run your own bundler — even for custom (T3) metrics, governance, `ProcessType` routing, or detail-view/row-link features. A hand-rolled build authors no `intent.json` and fails validation.
|
|
351
353
|
> 1. Read `<SKILL_BASE_DIR>/references/dashboards/plugins/build/impl.md` §§ "Phase 3.5" and "Build subagent — execution" and follow them exactly.
|
|
352
354
|
> 2. All work happens inside the pre-warmed project folder `<ROUTING>`, which already exists in the current working directory. Reference it ONLY by this relative name — NEVER type an absolute `/tmp/…` path (a mistyped character silently builds a sibling project). Author `<ROUTING>/intent.json` (pure metadata — `schemaVersion: 2`, no `fnBody`, `"projectDir": "."`) and one `<ROUTING>/metrics/<name>.ts` per metric (`export const fetchData: MetricFn`), writing each module from the SDK references and applying the Phase 3.5 cross-check. Implement exactly this approved plan:
|
|
353
355
|
> - Project: dashboardName=`<NAME>`, routingName=`<ROUTING>`, projectDir=`"."`, orgName=`<ORG>`, tenantName=`<TENANT>`, cloudUrl=`<CLOUD_URL>`, apiUrl=`<API_URL>`, timeRange=`<RANGE>`, clientId=`<CLIENT_ID or empty>`
|
|
@@ -4,7 +4,7 @@ Publishes a built dashboard to Automation Cloud as a Coded Web App.
|
|
|
4
4
|
|
|
5
5
|
**Pipeline order:** Production build → Pack → Publish → Deploy.
|
|
6
6
|
|
|
7
|
-
> **What the user should see:** The deploy plan (Step 4), progress ticks, and the final URL. All other steps are silent — run commands, read outputs in context, never echo raw JSON or bash output to the user.
|
|
7
|
+
> **What the user should see:** The deploy plan (Step 3), the mode/folder choices (Step 4), progress ticks, and the final URL. All other steps are silent — run commands, read outputs in context, never echo raw JSON or bash output to the user.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -18,128 +18,185 @@ uip login status --output json
|
|
|
18
18
|
|
|
19
19
|
Check `Data.Status === "Logged in"`. If not, stop and ask the user to run `uip login`.
|
|
20
20
|
|
|
21
|
-
Read current deployment state from `.dashboard/state.json` — extract `app.name`, `app.routingName`, `app.semver`, `deployment.systemName`, `deployment.folderKey`, `deployment.folderName`.
|
|
21
|
+
Read current deployment state from `.dashboard/state.json` — extract `app.name`, `app.routingName`, `app.semver`, `deployment.systemName`, `deployment.folderKey`, `deployment.folderName`, `deployment.pinnedToGovernance`.
|
|
22
22
|
|
|
23
23
|
If `routingName` is empty: tell the user to run the build first.
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
## Step 0 —
|
|
27
|
+
## Step 0 — Classify deploy type
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
- `deployment.systemName` is empty → **Fresh deploy**
|
|
30
|
+
- `deployment.systemName` is set → **Upgrade** — keep the mode and folder from the prior deploy (`deployment.pinnedToGovernance` + `deployment.folderName`/`folderKey`); the plan re-confirms but Step 4 asks nothing.
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|--------|---------------|------|-----------------|
|
|
33
|
-
| **Governance / admin dashboard** | the `AdminDashboards` folder, pinnable to the Governance section *(pinning is an Agentic Governance **preview** feature — see Step 4)* | `governance` (+ `dashboard` if pinned) | yes — Administrators get Folder Administrator on AdminDashboards |
|
|
34
|
-
| **Standard dashboard app** | a regular Orchestrator folder the user chooses | `dashboard` | no |
|
|
32
|
+
---
|
|
35
33
|
|
|
36
|
-
|
|
37
|
-
- **Governance** when any widget's metric is a governance / runtime-compliance metric — its name starts with or equals `violations-`, `agents-by-violations`, `agent-governance-violations`, `recent-violations`, `rule-evaluations-`, `rule-compliance`, `agent-compliance-report`, `policy-denials`, `governance-verdicts`.
|
|
38
|
-
- **Standard** otherwise — a dashboard that happens to show agent health / jobs / KPIs is a normal app, not a governance dashboard.
|
|
34
|
+
## Step 1 — Set the publish version
|
|
39
35
|
|
|
40
|
-
|
|
36
|
+
The version used for pack + publish (Steps 7–8) is `NEXT_SEMVER`, derived by deploy type:
|
|
41
37
|
|
|
42
|
-
|
|
38
|
+
- **Fresh deploy** (`deployment.systemName` empty): first publish — use `app.semver` as-is. `NEXT_SEMVER = <CURRENT_SEMVER>` (no bump; the version doesn't exist yet).
|
|
39
|
+
- **Upgrade** (`deployment.systemName` set): the current version is **already published**, so you **MUST** bump before pack/publish — re-publishing the same version fails with "version already exists". This bump is mandatory, not optional; never pack/publish an upgrade at `<CURRENT_SEMVER>`. Compute the next patch:
|
|
43
40
|
|
|
44
|
-
|
|
41
|
+
```bash
|
|
42
|
+
node -e "
|
|
43
|
+
const [a,b,c] = process.argv[1].split('.').map(Number)
|
|
44
|
+
process.stdout.write([a, b, c + 1].join('.'))
|
|
45
|
+
" <CURRENT_SEMVER>
|
|
46
|
+
```
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
This gives `NEXT_SEMVER`. Pack (Step 7) and Publish (Step 8) MUST pass `--version "<NEXT_SEMVER>"`.
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
Step 8 (Publish) still auto-bumps and retries on a 409 / "already exists" as a backstop — but on an Upgrade you bump here first; do not skip the bump and rely on the retry alone.
|
|
49
51
|
|
|
50
|
-
|
|
52
|
+
---
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
## Step 2 — Compute recommended mode and folder (no side effects)
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
Two independent decisions drive the deploy: **mode** (governance treatment → tags) and **folder** (where it lands). Compute recommendations here; the user confirms/overrides in Steps 3–4.
|
|
55
57
|
|
|
56
|
-
|
|
57
|
-
node "<SKILL_BASE_DIR>/assets/scripts/dashboards/setup-admin-folder.mjs" "AdminDashboards" "<PROJECT_DIR>"
|
|
58
|
-
```
|
|
58
|
+
**Mode** — three end states:
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
| Mode | `--tags` | Elevated role provisioning |
|
|
61
|
+
|------|----------|----------------------------|
|
|
62
|
+
| Governance dashboard, pinned to Governance UI | `governance,dashboard` | yes, on the target **shared** folder |
|
|
63
|
+
| Governance dashboard, not pinned | `governance` | yes, on the target **shared** folder |
|
|
64
|
+
| Standalone coded app | `dashboard` | none |
|
|
61
65
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
3. Reads existing role assignments before assigning — `roles assign` replaces all roles, so the script builds the full union to avoid removing existing access.
|
|
66
|
-
4. Persists `folderKey` and `folderName` into `.dashboard/state.json`.
|
|
66
|
+
Recommend a mode from `.dashboard/state.json` `widgets`:
|
|
67
|
+
- **Governance (pinned)** when any widget's metric starts with or equals `violations-`, `agents-by-violations`, `agent-governance-violations`, `recent-violations`, `rule-evaluations-`, `rule-compliance`, `agent-compliance-report`, `policy-denials`, `governance-verdicts`.
|
|
68
|
+
- **Standalone** otherwise — a dashboard that happens to show agent health / jobs / KPIs is a normal app, not a governance dashboard.
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
**Folder** — three options: **Personal workspace** · **Existing folder** (user names it) · **Create a new folder**. Recommend:
|
|
71
|
+
- **Governance modes → `AdminDashboards`** (the governance home; provisioned in Step 5).
|
|
72
|
+
- **Standalone → Personal workspace** (zero-config, private to the user).
|
|
69
73
|
|
|
70
|
-
|
|
74
|
+
**Upgrade short-circuit:** if `deployment.systemName` is set, keep the state-implied mode (`deployment.pinnedToGovernance` + the tags used before) and folder (`deployment.folderName`/`folderKey`). Step 4 asks nothing.
|
|
71
75
|
|
|
72
|
-
|
|
76
|
+
**Capture user wording:** if the request already names a mode ("as a governance dashboard, pinned") and/or a folder ("in a new folder called X" / "to my personal workspace"), treat those as settled — the matching Step-4 question is skipped.
|
|
73
77
|
|
|
74
78
|
---
|
|
75
79
|
|
|
76
|
-
## Step
|
|
80
|
+
## Step 3 — Show deploy plan
|
|
77
81
|
|
|
78
|
-
|
|
79
|
-
|
|
82
|
+
`<MODE_LABEL>` / `<FOLDER_LABEL>` are the recommended (or wording-settled) values from Step 2.
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Your **<APP_NAME>** is ready to be deployed.
|
|
86
|
+
|
|
87
|
+
📦 Version: <SEMVER> → <NEXT_SEMVER> (or "1.0.0 (first publish)" on a fresh deploy)
|
|
88
|
+
🔗 URL path: <ROUTING_NAME>
|
|
89
|
+
🎯 Mode: <MODE_LABEL> (recommended — <why>, or "kept from last deploy" on upgrade)
|
|
90
|
+
📁 Folder: <FOLDER_LABEL> (recommended — <why>)
|
|
91
|
+
🔄 Type: Fresh deploy OR Updating existing deployment
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Governance mode + fresh deploy + shared-folder target** — also show:
|
|
95
|
+
```
|
|
96
|
+
⚠️ Governance deploy provisions the <FOLDER_LABEL> folder and grants Administrators
|
|
97
|
+
Folder Administrator on it — an elevated permission the coding agent will ask you
|
|
98
|
+
to approve once.
|
|
99
|
+
```
|
|
100
|
+
**Governance + pinned** — append:
|
|
101
|
+
```
|
|
102
|
+
Pinning surfaces the dashboard in the Governance section, an Agentic Governance
|
|
103
|
+
preview feature — effective only if your org is enrolled in the preview. Either
|
|
104
|
+
way the dashboard deploys and is reachable at its URL.
|
|
105
|
+
```
|
|
106
|
+
**Standalone, or ANY Personal-workspace target** — show no elevated-permissions warning (deploying there assigns no roles).
|
|
107
|
+
|
|
108
|
+
End the deploy plan with: `Confirm to deploy, or tell me what to change.` — **pure text, no tool calls in this response. HALT.**
|
|
80
109
|
|
|
81
110
|
---
|
|
82
111
|
|
|
83
|
-
## Step
|
|
112
|
+
## Step 4 — On confirm: settle mode, then folder
|
|
84
113
|
|
|
85
|
-
|
|
114
|
+
On the user's reply:
|
|
115
|
+
- **Change request / cancel** → handle it; re-present the plan if changed.
|
|
116
|
+
- **Upgrade** (`systemName` set) → skip both questions; go to Step 5 with the kept mode/folder.
|
|
86
117
|
|
|
87
|
-
|
|
88
|
-
- **Upgrade** (`deployment.systemName` set): the current version is **already published**, so you **MUST** bump before pack/publish — re-publishing the same version fails with "version already exists". This bump is mandatory, not optional; never pack/publish an upgrade at `<CURRENT_SEMVER>`. Compute the next patch:
|
|
118
|
+
Otherwise this is a **fresh deploy**: ask the two SHORT structured-choice questions below (SKILL.md Rule 18), recommended option first and suffixed "(Recommended)". **Never** put them in the same message as the plan — they fire on this later, short turn.
|
|
89
119
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
120
|
+
> **When an interactive user is present, ALWAYS present Question 1 (mode) on a fresh deploy.** The Step-2 inference only decides which option is pre-marked "(Recommended)" — with a human present it does **NOT** let you silently auto-pick a mode. Deploying as *standalone* without asking is a bug: an agent-health / jobs / KPI dashboard is merely *recommended* standalone, but the user may deliberately want it as a governance dashboard, so show all three and let them choose. A bare "deploy" / "confirm" / "yes" does **not** settle the mode — ask.
|
|
121
|
+
>
|
|
122
|
+
> **Skip Question 1 ONLY when:** (a) the user's wording already named the mode ("deploy as a governance dashboard, pinned" / "just deploy as a standalone app"); or (b) the user told you not to ask / to proceed without confirmation, or the run is non-interactive / automated (e.g. CI) — then use the **recommended** mode and proceed without asking (never block a headless deploy on a question). The **same two carve-outs** govern Question 2 (folder): ask when interactive, otherwise use the recommended folder.
|
|
123
|
+
|
|
124
|
+
**Question 1 — mode** (ask when a human is present; skip per carve-outs (a)/(b) above):
|
|
125
|
+
|
|
126
|
+
| Option | Meaning |
|
|
127
|
+
|--------|---------|
|
|
128
|
+
| **Governance dashboard, pinned to Governance UI** | governance access + surfaced in the Governance section (`governance,dashboard`) |
|
|
129
|
+
| **Governance dashboard, not pinned** | governance access only (`governance`) |
|
|
130
|
+
| **Standalone coded app** | a regular dashboard app (`dashboard`) |
|
|
131
|
+
|
|
132
|
+
> ⚠️ **Pinning is a preview feature.** When offering a pinned option, state: *"Pinning surfaces the dashboard in the Governance section — an Agentic Governance preview feature, so it only takes effect if your org is enrolled in the preview. Either way the dashboard deploys and is reachable at its URL."* If the org isn't enrolled, the deploy still succeeds and the app is fully usable via its URL — only the Governance-UI pin has no visible effect until preview access is granted (contact your UiPath representative).
|
|
133
|
+
|
|
134
|
+
**Question 2 — folder** (ask when a human is present; skip per carve-outs (a)/(b) above). Present these **three named options**, recommended first. **"Create a new folder" MUST appear as its own selectable option — do NOT fold it into the free-text / "type something" escape** (the escape is the separate 4th slot per Rule 18). The three are distinct *actions*, not just "type a name":
|
|
96
135
|
|
|
97
|
-
|
|
136
|
+
| Option | Mechanism |
|
|
137
|
+
|--------|-----------|
|
|
138
|
+
| **An existing folder** | deploy into a folder that already exists; resolve its key by name. Offer a **concrete** default, not the generic word "existing": **`AdminDashboards`** for a governance mode, or a shared team folder (e.g. **`Shared`**) for standalone. The user may name a different existing folder in free text. |
|
|
139
|
+
| **Create a new folder** | the user gives a name; you run `uip or folders create` (governance shared folder → provision via `setup-admin-folder.mjs`) and deploy into it |
|
|
140
|
+
| **Personal workspace** | your own workspace, private to you |
|
|
98
141
|
|
|
99
|
-
|
|
142
|
+
Recommended (first, suffixed "(Recommended)"): the existing-folder default — **`AdminDashboards`** for a governance mode; a shared team folder (e.g. `Shared`) for a standalone dashboard (a dashboard is usually team-facing; offer Personal workspace as the private alternative).
|
|
143
|
+
|
|
144
|
+
Free-text replies (including a bare folder name) remain valid and take precedence.
|
|
100
145
|
|
|
101
146
|
---
|
|
102
147
|
|
|
103
|
-
## Step
|
|
148
|
+
## Step 5 — Resolve and provision the chosen folder
|
|
104
149
|
|
|
105
|
-
|
|
150
|
+
Resolve the chosen folder to `folderKey` and persist `deployment.folderKey`/`folderName` in `.dashboard/state.json`.
|
|
106
151
|
|
|
107
|
-
|
|
108
|
-
Your **<APP_NAME>** is ready to be deployed.
|
|
152
|
+
**If `deployment.folderKey` is already set** (upgrade / prior run) — skip this entire step.
|
|
109
153
|
|
|
110
|
-
|
|
111
|
-
🔗 URL path: <ROUTING_NAME>
|
|
112
|
-
📁 Folder: <FOLDER_NAME>
|
|
113
|
-
🔄 Type: Fresh deploy OR Updating existing deployment
|
|
114
|
-
```
|
|
154
|
+
**Governance mode targeting a SHARED folder** (AdminDashboards, or any user-named/newly-created shared folder — anything except Personal workspace) — provision via the script (silent — no output to user until "<FOLDER_NAME> folder is ready"):
|
|
115
155
|
|
|
116
|
-
|
|
156
|
+
```bash
|
|
157
|
+
node "<SKILL_BASE_DIR>/assets/scripts/dashboards/setup-admin-folder.mjs" "<FOLDER_NAME>" "<PROJECT_DIR>"
|
|
117
158
|
```
|
|
118
|
-
|
|
119
|
-
|
|
159
|
+
|
|
160
|
+
`<FOLDER_NAME>` is the chosen governance folder (`AdminDashboards` by default). `<PROJECT_DIR>` is the dashboard project directory (e.g. `<cwd>/agent-health-x7k2`). The script reads `.dashboard/state.json`, exits immediately if already provisioned, else:
|
|
161
|
+
|
|
162
|
+
1. Looks up the Folder Administrator role key, the Administrators group key, and the folder in parallel.
|
|
163
|
+
2. Creates the folder if it does not exist.
|
|
164
|
+
3. Reads existing role assignments before assigning — `roles assign` replaces all roles, so the script builds the full union to avoid removing existing access.
|
|
165
|
+
4. Persists `folderKey` and `folderName` into `.dashboard/state.json`.
|
|
166
|
+
|
|
167
|
+
> ⚠️ The script's role assignment step grants elevated folder permissions. The coding agent will ask for explicit approval — this is expected.
|
|
168
|
+
|
|
169
|
+
If the script fails with "Administrators group not found": run `uip or users list --username "Administrators" --output json` and show the user the available groups.
|
|
170
|
+
|
|
171
|
+
Tell the user: "<FOLDER_NAME> folder is ready."
|
|
172
|
+
|
|
173
|
+
**Personal workspace** (any mode) — resolve, no provisioning:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
uip or folders list --output json
|
|
120
177
|
```
|
|
121
|
-
**(standard only)** Show no elevated-permissions warning — deploying to a regular folder assigns no roles.
|
|
122
178
|
|
|
123
|
-
|
|
179
|
+
Pick the `Data[]` row where `Type == "Personal"`, read its `Key`. Persist `folderKey`/`folderName`. No folder is created and no roles are assigned — a governance dashboard in a personal workspace needs no role provisioning, since the owner already has full access. If no `Personal` row is found, show the folder list and ask the user to pick another option.
|
|
124
180
|
|
|
125
|
-
**
|
|
126
|
-
- Change request / cancel → handle it; re-present if changed
|
|
127
|
-
- **(standard target)** Any confirmation → proceed with `--tags "dashboard"`, ask nothing. There is no Governance pinning for a standard dashboard.
|
|
128
|
-
- **(governance target)** Confirmation that already settles pinning (e.g. "deploy and pin" / "deploy without pinning") → proceed with the matching tags, ask nothing
|
|
129
|
-
- **(governance target)** Bare confirmation → ask ONE short structured-choice question (SKILL.md Rule 18): *"Pin this dashboard to the Governance UI?"*
|
|
181
|
+
**Existing folder by name** (standalone) — resolve per SKILL.md Rule 11:
|
|
130
182
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
| **Deploy without pinning** | Deploy only (`--tags "governance"`) |
|
|
183
|
+
```bash
|
|
184
|
+
uip or folders list --output json
|
|
185
|
+
```
|
|
135
186
|
|
|
136
|
-
|
|
187
|
+
Match on `Name`, read `Key`. Persist.
|
|
188
|
+
|
|
189
|
+
**Create a new folder** (standalone) —
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
uip or folders create "<FOLDER_NAME>" --output json
|
|
193
|
+
```
|
|
137
194
|
|
|
138
|
-
|
|
195
|
+
Capture `Data.Key`. If it fails "already exists," resolve the existing folder's key from `uip or folders list` instead. Persist.
|
|
139
196
|
|
|
140
197
|
---
|
|
141
198
|
|
|
142
|
-
## Step
|
|
199
|
+
## Step 6 — Production build
|
|
143
200
|
|
|
144
201
|
```bash
|
|
145
202
|
cd <PROJECT_DIR> && npm run build
|
|
@@ -159,11 +216,11 @@ process.stdout.write(html.includes('uipath:org-name') ? 'CONFIG_OK' : 'CONFIG_MI
|
|
|
159
216
|
"
|
|
160
217
|
```
|
|
161
218
|
|
|
162
|
-
If it prints `CONFIG_MISSING`, `uipath.json` lacked `orgName` at build time — re-run the build (the build script writes `uipath.json`) and re-check. **Never deploy a `CONFIG_MISSING` bundle** — it loads blank in the browser. **Skip this check for template builds** (Step
|
|
219
|
+
If it prints `CONFIG_MISSING`, `uipath.json` lacked `orgName` at build time — re-run the build (the build script writes `uipath.json`) and re-check. **Never deploy a `CONFIG_MISSING` bundle** — it loads blank in the browser. **Skip this check for template builds** (Step 7b) — a tenant-neutral template intentionally omits the org name.
|
|
163
220
|
|
|
164
221
|
---
|
|
165
222
|
|
|
166
|
-
## Step
|
|
223
|
+
## Step 7 — Pack (silent)
|
|
167
224
|
|
|
168
225
|
`-n` is the **friendly Title Case display name** (state.json `app.name`, e.g. `"Jobs Health Dashboard"`) — **never the routing slug.** The CLI sanitizes it to a slug (`jobshealthdashboard`) internally for package matching, but uses the friendly name as the display name in the catalog and Governance UI. Passing the slug makes the dashboard show up as `jobshealthdashboard`; the friendly name reads "Jobs Health Dashboard". Use the **same** `-n` for pack, publish, and deploy.
|
|
169
226
|
|
|
@@ -173,7 +230,7 @@ cd <PROJECT_DIR> && uip codedapp pack dist -n "<APP_NAME>" --version "<NEXT_SEMV
|
|
|
173
230
|
|
|
174
231
|
---
|
|
175
232
|
|
|
176
|
-
### Step
|
|
233
|
+
### Step 7b — Template packaging (only when shipping a reusable template)
|
|
177
234
|
|
|
178
235
|
A **template** is a dashboard distributed in the ejected regime: one artifact carrying both the deploy face (`dist/`) and the agent-modifiable source. Before `pack`, stage the source + manifest into `dist/_source/`:
|
|
179
236
|
|
|
@@ -187,11 +244,11 @@ This stages a **tenant-neutral** modify-face (`intent.json`, `src/`, config file
|
|
|
187
244
|
|
|
188
245
|
**Tenant-neutral runtime config.** A template build (`intent.template: true`) writes a scope-only `uipath.json` (no org/tenant/base-url/client-id), so the plugin injects only the `uipath:scope` meta tag — **no** tenant identity is baked into the bundle. At runtime the UiPath Apps host injects the remaining `<meta name="uipath:*">` config tags (org/tenant/base-url/client-id) and loads the app with `?host=embed`; the scaffold's `useAuth` calls `new UiPath()`, which reads that config and delegates the token to the host. So the same bundle is portable across tenants.
|
|
189
246
|
|
|
190
|
-
> **Skip the CONFIG_OK check (Step
|
|
247
|
+
> **Skip the CONFIG_OK check (Step 6) for template builds.** That check greps `dist/index.html` for the org-name meta tag, which a tenant-neutral template intentionally omits — it would false-fail. Config arrives from host-injected meta tags at runtime instead.
|
|
191
248
|
|
|
192
249
|
---
|
|
193
250
|
|
|
194
|
-
## Step
|
|
251
|
+
## Step 8 — Publish (silent)
|
|
195
252
|
|
|
196
253
|
```bash
|
|
197
254
|
cd <PROJECT_DIR> && uip codedapp publish -n "<APP_NAME>" --version "<NEXT_SEMVER>" --output json
|
|
@@ -205,12 +262,12 @@ Read the JSON output (silent — no output shown until success or error):
|
|
|
205
262
|
|
|
206
263
|
---
|
|
207
264
|
|
|
208
|
-
## Step
|
|
265
|
+
## Step 9 — Deploy
|
|
209
266
|
|
|
210
|
-
Set tags
|
|
211
|
-
- **
|
|
212
|
-
- **Governance
|
|
213
|
-
- **Governance
|
|
267
|
+
Set tags from the chosen **mode** (Step 2/4):
|
|
268
|
+
- **Standalone** → tags = `"dashboard"`
|
|
269
|
+
- **Governance, pinned** → tags = `"governance,dashboard"`
|
|
270
|
+
- **Governance, not pinned** → tags = `"governance"`
|
|
214
271
|
|
|
215
272
|
Two flags differ from pack/publish — getting these wrong is the most common deploy failure:
|
|
216
273
|
|
|
@@ -257,7 +314,7 @@ Use the new routing name in a fresh deploy call. Retry up to 3 times.
|
|
|
257
314
|
|
|
258
315
|
---
|
|
259
316
|
|
|
260
|
-
## Step
|
|
317
|
+
## Step 10 — Update state.json
|
|
261
318
|
|
|
262
319
|
```bash
|
|
263
320
|
node -e "
|
|
@@ -278,7 +335,7 @@ fs.renameSync(fp + '.tmp', fp)
|
|
|
278
335
|
|
|
279
336
|
---
|
|
280
337
|
|
|
281
|
-
## Step
|
|
338
|
+
## Step 11 — Report
|
|
282
339
|
|
|
283
340
|
```
|
|
284
341
|
🎉 **<APP_NAME>** is live.
|
|
@@ -309,7 +366,7 @@ Always: "To update after making changes, say 'deploy this dashboard' again."
|
|
|
309
366
|
| Deploy "not been published" but you passed `--version` | Remove `--version` from the deploy call — deploy resolves the latest version itself |
|
|
310
367
|
| Deploy "routing name must be unique" on an upgrade | You passed `--path-name` on an upgrade — omit it; routing already exists |
|
|
311
368
|
| Deploy path-name conflict (fresh deploy) | Generate new suffix, retry deploy only (pack/publish already done) |
|
|
312
|
-
| "Agentic Governance is a preview feature and is not enabled for your organization" (on a pinned/governance deploy) | Not a deploy failure — the app IS deployed and reachable at its URL. Governance pinning is preview-gated: the pin just won't surface in the Governance section until the org is enrolled. Report success with the URL, add the preview note (Step
|
|
369
|
+
| "Agentic Governance is a preview feature and is not enabled for your organization" (on a pinned/governance deploy) | Not a deploy failure — the app IS deployed and reachable at its URL. Governance pinning is preview-gated: the pin just won't surface in the Governance section until the org is enrolled. Report success with the URL, add the preview note (Step 11), and tell the user to contact their UiPath representative for preview access. Do NOT retry or bump the version. |
|
|
313
370
|
| state.json missing | Tell user to run the build first |
|
|
314
371
|
|
|
315
372
|
## Rules
|
|
@@ -318,5 +375,6 @@ Always: "To update after making changes, say 'deploy this dashboard' again."
|
|
|
318
375
|
- `--version` goes on **pack and publish only — NOT deploy.** Deploy resolves the latest published version; passing `--version` causes a false "has not been published yet" error.
|
|
319
376
|
- `--path-name` goes on **fresh deploy only** — it sets the URL slug. On an upgrade the routing already exists; re-passing it errors "routing name must be unique."
|
|
320
377
|
- Routing name is permanent after the first successful deploy.
|
|
321
|
-
- Always include `--tags
|
|
322
|
-
-
|
|
378
|
+
- Always include `--tags`, sourced from the chosen **mode**: standalone → `dashboard`; governance, not pinned → `governance`; governance, pinned → `governance,dashboard`.
|
|
379
|
+
- Choose **mode** and **folder** as two independent decisions (Steps 2–4). Mode sets `--tags`; only a governance mode targeting a **shared** folder provisions `setup-admin-folder.mjs` and assigns elevated roles. A Personal-workspace target never provisions roles; standalone never provisions roles.
|
|
380
|
+
- Recommend the mode from state.json metrics and the folder from the mode (governance→AdminDashboards, standalone→Personal workspace); the user overrides either via the Step-4 structured choice or free-text.
|
|
@@ -14,10 +14,10 @@ Per-project metadata. Read at every build start. Written by build script on succ
|
|
|
14
14
|
"routingName": "operations-health-x7k2",
|
|
15
15
|
"semver": "1.0.0"
|
|
16
16
|
},
|
|
17
|
-
"env": "
|
|
17
|
+
"env": "cloud",
|
|
18
18
|
"org": "appsdev",
|
|
19
19
|
"tenant": "appsdevDefault",
|
|
20
|
-
"cloudUrl": "https://
|
|
20
|
+
"cloudUrl": "https://cloud.uipath.com",
|
|
21
21
|
"timeRange": "30d",
|
|
22
22
|
"widgets": {
|
|
23
23
|
"MemoryCallsTrend": {
|