@uipath/skills 1.201.0-preview.621 → 1.202.0-preview.635
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/.cursor-plugin/plugin.json +1 -1
- package/CODEOWNERS +41 -29
- package/README.md +1 -0
- package/assets/skill-status.json +13 -2
- package/assets/uip-catalog-snapshot.json +95 -46
- package/package.json +2 -1
- package/skills/uipath-admin/SKILL.md +107 -197
- package/skills/uipath-admin/references/audit-commands.md +69 -120
- package/skills/uipath-admin/references/audit-workflow-guide.md +101 -152
- package/skills/uipath-admin/references/authorization/authorization-commands.md +121 -210
- package/skills/uipath-admin/references/authorization/check-access.md +39 -63
- package/skills/uipath-admin/references/authorization/grant-permissions.md +38 -49
- package/skills/uipath-admin/references/authorization/permission-catalog.md +32 -34
- package/skills/uipath-admin/references/authorization/role-assignment-management.md +96 -99
- package/skills/uipath-admin/references/authorization/role-management.md +113 -142
- package/skills/uipath-admin/references/diagnose/CAPABILITY.md +13 -14
- package/skills/uipath-admin/references/diagnose/{references/failure-modes.md → failure-modes.md} +90 -46
- package/skills/uipath-admin/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +21 -14
- package/skills/uipath-admin/references/external-app-management.md +42 -39
- package/skills/uipath-admin/references/identity-commands.md +72 -625
- package/skills/uipath-admin/references/identity-troubleshoot-guide.md +73 -95
- package/skills/uipath-admin/references/ip-restriction/bypass-rule-management.md +25 -54
- package/skills/uipath-admin/references/ip-restriction/enforcement-management.md +19 -31
- package/skills/uipath-admin/references/ip-restriction/ip-range-management.md +48 -45
- package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +89 -146
- package/skills/uipath-admin/references/key-concepts.md +24 -0
- package/skills/uipath-admin/references/organization-management.md +49 -70
- package/skills/uipath-admin/references/organizations-commands.md +39 -74
- package/skills/uipath-admin/references/pat-management.md +25 -38
- package/skills/uipath-admin/references/robot-account-management.md +16 -14
- package/skills/uipath-admin/references/smtp-management.md +19 -14
- package/skills/uipath-admin/references/tenant-management.md +1 -1
- package/skills/uipath-admin/references/tenants-commands.md +82 -148
- package/skills/uipath-admin/references/user-management.md +70 -56
- package/skills/uipath-agents/SKILL.md +4 -3
- package/skills/uipath-agents/references/authentication.md +4 -3
- package/skills/uipath-agents/references/coded/capabilities/datafabric.md +465 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +12 -6
- package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
- package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +48 -16
- package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +1 -1
- package/skills/uipath-agents/references/coded/lifecycle/deployment.md +11 -1
- package/skills/uipath-agents/references/coded/quickstart.md +11 -8
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +3 -3
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +19 -2
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -2
- package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +409 -155
- package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
- package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
- package/skills/uipath-aops/SKILL.md +313 -0
- package/skills/uipath-aops/assets/templates/pipeline-dto-template.json +15 -0
- package/skills/uipath-aops/references/discovery-flow.md +312 -0
- package/skills/uipath-aops/references/migration-guide.md +146 -0
- package/skills/uipath-aops/references/pipeline-dto-guide.md +276 -0
- package/skills/uipath-aops/references/save-and-run-guide.md +156 -0
- package/skills/uipath-api-workflow/SKILL.md +48 -6
- package/skills/uipath-api-workflow/assets/templates/file-base64-roundtrip-example.json +154 -0
- package/skills/uipath-api-workflow/assets/templates/nested-control-flow-example.json +0 -1
- package/skills/uipath-api-workflow/references/cli-reference.md +20 -1
- package/skills/uipath-api-workflow/references/expressions-and-context.md +19 -0
- package/skills/uipath-api-workflow/references/files-and-base64.md +153 -0
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +3 -2
- package/skills/uipath-api-workflow/references/task-types.md +89 -3
- package/skills/uipath-api-workflow/references/testing-and-evals.md +224 -0
- package/skills/uipath-api-workflow/references/troubleshooting.md +124 -4
- package/skills/uipath-coded-apps/SKILL.md +4 -2
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1 -1
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +11 -1
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +5 -3
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +1 -0
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +2 -0
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +18 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +4 -0
- package/skills/uipath-connector-builder/SKILL.md +7 -5
- package/skills/uipath-connector-builder/references/debugging.md +5 -1
- package/skills/uipath-connector-builder/references/element-json.md +3 -1
- package/skills/uipath-connector-builder/references/standard-resources.md +37 -6
- package/skills/uipath-functions/SKILL.md +134 -222
- package/skills/uipath-functions/references/js/authoring-guide.md +141 -0
- package/skills/uipath-functions/references/js/bindings-guide.md +120 -0
- package/skills/uipath-functions/references/js/calling-uipath-apis-guide.md +112 -0
- package/skills/uipath-functions/references/js/coded-app-wiring-guide.md +103 -0
- package/skills/uipath-functions/references/js/deployment-guide.md +109 -0
- package/skills/uipath-functions/references/js/http-semantics-guide.md +80 -0
- package/skills/uipath-functions/references/js/job-mode-guide.md +114 -0
- package/skills/uipath-functions/references/js/local-dev-guide.md +107 -0
- package/skills/uipath-functions/references/python/workflow-guide.md +224 -0
- package/skills/uipath-governance/SKILL.md +9 -8
- package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +36 -8
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +14 -12
- package/skills/uipath-governance/references/compliance-pack/disable/impl.md +5 -3
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +7 -5
- package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +14 -7
- package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +3 -1
- package/skills/uipath-governance/references/compliance-pack/preview-gate.md +1 -1
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +4 -2
- package/skills/uipath-governance/references/diagnose/CAPABILITY.md +12 -12
- package/skills/uipath-governance/references/diagnose/{references/failure-modes.md → failure-modes.md} +5 -5
- package/skills/uipath-governance/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +2 -2
- package/skills/uipath-governance/references/disambiguation-guide.md +15 -7
- package/skills/uipath-human-in-the-loop/SKILL.md +107 -9
- package/skills/uipath-human-in-the-loop/references/hitl-casetask-action.md +413 -0
- package/skills/uipath-insights/SKILL.md +21 -14
- package/skills/uipath-insights/references/alerts-reads-guide.md +242 -0
- package/skills/uipath-insights/references/filter-discovery-guide.md +1 -1
- package/skills/uipath-insights/references/jobs-commands-guide.md +2 -2
- package/skills/uipath-ixp/references/cli-reference.md +1 -1
- package/skills/uipath-ixp/references/improve-prompts-guide.md +5 -6
- package/skills/uipath-maestro-bpmn/SKILL.md +87 -15
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +10 -10
- package/skills/uipath-maestro-bpmn/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +1 -1
- package/skills/uipath-maestro-bpmn/references/expression-authoring.md +12 -2
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -12
- package/skills/uipath-maestro-bpmn/references/operate/{references/run.md → run.md} +2 -2
- package/skills/uipath-maestro-bpmn/references/operate/{references/ship.md → ship.md} +3 -3
- package/skills/uipath-maestro-bpmn/references/patterns/ai-decision-review-guide.md +138 -0
- package/skills/uipath-maestro-bpmn/references/patterns/approval-chain-guide.md +136 -0
- package/skills/uipath-maestro-bpmn/references/patterns/composing-guide.md +113 -0
- package/skills/uipath-maestro-bpmn/references/patterns/external-wait-guide.md +145 -0
- package/skills/uipath-maestro-bpmn/references/patterns/failure-escalation-guide.md +103 -0
- package/skills/uipath-maestro-bpmn/references/patterns/high-volume-batch-guide.md +107 -0
- package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/patterns/smart-triage-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +15 -0
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +67 -36
- package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +6 -5
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +23 -5
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +101 -53
- package/skills/uipath-maestro-case/SKILL.md +23 -24
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +30 -17
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -5
- package/skills/uipath-maestro-case/references/brownfield.md +3 -3
- package/skills/uipath-maestro-case/references/case-commands.md +8 -4
- package/skills/uipath-maestro-case/references/case-editing-operations.md +19 -19
- package/skills/uipath-maestro-case/references/case-schema.md +17 -3
- package/skills/uipath-maestro-case/references/connector-integration.md +25 -16
- package/skills/uipath-maestro-case/references/connector-trigger-impl.md +15 -15
- package/skills/uipath-maestro-case/references/connector-trigger-planning.md +32 -29
- package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -1
- package/skills/uipath-maestro-case/references/evals/evals.json +11 -11
- package/skills/uipath-maestro-case/references/implementation.md +74 -44
- package/skills/uipath-maestro-case/references/phased-execution.md +23 -21
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +28 -23
- package/skills/uipath-maestro-case/references/planning.md +37 -252
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +8 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +11 -10
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +12 -12
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +10 -9
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +16 -14
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +15 -15
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +20 -21
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +38 -38
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +30 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +44 -28
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -10
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +27 -23
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +25 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +30 -19
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +8 -7
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +7 -7
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +21 -17
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +29 -21
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +23 -21
- package/skills/uipath-maestro-case/references/registry-discovery.md +5 -5
- package/skills/uipath-maestro-flow/.maintenance/README.md +35 -28
- package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +19 -1
- package/skills/uipath-maestro-flow/.maintenance/check-links.sh +3 -0
- package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +2 -2
- package/skills/uipath-maestro-flow/SKILL.md +66 -76
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +75 -72
- package/skills/uipath-maestro-flow/references/author/brownfield.md +90 -0
- package/skills/uipath-maestro-flow/references/author/{references/editing-operations-cli.md → editing-operations-cli.md} +9 -4
- package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +373 -0
- package/skills/uipath-maestro-flow/references/author/editing-operations.md +103 -0
- package/skills/uipath-maestro-flow/references/author/{references/greenfield.md → greenfield.md} +32 -20
- package/skills/uipath-maestro-flow/references/author/planning-arch.md +342 -0
- package/skills/uipath-maestro-flow/references/author/planning-impl.md +283 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +227 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agent/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/batch-transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +449 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/impl.md +20 -18
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +427 -0
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +185 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/impl.md +5 -0
- package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
- package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +178 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/hitl/planning.md +14 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/impl-connector.md +4 -4
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/impl.md +6 -6
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/impl.md +4 -4
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/impl.md +8 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
- package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
- package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/rpa/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/impl.md +6 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/impl.md +5 -5
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/subflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
- package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
- package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
- package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +241 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +39 -37
- package/skills/uipath-maestro-flow/references/diagnose/{references/failure-modes.md → failure-modes.md} +22 -22
- package/skills/uipath-maestro-flow/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +60 -1
- package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +27 -25
- package/skills/uipath-maestro-flow/references/evaluate/{references/commands-reference.md → commands-reference.md} +58 -7
- package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
- package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
- package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +21 -21
- package/skills/uipath-maestro-flow/references/operate/{references/manage.md → manage.md} +4 -4
- package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
- package/skills/uipath-maestro-flow/references/operate/{references/ship.md → ship.md} +5 -5
- package/skills/uipath-maestro-flow/references/shared/action-nodes.md +30 -22
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +76 -184
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +49 -60
- package/skills/uipath-maestro-flow/references/shared/file-format.md +32 -11
- package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +49 -104
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +66 -103
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +4 -4
- package/skills/uipath-planner/SKILL.md +1 -1
- package/skills/uipath-planner/assets/templates/case/case-sdd-template.md +5 -3
- package/skills/uipath-planner/references/case/case-design-lane-guide.md +1 -1
- package/skills/uipath-planner/references/case/case-design-layers-guide.md +2 -2
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -1
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +3 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +1 -0
- package/skills/uipath-planner/scripts/case/audit_sdd.py +77 -1
- package/skills/uipath-platform/SKILL.md +6 -4
- package/skills/uipath-platform/references/integration-service/activities.md +7 -4
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +28 -0
- package/skills/uipath-platform/references/integration-service/resources.md +11 -0
- package/skills/uipath-platform/references/integration-service/triggers.md +2 -2
- package/skills/uipath-platform/references/licensing/diagnose/CAPABILITY.md +80 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/failure-modes.md +147 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md +125 -0
- package/skills/uipath-platform/references/licensing/licensing.md +3 -0
- package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +5 -0
- package/skills/uipath-platform/references/orchestrator/run-jobs.md +11 -2
- package/skills/uipath-platform/references/traces/feedback.md +4 -4
- package/skills/uipath-platform/references/traces/traces.md +1 -1
- package/skills/uipath-process-mining/SKILL.md +6 -6
- package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +10 -8
- package/skills/uipath-process-mining/references/model-editing.md +1 -1
- package/skills/uipath-process-mining/references/querying.md +4 -3
- package/skills/uipath-review/SKILL.md +171 -541
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +73 -92
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +4 -0
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +73 -180
- package/skills/uipath-review/references/architecture-assessment-guide.md +93 -105
- package/skills/uipath-review/references/review-workflow-guide.md +1 -1
- package/skills/uipath-review/references/rpa/modern-studio-issues.md +44 -44
- package/skills/uipath-review/references/rpa/rpa-common-issues.md +251 -321
- package/skills/uipath-review/references/rpa/rpa-review-checklist.md +1 -1
- package/skills/uipath-review/references/rule-catalog-workflow.md +25 -45
- package/skills/uipath-review/references/rule-format.md +21 -21
- package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +1 -1
- package/skills/uipath-rpa/CLAUDE.md +4 -5
- package/skills/uipath-rpa/SKILL.md +40 -246
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/FindText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetColorAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetCursorPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetField.md +13 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetFieldAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetScreenArea.md +27 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursor.md +3 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursorToText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendControlKey.md +2 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeys.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeysSecure.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetField.md +14 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetFieldAtPosition.md +4 -7
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/_common-options.md +29 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/authoring-paths.md +58 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +197 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitFieldText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +9 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities.json +271 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/coded/coded-api.md +61 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/overview.md +76 -0
- package/skills/uipath-rpa/references/cli-reference.md +63 -29
- package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +59 -1
- package/skills/uipath-rpa/references/coded/operations-guide.md +2 -1
- package/skills/uipath-rpa/references/debugging.md +29 -12
- package/skills/uipath-rpa/references/environment-setup.md +54 -1
- package/skills/uipath-rpa/references/execution-maps-guide.md +10 -9
- package/skills/uipath-rpa/references/legacy/activity-docs/_INVOKE-CODE.md +1 -1
- package/skills/uipath-rpa/references/uia-starter-guide.md +46 -8
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +3 -4
- package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +7 -8
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +132 -42
- package/skills/uipath-solution/SKILL.md +9 -6
- package/skills/uipath-solution/references/activate-and-manage.md +11 -6
- package/skills/uipath-solution/references/develop-solution.md +39 -28
- package/skills/uipath-solution/references/pack-and-deploy.md +49 -1
- package/skills/uipath-solution/references/scenarios/failure-modes.md +1 -1
- package/skills/uipath-solution/references/scenarios/intra-solution-references.md +3 -3
- package/skills/uipath-solution/references/scenarios/manual-edits.md +1 -1
- package/skills/uipath-solution/references/scenarios.md +2 -2
- package/skills/uipath-solution/references/solution-overview.md +15 -6
- package/skills/uipath-tasks/SKILL.md +11 -6
- package/skills/uipath-tasks/references/task-assignment.md +5 -0
- package/skills/uipath-tasks/references/task-catalogs.md +7 -4
- package/skills/uipath-tasks/references/task-completion.md +3 -1
- package/skills/uipath-tasks/references/task-data.md +3 -3
- package/skills/uipath-tasks/references/task-lifecycle.md +11 -0
- package/skills/uipath-tasks/references/task-metadata.md +4 -3
- package/skills/uipath-test/SKILL.md +13 -28
- package/skills/uipath-test/references/failure-triage-guide.md +90 -0
- package/skills/uipath-test/references/playwright-first-mile-guide.md +2 -2
- package/skills/uipath-test/references/publish-and-link-guide.md +0 -1
- package/skills/uipath-test/references/test-result-report-guide.md +1 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +1 -1
- package/skills/uipath-troubleshoot/references/presenting.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/generic-error-400.md +4 -4
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-400.md +2 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/job-operation-timeout.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +1 -1
- package/version-manifest.json +2 -2
- package/skills/uipath-maestro-case/scripts/audit_plan.py +0 -231
- package/skills/uipath-maestro-flow/references/author/references/brownfield.md +0 -93
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +0 -545
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +0 -131
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -638
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -306
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +0 -229
- package/skills/uipath-maestro-flow/references/author/references/plugins/batch-transform/impl.md +0 -174
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +0 -741
- package/skills/uipath-maestro-flow/references/author/references/plugins/delay/impl.md +0 -75
- package/skills/uipath-maestro-flow/references/author/references/plugins/end/impl.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +0 -204
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +0 -201
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/impl.md +0 -43
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/planning.md +0 -29
- package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +0 -121
- package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +0 -230
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/impl.md +0 -198
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md +0 -71
- package/skills/uipath-maestro-flow/references/author/references/plugins/switch/planning.md +0 -38
- package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +0 -48
- package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +0 -287
- package/skills/uipath-maestro-flow/references/evaluate/references/eval-sets-guide.md +0 -226
- package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +0 -82
- package/skills/uipath-maestro-flow/references/operate/references/run.md +0 -99
- /package/skills/uipath-maestro-bpmn/references/diagnose/{references/failure-modes.md → failure-modes.md} +0 -0
- /package/skills/uipath-maestro-bpmn/references/operate/{references/manage.md → manage.md} +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/delay/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/end/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/switch/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/terminate/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/evaluators-guide.md → evaluators-guide.md} +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/running-guide.md → running-guide.md} +0 -0
|
@@ -6,6 +6,7 @@ How to resolve reference fields — fields whose values must be looked up from a
|
|
|
6
6
|
|
|
7
7
|
## Contents
|
|
8
8
|
- Reference IDs Are Connection-Scoped (CRITICAL)
|
|
9
|
+
- When the Lookup Call Fails (CRITICAL)
|
|
9
10
|
- Reference Fields (CRITICAL)
|
|
10
11
|
- Scope Filtering (CRITICAL)
|
|
11
12
|
- Search References (filterPattern)
|
|
@@ -31,6 +32,33 @@ A reused reference ID:
|
|
|
31
32
|
|
|
32
33
|
---
|
|
33
34
|
|
|
35
|
+
## When the Lookup Call Fails (CRITICAL)
|
|
36
|
+
|
|
37
|
+
The rules above assume `uip is resources run list` returns. When the call itself fails — `403`/`401` (expired, revoked, or reauthorization-required grant), a `5xx`, or a connector error — you have **no ID**, and there is no value you may write in its place.
|
|
38
|
+
|
|
39
|
+
**Never substitute:**
|
|
40
|
+
|
|
41
|
+
| Substitute | Why it is wrong |
|
|
42
|
+
|---|---|
|
|
43
|
+
| The display name you searched by | `reference.lookupValue` names the field to write; `lookupNames` only names the fields to match *against*. |
|
|
44
|
+
| A vendor "well-known" alias | Accepted by some vendor APIs directly, but the connector stores what you write and the field is typed as an ID. |
|
|
45
|
+
| An ID from context, memory, or another connection | See [Reference IDs Are Connection-Scoped](#reference-ids-are-connection-scoped-critical). |
|
|
46
|
+
| A plausible-looking placeholder | Passes `describe` / `node configure` / `flow validate`; faults at runtime. |
|
|
47
|
+
|
|
48
|
+
Every one of these produces an artifact that validates clean and fails later, with the original cause no longer visible.
|
|
49
|
+
|
|
50
|
+
**Do this instead:**
|
|
51
|
+
|
|
52
|
+
1. Retry per [agent-workflow.md — Error Recovery](agent-workflow.md#error-recovery) (max 2 semantic retries).
|
|
53
|
+
2. On an auth failure, ping the connection (`uip is connections ping <id>`) to confirm the diagnosis.
|
|
54
|
+
3. If it still fails, **stop and report**: name the connection, the object you could not list, and the vendor error. The fix is the user's (reauthorize, widen scopes, wait out an outage), not a value you choose.
|
|
55
|
+
|
|
56
|
+
Non-interactively (CI/headless), stop and report the blocked step. Do not proceed with a value you could not verify.
|
|
57
|
+
|
|
58
|
+
Say the resolve failed. Reporting a substituted value as "resolved" hides the fault from the only person who can fix it.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
34
62
|
## Reference Fields (CRITICAL)
|
|
35
63
|
|
|
36
64
|
Entries in the describe `requestFields` AND `parameters` (query/path parameters) can have a `reference` section — their value must be looked up from another resource before executing. Scan both arrays: on some connectors the activity's primary input is a path parameter with a reference, and scanning only `requestFields` misses it.
|
|
@@ -66,6 +66,17 @@ Returns the full field breakdown for the specified operation:
|
|
|
66
66
|
|
|
67
67
|
Results are cached locally. Use `--refresh` to bypass cache after re-auth or schema changes.
|
|
68
68
|
|
|
69
|
+
### `--activity-version`
|
|
70
|
+
|
|
71
|
+
Pass `--activity-version 4.0.0` only when the activity's `configuration` JSON reports `"version":"4.0.0"`. Otherwise do not pass the flag at all. Any value other than `1.0.0` (the default) or `4.0.0` fails with `Invalid --activity-version value`. `4.0.0` responses cache under a separate key (`<activity-name>.v4.schema.json`), so switching never serves the other version's metadata.
|
|
72
|
+
|
|
73
|
+
The resource argument follows the same rule: `4.0.0` activities are addressed by **activity name** — pass the `activityName` from the `configuration` JSON (`4.0.0` metadata has no `objectName`). Everything else uses the object name.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
uip is resources describe <connector-key> <object-name> --output json
|
|
77
|
+
uip is resources describe <connector-key> <activity-name> --activity-version 4.0.0 --output json
|
|
78
|
+
```
|
|
79
|
+
|
|
69
80
|
---
|
|
70
81
|
|
|
71
82
|
## Describe Failures
|
|
@@ -169,10 +169,10 @@ Trigger filters narrow which events fire the trigger (e.g. only emails from a sp
|
|
|
169
169
|
These steps assume the consuming skill has already loaded the trigger's `filterFields.fields` array (the source command varies by surface — e.g. maestro-flow uses `flow registry get`).
|
|
170
170
|
|
|
171
171
|
1. For each user-intent condition, pick a matching `name` from `filterFields.fields` — using an unknown field name will be rejected by the CLI at configure time.
|
|
172
|
-
2. Choose an operator based on the user's intent and the field type (see the operator table in the consuming skill — e.g. [uipath-maestro-flow > connector-trigger](../../../uipath-maestro-flow/references/author/
|
|
172
|
+
2. Choose an operator based on the user's intent and the field type (see the operator table in the consuming skill — e.g. [uipath-maestro-flow > connector-trigger](../../../uipath-maestro-flow/references/author/plugins/connector-trigger/impl.md#supported-operators)).
|
|
173
173
|
3. Build one leaf per condition; place multiple conditions under the same `groupOperator` (`0` for AND, `1` for OR).
|
|
174
174
|
4. If you need mixed AND/OR logic, use nested `groups` (same shape as the root tree).
|
|
175
|
-
5. **Wrap string values in a `value` object** with `value`, `rawString` (verbatim user-entered text including quotes for strings), and `isLiteral
|
|
175
|
+
5. **Wrap string values in a `value` object** with `value`, `rawString` (verbatim user-entered text including quotes for strings), and `isLiteral` — passing a bare string fails validation. A filter-tree leaf operand may be dynamic (`isLiteral: false`, compiled to a `{var_…}` placeholder plus `filterVariables`), but `eventParameters` must be literals, because a trigger is evaluated before any flow run exists.
|
|
176
176
|
6. If `filterFields` is empty or absent, the trigger does not support filtering — omit `filter` entirely. Do not invent an "empty" expression.
|
|
177
177
|
|
|
178
178
|
### Mandatory filter parameters
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Diagnose — Investigate Licensing State Failures
|
|
2
|
+
|
|
3
|
+
Capability index for diagnosing licensing symptoms via `uip platform`: entitlement gaps, allocation changes that did not take effect, and consumption reports that read wrong.
|
|
4
|
+
|
|
5
|
+
> **Where you came from / where to go next.** Diagnose is downstream of Operate (a user lost access, an allocation did
|
|
6
|
+
> not apply, a report read wrong). Fixes — `tenants licenses set`, `users licenses set`, `groups rules set` — are Operate
|
|
7
|
+
> actions requiring explicit user consent after root cause analysis.
|
|
8
|
+
>
|
|
9
|
+
> **Scope boundary.** This capability diagnoses **licensing state**: which layer holds (or fails to hold) an entitlement,
|
|
10
|
+
> and why a licensing command's result differs from what the user expected. It does NOT diagnose runtime faults that
|
|
11
|
+
> merely *mention* a license (a job stuck Pending, Studio failing to start, a robot not connecting). For those the
|
|
12
|
+
> licensing layer is one hypothesis among many — establish the entitlement facts here, then hand the runtime causal chain
|
|
13
|
+
> to `uipath-troubleshoot`.
|
|
14
|
+
>
|
|
15
|
+
> **Inherits universal rules from [SKILL.md](../../../SKILL.md).** Use `uip platform ... --output json` for all diagnostic reads.
|
|
16
|
+
|
|
17
|
+
## When to use this capability
|
|
18
|
+
|
|
19
|
+
- A user or group lost (or never gained) a license bundle they should hold.
|
|
20
|
+
- `tenants licenses set` reported success but `get` shows unchanged units.
|
|
21
|
+
- A product code is absent from `get` output entirely.
|
|
22
|
+
- Seat or unit totals do not reconcile against the purchased pool.
|
|
23
|
+
- A consumables report reads zero, or lower/higher than the user expects.
|
|
24
|
+
- An allocation cannot be applied because the code will not route to a tenant.
|
|
25
|
+
- Determine whether a reported access failure is a licensing cause at all, before escalating.
|
|
26
|
+
|
|
27
|
+
## Critical rules
|
|
28
|
+
|
|
29
|
+
1. **Diagnose reads; Operate mutates.** Never run a `set` command while diagnosing — a `set` is an overlay that destroys the evidence of the prior state. Read first, present findings, let the user authorize the fix. Re-running the user's own `set` to "reproduce" the symptom is still a mutation. A CLI that appears disconnected is not permission to try it: an unauthenticated command is not guaranteed to fail, and if the credentials do resolve you have mutated production while diagnosing. To explain what a `set` did, read `get` and cite the documented semantics or `set --help` — never execute it.
|
|
30
|
+
2. **Identify the layer before running anything.** Licensing is four independent layers (see [troubleshooting-guide.md](references/troubleshooting-guide.md#step-1-identify-the-layer)). A symptom answered at the wrong layer produces a confident wrong answer.
|
|
31
|
+
3. **Read `get` before reasoning about `set`.** `quantity` is absolute, not a delta, and absent codes keep their current value. Without the starting state you cannot tell an ineffective `set` from a correctly-applied no-op.
|
|
32
|
+
4. **Treat an absent row as a window question first.** `tenants licenses get` returns only products whose active interval contains the current time. Absent ≠ never allocated.
|
|
33
|
+
5. **`consumed` and consumables totals lag.** Accountant-side aggregation is minutes behind job completion. Never conclude "nothing ran" from a fresh zero.
|
|
34
|
+
6. **Do not infer seat-consumption semantics that the workflow guides do not document.** When reconciliation needs a rule that is not written down, say so and fall back to the portal or the REST APIs — do not derive it.
|
|
35
|
+
7. **Do not expose private data.** Redact tenant URLs, account GUIDs, user emails, and tokens in summaries.
|
|
36
|
+
|
|
37
|
+
## Workflow
|
|
38
|
+
|
|
39
|
+
| Journey | Read |
|
|
40
|
+
|---------|------|
|
|
41
|
+
| Triage a licensing symptom (sequential ladder) | [references/troubleshooting-guide.md](references/troubleshooting-guide.md) |
|
|
42
|
+
| Recognize a known failure pattern (lookup) | [references/failure-modes.md](references/failure-modes.md) |
|
|
43
|
+
|
|
44
|
+
## Common tasks
|
|
45
|
+
|
|
46
|
+
| I need to... | Read |
|
|
47
|
+
|---|---|
|
|
48
|
+
| Work out which licensing layer owns the symptom | [troubleshooting guide → Step 1](references/troubleshooting-guide.md#step-1-identify-the-layer) |
|
|
49
|
+
| Investigate why a user lacks a bundle | [troubleshooting guide → Step 3](references/troubleshooting-guide.md#step-3-walk-the-user-bundle-layer) |
|
|
50
|
+
| Diagnose an allocation that did not take effect | [failure modes → Allocation reported success but units unchanged](references/failure-modes.md#allocation-reported-success-but-units-unchanged) |
|
|
51
|
+
| Explain a product code missing from `get` | [failure modes → Product code absent from get output](references/failure-modes.md#product-code-absent-from-get-output) |
|
|
52
|
+
| Diagnose a zero or unexpected consumables figure | [failure modes → Consumables report reads zero or wrong](references/failure-modes.md#consumables-report-reads-zero-or-wrong) |
|
|
53
|
+
| Explain why a code will not route to a tenant | [failure modes → Product code will not route](references/failure-modes.md#product-code-will-not-route-to-the-tenant) |
|
|
54
|
+
| Reconcile seats against the purchased pool | [failure modes → Unit totals do not reconcile](references/failure-modes.md#unit-totals-do-not-reconcile) |
|
|
55
|
+
| Decide whether licensing is the cause at all | [troubleshooting guide → Step 5](references/troubleshooting-guide.md#step-5-decide-whether-licensing-is-the-cause) |
|
|
56
|
+
|
|
57
|
+
## Anti-patterns
|
|
58
|
+
|
|
59
|
+
- **Never re-run the user's failed `set` to reproduce the symptom.** The command they described is the one command you must not run. Quote it in your write-up; do not execute it, and do not treat an offline or unauthenticated environment as a safe place to try it.
|
|
60
|
+
- **Never run `set` to "test" a hypothesis.** `users licenses set` replaces the user's direct bundles and `groups rules set` replaces the whole rule — a diagnostic `set` silently revokes entitlements.
|
|
61
|
+
- **Never conclude "no license" from the user-bundle layer alone.** Unattended runtime comes from the tenant allocation, not a user bundle; the two are separate license types.
|
|
62
|
+
- **Never read a fresh `consumed: 0` as proof no work ran.** Check the window and the aggregation lag first.
|
|
63
|
+
- **Never compare a scoped consumables figure to an account-wide one.** Under `--tenant`, `consumedFromOrgWithoutTenant` is suppressed to zero by design.
|
|
64
|
+
- **Never claim a group member holds a bundle without checking `orphan`.** Orphaned rows still consume a lease until the rule is re-applied.
|
|
65
|
+
- **Never guess a tenant key or bundle code.** Resolve them first — the resolver requires exactly one match.
|
|
66
|
+
|
|
67
|
+
## References
|
|
68
|
+
|
|
69
|
+
### Diagnose-scoped
|
|
70
|
+
|
|
71
|
+
- [troubleshooting-guide.md](references/troubleshooting-guide.md) — layer-first triage ladder
|
|
72
|
+
- [failure-modes.md](references/failure-modes.md) — recurring failure patterns
|
|
73
|
+
|
|
74
|
+
### Cross-capability
|
|
75
|
+
|
|
76
|
+
- [licensing.md](../licensing.md) — license hierarchy, product codes, response envelope
|
|
77
|
+
- [tenant-allocations.md](../tenant-allocations.md) — tenant layer commands, field reference, error table
|
|
78
|
+
- [user-licenses-allocations.md](../user-licenses-allocations.md) — user/group layer commands, code resolution, error table
|
|
79
|
+
- [consumables-report.md](../consumables-report.md) — consumption modes, flag reference, error table
|
|
80
|
+
- [../../orchestrator/setup-environment.md](../../orchestrator/setup-environment.md) — `uip or licenses`, the Orchestrator license-slot layer
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Failure Modes — Licensing
|
|
2
|
+
|
|
3
|
+
Named failure patterns with symptom → cause → investigation → fix. Match the user's symptom to a pattern, then follow the investigation steps.
|
|
4
|
+
|
|
5
|
+
These are keyed by **symptom** — what the user reports. For patterns keyed by **CLI error message** (you already have the error text in hand), use the `Error Conditions` table in the owning workflow guide instead: [tenant-allocations.md](../../tenant-allocations.md#error-conditions), [user-licenses-allocations.md](../../user-licenses-allocations.md#error-conditions), [consumables-report.md](../../consumables-report.md#error-conditions).
|
|
6
|
+
|
|
7
|
+
All investigation commands are read-only. Never run a `set` while diagnosing.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Allocation Reported Success But Units Unchanged
|
|
12
|
+
|
|
13
|
+
**Symptom:** User ran `tenants licenses set`, it returned success, but `get` shows the old numbers — or numbers they did not expect.
|
|
14
|
+
|
|
15
|
+
**Causes:**
|
|
16
|
+
1. `quantity` treated as a delta — it is absolute, so `5` set the tenant to 5 rather than adding 5
|
|
17
|
+
2. Codes omitted from the input file kept their previous quantity — `set` is an overlay, not a replace
|
|
18
|
+
3. Applied to a different tenant than the one being inspected
|
|
19
|
+
4. The value did apply, but a bundle window means `get` no longer returns that row
|
|
20
|
+
5. Only some codes in the input routed; the rest were rejected per-code
|
|
21
|
+
|
|
22
|
+
**Investigation:**
|
|
23
|
+
1. Read current state: `uip platform tenants licenses get "<TENANT_KEY>" --output json`
|
|
24
|
+
2. Ask for the exact input file used, and diff its codes against the `get` output — separate "code absent from input" (expected to be unchanged) from "code present in input but unchanged" (the real failure)
|
|
25
|
+
3. Confirm the tenant key in the `set` command matches the one being inspected
|
|
26
|
+
4. If a code is missing entirely rather than unchanged, switch to [Product code absent from get output](#product-code-absent-from-get-output)
|
|
27
|
+
|
|
28
|
+
**Fix:** Cause 1 → re-issue with the intended absolute total. Cause 2 → include the code explicitly, with `quantity: 0` to zero it out. Cause 3 → re-issue against the correct tenant key. Cause 4 → see the window pattern below. Cause 5 → see the routing pattern below. Present the corrected `set` command; do not run it.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Product Code Absent From `get` Output
|
|
33
|
+
|
|
34
|
+
**Symptom:** A product the user knows is purchased and allocated does not appear in `tenants licenses get` at all.
|
|
35
|
+
|
|
36
|
+
**Causes:**
|
|
37
|
+
1. Bundle window — `get` returns only products whose active interval contains the current time. An expired bundle is hidden even with `allocated > 0` historically
|
|
38
|
+
2. The code was never provisioned on this tenant's service licenses
|
|
39
|
+
3. The SKU is not on the account at all
|
|
40
|
+
|
|
41
|
+
**Investigation:**
|
|
42
|
+
1. `uip platform tenants licenses get "<TENANT_KEY>" --output json` — note that every returned row carries `startDate` / `endDate`, so the returned rows tell you what "currently active" means for this account
|
|
43
|
+
2. Check whether the same code appears for a different tenant — present elsewhere means provisioned on the account, absent on this tenant
|
|
44
|
+
3. Attempting to allocate it will surface a routing error naming the cause — see the next pattern rather than guessing
|
|
45
|
+
|
|
46
|
+
**Fix:** Cause 1 → renewal or window question; the CLI cannot extend a window. Causes 2 and 3 → the SKU must be provisioned through the portal first; `set` cannot introduce a new code. In all three, state that this is a provisioning action outside the CLI.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Product Code Will Not Route To The Tenant
|
|
51
|
+
|
|
52
|
+
**Symptom:** `tenants licenses set` fails for a specific code, complaining it cannot be routed, or that routing is ambiguous.
|
|
53
|
+
|
|
54
|
+
**Causes:**
|
|
55
|
+
1. The code is not already present on the tenant's service licenses — `set` adjusts existing codes, it cannot introduce new ones
|
|
56
|
+
2. The same code exists on more than one of the tenant's service licenses, so the target is ambiguous
|
|
57
|
+
|
|
58
|
+
**Investigation:**
|
|
59
|
+
1. `uip platform tenants licenses get "<TENANT_KEY>" --output json` — a code absent here cannot be routed by `set`
|
|
60
|
+
2. Distinguish the two: "cannot route" means absent; "ambiguous routing" means duplicated across service types, and the error names the service types involved
|
|
61
|
+
|
|
62
|
+
**Fix:** Cause 1 → provision the SKU on the tenant through the portal, then re-run `set`. Cause 2 → the duplicate allocation must be resolved in the portal or via support; the CLI cannot disambiguate. Neither is fixable from the CLI — say so plainly rather than retrying.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## User Lacks A Bundle They Should Hold
|
|
67
|
+
|
|
68
|
+
**Symptom:** One person cannot use a product others can, or reports losing access they previously had.
|
|
69
|
+
|
|
70
|
+
**Causes:**
|
|
71
|
+
1. Never assigned — no direct grant and no group rule covers them
|
|
72
|
+
2. A later `users licenses set` replaced their direct bundles; anything absent from that input was revoked
|
|
73
|
+
3. A `groups rules set` replaced the group rule, dropping the bundle for every member
|
|
74
|
+
4. A group rule `quota` is filled, so this member gets no lease
|
|
75
|
+
5. Their group row is `orphan: true` — the lease is consumed but not effective for them
|
|
76
|
+
6. Account seats are exhausted, so no new lease could be granted
|
|
77
|
+
|
|
78
|
+
**Investigation:**
|
|
79
|
+
1. `uip platform users licenses get "<USER_EMAIL>" --output json` — read `source` on each row (`direct` vs `group`) and `leasedAt` for when it was granted
|
|
80
|
+
2. If the expected code is absent, read the rule rather than the user: `uip platform groups rules details "<GROUP_NAME>" --output json` — check entitled bundles, `quota`, and the member's `orphan` flag. The rule header is on **stderr**
|
|
81
|
+
3. Check seat availability: `uip platform users licenses available --output json`
|
|
82
|
+
4. Compare `leasedAt` on their surviving bundles — a cluster of identical timestamps points to a bulk `set` that replaced their prior grants
|
|
83
|
+
|
|
84
|
+
**Fix:** Cause 1 → assign directly or add to the group. Cause 2 → re-issue `users licenses set` with the **full** intended bundle list, not just the missing one. Cause 3 → re-issue `groups rules set` with the full rule. Cause 4 → raise the quota or grant directly. Cause 5 → re-apply the rule or fully remove the departed user to release the lease. Cause 6 → free seats or purchase more. Present the command; do not run it.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Consumables Report Reads Zero Or Wrong
|
|
89
|
+
|
|
90
|
+
**Symptom:** A consumption report shows zero, or a figure the user says is too low or too high.
|
|
91
|
+
|
|
92
|
+
**Causes:**
|
|
93
|
+
1. Aggregation lag — `consumed` and consumable totals are minutes behind job completion
|
|
94
|
+
2. Window mismatch — with no `--start-date`/`--end-date`, every consumable uses **its own** bundle window, so rows in one summary can span different date ranges
|
|
95
|
+
3. Scope suppression — under `--tenant`, `consumedFromOrgWithoutTenant` is deliberately zero; only tenant-pool and org-pool figures are populated
|
|
96
|
+
4. Non-recursive folders — in `folders` mode, `consumedBySelf` excludes child folders, so a parent looks emptier than the subtree
|
|
97
|
+
5. Comparing point-in-time totals as if they were running totals — `consumedAmount` and `consumedBySelf` are totals over the requested range
|
|
98
|
+
6. Wrong unit — the code is not an active consumable in this organization, or is a runtime code rather than a consumable
|
|
99
|
+
7. Reading a scoped figure against an account-wide expectation
|
|
100
|
+
|
|
101
|
+
**Investigation:**
|
|
102
|
+
1. Re-run with the window stated explicitly so every row shares one range:
|
|
103
|
+
```bash
|
|
104
|
+
uip platform licenses consumables get --mode summary \
|
|
105
|
+
--start-date "<YYYY-MM-DD>" --end-date "<YYYY-MM-DD>" --output json
|
|
106
|
+
```
|
|
107
|
+
2. Compare scoped against unscoped — run once with `--tenant` and once without, and attribute the difference to suppression rather than to missing consumption
|
|
108
|
+
3. For a per-day view, all four flags are required: `--mode daily --tenant <T> --unit <CODE> --start-date <D> --end-date <D>`
|
|
109
|
+
4. Confirm the unit is a consumable at all — runtime codes (`UNATT`, `RU`, `TEU`) are allocated, not consumed; `PLTU` appears on both axes and is a common source of confusion
|
|
110
|
+
5. For `folders` mode, sum the children yourself before comparing to a tenant total
|
|
111
|
+
|
|
112
|
+
**Fix:** Cause 1 → re-query after the lag; do not report zero as fact. Causes 2, 3, 5, 7 → the number is correct, the comparison is not; explain the semantics. Cause 4 → reconstruct the tree and roll up. Cause 6 → pick a code from the list the CLI returns.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Unit Totals Do Not Reconcile
|
|
117
|
+
|
|
118
|
+
**Symptom:** Allocated plus available does not match what the user believes was purchased.
|
|
119
|
+
|
|
120
|
+
**Causes:**
|
|
121
|
+
1. Units reserved by other tenants are being overlooked — the identity is `totalUnitsInAccount = allocated + availableForAllocation + allocatedAcrossOtherTenants`
|
|
122
|
+
2. Comparing across bundle windows — only currently-active products are returned
|
|
123
|
+
3. Comparing a consumption figure against an allocation figure; `consumed` is a subset of `allocated`, not an addend
|
|
124
|
+
4. Conflating separate license types — tenant runtime units and per-seat user bundles are different pools and never sum together
|
|
125
|
+
5. Leases consumed by `orphan: true` group rows, which are held without being effective
|
|
126
|
+
|
|
127
|
+
**Investigation:**
|
|
128
|
+
1. `uip platform tenants licenses get "<TENANT_KEY>" --output json` — verify the four-field identity holds per code. If it does, the arithmetic is right and the user's expectation is what needs correcting
|
|
129
|
+
2. Enumerate every tenant to account for `allocatedAcrossOtherTenants` rather than inferring it
|
|
130
|
+
3. For seats, use `uip platform users licenses available --output json`, and count group leases via `groups rules details` including orphaned rows
|
|
131
|
+
|
|
132
|
+
**Fix:** Causes 1–4 → walk the user through the identity with their own numbers; no change is needed. Cause 5 → re-apply the rule or remove departed users to release leases. If the identity genuinely does not hold, the CLI cannot explain it — escalate to the portal or the License Resource Manager REST API and say so.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Reported As Licensing, Caused Elsewhere
|
|
137
|
+
|
|
138
|
+
**Symptom:** A runtime failure the user attributes to licensing — job stays Pending, Studio starts unlicensed, robot will not connect.
|
|
139
|
+
|
|
140
|
+
**Cause:** The licensing layer they checked is not the one that runtime path draws on, or licensing is not involved at all.
|
|
141
|
+
|
|
142
|
+
**Investigation:**
|
|
143
|
+
1. Map the runtime path to its layer: unattended job → tenant allocation (`UNATT`, `RU`, `PLTU`); Studio/attended → user bundle (`RPADEVPRONU`, `ATTUNU`); folder-scoped robot slot → `uip or licenses`, a different surface
|
|
144
|
+
2. Confirm presence or absence at that layer only, capturing the output as evidence
|
|
145
|
+
3. Note that a current snapshot cannot prove entitlement state during an incident older than 24 hours
|
|
146
|
+
|
|
147
|
+
**Fix:** Entitlement absent → licensing is the cause; present the layer, evidence, and recommended `set`. Entitlement present → licensing is excluded; hand the causal chain to `uipath-troubleshoot` along with the evidence gathered so it is not re-fetched. Do not keep digging in licensing once the entitlement is confirmed present.
|
package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Licensing Diagnostic Ladder
|
|
2
|
+
|
|
3
|
+
Layer-first triage for licensing symptoms. Work through in order — stop when you have enough to diagnose. Every command is read-only.
|
|
4
|
+
|
|
5
|
+
## Step 1: Identify the Layer
|
|
6
|
+
|
|
7
|
+
Licensing is four independent layers. An entitlement can be present at one and absent at the next, so the first job is deciding which layer the symptom belongs to — not which command to run.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Account (organization) totalUnitsInAccount — the purchased pool
|
|
11
|
+
└── Tenant allocation units reserved per tenant → uip platform tenants licenses
|
|
12
|
+
└── User bundle per-seat entitlement → uip platform users licenses / groups rules
|
|
13
|
+
└── Group rule lease inherited, optional quota
|
|
14
|
+
└── Orchestrator slot user/robot license slot → uip or licenses (separate surface)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Tenant allocations and user bundles are **separate license types**, not a hierarchy: an unattended job draws on the tenant's runtime allocation (`UNATT`, `RU`, `PLTU`); a developer opening Studio draws on a user bundle (`RPADEVPRONU`). A user with every bundle cannot make an unattended job run, and a fully allocated tenant cannot get a developer into Studio.
|
|
18
|
+
|
|
19
|
+
| Symptom | Layer | Next step |
|
|
20
|
+
|---------|-------|-----------|
|
|
21
|
+
| "User can't use <product>", bundle missing for one person | User bundle | Step 3 |
|
|
22
|
+
| "Group members don't have their license" | User bundle → group rule | Step 3 |
|
|
23
|
+
| "No seats left", "can't assign any more" | Account pool → user bundle | Step 2, then Step 3 |
|
|
24
|
+
| "Set the allocation but nothing changed" | Tenant allocation | Step 4, then [failure-modes → Allocation reported success](failure-modes.md#allocation-reported-success-but-units-unchanged) |
|
|
25
|
+
| "Code missing from the output" | Tenant allocation → bundle window | [failure-modes → Product code absent](failure-modes.md#product-code-absent-from-get-output) |
|
|
26
|
+
| "Can't allocate that product to the tenant" | Tenant allocation → routing | [failure-modes → Code will not route](failure-modes.md#product-code-will-not-route-to-the-tenant) |
|
|
27
|
+
| "Report shows zero", "numbers look wrong" | Consumption reporting | [failure-modes → Consumables reads zero or wrong](failure-modes.md#consumables-report-reads-zero-or-wrong) |
|
|
28
|
+
| "Totals don't add up to what we bought" | Account pool | [failure-modes → Totals do not reconcile](failure-modes.md#unit-totals-do-not-reconcile) |
|
|
29
|
+
| "License slot not assigned in the folder" | Orchestrator slot | [setup-environment.md](../../../orchestrator/setup-environment.md) — `uip or licenses`, not `uip platform` |
|
|
30
|
+
| Job Pending/faulted, Studio won't start, robot won't connect | **Not established yet** | Step 5 — establish entitlement facts, then hand off |
|
|
31
|
+
|
|
32
|
+
## Step 2: Establish the Account Pool Baseline
|
|
33
|
+
|
|
34
|
+
Every unit question resolves against the purchased pool. Read it once, from any tenant:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
uip platform tenants licenses get "<TENANT_KEY>" --output json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Each row carries the account-level totals alongside the tenant's own:
|
|
41
|
+
|
|
42
|
+
| Field | Use in diagnosis |
|
|
43
|
+
|-------|------------------|
|
|
44
|
+
| `totalUnitsInAccount` | The purchased pool. Equals `allocated + availableForAllocation + allocatedAcrossOtherTenants` — if it does not, stop and see [failure-modes → Totals do not reconcile](failure-modes.md#unit-totals-do-not-reconcile) |
|
|
45
|
+
| `availableForAllocation` | Units still free anywhere in the account. `0` means the pool is exhausted — no tenant can gain units without another losing them |
|
|
46
|
+
| `allocatedAcrossOtherTenants` | Units held by other tenants — the source of units if this tenant needs more |
|
|
47
|
+
| `allocated` | Reserved for this tenant |
|
|
48
|
+
| `consumed` | Subset of `allocated` actually in use. Lags real-time by minutes |
|
|
49
|
+
|
|
50
|
+
For seat-based (user bundle) questions, the equivalent baseline is:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
uip platform users licenses available --output json
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Step 3: Walk the User-Bundle Layer
|
|
57
|
+
|
|
58
|
+
Resolve the person, then read what they actually hold. The resolver is a **starts-with** match and requires exactly one hit — pass a full email when a name is ambiguous.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
uip platform users licenses get "<USER_EMAIL_OR_NAME_PREFIX>" --output json
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Read `source` on every returned row:
|
|
65
|
+
|
|
66
|
+
- `"direct"` — granted by `users licenses set` on this user.
|
|
67
|
+
- `"group"` — leased through a group rule. The user's own record is not where the grant lives; the rule is.
|
|
68
|
+
|
|
69
|
+
Branch on what you find:
|
|
70
|
+
|
|
71
|
+
| Finding | Meaning | Next |
|
|
72
|
+
|---------|---------|------|
|
|
73
|
+
| Expected code present | The entitlement exists at this layer. The symptom is elsewhere | Step 5 |
|
|
74
|
+
| No rows at all | User holds no bundles — never assigned, or a `set` replaced them | Check whether a group should be granting it (below) |
|
|
75
|
+
| Code absent, others present | A prior `users licenses set` replaced the direct bundles — it replaces, not merges | Confirm intent with the user before re-adding |
|
|
76
|
+
| Code present via `group` but product still unusable | Entitlement is fine at this layer | Step 5 |
|
|
77
|
+
|
|
78
|
+
When a group is supposed to be the source, read the rule — not the user:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
uip platform groups rules get --output json
|
|
82
|
+
uip platform groups rules details "<GROUP_NAME>" --output json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
On `details`, check in this order:
|
|
86
|
+
|
|
87
|
+
1. **Is the code in the rule's entitled bundles at all?** If not, the rule was replaced — `groups rules set` replaces the whole rule, dropping any bundle absent from the input.
|
|
88
|
+
2. **Is there a `quota`, and is it filled?** A quota caps how many members can hold the bundle; members beyond it do not get a lease.
|
|
89
|
+
3. **Is the user's row `orphan: true`?** Orphaned rows still consume a lease until the rule is re-applied or the user is fully removed — so a lease can be consumed by someone who no longer benefits from it.
|
|
90
|
+
4. **Is `useExternalLicense` set?** It is informational, set outside these commands — do not treat it as a grant you can change here.
|
|
91
|
+
|
|
92
|
+
> The rule header (entitled bundles, quotas) is written to **stderr**; the JSON on stdout is the member list. When piping to `jq` you will lose the header — read both streams.
|
|
93
|
+
|
|
94
|
+
## Step 4: Walk the Tenant-Allocation Layer
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
uip platform tenants licenses get "<TENANT_KEY>" --output json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Compare against what the user believes they set:
|
|
101
|
+
|
|
102
|
+
| Observation | Interpretation |
|
|
103
|
+
|-------------|----------------|
|
|
104
|
+
| `allocated` differs from the value in their input file | The `set` did not apply, or applied to a different tenant. See [failure-modes → Allocation reported success](failure-modes.md#allocation-reported-success-but-units-unchanged) |
|
|
105
|
+
| `allocated` matches, user expected it to be higher | `quantity` is absolute, not additive — their value replaced the old one rather than adding to it |
|
|
106
|
+
| Code they set is absent from output | Bundle window, or the code never routed. See [failure-modes → Product code absent](failure-modes.md#product-code-absent-from-get-output) |
|
|
107
|
+
| A code they did **not** include still has its old value | Correct behavior — `set` is an overlay. Codes absent from the input keep their current quantity |
|
|
108
|
+
| `consumed` > 0 but `allocated` reduced below it | Over-committed: jobs are using more than the new reservation. Flag this explicitly to the user |
|
|
109
|
+
| `availableForAllocation: 0` | Pool exhausted — the requested increase was impossible, not merely rejected |
|
|
110
|
+
|
|
111
|
+
## Step 5: Decide Whether Licensing Is the Cause
|
|
112
|
+
|
|
113
|
+
For a runtime symptom (job Pending or faulted, Studio unlicensed, robot not connecting), licensing is **one hypothesis**. This capability's job is to settle that hypothesis with facts, then stop.
|
|
114
|
+
|
|
115
|
+
Establish and record:
|
|
116
|
+
|
|
117
|
+
1. The relevant layer for that runtime path — unattended job → tenant allocation; Studio/attended → user bundle; folder-scoped robot slot → `uip or licenses`.
|
|
118
|
+
2. Whether the entitlement is present at that layer, with the command output as evidence.
|
|
119
|
+
3. Whether `availableForAllocation` or a quota was exhausted at the time — noting that a current snapshot cannot prove state during an incident older than 24 hours.
|
|
120
|
+
|
|
121
|
+
Then:
|
|
122
|
+
|
|
123
|
+
- **Entitlement genuinely absent** → licensing is the cause. Present the layer, the evidence, and the exact `set` command as a recommendation. Do not run it.
|
|
124
|
+
- **Entitlement present** → licensing is excluded. Say so, hand the runtime causal chain to `uipath-troubleshoot`, and pass along the evidence you gathered so it is not re-fetched.
|
|
125
|
+
- **Cannot tell from the CLI** → the operation may not be covered. Fall back to the License Resource Manager / License Accountant REST APIs ([licensing.md → REST API Fallback](../../licensing.md#rest-api-fallback)) or the portal. Say which, and why the CLI was insufficient.
|
|
@@ -22,6 +22,8 @@ All `uip platform` licensing commands share a set of cross-cutting options:
|
|
|
22
22
|
|
|
23
23
|
**Response envelope.** All commands emit `{Result, Code, Data, ...}`. `Code` identifies the payload (`TenantLicenses`, `UserLicensesSet`, `GroupRules`, `LicensesConsumablesSummary`, etc.). Paginated commands add a `Pagination` block — increment `--offset` by `--limit` until `Returned < Limit`.
|
|
24
24
|
|
|
25
|
+
**Saving a response to a file.** When asked to save command output, write the raw envelope and nothing else — `uip platform ... --output json > available.json`. Never prepend a heading, summary table, or commentary to the file, and never hand-assemble it from what you read: the artifact must parse as JSON on its own. Put the human-readable narrative in your reply or report file, not in the JSON artifact.
|
|
26
|
+
|
|
25
27
|
---
|
|
26
28
|
|
|
27
29
|
## Workflow References
|
|
@@ -31,6 +33,7 @@ All `uip platform` licensing commands share a set of cross-cutting options:
|
|
|
31
33
|
| Tenant Allocations | [tenant-allocations.md](tenant-allocations.md) | `tenants licenses get/set` — allocate license units to tenant pools |
|
|
32
34
|
| User & Group Licenses | [user-licenses-allocations.md](user-licenses-allocations.md) | `users licenses get/set/available`, `groups rules get/details/set` — assign bundles directly or via group rules |
|
|
33
35
|
| Consumables Report | [consumables-report.md](consumables-report.md) | `licenses consumables get --mode {summary,daily,folders}` — consumption reporting. `get` is mandatory; summary/daily/folders are `--mode` values, not subcommands (there is no `licenses summary` verb) |
|
|
36
|
+
| Diagnose | [diagnose/CAPABILITY.md](diagnose/CAPABILITY.md) | Symptom-first triage — entitlement gaps, allocations that did not take effect, reports that read wrong. Layer-first ladder + failure-mode lookup |
|
|
34
37
|
|
|
35
38
|
---
|
|
36
39
|
|
|
@@ -206,6 +206,10 @@ Returns one row per `(group, bundle)` pair:
|
|
|
206
206
|
|
|
207
207
|
### Drill into One Group
|
|
208
208
|
|
|
209
|
+
One command answers "who in group X holds which bundle". Do not reconstruct that answer from
|
|
210
|
+
`uip admin groups members list` plus a `users licenses get` per member: that returns each member's
|
|
211
|
+
*direct* leases, loses the `orphan` and `quota` fields entirely, and costs one call per user.
|
|
212
|
+
|
|
209
213
|
```bash
|
|
210
214
|
uip platform groups rules details "<GROUP_NAME_PREFIX>" --output json
|
|
211
215
|
|
|
@@ -311,6 +315,7 @@ Both mechanisms can co-exist for the same user; rows appear with separate `sourc
|
|
|
311
315
|
- **Sort order is case-sensitive.** `Asc`/`Desc` only. `asc`, `ASC`, or `ascending` are all rejected.
|
|
312
316
|
- **`orphan: true` rows** still consume a lease until the rule is re-applied or the user is fully removed.
|
|
313
317
|
- **`useExternalLicense`** in `groups rules get` is informational — set externally, not via these commands.
|
|
318
|
+
- **`uip admin groups` does not answer licensing questions.** It lists group membership; it knows nothing about bundles or leases. Any question of the form "who in this group holds which bundle" is `groups rules details`.
|
|
314
319
|
- **Group rule summary goes to stderr.** When piping `groups rules details` output, the rule header (entitled bundles, quotas) is on `stderr` so the JSON on `stdout` stays clean for `jq`.
|
|
315
320
|
|
|
316
321
|
---
|
|
@@ -107,8 +107,9 @@ Key options:
|
|
|
107
107
|
# Get one process by key (cross-folder; resolved through the release lookup)
|
|
108
108
|
uip or processes get <process-key-guid> --output json
|
|
109
109
|
|
|
110
|
-
# Validation report —
|
|
111
|
-
#
|
|
110
|
+
# Validation report — is everything this process needs actually present in its folder?
|
|
111
|
+
# One row per resource the package declares (Queue, Asset, Bucket, Connection, Process,
|
|
112
|
+
# EventTrigger, HttpTrigger, Entity, MCPServer, IXP, ProcessExecutionSettings, ...).
|
|
112
113
|
uip or processes resources <process-key-guid> --output json
|
|
113
114
|
|
|
114
115
|
# Edit fields after creation. Same flag set as `processes create` minus name/package-key/package-version,
|
|
@@ -135,6 +136,14 @@ uip or processes rollback <process-key-guid> --output json
|
|
|
135
136
|
uip or processes delete <process-key-guid> --yes --output json
|
|
136
137
|
```
|
|
137
138
|
|
|
139
|
+
> `processes resources` is the pre-flight check before `jobs start`. Read `ValidationResult` per row:
|
|
140
|
+
> `Success` = the resource exists in the folder (`ResourceId` names it), `NotFound` = it is missing and
|
|
141
|
+
> `ValidationError` says which one ("This queue cannot be found in the folder"), `Unknown` = not
|
|
142
|
+
> folder-validated (connections, execution settings). Filter for the broken ones with
|
|
143
|
+
> `--output-filter "[?ValidationResult=='NotFound']"`. The answer is release-specific: resource
|
|
144
|
+
> overwrites configured on that process are applied first, so a resource pointed at a different
|
|
145
|
+
> target than the package default still reports `Success`.
|
|
146
|
+
|
|
138
147
|
`processes update` uses `Mapper.Map<ReleaseDto, UiRelease>(dto)` server-side, which means missing fields on the request body are nulled. The CLI works around this by spreading `currentRelease` as the baseline before applying overrides — but if you build the body yourself by hand, `tags`, `arguments`, `videoRecordingSettings`, `targetFramework`, `robotSize`, `resourceOverwrites`, `remoteControlAccess`, `targetRuntime`, `publisherLicense`, etc. will silently get nulled.
|
|
139
148
|
|
|
140
149
|
## Step 4: Start Job
|
|
@@ -37,14 +37,14 @@ uip traces feedback create \
|
|
|
37
37
|
| `--category` | No | Repeatable. Built-in values: `"Output"`, `"Agent Error"`, `"Agent Plan Execution"` |
|
|
38
38
|
| `--agent-id` | No | Agent reference GUID |
|
|
39
39
|
| `--agent-version` | No | Max 100 chars |
|
|
40
|
-
| `--
|
|
40
|
+
| `--profile <name>` | No | Named login profile. Other tenant: `uip login tenant set <tenant>` first (`--tenant` is deprecated) |
|
|
41
41
|
|
|
42
42
|
## get
|
|
43
43
|
|
|
44
|
-
`--folder-key`
|
|
44
|
+
Positional `<id>` and `--folder-key` required.
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
uip traces feedback get <feedback-id> --output json
|
|
47
|
+
uip traces feedback get <feedback-id> --folder-key <folder-key> --output json
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
## list
|
|
@@ -88,7 +88,7 @@ uip traces feedback list detailed \
|
|
|
88
88
|
--output json
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
Additional flags over `list`: `--since <duration>`, `--after <ISO>`, `--before <ISO>`, `--category-id <guid>` (repeatable), `--sort-by <createdAt|updatedAt
|
|
91
|
+
Additional flags over `list`: `--since <duration>`, `--after <ISO>`, `--before <ISO>`, `--category-id <guid>` (repeatable), `--sort-by <createdAt|updatedAt>` (default `createdAt`), `--sort-order <asc|desc>` (default `desc`). Max 200 items.
|
|
92
92
|
|
|
93
93
|
## update
|
|
94
94
|
|
|
@@ -41,7 +41,7 @@ uip traces spans get --job-key <job-key> --output json
|
|
|
41
41
|
| `--job-key <guid>` | Orchestrator job key — alternative to trace-id |
|
|
42
42
|
| `--folder-path <path>` | Folder path for context |
|
|
43
43
|
| `--folder-key <guid>` | Folder key for context |
|
|
44
|
-
|
|
|
44
|
+
| `--profile <name>` | Named login profile. Other tenant: `uip login tenant set <tenant>` first (`--tenant` is deprecated) |
|
|
45
45
|
|
|
46
46
|
## Related
|
|
47
47
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: uipath-process-mining
|
|
3
|
-
description: "UiPath Process Mining via `uip pm` — build and operate a process app end-to-end from a CSV / event log: templates, data mapping, upload, ingest, the dbt (Snowflake) transformation layer, publish, and query it (metrics, percentiles, RCA). Covers `uipath.custom`, the `Cases.sql` optional-column gotcha, Case-linked data-model tables (add-table + re-ingest), the apply-not-reingest fix loop, fixing a wrong mapping in place via `apps data-mapping get|update` (no app rebuild), and editing the app model via `apps model fields` — a field's data kind / calculated fields, including the numeric→duration mismatch that locks dashboards open
|
|
4
|
-
when_to_use: "User mentions process mining, a process app, an event log, `uip pm`, mining a CSV/log, ingesting data into one, dbt/SQL transformations, steps-to-resolution / throughput / variant / rework analysis, or querying one. Also 'build a process app from this data', 'ingest this log', 'fix my Cases.sql', 'why can't I query my custom table', 'add a table to the data model', 'group by X average Y', 'fix/change/read my data mapping', 'wrong date format in the mapping', 'change a field's data kind', 'set a field to duration', 'add a calculated field/metric', 'my dashboards won't open', 'Must be duration not numeric
|
|
3
|
+
description: "UiPath Process Mining via `uip pm` — build and operate a process app end-to-end from a CSV / event log: templates, data mapping, upload, ingest, the dbt (Snowflake) transformation layer, publish, and query it (metrics, percentiles, RCA). Covers `uipath.custom`, the `Cases.sql` optional-column gotcha, Case-linked data-model tables (add-table + re-ingest), the apply-not-reingest fix loop, fixing a wrong mapping in place via `apps data-mapping get|update` (no app rebuild), and editing the app model via `apps model fields` — a field's data kind / calculated fields, including the numeric→duration mismatch that locks dashboards open. For Orchestrator/Data Fabric/Integration Service→uipath-platform. For `.flow`/Maestro→uipath-maestro-flow. For IXP→uipath-ixp."
|
|
4
|
+
when_to_use: "User mentions process mining, a process app, an event log, `uip pm`, mining a CSV/log, ingesting data into one, dbt/SQL transformations, steps-to-resolution / throughput / variant / rework analysis, or querying one. Also 'build a process app from this data', 'ingest this log', 'fix my Cases.sql', 'why can't I query my custom table', 'add a table to the data model', 'group by X average Y', 'fix/change/read my data mapping', 'wrong date format in the mapping', 'change a field's data kind', 'set a field to duration', 'add a calculated field/metric', 'my dashboards won't open', 'Must be duration not numeric'. For Orchestrator/Data Fabric→uipath-platform; `.flow`→uipath-maestro-flow; IXP→uipath-ixp."
|
|
5
5
|
allowed-tools: Bash, Read, Write, Glob, Grep
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -24,7 +24,7 @@ references for the full detail.
|
|
|
24
24
|
- **Author the transformation layer** — edit the dbt (Snowflake) SQL models that produce the process model, then re-run.
|
|
25
25
|
- **Query a process app** — pull numbers out: aggregate group-by + metrics, raw detail rows, percentiles, root-cause analysis, process insights.
|
|
26
26
|
- **Expose custom analysis** — surface your own analytical table (a weekly aggregate, an impact study) as a queryable entity.
|
|
27
|
-
- **Edit the app model** — change a field's data kind, add calculated fields, or fix a data-kind mismatch that locks dashboards open
|
|
27
|
+
- **Edit the app model** — change a field's data kind, add calculated fields, or fix a data-kind mismatch that locks dashboards open.
|
|
28
28
|
- **Manage the app lifecycle** — stages (dev → published), RBAC, deletion.
|
|
29
29
|
|
|
30
30
|
## App lifecycle
|
|
@@ -47,11 +47,11 @@ An app moves through: **create** (from a template + data mapping) → **load** (
|
|
|
47
47
|
|
|
48
48
|
7. **Query field ids come from `query info`, not column names.** `query run`/`percentile` bodies take the hashed `F__<Table>__<Col>__<hash>` ids. Prefer the sugar: `query run <app> --group-by <col> --metric <col>:<fn>` resolves human names for you (fn ∈ `average|count|sum|min|max`).
|
|
49
49
|
|
|
50
|
-
8. **Develop on `dev` with a data subset; publish the full dataset.** The `dev` stage is for iterating on the mapping and transformations — keep it fast by loading a **small representative subset** of the data. Once the model is right, **publish** so the **published** stage carries the **full** dataset for the dashboards and sharing.
|
|
50
|
+
8. **Develop on `dev` with a data subset; publish the full dataset.** The `dev` stage is for iterating on the mapping and transformations — keep it fast by loading a **small representative subset** of the data. Once the model is right, **publish** so the **published** stage carries the **full** dataset for the dashboards and sharing. Iterate with `--stage dev`; consumers read the **published dashboards**. `query --stage published` works once that stage has a completed ingestion — after `apps publish` reports `IngestionNeeded: true`, run `ingestions create <app> --stage published --wait`. Querying published is optional, not a required step ([`references/lifecycle-and-rbac.md`](references/lifecycle-and-rbac.md)).
|
|
51
51
|
|
|
52
52
|
9. **RBAC is folder/role-based at the platform layer, not the process app itself.** A process app lives in a folder; who can view vs. edit vs. publish is governed by Orchestrator/Identity roles and folder assignments — configure it with [`uipath-admin`](/uipath:uipath-admin) (roles, role assignments, effective-access) and [`uipath-platform`](/uipath:uipath-platform) (folders). See [`references/lifecycle-and-rbac.md`](references/lifecycle-and-rbac.md). `uip pm` itself does not grant access.
|
|
53
53
|
|
|
54
|
-
10. **Edit a field's data kind / calculated fields with `apps model fields` — and a data-kind mismatch can lock the app open.** Change a field's kind (e.g. numeric→duration), rename it, or add a calculated field with `uip pm apps model fields set <app> <field> [--kind|--display-name|--expression]` (the **semantic** model; dev-only, and **no `--etag`** — it merges into the version it just read, so a lost race is fixed by re-running it; a whole-document `apps model update` does require `--etag`). Relational/arithmetic operators require both operands to share a data kind, so flipping a field to `duration` while a metric / calculated field / dashboard filter still compares it to a `numeric` constant persists an invalid model that throws at dashboard open — the *"Must be duration, not numeric, for the 'lt' input"* lockout
|
|
54
|
+
10. **Edit a field's data kind / calculated fields with `apps model fields` — and a data-kind mismatch can lock the app open.** Change a field's kind (e.g. numeric→duration), rename it, or add a calculated field with `uip pm apps model fields set <app> <field> [--kind|--display-name|--expression]` (the **semantic** model; dev-only, and **no `--etag`** — it merges into the version it just read, so a lost race is fixed by re-running it; a whole-document `apps model update` does require `--etag`). Relational/arithmetic operators require both operands to share a data kind, so flipping a field to `duration` while a metric / calculated field / dashboard filter still compares it to a `numeric` constant persists an invalid model that throws at dashboard open — the *"Must be duration, not numeric, for the 'lt' input"* lockout, which leaves only the data-upload module reachable. `fields set`/`update` validate and refuse such an edit with a hint; fix an already-broken app by making the comparison consistent (re-type the field or the constant). Full surface + the data-kind rule in [`references/model-editing.md`](references/model-editing.md).
|
|
55
55
|
|
|
56
56
|
## Quick Start
|
|
57
57
|
|
|
@@ -76,7 +76,7 @@ reference for the decision; drop into the CLI reference for the mechanics it use
|
|
|
76
76
|
| [`references/pre-flight.md`](references/pre-flight.md) | before any upload — encoding/delimiter/date-format/empty-row checks and the minimal `mapping.json` recipe; **also** the post-create mapping fix loop (`apps data-mapping get`/`update`) and its failure modes |
|
|
77
77
|
| [`references/transformations.md`](references/transformations.md) | authoring/fixing dbt models — the `Cases.sql` patch, apply-vs-run, pm_utils macros, Snowflake identifier quoting |
|
|
78
78
|
| [`references/data-model.md`](references/data-model.md) | exposing a custom table to `query`/dashboards — the case-centric add-table pattern (DataModelDto + re-ingest) and the Tags/Due_dates decision table |
|
|
79
|
-
| [`references/model-editing.md`](references/model-editing.md) | editing the app model — a field's **data kind** (e.g. numeric→duration), calculated fields, the two models (semantic `apps model` vs structural `apps data-model`), and the data-kind comparison rule that locks an app open
|
|
79
|
+
| [`references/model-editing.md`](references/model-editing.md) | editing the app model — a field's **data kind** (e.g. numeric→duration), calculated fields, the two models (semantic `apps model` vs structural `apps data-model`), and the data-kind comparison rule that locks an app open |
|
|
80
80
|
| [`references/querying.md`](references/querying.md) | pulling numbers out — the aggregate body AST, the `--group-by/--metric` sugar, the `AggregationFunction` enum, and the event-table restriction |
|
|
81
81
|
| [`references/lifecycle-and-rbac.md`](references/lifecycle-and-rbac.md) | dev vs published stages, publishing, and where process-app RBAC is configured |
|
|
82
82
|
|