@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.
Files changed (415) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.cursor-plugin/plugin.json +1 -1
  4. package/CODEOWNERS +41 -29
  5. package/README.md +1 -0
  6. package/assets/skill-status.json +13 -2
  7. package/assets/uip-catalog-snapshot.json +95 -46
  8. package/package.json +2 -1
  9. package/skills/uipath-admin/SKILL.md +107 -197
  10. package/skills/uipath-admin/references/audit-commands.md +69 -120
  11. package/skills/uipath-admin/references/audit-workflow-guide.md +101 -152
  12. package/skills/uipath-admin/references/authorization/authorization-commands.md +121 -210
  13. package/skills/uipath-admin/references/authorization/check-access.md +39 -63
  14. package/skills/uipath-admin/references/authorization/grant-permissions.md +38 -49
  15. package/skills/uipath-admin/references/authorization/permission-catalog.md +32 -34
  16. package/skills/uipath-admin/references/authorization/role-assignment-management.md +96 -99
  17. package/skills/uipath-admin/references/authorization/role-management.md +113 -142
  18. package/skills/uipath-admin/references/diagnose/CAPABILITY.md +13 -14
  19. package/skills/uipath-admin/references/diagnose/{references/failure-modes.md → failure-modes.md} +90 -46
  20. package/skills/uipath-admin/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +21 -14
  21. package/skills/uipath-admin/references/external-app-management.md +42 -39
  22. package/skills/uipath-admin/references/identity-commands.md +72 -625
  23. package/skills/uipath-admin/references/identity-troubleshoot-guide.md +73 -95
  24. package/skills/uipath-admin/references/ip-restriction/bypass-rule-management.md +25 -54
  25. package/skills/uipath-admin/references/ip-restriction/enforcement-management.md +19 -31
  26. package/skills/uipath-admin/references/ip-restriction/ip-range-management.md +48 -45
  27. package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +89 -146
  28. package/skills/uipath-admin/references/key-concepts.md +24 -0
  29. package/skills/uipath-admin/references/organization-management.md +49 -70
  30. package/skills/uipath-admin/references/organizations-commands.md +39 -74
  31. package/skills/uipath-admin/references/pat-management.md +25 -38
  32. package/skills/uipath-admin/references/robot-account-management.md +16 -14
  33. package/skills/uipath-admin/references/smtp-management.md +19 -14
  34. package/skills/uipath-admin/references/tenant-management.md +1 -1
  35. package/skills/uipath-admin/references/tenants-commands.md +82 -148
  36. package/skills/uipath-admin/references/user-management.md +70 -56
  37. package/skills/uipath-agents/SKILL.md +4 -3
  38. package/skills/uipath-agents/references/authentication.md +4 -3
  39. package/skills/uipath-agents/references/coded/capabilities/datafabric.md +465 -0
  40. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -0
  41. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +2 -0
  42. package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +12 -6
  43. package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
  44. package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +48 -16
  45. package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +1 -1
  46. package/skills/uipath-agents/references/coded/lifecycle/deployment.md +11 -1
  47. package/skills/uipath-agents/references/coded/quickstart.md +11 -8
  48. package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +3 -3
  49. package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +19 -2
  50. package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -2
  51. package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +409 -155
  52. package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
  53. package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
  54. package/skills/uipath-aops/SKILL.md +313 -0
  55. package/skills/uipath-aops/assets/templates/pipeline-dto-template.json +15 -0
  56. package/skills/uipath-aops/references/discovery-flow.md +312 -0
  57. package/skills/uipath-aops/references/migration-guide.md +146 -0
  58. package/skills/uipath-aops/references/pipeline-dto-guide.md +276 -0
  59. package/skills/uipath-aops/references/save-and-run-guide.md +156 -0
  60. package/skills/uipath-api-workflow/SKILL.md +48 -6
  61. package/skills/uipath-api-workflow/assets/templates/file-base64-roundtrip-example.json +154 -0
  62. package/skills/uipath-api-workflow/assets/templates/nested-control-flow-example.json +0 -1
  63. package/skills/uipath-api-workflow/references/cli-reference.md +20 -1
  64. package/skills/uipath-api-workflow/references/expressions-and-context.md +19 -0
  65. package/skills/uipath-api-workflow/references/files-and-base64.md +153 -0
  66. package/skills/uipath-api-workflow/references/operating-published-workflows.md +3 -2
  67. package/skills/uipath-api-workflow/references/task-types.md +89 -3
  68. package/skills/uipath-api-workflow/references/testing-and-evals.md +224 -0
  69. package/skills/uipath-api-workflow/references/troubleshooting.md +124 -4
  70. package/skills/uipath-coded-apps/SKILL.md +4 -2
  71. package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1 -1
  72. package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +11 -1
  73. package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +5 -3
  74. package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +1 -0
  75. package/skills/uipath-coded-apps/references/oauth-client-setup.md +2 -0
  76. package/skills/uipath-coded-apps/references/pack-publish-deploy.md +18 -0
  77. package/skills/uipath-coded-apps/references/sdk/orchestrator.md +4 -0
  78. package/skills/uipath-connector-builder/SKILL.md +7 -5
  79. package/skills/uipath-connector-builder/references/debugging.md +5 -1
  80. package/skills/uipath-connector-builder/references/element-json.md +3 -1
  81. package/skills/uipath-connector-builder/references/standard-resources.md +37 -6
  82. package/skills/uipath-functions/SKILL.md +134 -222
  83. package/skills/uipath-functions/references/js/authoring-guide.md +141 -0
  84. package/skills/uipath-functions/references/js/bindings-guide.md +120 -0
  85. package/skills/uipath-functions/references/js/calling-uipath-apis-guide.md +112 -0
  86. package/skills/uipath-functions/references/js/coded-app-wiring-guide.md +103 -0
  87. package/skills/uipath-functions/references/js/deployment-guide.md +109 -0
  88. package/skills/uipath-functions/references/js/http-semantics-guide.md +80 -0
  89. package/skills/uipath-functions/references/js/job-mode-guide.md +114 -0
  90. package/skills/uipath-functions/references/js/local-dev-guide.md +107 -0
  91. package/skills/uipath-functions/references/python/workflow-guide.md +224 -0
  92. package/skills/uipath-governance/SKILL.md +9 -8
  93. package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +36 -8
  94. package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +14 -12
  95. package/skills/uipath-governance/references/compliance-pack/disable/impl.md +5 -3
  96. package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +7 -5
  97. package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +14 -7
  98. package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +3 -1
  99. package/skills/uipath-governance/references/compliance-pack/preview-gate.md +1 -1
  100. package/skills/uipath-governance/references/compliance-pack/query/impl.md +4 -2
  101. package/skills/uipath-governance/references/diagnose/CAPABILITY.md +12 -12
  102. package/skills/uipath-governance/references/diagnose/{references/failure-modes.md → failure-modes.md} +5 -5
  103. package/skills/uipath-governance/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +2 -2
  104. package/skills/uipath-governance/references/disambiguation-guide.md +15 -7
  105. package/skills/uipath-human-in-the-loop/SKILL.md +107 -9
  106. package/skills/uipath-human-in-the-loop/references/hitl-casetask-action.md +413 -0
  107. package/skills/uipath-insights/SKILL.md +21 -14
  108. package/skills/uipath-insights/references/alerts-reads-guide.md +242 -0
  109. package/skills/uipath-insights/references/filter-discovery-guide.md +1 -1
  110. package/skills/uipath-insights/references/jobs-commands-guide.md +2 -2
  111. package/skills/uipath-ixp/references/cli-reference.md +1 -1
  112. package/skills/uipath-ixp/references/improve-prompts-guide.md +5 -6
  113. package/skills/uipath-maestro-bpmn/SKILL.md +87 -15
  114. package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +10 -10
  115. package/skills/uipath-maestro-bpmn/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +1 -1
  116. package/skills/uipath-maestro-bpmn/references/expression-authoring.md +12 -2
  117. package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -12
  118. package/skills/uipath-maestro-bpmn/references/operate/{references/run.md → run.md} +2 -2
  119. package/skills/uipath-maestro-bpmn/references/operate/{references/ship.md → ship.md} +3 -3
  120. package/skills/uipath-maestro-bpmn/references/patterns/ai-decision-review-guide.md +138 -0
  121. package/skills/uipath-maestro-bpmn/references/patterns/approval-chain-guide.md +136 -0
  122. package/skills/uipath-maestro-bpmn/references/patterns/composing-guide.md +113 -0
  123. package/skills/uipath-maestro-bpmn/references/patterns/external-wait-guide.md +145 -0
  124. package/skills/uipath-maestro-bpmn/references/patterns/failure-escalation-guide.md +103 -0
  125. package/skills/uipath-maestro-bpmn/references/patterns/high-volume-batch-guide.md +107 -0
  126. package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +129 -0
  127. package/skills/uipath-maestro-bpmn/references/patterns/smart-triage-guide.md +129 -0
  128. package/skills/uipath-maestro-bpmn/references/registry-workflow.md +15 -0
  129. package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +67 -36
  130. package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +6 -5
  131. package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +23 -5
  132. package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +101 -53
  133. package/skills/uipath-maestro-case/SKILL.md +23 -24
  134. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +30 -17
  135. package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -5
  136. package/skills/uipath-maestro-case/references/brownfield.md +3 -3
  137. package/skills/uipath-maestro-case/references/case-commands.md +8 -4
  138. package/skills/uipath-maestro-case/references/case-editing-operations.md +19 -19
  139. package/skills/uipath-maestro-case/references/case-schema.md +17 -3
  140. package/skills/uipath-maestro-case/references/connector-integration.md +25 -16
  141. package/skills/uipath-maestro-case/references/connector-trigger-impl.md +15 -15
  142. package/skills/uipath-maestro-case/references/connector-trigger-planning.md +32 -29
  143. package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -1
  144. package/skills/uipath-maestro-case/references/evals/evals.json +11 -11
  145. package/skills/uipath-maestro-case/references/implementation.md +74 -44
  146. package/skills/uipath-maestro-case/references/phased-execution.md +23 -21
  147. package/skills/uipath-maestro-case/references/placeholder-tasks.md +28 -23
  148. package/skills/uipath-maestro-case/references/planning.md +37 -252
  149. package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
  150. package/skills/uipath-maestro-case/references/plugins/case/planning.md +8 -6
  151. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
  152. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +11 -10
  153. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +6 -6
  154. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +12 -12
  155. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +4 -4
  156. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +10 -9
  157. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +5 -5
  158. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +16 -14
  159. package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +3 -3
  160. package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +15 -15
  161. package/skills/uipath-maestro-case/references/plugins/sla/planning.md +20 -21
  162. package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +6 -6
  163. package/skills/uipath-maestro-case/references/plugins/stages/planning.md +9 -9
  164. package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -9
  165. package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +38 -38
  166. package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -3
  167. package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +24 -20
  168. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -3
  169. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +24 -20
  170. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +4 -4
  171. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +25 -21
  172. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +30 -22
  173. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +44 -28
  174. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -10
  175. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +27 -23
  176. package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -3
  177. package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -3
  178. package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +25 -22
  179. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -3
  180. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +25 -21
  181. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -4
  182. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +5 -4
  183. package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -9
  184. package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +30 -19
  185. package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -4
  186. package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +8 -7
  187. package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +3 -3
  188. package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +5 -4
  189. package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +5 -5
  190. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +7 -7
  191. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +21 -17
  192. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +29 -21
  193. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +23 -21
  194. package/skills/uipath-maestro-case/references/registry-discovery.md +5 -5
  195. package/skills/uipath-maestro-flow/.maintenance/README.md +35 -28
  196. package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +19 -1
  197. package/skills/uipath-maestro-flow/.maintenance/check-links.sh +3 -0
  198. package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +2 -2
  199. package/skills/uipath-maestro-flow/SKILL.md +66 -76
  200. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +75 -72
  201. package/skills/uipath-maestro-flow/references/author/brownfield.md +90 -0
  202. package/skills/uipath-maestro-flow/references/author/{references/editing-operations-cli.md → editing-operations-cli.md} +9 -4
  203. package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +373 -0
  204. package/skills/uipath-maestro-flow/references/author/editing-operations.md +103 -0
  205. package/skills/uipath-maestro-flow/references/author/{references/greenfield.md → greenfield.md} +32 -20
  206. package/skills/uipath-maestro-flow/references/author/planning-arch.md +342 -0
  207. package/skills/uipath-maestro-flow/references/author/planning-impl.md +283 -0
  208. package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +227 -0
  209. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agent/planning.md +2 -2
  210. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/impl.md +2 -2
  211. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/planning.md +1 -1
  212. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/impl.md +2 -2
  213. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/planning.md +1 -1
  214. package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
  215. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/batch-transform/planning.md +1 -1
  216. package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +449 -0
  217. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector/planning.md +3 -3
  218. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/impl.md +20 -18
  219. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/planning.md +2 -2
  220. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +427 -0
  221. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +185 -0
  222. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/impl.md +5 -0
  223. package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
  224. package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
  225. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/impl.md +2 -2
  226. package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +178 -0
  227. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/hitl/planning.md +14 -1
  228. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/impl-connector.md +4 -4
  229. package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
  230. package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
  231. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/planning.md +3 -3
  232. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/impl.md +6 -6
  233. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/planning.md +1 -1
  234. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/impl.md +4 -4
  235. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/planning.md +1 -1
  236. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/impl.md +8 -8
  237. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/impl.md +1 -1
  238. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/planning.md +1 -1
  239. package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
  240. package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
  241. package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
  242. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/rpa/planning.md +1 -1
  243. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/impl.md +6 -8
  244. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/impl.md +5 -5
  245. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/planning.md +1 -1
  246. package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
  247. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/subflow/planning.md +1 -1
  248. package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
  249. package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
  250. package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
  251. package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
  252. package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +241 -0
  253. package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/transform/planning.md +1 -1
  254. package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +39 -37
  255. package/skills/uipath-maestro-flow/references/diagnose/{references/failure-modes.md → failure-modes.md} +22 -22
  256. package/skills/uipath-maestro-flow/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +60 -1
  257. package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +27 -25
  258. package/skills/uipath-maestro-flow/references/evaluate/{references/commands-reference.md → commands-reference.md} +58 -7
  259. package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
  260. package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
  261. package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +21 -21
  262. package/skills/uipath-maestro-flow/references/operate/{references/manage.md → manage.md} +4 -4
  263. package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
  264. package/skills/uipath-maestro-flow/references/operate/{references/ship.md → ship.md} +5 -5
  265. package/skills/uipath-maestro-flow/references/shared/action-nodes.md +30 -22
  266. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +76 -184
  267. package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +49 -60
  268. package/skills/uipath-maestro-flow/references/shared/file-format.md +32 -11
  269. package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +49 -104
  270. package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +66 -103
  271. package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +4 -4
  272. package/skills/uipath-planner/SKILL.md +1 -1
  273. package/skills/uipath-planner/assets/templates/case/case-sdd-template.md +5 -3
  274. package/skills/uipath-planner/references/case/case-design-lane-guide.md +1 -1
  275. package/skills/uipath-planner/references/case/case-design-layers-guide.md +2 -2
  276. package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -1
  277. package/skills/uipath-planner/references/pdd-driven-lane-guide.md +3 -2
  278. package/skills/uipath-planner/references/sdd-generation-guide.md +1 -0
  279. package/skills/uipath-planner/scripts/case/audit_sdd.py +77 -1
  280. package/skills/uipath-platform/SKILL.md +6 -4
  281. package/skills/uipath-platform/references/integration-service/activities.md +7 -4
  282. package/skills/uipath-platform/references/integration-service/reference-resolution.md +28 -0
  283. package/skills/uipath-platform/references/integration-service/resources.md +11 -0
  284. package/skills/uipath-platform/references/integration-service/triggers.md +2 -2
  285. package/skills/uipath-platform/references/licensing/diagnose/CAPABILITY.md +80 -0
  286. package/skills/uipath-platform/references/licensing/diagnose/references/failure-modes.md +147 -0
  287. package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md +125 -0
  288. package/skills/uipath-platform/references/licensing/licensing.md +3 -0
  289. package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +5 -0
  290. package/skills/uipath-platform/references/orchestrator/run-jobs.md +11 -2
  291. package/skills/uipath-platform/references/traces/feedback.md +4 -4
  292. package/skills/uipath-platform/references/traces/traces.md +1 -1
  293. package/skills/uipath-process-mining/SKILL.md +6 -6
  294. package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +10 -8
  295. package/skills/uipath-process-mining/references/model-editing.md +1 -1
  296. package/skills/uipath-process-mining/references/querying.md +4 -3
  297. package/skills/uipath-review/SKILL.md +171 -541
  298. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +73 -92
  299. package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +4 -0
  300. package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +73 -180
  301. package/skills/uipath-review/references/architecture-assessment-guide.md +93 -105
  302. package/skills/uipath-review/references/review-workflow-guide.md +1 -1
  303. package/skills/uipath-review/references/rpa/modern-studio-issues.md +44 -44
  304. package/skills/uipath-review/references/rpa/rpa-common-issues.md +251 -321
  305. package/skills/uipath-review/references/rpa/rpa-review-checklist.md +1 -1
  306. package/skills/uipath-review/references/rule-catalog-workflow.md +25 -45
  307. package/skills/uipath-review/references/rule-format.md +21 -21
  308. package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +1 -1
  309. package/skills/uipath-rpa/CLAUDE.md +4 -5
  310. package/skills/uipath-rpa/SKILL.md +40 -246
  311. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/FindText.md +2 -10
  312. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetColorAtPosition.md +2 -10
  313. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetCursorPosition.md +2 -10
  314. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetField.md +13 -13
  315. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetFieldAtPosition.md +2 -10
  316. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetScreenArea.md +27 -8
  317. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetText.md +2 -14
  318. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetTextAtPosition.md +2 -10
  319. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursor.md +3 -11
  320. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursorToText.md +2 -10
  321. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendControlKey.md +2 -8
  322. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeys.md +2 -10
  323. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeysSecure.md +2 -10
  324. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetField.md +14 -13
  325. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetFieldAtPosition.md +4 -7
  326. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/_common-options.md +29 -0
  327. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/authoring-paths.md +58 -0
  328. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +197 -11
  329. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitFieldText.md +2 -10
  330. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +9 -10
  331. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenText.md +2 -14
  332. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitTextAtPosition.md +2 -10
  333. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities.json +271 -0
  334. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/coded/coded-api.md +61 -3
  335. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/overview.md +76 -0
  336. package/skills/uipath-rpa/references/cli-reference.md +63 -29
  337. package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +59 -1
  338. package/skills/uipath-rpa/references/coded/operations-guide.md +2 -1
  339. package/skills/uipath-rpa/references/debugging.md +29 -12
  340. package/skills/uipath-rpa/references/environment-setup.md +54 -1
  341. package/skills/uipath-rpa/references/execution-maps-guide.md +10 -9
  342. package/skills/uipath-rpa/references/legacy/activity-docs/_INVOKE-CODE.md +1 -1
  343. package/skills/uipath-rpa/references/uia-starter-guide.md +46 -8
  344. package/skills/uipath-rpa/references/xaml/common-pitfalls.md +3 -4
  345. package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +7 -8
  346. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +132 -42
  347. package/skills/uipath-solution/SKILL.md +9 -6
  348. package/skills/uipath-solution/references/activate-and-manage.md +11 -6
  349. package/skills/uipath-solution/references/develop-solution.md +39 -28
  350. package/skills/uipath-solution/references/pack-and-deploy.md +49 -1
  351. package/skills/uipath-solution/references/scenarios/failure-modes.md +1 -1
  352. package/skills/uipath-solution/references/scenarios/intra-solution-references.md +3 -3
  353. package/skills/uipath-solution/references/scenarios/manual-edits.md +1 -1
  354. package/skills/uipath-solution/references/scenarios.md +2 -2
  355. package/skills/uipath-solution/references/solution-overview.md +15 -6
  356. package/skills/uipath-tasks/SKILL.md +11 -6
  357. package/skills/uipath-tasks/references/task-assignment.md +5 -0
  358. package/skills/uipath-tasks/references/task-catalogs.md +7 -4
  359. package/skills/uipath-tasks/references/task-completion.md +3 -1
  360. package/skills/uipath-tasks/references/task-data.md +3 -3
  361. package/skills/uipath-tasks/references/task-lifecycle.md +11 -0
  362. package/skills/uipath-tasks/references/task-metadata.md +4 -3
  363. package/skills/uipath-test/SKILL.md +13 -28
  364. package/skills/uipath-test/references/failure-triage-guide.md +90 -0
  365. package/skills/uipath-test/references/playwright-first-mile-guide.md +2 -2
  366. package/skills/uipath-test/references/publish-and-link-guide.md +0 -1
  367. package/skills/uipath-test/references/test-result-report-guide.md +1 -2
  368. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +1 -1
  369. package/skills/uipath-troubleshoot/references/presenting.md +1 -1
  370. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
  371. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/generic-error-400.md +4 -4
  372. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-400.md +2 -2
  373. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/job-operation-timeout.md +1 -1
  374. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +1 -1
  375. package/version-manifest.json +2 -2
  376. package/skills/uipath-maestro-case/scripts/audit_plan.py +0 -231
  377. package/skills/uipath-maestro-flow/references/author/references/brownfield.md +0 -93
  378. package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +0 -545
  379. package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +0 -131
  380. package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -638
  381. package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -306
  382. package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +0 -229
  383. package/skills/uipath-maestro-flow/references/author/references/plugins/batch-transform/impl.md +0 -174
  384. package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +0 -741
  385. package/skills/uipath-maestro-flow/references/author/references/plugins/delay/impl.md +0 -75
  386. package/skills/uipath-maestro-flow/references/author/references/plugins/end/impl.md +0 -65
  387. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +0 -204
  388. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +0 -65
  389. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +0 -201
  390. package/skills/uipath-maestro-flow/references/author/references/plugins/merge/impl.md +0 -43
  391. package/skills/uipath-maestro-flow/references/author/references/plugins/merge/planning.md +0 -29
  392. package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +0 -121
  393. package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +0 -230
  394. package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/impl.md +0 -198
  395. package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md +0 -71
  396. package/skills/uipath-maestro-flow/references/author/references/plugins/switch/planning.md +0 -38
  397. package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +0 -48
  398. package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +0 -287
  399. package/skills/uipath-maestro-flow/references/evaluate/references/eval-sets-guide.md +0 -226
  400. package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +0 -82
  401. package/skills/uipath-maestro-flow/references/operate/references/run.md +0 -99
  402. /package/skills/uipath-maestro-bpmn/references/diagnose/{references/failure-modes.md → failure-modes.md} +0 -0
  403. /package/skills/uipath-maestro-bpmn/references/operate/{references/manage.md → manage.md} +0 -0
  404. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/planning.md +0 -0
  405. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/delay/planning.md +0 -0
  406. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/end/planning.md +0 -0
  407. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/planning.md +0 -0
  408. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/planning.md +0 -0
  409. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/impl.md +0 -0
  410. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/planning.md +0 -0
  411. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/planning.md +0 -0
  412. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/switch/impl.md +0 -0
  413. /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/terminate/planning.md +0 -0
  414. /package/skills/uipath-maestro-flow/references/evaluate/{references/evaluators-guide.md → evaluators-guide.md} +0 -0
  415. /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/references/plugins/connector-trigger/impl.md#supported-operators)).
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: true` — passing a bare string fails validation. Expression values (`isLiteral: false`) are not yet supported by the CLI port.
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.
@@ -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 — what does the runtime see when it tries to start this process?
111
- # Returns missing tools, missing assets, missing connections, schema mismatches.
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
- | `--tenant` | No | Defaults to authenticated tenant |
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` is optional. Positional `<id>` required.
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>`, `--sort-order <asc|desc>`. Max 200 items.
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
- | `-t, --tenant <name>` | Tenant override |
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 (DNA-46960). 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 (DNA-46960)'. For Orchestrator/Data Fabric→uipath-platform; `.flow`→uipath-maestro-flow; IXP→uipath-ixp."
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 (DNA-46960).
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. Query/transform against `--stage dev`; consumers read the **published dashboards**. Note CLI `query --stage published` is currently unreachable (no `uip pm` path completes a published-stage ingestion) — do CLI querying on `dev` ([`references/lifecycle-and-rbac.md`](references/lifecycle-and-rbac.md)).
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 (DNA-46960), 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).
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 (DNA-46960) |
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