@uipath/skills 1.198.0-preview.21 → 1.199.0-preview.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CODEOWNERS +4 -2
  4. package/hooks/send-telemetry.ps1 +19 -13
  5. package/hooks/send-telemetry.sh +19 -13
  6. package/package.json +1 -1
  7. package/skills/uipath-admin/SKILL.md +10 -7
  8. package/skills/uipath-admin/references/audit-commands.md +21 -10
  9. package/skills/uipath-admin/references/audit-workflow-guide.md +15 -6
  10. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +6 -1
  11. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +7 -1
  12. package/skills/uipath-agents/references/coded/embedding-in-flows.md +5 -5
  13. package/skills/uipath-agents/references/coded/flow-integration.md +1 -1
  14. package/skills/uipath-agents/references/coded/quickstart.md +3 -3
  15. package/skills/uipath-agents/references/coded-vs-lowcode-guide.md +1 -1
  16. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +39 -2
  17. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +36 -2
  18. package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +4 -4
  19. package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +1 -1
  20. package/skills/uipath-agents/references/lowcode/critical-rules/critical-rules.md +1 -1
  21. package/skills/uipath-agents/references/lowcode/project-lifecycle.md +19 -9
  22. package/skills/uipath-agents/references/lowcode/solution-resources.md +2 -2
  23. package/skills/uipath-api-workflow/SKILL.md +14 -7
  24. package/skills/uipath-api-workflow/references/cli-reference.md +2 -2
  25. package/skills/uipath-api-workflow/references/connector-activity-discovery.md +1 -1
  26. package/skills/uipath-api-workflow/references/expressions-and-context.md +2 -2
  27. package/skills/uipath-api-workflow/references/operating-published-workflows.md +74 -0
  28. package/skills/uipath-api-workflow/references/task-types.md +3 -3
  29. package/skills/uipath-api-workflow/references/troubleshooting.md +23 -10
  30. package/skills/uipath-coded-apps/SKILL.md +3 -3
  31. package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +2 -2
  32. package/skills/uipath-coded-apps/references/create-action-app.md +11 -3
  33. package/skills/uipath-coded-apps/references/create-web-app.md +9 -7
  34. package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +3 -1
  35. package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +145 -87
  36. package/skills/uipath-coded-apps/references/dashboards/primitives/state-file.md +2 -2
  37. package/skills/uipath-coded-apps/references/debug.md +44 -37
  38. package/skills/uipath-coded-apps/references/oauth-client-setup.md +69 -616
  39. package/skills/uipath-coded-apps/references/sdk/conversational-agent.md +1 -1
  40. package/skills/uipath-coded-apps/references/sdk/data-fabric.md +3 -1
  41. package/skills/uipath-coded-apps/references/widgets/validation-station.md +169 -13
  42. package/skills/uipath-feedback/SKILL.md +12 -6
  43. package/skills/uipath-governance/references/auth-context.md +1 -1
  44. package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +115 -31
  45. package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +2 -1
  46. package/skills/uipath-governance/references/compliance-pack/query/impl.md +2 -2
  47. package/skills/uipath-human-in-the-loop/SKILL.md +3 -3
  48. package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +2 -2
  49. package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +1 -1
  50. package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +2 -2
  51. package/skills/uipath-insights/SKILL.md +2 -2
  52. package/skills/uipath-ixp/SKILL.md +5 -5
  53. package/skills/uipath-ixp/references/cli-reference.md +1 -1
  54. package/skills/uipath-maestro-bpmn/SKILL.md +92 -8
  55. package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +5 -1
  56. package/skills/uipath-maestro-bpmn/references/diagnose/references/troubleshooting-guide.md +5 -0
  57. package/skills/uipath-maestro-bpmn/references/expression-authoring.md +16 -3
  58. package/skills/uipath-maestro-bpmn/references/operate/references/run.md +17 -3
  59. package/skills/uipath-maestro-bpmn/references/public-safety.md +15 -0
  60. package/skills/uipath-maestro-bpmn/references/registry-workflow.md +50 -22
  61. package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +17 -0
  62. package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +30 -2
  63. package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +54 -7
  64. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +8 -4
  65. package/skills/uipath-maestro-case/SKILL.md +72 -34
  66. package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +1 -1
  67. package/skills/uipath-maestro-case/assets/templates/sdd-template.md +40 -20
  68. package/skills/uipath-maestro-case/assets/templates/sdd-viewer.html +2 -2
  69. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +13 -8
  70. package/skills/uipath-maestro-case/references/bindings-v2-sync.md +1 -1
  71. package/skills/uipath-maestro-case/references/brownfield.md +13 -3
  72. package/skills/uipath-maestro-case/references/case-commands.md +6 -6
  73. package/skills/uipath-maestro-case/references/case-editing-operations.md +13 -13
  74. package/skills/uipath-maestro-case/references/case-schema.md +58 -47
  75. package/skills/uipath-maestro-case/references/connector-trigger-common.md +2 -2
  76. package/skills/uipath-maestro-case/references/evals/evals.json +124 -23
  77. package/skills/uipath-maestro-case/references/implementation.md +15 -15
  78. package/skills/uipath-maestro-case/references/phase-0-interview.md +119 -460
  79. package/skills/uipath-maestro-case/references/phased-execution.md +23 -17
  80. package/skills/uipath-maestro-case/references/placeholder-tasks.md +3 -3
  81. package/skills/uipath-maestro-case/references/planning.md +48 -28
  82. package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +2 -1
  83. package/skills/uipath-maestro-case/references/plugins/case/planning.md +1 -1
  84. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +2 -0
  85. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +3 -3
  86. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +2 -0
  87. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +2 -0
  88. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +2 -2
  89. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +18 -2
  90. package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +12 -7
  91. package/skills/uipath-maestro-case/references/plugins/sla/planning.md +23 -7
  92. package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +3 -0
  93. package/skills/uipath-maestro-case/references/plugins/stages/planning.md +7 -4
  94. package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +15 -6
  95. package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +17 -34
  96. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +15 -13
  97. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +14 -10
  98. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +2 -2
  99. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +8 -2
  100. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +1 -1
  101. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +4 -0
  102. package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +55 -0
  103. package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +9 -6
  104. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +10 -5
  105. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +1 -1
  106. package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +3 -3
  107. package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +1 -1
  108. package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +1 -0
  109. package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +1 -0
  110. package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +2 -1
  111. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +10 -4
  112. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +74 -24
  113. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +51 -8
  114. package/skills/uipath-maestro-case/references/registry-discovery.md +83 -29
  115. package/skills/uipath-maestro-case/references/sdd-generation-rules.md +96 -64
  116. package/skills/uipath-maestro-flow/SKILL.md +2 -1
  117. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +1 -1
  118. package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +1 -1
  119. package/skills/uipath-maestro-flow/references/author/references/greenfield.md +6 -6
  120. package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +4 -4
  121. package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +4 -1
  122. package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/planning.md +1 -1
  123. package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +5 -7
  124. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +13 -12
  125. package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
  126. package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +2 -1
  127. package/skills/uipath-mcp-servers/SKILL.md +6 -6
  128. package/skills/uipath-mcp-servers/references/is-activity-workflow.md +17 -7
  129. package/skills/uipath-planner/SKILL.md +36 -24
  130. package/skills/uipath-planner/assets/templates/agent-sdd-template.md +111 -7
  131. package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +75 -11
  132. package/skills/uipath-planner/assets/templates/bpmn-sdd-template.md +429 -0
  133. package/skills/uipath-planner/assets/templates/case-sdd-template.md +114 -19
  134. package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +68 -5
  135. package/skills/uipath-planner/assets/templates/flow-sdd-template.md +84 -5
  136. package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +265 -26
  137. package/skills/uipath-planner/references/attended-reauth-pattern-guide.md +7 -1
  138. package/skills/uipath-planner/references/multi-skill-patterns-guide.md +11 -6
  139. package/skills/uipath-planner/references/non-pdd-lane-guide.md +90 -86
  140. package/skills/uipath-planner/references/package-selection-guide.md +4 -2
  141. package/skills/uipath-planner/references/pdd-analysis-guide.md +34 -7
  142. package/skills/uipath-planner/references/pdd-driven-lane-guide.md +25 -3
  143. package/skills/uipath-planner/references/plan-and-tasks-format.md +7 -6
  144. package/skills/uipath-planner/references/platform-availability-guide.md +5 -2
  145. package/skills/uipath-planner/references/product-selection-guide.md +239 -21
  146. package/skills/uipath-planner/references/rpa-product-guide.md +22 -2
  147. package/skills/uipath-planner/references/sdd-generation-guide.md +123 -31
  148. package/skills/uipath-planner/references/tenant-library-search-guide.md +6 -4
  149. package/skills/uipath-planner/scripts/docx-extract.ps1 +59 -0
  150. package/skills/uipath-planner/scripts/sdd-to-docx.ps1 +74 -0
  151. package/skills/uipath-platform/SKILL.md +12 -3
  152. package/skills/uipath-platform/references/data-fabric/data-fabric.md +7 -1
  153. package/skills/uipath-platform/references/data-fabric/entity-schema.md +21 -2
  154. package/skills/uipath-platform/references/data-fabric/filter-platform-contract.md +2 -0
  155. package/skills/uipath-platform/references/data-fabric/records-query.md +12 -0
  156. package/skills/uipath-platform/references/integration-service/triggers.md +2 -0
  157. package/skills/uipath-platform/references/orchestrator/tenant-admin.md +3 -1
  158. package/skills/uipath-rpa/CLAUDE.md +12 -10
  159. package/skills/uipath-rpa/SKILL.md +62 -34
  160. package/skills/uipath-rpa/references/cli-reference.md +3 -1
  161. package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +1 -1
  162. package/skills/uipath-rpa/references/coded/coding-guidelines.md +18 -3
  163. package/skills/uipath-rpa/references/coded/operations-guide.md +8 -6
  164. package/skills/uipath-rpa/references/legacy/activity-docs/ActiveDirectory.md +2 -3
  165. package/skills/uipath-rpa/references/legacy/activity-docs/_INDEX.md +1 -1
  166. package/skills/uipath-rpa/references/library-authoring-guide.md +1 -1
  167. package/skills/uipath-rpa/references/powershell-interop-guide.md +1 -1
  168. package/skills/uipath-rpa/references/project-structure-guide.md +1 -1
  169. package/skills/uipath-rpa/references/testing-guide.md +1 -1
  170. package/skills/uipath-rpa/references/uia-starter-guide.md +216 -0
  171. package/skills/uipath-rpa/references/validation-guide.md +2 -0
  172. package/skills/uipath-rpa/references/xaml/workflow-guide.md +2 -2
  173. package/skills/uipath-solution/SKILL.md +8 -6
  174. package/skills/uipath-solution/references/develop-solution.md +14 -14
  175. package/skills/uipath-solution/references/pack-and-deploy.md +4 -0
  176. package/skills/uipath-solution/references/scenarios/intra-solution-references.md +1 -1
  177. package/skills/uipath-solution/references/scenarios/manual-edits.md +2 -2
  178. package/skills/uipath-solution/references/solution-overview.md +28 -1
  179. package/skills/uipath-tasks/SKILL.md +2 -2
  180. package/skills/uipath-tasks/references/action-center-urls.md +4 -5
  181. package/skills/uipath-troubleshoot/SKILL.md +15 -9
  182. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/overview.md +19 -2
  183. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-open-or-attach-failed.md +4 -0
  184. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-scope-errors.md +119 -0
  185. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/click-silent-no-op.md +76 -0
  186. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-failed.md +38 -11
  187. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-file-design-time-errors.md +89 -0
  188. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/queue-operation-failed.md +91 -0
  189. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/trigger-scope-and-local-triggers-failed.md +106 -0
  190. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/type-into-wrong-or-incomplete-text.md +91 -0
  191. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +7 -2
  192. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/overview.md +38 -0
  193. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-datatable-structure-mismatch.md +32 -0
  194. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-file-locked-or-invalid-path.md +33 -0
  195. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-helper-method-not-found.md +36 -0
  196. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-file-not-found.md +34 -0
  197. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-invalid-format.md +33 -0
  198. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-more-values-than-header.md +34 -0
  199. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-access-denied.md +35 -0
  200. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-cannot-set-unknown-member.md +30 -0
  201. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-invalid-delimiter.md +27 -0
  202. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-unsupported-encoding.md +27 -0
  203. package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/summary.md +16 -0
  204. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-query-failures.md +27 -2
  205. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/summary.md +1 -1
  206. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/overview.md +1 -1
  207. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-card-failures.md +20 -31
  208. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-scope-failures.md +7 -6
  209. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-not-installed.md +72 -0
  210. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/null-reference-from-activity.md +150 -0
  211. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-sheet-not-found.md +1 -1
  212. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/{read-range-file-locked.md → workbook-file-locked.md} +54 -40
  213. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-cell-failures.md +3 -3
  214. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +5 -7
  215. package/skills/uipath-troubleshoot/references/activity-packages/file-operations/overview.md +31 -0
  216. package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-403-401-auth.md +32 -0
  217. package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-host-not-found.md +33 -0
  218. package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-httpclient-reused-in-loop.md +34 -0
  219. package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-stuck-tmp.md +29 -0
  220. package/skills/uipath-troubleshoot/references/activity-packages/file-operations/summary.md +10 -0
  221. package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/investigation_guide.md +36 -0
  222. package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/overview.md +33 -0
  223. package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-document-rejected.md +32 -0
  224. package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-license-or-endpoint-rejected.md +63 -0
  225. package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-not-enabled-or-tenant-key.md +38 -0
  226. package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-storage-or-taxonomy-missing.md +44 -0
  227. package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/summary.md +10 -0
  228. package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/investigation_guide.md +34 -0
  229. package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/overview.md +35 -0
  230. package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/playbooks/broadcast-message-timeout.md +38 -0
  231. package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/playbooks/broadcast-message-unauthorized-access.md +38 -0
  232. package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/presentation.md +9 -0
  233. package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/summary.md +9 -0
  234. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/investigation_guide.md +31 -0
  235. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/overview.md +39 -0
  236. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-activity-missing-or-not-loaded.md +37 -0
  237. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-add-comment-failures.md +50 -0
  238. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-scope-authentication-failures.md +47 -0
  239. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-scope-response-not-json-or-500.md +42 -0
  240. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-transition-issue-failures.md +47 -0
  241. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/presentation.md +9 -0
  242. package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/summary.md +11 -0
  243. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/overview.md +1 -0
  244. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-smtp-mail-failures.md +161 -0
  245. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/summary.md +1 -0
  246. package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/investigation_guide.md +29 -0
  247. package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/overview.md +26 -0
  248. package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-endpoint-and-authentication.md +52 -0
  249. package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-engine-config-and-dependencies.md +55 -0
  250. package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-input-and-runtime.md +51 -0
  251. package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/summary.md +10 -0
  252. package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/investigation_guide.md +33 -0
  253. package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/overview.md +34 -0
  254. package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-corrupt-or-image-input.md +49 -0
  255. package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-encrypted-or-wrong-password.md +51 -0
  256. package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-file-not-found-or-not-pdf.md +45 -0
  257. package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-invalid-page-range.md +42 -0
  258. package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-read-ocr-no-engine.md +39 -0
  259. package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/summary.md +11 -0
  260. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/overview.md +1 -0
  261. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-architecture-version-mismatch.md +2 -0
  262. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-hang-dotnet-runtime.md +36 -0
  263. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/summary.md +1 -0
  264. package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/investigation_guide.md +34 -0
  265. package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/overview.md +34 -0
  266. package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-bapi-not-found.md +39 -0
  267. package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-connection-failed.md +46 -0
  268. package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-unsupported-bapi.md +32 -0
  269. package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/summary.md +9 -0
  270. package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/investigation_guide.md +31 -0
  271. package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/overview.md +29 -0
  272. package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/playbooks/connection-resolution-failure.md +46 -0
  273. package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/playbooks/slack-api-error.md +65 -0
  274. package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/summary.md +8 -0
  275. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/investigation_guide.md +13 -0
  276. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/overview.md +21 -9
  277. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/compress-extract-files-failed.md +64 -0
  278. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/download-file-failed.md +46 -0
  279. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/file-folder-operation-failed.md +61 -0
  280. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-wrong-activity-type.md +2 -0
  281. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/queue-transaction-activity-failed.md +47 -0
  282. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/summary.md +6 -0
  283. package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/investigation_guide.md +28 -0
  284. package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/overview.md +30 -0
  285. package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/playbooks/terminal-session-connection-failed.md +58 -0
  286. package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/playbooks/terminal-session-null-reference.md +40 -0
  287. package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/summary.md +8 -0
  288. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +10 -27
  289. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/investigation_guide.md +1 -1
  290. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/overview.md +9 -0
  291. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +2 -0
  292. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-not-found.md +1 -10
  293. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/browser-communication-failed.md +85 -0
  294. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-coordinate-off-screen.md +2 -0
  295. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-silent-no-op.md +79 -0
  296. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/dependency-version-conflict.md +66 -0
  297. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/disabled-element.md +2 -0
  298. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/napplicationcard-view-generation-failed.md +78 -0
  299. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +2 -2
  300. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-healing-disabled.md +2 -0
  301. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-healing-fix.md +4 -2
  302. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-manual.md +3 -1
  303. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/type-into-input-failed.md +148 -0
  304. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +2 -0
  305. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +5 -0
  306. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/add-picture-failures.md +1 -0
  307. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-interop-failures.md +5 -0
  308. package/skills/uipath-troubleshoot/references/presenting.md +3 -3
  309. package/skills/uipath-troubleshoot/references/products/agents/playbooks/context-grounding-index-not-found.md +35 -24
  310. package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +14 -12
  311. package/skills/uipath-troubleshoot/references/products/agents/playbooks/input-schema-validation-failure.md +23 -13
  312. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-connection-disabled.md +6 -4
  313. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-credentials.md +12 -9
  314. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-element-instance.md +12 -9
  315. package/skills/uipath-troubleshoot/references/products/agents/playbooks/llm-insufficient-information.md +20 -13
  316. package/skills/uipath-troubleshoot/references/products/agents/summary.md +1 -1
  317. package/skills/uipath-troubleshoot/references/products/api-workflows/investigation_guide.md +52 -0
  318. package/skills/uipath-troubleshoot/references/products/api-workflows/overview.md +33 -0
  319. package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/connection-auth-failure.md +49 -0
  320. package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/expression-reference-error.md +32 -0
  321. package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/output-undefined.md +39 -0
  322. package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/publish-deploy-failure.md +38 -0
  323. package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/run-not-successful.md +37 -0
  324. package/skills/uipath-troubleshoot/references/products/api-workflows/summary.md +14 -0
  325. package/skills/uipath-troubleshoot/references/products/assistant/investigation_guide.md +71 -0
  326. package/skills/uipath-troubleshoot/references/products/assistant/overview.md +44 -0
  327. package/skills/uipath-troubleshoot/references/products/assistant/playbooks/assistant-crash.md +38 -0
  328. package/skills/uipath-troubleshoot/references/products/assistant/playbooks/orchestrator-connection-failure.md +43 -0
  329. package/skills/uipath-troubleshoot/references/products/assistant/playbooks/process-missing-or-unstartable.md +41 -0
  330. package/skills/uipath-troubleshoot/references/products/assistant/playbooks/sign-in-failure.md +42 -0
  331. package/skills/uipath-troubleshoot/references/products/assistant/summary.md +18 -0
  332. package/skills/uipath-troubleshoot/references/products/coded-apps/overview.md +49 -0
  333. package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/action-app-form-data-not-loading.md +66 -0
  334. package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/api-401-after-login.md +51 -0
  335. package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/api-403-folder-permission.md +51 -0
  336. package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/cors-error-wrong-base-url.md +46 -0
  337. package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/deploy-404-app-not-found.md +59 -0
  338. package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/invalid-scope.md +70 -0
  339. package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/isauthenticated-false-after-callback.md +59 -0
  340. package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/redirect-uri-mismatch.md +59 -0
  341. package/skills/uipath-troubleshoot/references/products/coded-apps/summary.md +14 -0
  342. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-invalid.md +11 -10
  343. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-not-resolved.md +3 -3
  344. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-general-exception.md +1 -1
  345. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/request-failed.md +2 -0
  346. package/skills/uipath-troubleshoot/references/products/maestro/error_codes.md +2 -2
  347. package/skills/uipath-troubleshoot/references/products/maestro/investigation_guide.md +6 -2
  348. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/autopilot-429.md +8 -5
  349. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/expression-evaluation-errors.md +6 -0
  350. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
  351. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/gateway-no-outgoing-flow.md +6 -4
  352. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-404.md +3 -2
  353. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/js-runtime-discrepancy.md +7 -1
  354. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/marker-input-null.md +4 -0
  355. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/marker-invalid-cast.md +5 -1
  356. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/multi-instance-parallel.md +7 -1
  357. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +2 -0
  358. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/personal-automation-quota.md +1 -1
  359. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/service-task-child-job-faulted.md +10 -2
  360. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/variable-expression-errors.md +6 -0
  361. package/skills/uipath-troubleshoot/references/products/maestro/summary.md +5 -5
  362. package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +2 -2
  363. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-logon-failure.md +2 -0
  364. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-session-timeout.md +50 -0
  365. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-no-host.md +2 -0
  366. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stuck.md +2 -0
  367. package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +1 -0
  368. package/skills/uipath-troubleshoot/references/products/studio/overview.md +34 -0
  369. package/skills/uipath-troubleshoot/references/products/studio/playbooks/studio-autopilot-unavailable.md +47 -0
  370. package/skills/uipath-troubleshoot/references/products/studio/summary.md +7 -0
  371. package/skills/uipath-troubleshoot/references/runtime-exceptions/overview.md +12 -1
  372. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/argument-exception.md +48 -0
  373. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/argument-out-of-range-exception.md +50 -0
  374. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/assign-linq-no-data-rows.md +78 -0
  375. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/assign-type-mismatch.md +91 -0
  376. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/directory-not-found-exception.md +47 -0
  377. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/if-condition-compiler-error.md +81 -0
  378. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/if-wrong-branch.md +85 -0
  379. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/index-out-of-range-exception.md +48 -0
  380. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/invalid-operation-exception.md +51 -0
  381. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/key-not-found-exception.md +45 -0
  382. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/null-reference-exception.md +2 -0
  383. package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/visualbasicvalue-requires-compilation.md +47 -0
  384. package/skills/uipath-troubleshoot/references/runtime-exceptions/summary.md +11 -0
  385. package/skills/uipath-troubleshoot/references/summary.md +138 -5
  386. package/version-manifest.json +2 -2
  387. package/skills/uipath-rpa/references/ui-automation-guide.md +0 -559
  388. package/skills/uipath-rpa/references/uia-configure-target-workflows.md +0 -188
  389. package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +0 -102
  390. package/skills/uipath-rpa/references/uia-prerequisites.md +0 -42
  391. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/add-queue-item-failed.md +0 -58
  392. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-excel-not-installed.md +0 -36
  393. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-file-locked.md +0 -40
  394. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-null-reference.md +0 -37
  395. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-null-reference.md +0 -119
@@ -9,7 +9,7 @@
9
9
  "name": "uipath",
10
10
  "source": "./",
11
11
  "description": "UiPath plugin for Claude Code — custom skills, agents, hooks, and MCP servers for UiPath workflows, UI automation, UI testing and UiPath troubleshoot",
12
- "version": "1.198.0",
12
+ "version": "1.199.0",
13
13
  "author": {
14
14
  "name": "UiPath"
15
15
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uipath",
3
- "version": "1.198.0",
3
+ "version": "1.199.0",
4
4
  "description": "UiPath plugin for Claude Code — custom skills, agents, hooks, and MCP servers for UiPath RPA workflows, UI automation, UI testing, Python coded agents and UiPath troubleshoot",
5
5
  "author": {
6
6
  "name": "UiPath"
package/CODEOWNERS CHANGED
@@ -100,8 +100,8 @@
100
100
  /tests/tasks/uipath-human-in-the-loop/ @dushyant-uipath
101
101
 
102
102
  # Case Management skill
103
- /skills/uipath-maestro-case/ @charlesliu9 @song-zhao-25 @jundayin
104
- /tests/tasks/uipath-maestro-case/ @charlesliu9 @song-zhao-25 @jundayin
103
+ /skills/uipath-maestro-case/ @charlesliu9 @song-zhao-25 @abhiram-vad @jundayin
104
+ /tests/tasks/uipath-maestro-case/ @charlesliu9 @song-zhao-25 @abhiram-vad @jundayin
105
105
  /tests/tasks/uipath-maestro-case/guardrails/ @apetraru-uipath @valentinabojan @ctiliescuuipath
106
106
 
107
107
  # Coded Apps skill
@@ -136,6 +136,8 @@
136
136
  /tests/tasks/uipath-troubleshoot/ @MarinRzv @dmorosanu @vladimir-cozma @costin-uipath @Stefan-Virgil
137
137
  /tests/tasks/activation/uipath-troubleshoot.jsonl @MarinRzv @dmorosanu @vladimir-cozma @costin-uipath @Stefan-Virgil
138
138
  /skills/uipath-troubleshoot/references/products/agents/ @UiPath/llmops-team @andreibalas-uipath
139
+ # Assistant desktop diagnostics domain (diagnostic archives — combined.log / Robot.log)
140
+ /skills/uipath-troubleshoot/references/products/assistant/ @vasyop @MarinRzv @dmorosanu @vladimir-cozma @costin-uipath @Stefan-Virgil
139
141
 
140
142
  # Governance skill
141
143
  /skills/uipath-governance/ @UiPath/authz @sriramva-uipath @bansal-anushree @jianjunwang2 @t-hsia @ZuerWang99 @litheon @IsabellaCapriottiUIPath
@@ -43,15 +43,21 @@
43
43
  # (resolvedModel)
44
44
  #
45
45
  # CROSS-AGENT: registered as a PostToolUse hook, this also runs under other
46
- # coding agents that honor hooks.json (e.g. Codex). Codex's envelope matches
47
- # Claude's (hook_event_name, tool_name, tool_use_id, session_id,
48
- # permission_mode, tool_input/{command,file_path}), so Bash-`uip` and file
49
- # attribution work unchanged. Differences handled / accepted: agent spawns use
50
- # `spawn_agent` + tool_input.agent_type (see Test-UipathCall + extraction);
51
- # Codex omits duration_ms / effort.level (-> durationMs null, effortLevel "")
52
- # and serializes tool_response as a JSON STRING, not an object, so success /
53
- # interrupted / resolvedModel are absent and outcome is ok|unknown only.
54
- # Only derived, low-cardinality, PII-free values ever leave the machine.
46
+ # coding agents that honor hooks.json (e.g. Codex, UiPath Autopilot / Delegate).
47
+ # Codex's envelope matches Claude's (hook_event_name, tool_name, tool_use_id,
48
+ # session_id, permission_mode, tool_input/{command,file_path}), so Bash-`uip`
49
+ # and file attribution work unchanged. Differences handled / accepted: agent
50
+ # spawns use `spawn_agent` + tool_input.agent_type (see Test-UipathCall +
51
+ # extraction); Codex omits duration_ms / effort.level (-> durationMs null,
52
+ # effortLevel "") and serializes tool_response as a JSON STRING, not an object,
53
+ # so success / interrupted / resolvedModel are absent and outcome is ok|unknown
54
+ # only. UiPath Autopilot / Delegate keep the same envelope but rename the shell
55
+ # and file tools — ExecuteBashCommand / ExecutePowershellCommand (vs Bash /
56
+ # PowerShell) and ReadFile / WriteFile / EditFile / LsDirectory (vs Read / Write
57
+ # / Edit / Glob / Grep); their tool_input still carries command / file_path, so
58
+ # the same attribution + derivation fire once those names are gated (see
59
+ # Test-UipathCall + Get-DerivedFields). Only derived, low-cardinality, PII-free
60
+ # values ever leave the machine.
55
61
  #
56
62
  # Non-blocking by contract: registered as an async hook in hooks.json
57
63
  # ("async": true) on every event EXCEPT SessionEnd, so Claude Code runs it in
@@ -125,11 +131,11 @@ function Test-UipathCall([string]$Tool, [string]$Skill, [string]$SubagentType, [
125
131
  if (@('general-purpose', 'Explore', 'Plan', 'claude', 'claude-code-guide', 'statusline-setup', 'fork', 'default') -ccontains $SubagentType) { return $true }
126
132
  break
127
133
  }
128
- { $_ -cin @('Bash', 'PowerShell') } {
134
+ { $_ -cin @('Bash', 'PowerShell', 'ExecuteBashCommand', 'ExecutePowershellCommand') } {
129
135
  if ($Command -cmatch '(^|[\\";|&(\s])(uip|rpa-tool)\s' -or $Command -cmatch '\$UIP\b') { return $true }
130
136
  break
131
137
  }
132
- { $_ -cin @('Edit', 'Write', 'Read', 'Glob', 'Grep') } {
138
+ { $_ -cin @('Edit', 'Write', 'Read', 'Glob', 'Grep', 'ReadFile', 'WriteFile', 'EditFile', 'LsDirectory') } {
133
139
  if ($FilePath -imatch '\.(cs|flow|xaml|uipx|bpmn)$' -or $FilePath -imatch '(^|[/\\])(agent|caseplan|project|app\.config|action-schema)\.json$') { return $true }
134
140
  break
135
141
  }
@@ -148,7 +154,7 @@ function Get-DerivedFields([string]$Tool, [string]$Skill, [string]$Command, [str
148
154
  $derived.skillName = $Skill
149
155
  break
150
156
  }
151
- { $_ -cin @('Bash', 'PowerShell') } {
157
+ { $_ -cin @('Bash', 'PowerShell', 'ExecuteBashCommand', 'ExecutePowershellCommand') } {
152
158
  # e.g. "solution publish" from "uip solution publish --output json".
153
159
  $m = [regex]::Match($Command, '(uip|\$UIP)\s+[a-z][a-z-]*(\s+[a-z][a-z-]*)?')
154
160
  if ($m.Success) {
@@ -156,7 +162,7 @@ function Get-DerivedFields([string]$Tool, [string]$Skill, [string]$Command, [str
156
162
  }
157
163
  break
158
164
  }
159
- { $_ -cin @('Edit', 'Write', 'Read', 'Glob', 'Grep') } {
165
+ { $_ -cin @('Edit', 'Write', 'Read', 'Glob', 'Grep', 'ReadFile', 'WriteFile', 'EditFile', 'LsDirectory') } {
160
166
  $m = [regex]::Match($FilePath, '\.[A-Za-z0-9]+$')
161
167
  if ($m.Success) { $derived.fileExt = $m.Value }
162
168
  if ($FilePath -clike '*agent.json') { $derived.fileExt = 'agent.json' }
@@ -39,15 +39,21 @@
39
39
  # (resolvedModel)
40
40
  #
41
41
  # CROSS-AGENT: registered as a PostToolUse hook, this also runs under other
42
- # coding agents that honor hooks.json (e.g. Codex). Codex's envelope matches
43
- # Claude's (hook_event_name, tool_name, tool_use_id, session_id,
44
- # permission_mode, tool_input/{command,file_path}), so Bash-`uip` and file
45
- # attribution work unchanged. Differences handled / accepted: agent spawns use
46
- # `spawn_agent` + tool_input.agent_type (see is_uipath_call + outkey); Codex
47
- # omits duration_ms / effort.level (-> durationMs null, effortLevel "") and
48
- # serializes tool_response as a JSON STRING, not an object, so success /
49
- # interrupted / resolvedModel are absent and outcome is ok|unknown only.
50
- # Only derived, low-cardinality, PII-free values ever leave the machine.
42
+ # coding agents that honor hooks.json (e.g. Codex, UiPath Autopilot / Delegate).
43
+ # Codex's envelope matches Claude's (hook_event_name, tool_name, tool_use_id,
44
+ # session_id, permission_mode, tool_input/{command,file_path}), so Bash-`uip`
45
+ # and file attribution work unchanged. Differences handled / accepted: agent
46
+ # spawns use `spawn_agent` + tool_input.agent_type (see is_uipath_call +
47
+ # outkey); Codex omits duration_ms / effort.level (-> durationMs null,
48
+ # effortLevel "") and serializes tool_response as a JSON STRING, not an object,
49
+ # so success / interrupted / resolvedModel are absent and outcome is ok|unknown
50
+ # only. UiPath Autopilot / Delegate keep the same envelope but rename the shell
51
+ # and file tools — ExecuteBashCommand / ExecutePowershellCommand (vs Bash /
52
+ # PowerShell) and ReadFile / WriteFile / EditFile / LsDirectory (vs Read / Write
53
+ # / Edit / Glob / Grep); their tool_input still carries command / file_path, so
54
+ # the same attribution + derivation fire once those names are gated (see
55
+ # is_uipath_call + derive_fields). Only derived, low-cardinality, PII-free
56
+ # values ever leave the machine.
51
57
  #
52
58
  # TWIN SCRIPT: hooks/send-telemetry.ps1 is the PowerShell twin of this file —
53
59
  # any behavioral change here MUST be mirrored there in the same PR (see
@@ -247,11 +253,11 @@ is_uipath_call() {
247
253
  general-purpose|Explore|Plan|claude|claude-code-guide|statusline-setup|fork|default) return 0 ;;
248
254
  esac
249
255
  ;;
250
- Bash|PowerShell)
256
+ Bash|PowerShell|ExecuteBashCommand|ExecutePowershellCommand)
251
257
  printf '%s' "$command" \
252
258
  | grep -Eq '(^|[\\"[:space:];|&(])(uip|rpa-tool)[[:space:]]|\$UIP\b' && return 0
253
259
  ;;
254
- Edit|Write|Read|Glob|Grep)
260
+ Edit|Write|Read|Glob|Grep|ReadFile|WriteFile|EditFile|LsDirectory)
255
261
  printf '%s' "$file_path" \
256
262
  | grep -Eiq '\.(cs|flow|xaml|uipx|bpmn)$|(^|[/\\])(agent|caseplan|project|app\.config|action-schema)\.json$' && return 0
257
263
  ;;
@@ -269,13 +275,13 @@ derive_fields() {
269
275
  Skill)
270
276
  skill_name="$skill"
271
277
  ;;
272
- Bash|PowerShell)
278
+ Bash|PowerShell|ExecuteBashCommand|ExecutePowershellCommand)
273
279
  # e.g. "solution publish" from "uip solution publish --output json".
274
280
  uip_subcommand="$(printf '%s' "$command" \
275
281
  | grep -oE '(uip|\$UIP)[[:space:]]+[a-z][a-z-]*([[:space:]]+[a-z][a-z-]*)?' \
276
282
  | head -1 | sed -E 's/^(uip|\$UIP)[[:space:]]+//')"
277
283
  ;;
278
- Edit|Write|Read|Glob|Grep)
284
+ Edit|Write|Read|Glob|Grep|ReadFile|WriteFile|EditFile|LsDirectory)
279
285
  file_ext="$(printf '%s' "$file_path" | grep -oE '\.[A-Za-z0-9]+$' | head -1)"
280
286
  case "$file_path" in
281
287
  *agent.json) file_ext="agent.json" ;;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/skills",
3
- "version": "1.198.0-preview.21",
3
+ "version": "1.199.0-preview.106",
4
4
  "description": "UiPath agent skills for Claude Code, Codex, Cursor, Copilot, Gemini and OpenCode — RPA, UI automation, UI testing, coded agents/apps/workflows, and troubleshooting. Distributed as the UiPath Claude Code plugin.",
5
5
  "author": {
6
6
  "name": "UiPath"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: uipath-admin
3
- description: "UiPath Admin via `uip admin` — Identity Server (users, groups, robot accounts, external OAuth2 apps, secrets), Authorization (custom roles, role assignments, permission catalog, effective-access via check-access PDP), OMS (org read/update, tenant lifecycle, service provisioning, regions, async operation polling), IP Restriction (allowlist, enforcement switch, bypass rules, lockout safety), Audit (event sources, paginated queries, day-wise-JSON-folder or single-CSV exports — login history, compliance dumps, who-did-what-when-where on a resource). Troubleshoot: diagnose access-denied, investigate login failures, role misconfiguration, IP lockout, PAT/app auth issues. For Orchestrator-specific roles/permissions/folders/jobs→uipath-platform. For RPA workflows→uipath-rpa."
3
+ description: "UiPath Admin via `uip admin` — Identity Server (users, groups, robot accounts, external OAuth2 apps, secrets), Authorization (custom roles, role assignments, permission catalog, effective-access via check-access PDP), OMS (org read/update, tenant lifecycle, service provisioning, regions, async operation polling), IP Restriction (allowlist, enforcement switch, bypass rules, lockout safety), Audit via `uip admin audit` — the organization/tenant audit trail: event sources, paginated event queries, day-wise-JSON-folder or single-CSV exports. Troubleshoot: diagnose access-denied, investigate login failures, role misconfiguration, IP lockout, PAT/app auth issues. This skill owns ALL org/tenant/identity audit — use `uip admin audit` (NOT `uip or audit-logs`) for any audit logs / audit trail / audit events / export / login history / who-did-what request. For Orchestrator-specific roles/permissions/folders/jobs→uipath-platform. For RPA workflows→uipath-rpa."
4
4
  allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
5
5
  ---
6
6
 
@@ -49,6 +49,8 @@ Administrative operations on UiPath via `uip admin` — Identity Server, Authori
49
49
 
50
50
  Activate on both **explicit audit requests** and **natural-language investigation intent** — users rarely say "audit events" by name.
51
51
 
52
+ > **Surface boundary — this is `uip admin audit`, not `uip or audit-logs`.** Every org/tenant audit ask below — including bare "audit logs", "audit history", "export the audit trail", "login history", "who did what" — is served by `uip admin audit <scope>`. Do **not** fall back to `uip or audit-logs` (Orchestrator-operational audit, a different schema; that's the `uipath-platform` skill), even when the user's wording is generic. When the user asks **what** audit events / sources are available or visible, answer by **running** `uip admin audit <scope> sources` — discover live, never describe from memory or the docs.
53
+
52
54
  - **Explicit** — `uip admin audit` commands; list sources / targets / types; query, filter, paginate, or export events; CSV or per-day-JSON dump of audit history for a window.
53
55
  - **Query audit events** — list event sources, filter events by source / target / type / user / status / time window at org or tenant scope
54
56
  - **Export audit events** — chunked download from the long-term store (one call per UTC day, atomic abort on any chunk failure) as a folder of day-wise JSON files (default) or a single merged CSV via `--file-format csv`
@@ -82,8 +84,8 @@ Each rule is the agent contract. Per-area detail is in the linked reference file
82
84
 
83
85
  ### Universal
84
86
 
85
- 1. **Route Orchestrator-specific role/permission requests to `uip or roles`** (`uipath-platform` skill). `uip admin authorization` does NOT own Orchestrator's role catalog.
86
- 2. **Verify login first.** `uip login status --output json`. If not logged in: `uip login`. Org id is resolved from the active session.
87
+ 1. **Route Orchestrator-specific role/permission requests to `uip or roles`** (`uipath-platform` skill). `uip admin authorization` does NOT own Orchestrator's role catalog. **Conversely, all organization/tenant audit is owned HERE and served by `uip admin audit <scope>` (`sources` / `events` / `export`) — NEVER use `uip or audit-logs` for audit events, audit history, audit export, login history, compliance dumps, or "who did what/where" requests.** `uip or audit-logs` is a *different* surface (Orchestrator-operational audit — `Component,User,Action,Operation,Time` columns, `--export` returns a CSV; the `uipath-platform` skill). If you reach for `uip or audit-logs` on any org/tenant audit ask, stop and switch to `uip admin audit`.
88
+ 2. **Verify login first.** `uip login status --output json`. If not logged in, stop and ask the user to run `uip login` — it opens an interactive browser flow, so never launch it yourself in an automated or non-interactive session (sessions authenticated via env vars are already logged in). Org id is resolved from the active session.
87
89
  3. **Use `--output json` on every command.** Parse programmatically; present conversationally.
88
90
  4. **Stop on error.** Show the error verbatim. Never retry auth failures — ask the user to `uip login`.
89
91
  5. **Resolve every named principal before high-risk ops.** Any command that touches a named user / group / robot account / external app — `roles assignments create/delete`, `users delete`, `groups delete`, `groups members add/revoke`, `robot-accounts delete`, `external-apps delete`, `external-apps generate-secret` — MUST first search the directory and echo `Principal: <displayName> (<userName>) — <id>` back before the mutation runs. Zero matches → stop and ask; never fall back to the current login user. Multiple matches → numbered list, wait for a digit. Procedure: [role-assignment-management.md → Resolving Principal IDs](references/authorization/role-assignment-management.md#resolving-principal-ids).
@@ -116,14 +118,14 @@ Each rule is the agent contract. Per-area detail is in the linked reference file
116
118
 
117
119
  ### Audit
118
120
 
119
- 23. **Disambiguate `org` vs `tenant` scope before querying.** If the prompt is vague AND no prior turn fixed the scope, **stop and ask once** — never silently default to `tenant`. **Scope is a positional subgroup, NOT a flag:** write `uip admin audit org sources` / `uip admin audit tenant events` — there is no `--scope` option (`audit sources --scope organization` is invalid). Routing table (user-phrasing → scope + why it lives where) and investigation playbooks: [audit-workflow-guide.md → Audit scope disambiguation](references/audit-workflow-guide.md#audit-scope-disambiguation--route-by-user-phrasing).
121
+ 23. **Disambiguate `org` vs `tenant` scope before querying.** If the prompt is vague AND no prior turn fixed the scope, **stop and ask once** (a single clarifying question use AskUserQuestion when available) — never silently default to `tenant` or any single scope. If you genuinely cannot get an answer (non-interactive run) and must proceed, query **both** scopes and combine the results rather than guessing one — silently picking a single scope is the failure mode. **Scope is a positional subgroup, NOT a flag:** write `uip admin audit org sources` / `uip admin audit tenant events` — there is no `--scope` option (`audit sources --scope organization` is invalid). Routing table (user-phrasing → scope + why it lives where) and investigation playbooks: [audit-workflow-guide.md → Audit scope disambiguation](references/audit-workflow-guide.md#audit-scope-disambiguation--route-by-user-phrasing).
120
122
  24. **`audit <scope> events` returns an object, not a bare array.** Shape is `{auditEvents, next, previous}`. Do not index `Data[0]`; read `Data.auditEvents[]`. **Cursor semantics are chronological**: `next` = newer events, `previous` = older events. The default newest-backward walk follows `previous`.
121
123
  25. **`--limit` paginates internally — never loop on `--from-date` / `--to-date` to "paginate".** The server clamps `maxCount` to `[10, 200]` per request; when the user wants more than 200, the CLI fetches `ceil(N/200)` pages under the hood. Pass `--limit 500` (or larger) — do NOT re-implement pagination in the agent.
122
- 26. **Discover via `audit <scope> sources` first — never invent source / target / type GUIDs.** The catalog response gives the GUIDs you pass to `events --source / --target / --type`.
123
- 27. **Bound the time window, ISO 8601 in UTC.** Don't call `audit <scope> events` without `--from-date` and `--to-date` on a noisy tenant. Accepted formats: date-only (`2026-04-01`) or with time (`2026-04-01T14:30:00Z`). **`--to-date` is inclusive of the exact instant** — to capture a full final day, pass the start of the next day or `T23:59:59.999Z`.
124
+ 26. **Discover via `audit <scope> sources` first — never invent source / target / type GUIDs.** The catalog response gives the GUIDs you pass to `events --source / --target / --type`. This is also the answer to "what audit events / sources can I see?" — **run `audit <scope> sources` and report the live catalog; do not answer conceptually from memory or the reference docs.**
125
+ 27. **Bound the time window, ISO 8601 in UTC.** Don't call `audit <scope> events` without `--from-date` and `--to-date` on a noisy tenant. Accepted formats: date-only (`2026-04-01`) or with time (`2026-04-01T14:30:00Z`). **`--to-date` is inclusive of the exact instant** — to capture a full final day, pass the start of the next day or `T23:59:59.999Z`. This next-day trick is for `events` only — `export` bounds are whole days (Rule 30). Resolve relative phrases ("yesterday", "last 7 days") against the actual current UTC date (e.g. `date -u`) — never guess dates — and echo the resolved window in your reply.
124
126
  28. **`--tenant-id` is silently ignored on `org`-scoped audit commands.** If you find yourself reaching for it on `audit org events`, switch to `audit tenant` instead.
125
127
  29. **On 401 from audit, do NOT retry.** The token is missing the `Audit.Read` scope; tell the user to `uip logout && uip login`.
126
- 30. **`audit <scope> export` writes into a base directory (`--output-path`): a uniquely-named folder of day-wise JSON files (default) or a single merged CSV.** `--from-date`, `--to-date`, and `--output-path` are all required; dates per Rule 27. `--output-path` is a **base directory** (created if missing) — **pass a directory only, never a filename or extension**; the CLI creates a uniquely-named `audit_<from>_<to>_<generated-at>` output inside it (folder for `json`, `.csv` for `csv`), so repeated exports of the same window never collide. **Do not hand-craft the per-export name.** **`--file-format <json|csv>`** selects the shape: `json` (default) = a folder of `<YYYY-MM-DD>.json` files; `csv` = one merged CSV — pick `csv` for a flat spreadsheet/Excel-friendly dump, `json` for per-day files. **Confirm the base directory with the user before running**, then report the generated `Path` (and `GeneratedAt`) from the result.
128
+ 30. **`audit <scope> export` writes into a base directory (`--output-path`): a uniquely-named folder of day-wise JSON files (default) or a single merged CSV.** `--from-date`, `--to-date`, and `--output-path` are all required. **Export dates are whole UTC days, inclusive on both ends** (the server truncates times to the calendar day): `--from-date 2026-01-01 --to-date 2026-01-31` exports all of January; a single day is `--from-date X --to-date X` with the same date. Do **not** apply the `events` next-day trick here — a next-day `--to-date` exports an extra full day. `--output-path` is a **base directory** (created if missing) — **pass a directory only, never a filename or extension**; the CLI creates a uniquely-named `audit_<from>_<to>_<generated-at>` output inside it (folder for `json`, `.csv` for `csv`), so repeated exports of the same window never collide. **Do not hand-craft the per-export name.** **`--file-format <json|csv>`** selects the shape: `json` (default) = a folder of `<YYYY-MM-DD>.json` files; `csv` = one merged CSV — pick `csv` for a flat spreadsheet/Excel-friendly dump, `json` for per-day files. If the user named a destination folder, pass it verbatim as `--output-path` — no confirmation needed; confirm first only when you had to pick a default (e.g. `./audit-exports`) yourself. Then report the generated `Path` (and `GeneratedAt`) from the result.
127
129
 
128
130
  ### IP Restriction
129
131
 
@@ -146,6 +148,7 @@ Each rule is the agent contract. Per-area detail is in the linked reference file
146
148
  11. **Do NOT present authz results without provenance** — role name, `scopeType`, `ownerServiceName`, tenant-binding (names not UUIDs). Detail: [authorization-commands.md → Provenance contract](references/authorization/authorization-commands.md#provenance-contract-for-completion-output).
147
149
  12. **Do NOT conflate provisioned services with the available catalog.** `services list` returns provisioned with status; `services list-available` is the catalog. Present them as separate sections.
148
150
  13. **Do NOT run an OMS mutation without naming the target.** Echo org name / tenant name + UUID / service type + region before running.
151
+ 14. **Do NOT pass the next day as `--to-date` on audit `export`** to "include the final day" — export bounds are already whole-day inclusive (Rule 30); the next-day trick is for `events` only and would export an extra day.
149
152
 
150
153
  ## Quick Start
151
154
 
@@ -87,7 +87,7 @@ uip admin audit tenant events --from-date 2026-04-22T00:00:00Z --to-date 2026-04
87
87
  | Flag | Required | Description |
88
88
  |---|---|---|
89
89
  | `--from-date <iso>` | no | Start of time interval, ISO 8601. Inclusive. Recommended on any non-trivial query. |
90
- | `--to-date <iso>` | no | End of time interval, ISO 8601. Inclusive **of the exact instant** — pass the start of the next day (e.g. `2026-02-01`) or `T23:59:59.999Z` to capture a full final day. See [workflow-guide gotchas](./audit-workflow-guide.md#common-gotchas). |
90
+ | `--to-date <iso>` | no | End of time interval, ISO 8601. Inclusive **of the exact instant** — pass the start of the next day (e.g. `2026-02-01`) or `T23:59:59.999Z` to capture a full final day. **`events` only** — on `export` both bounds are whole-day inclusive and the next-day trick over-exports (see export section). See [workflow-guide gotchas](./audit-workflow-guide.md#common-gotchas). |
91
91
  | `--source <guid...>` | no | Filter by event source IDs. Repeatable. Discover with `sources`. |
92
92
  | `--target <guid...>` | no | Filter by event target IDs. Repeatable. |
93
93
  | `--type <guid...>` | no | Filter by event type IDs. Repeatable. |
@@ -138,23 +138,33 @@ uip admin audit tenant events --from-date 2026-04-22T00:00:00Z --to-date 2026-04
138
138
 
139
139
  ## uip admin audit `<scope>` export
140
140
 
141
- Export the long-term audit store covering `[--from-date, --to-date]` into a **base directory** (`--output-path`). Each run creates a uniquely-named output inside it — a folder of day-wise JSON files (default) or a single merged CSV — named `audit_<from>_<to>_<generated-at>` (generated-at to the second) so repeated exports of the same window never collide.
141
+ Export the long-term audit store covering `[--from-date, --to-date]` (**whole UTC days, inclusive on both ends** — see the flags table) into a **base directory** (`--output-path`). Each run creates a uniquely-named output inside it — a folder of day-wise JSON files (default) or a single merged CSV — named `audit_<from>_<to>_<generated-at>` (generated-at to the second) so repeated exports of the same window never collide.
142
+
143
+ > This is the organization/tenant audit **event store** (LTS-schema columns like `Identifier`, `DateCreatedUtc`, `ActorId`, `Action`, `Source`, `Category`) — the surface for compliance dumps, login history, and cross-platform "who did what where." It is **not** `uip or audit-logs list --export` (the uipath-platform skill), which exports a single Orchestrator tenant's operational actions with `Component,User,Action,Operation,Time` columns. Any audit-event or compliance export scoped to the org/tenant — as JSON files or a spreadsheet/Excel CSV, with a date window and an `--output-path` directory — belongs here.
142
144
 
143
145
  ```bash
144
- # Default (json) — creates ./audit-exports/audit_2026-01-01_2026-02-01_<generatedAt>/ with one JSON file per UTC day
146
+ # Default (json) — all of January: creates ./audit-exports/audit_2026-01-01_2026-01-31_<generatedAt>/ with one JSON file per UTC day
145
147
  uip admin audit tenant export \
146
148
  --from-date 2026-01-01 \
147
- --to-date 2026-02-01 \
149
+ --to-date 2026-01-31 \
148
150
  --output-path ./audit-exports \
149
151
  --output json
150
152
 
151
- # Single merged CSV — creates ./audit-exports/audit_2026-01-01_2026-02-01_<generatedAt>.csv
153
+ # Single merged CSV — creates ./audit-exports/audit_2026-01-01_2026-01-31_<generatedAt>.csv
152
154
  uip admin audit tenant export \
153
155
  --from-date 2026-01-01 \
154
- --to-date 2026-02-01 \
156
+ --to-date 2026-01-31 \
155
157
  --file-format csv \
156
158
  --output-path ./audit-exports \
157
159
  --output json
160
+
161
+ # Single day (e.g. "yesterday") — same date for both bounds; resolve relative phrases with the real UTC clock
162
+ day=$(date -u -d 'yesterday' +%F) # macOS/BSD: date -u -v-1d +%F
163
+ uip admin audit tenant export \
164
+ --from-date "$day" \
165
+ --to-date "$day" \
166
+ --output-path ./audit-exports \
167
+ --output json
158
168
  ```
159
169
 
160
170
  **Flags:**
@@ -163,8 +173,8 @@ uip admin audit tenant export \
163
173
  |---|---|---|
164
174
  | `--output-path <dir>` | **yes** | **Base directory** for the export (created if missing). **Pass a directory only — never a filename or extension**; the CLI generates the per-export name. A uniquely-named output is created inside it — a folder of day-wise JSON files (`json`) or a single `.csv` (`csv`), named `audit_<from>_<to>_<generated-at>` (generated-at to the second) so repeated exports never collide. Resolved to absolute internally. |
165
175
  | `--output-file <dir>` | no | **Deprecated** alias for `--output-path` (kept for backward compatibility; treated as a base directory, not a file). Prefer `--output-path` — using `--output-file` emits a deprecation warning. |
166
- | `--from-date <iso>` | **yes** | Start of time interval. Both bounds are required by Commander before any HTTP call. |
167
- | `--to-date <iso>` | **yes** | End of time interval. |
176
+ | `--from-date <iso>` | **yes** | Start of time interval. Both bounds are required by Commander before any HTTP call. Interpreted as a **whole UTC day** — the server truncates any time component to the calendar day. |
177
+ | `--to-date <iso>` | **yes** | End of time interval, **inclusive as a whole UTC day** (unlike `events`, where `--to-date` is instant-inclusive). `--from-date X --to-date X` exports the single day `X`; do **not** pass the next day to "capture the final day" — that exports an extra full day. |
168
178
  | `--file-format <json\|csv>` | no | Output shape. `json` (default) = a folder holding one `<YYYY-MM-DD>.json` file per UTC day. `csv` = every event merged into a single RFC 4180 CSV under a shared header. Invalid values fail before any HTTP call with `Invalid --file-format '<v>'. Use 'json' or 'csv'.` |
169
179
  | `--login-validity <minutes>` | no | Token-refresh hint. |
170
180
  | `--tenant-id <guid>` | no | **Tenant scope only.** Override the active tenant. |
@@ -176,7 +186,7 @@ uip admin audit tenant export \
176
186
  ```json
177
187
  // --file-format json (default) — Path is the generated folder under the base dir
178
188
  {
179
- "Path": "C:\\absolute\\path\\to\\audit-exports\\audit_2026-01-01_2026-02-01_20260617T112630",
189
+ "Path": "C:\\absolute\\path\\to\\audit-exports\\audit_2026-01-01_2026-01-31_20260617T112630",
180
190
  "Format": "json",
181
191
  "Files": 27,
182
192
  "Bytes": 1841,
@@ -187,7 +197,7 @@ uip admin audit tenant export \
187
197
 
188
198
  // --file-format csv — Path is the generated .csv under the base dir
189
199
  {
190
- "Path": "C:\\absolute\\path\\to\\audit-exports\\audit_2026-01-01_2026-02-01_20260617T112630.csv",
200
+ "Path": "C:\\absolute\\path\\to\\audit-exports\\audit_2026-01-01_2026-01-31_20260617T112630.csv",
191
201
  "Format": "csv",
192
202
  "Bytes": 98765,
193
203
  "Days": 31,
@@ -204,6 +214,7 @@ uip admin audit tenant export \
204
214
  - **CSV:** the same per-day JSON arrays are parsed and merged into **one** RFC 4180 CSV (CRLF line endings, header row first). Columns follow the long-term-store field order — `OrganizationId, TenantId, ActorId, ActorEmail, ActorDetails, EventDetails, Status, Identifier, DateCreatedUtc, User, Action, Source, Category, ClientInformation` — with any extra server fields appended (union across events) so no data is dropped. `Status` is the numeric enum (`0`=Success, `1`=Failure); nested objects (e.g. `ClientInformation`) are JSON-stringified into the cell. String cells beginning with `= + - @` (or TAB/CR) are prefixed with a single quote to neutralize spreadsheet formula injection.
205
215
  - On any single-day HTTP failure (or, for CSV, a day whose payload is not valid JSON), **nothing is written** — for `json` the output folder isn't even created — and the error message identifies which day failed. Earlier successful chunks are not preserved (atomic export).
206
216
  - `Days` reports the total number of UTC days requested; `NonEmptyDays` reports how many actually had data. A long export with `NonEmptyDays: 0` means the window was entirely idle, not that the export failed. For `json`, `Files` counts the day-wise files written; for `csv`, `Events: 0` yields a header-only file.
217
+ - **LTS lag**: the long-term store trails the live `events` endpoint (typically by up to ~24–48 h). Exporting a window that includes today or yesterday succeeds, but those trailing days may come back empty even though `events` shows data for them. If completeness of recent days matters, tell the user and either end the window ≥2 days in the past or re-run the export later.
207
218
 
208
219
  ---
209
220
 
@@ -4,6 +4,8 @@ Four canonical investigations the `uipath-audit` skill should drive. Each starts
4
4
 
5
5
  > Every command below assumes the user has run `uip login` and the active token includes the `Audit.Read` scope. Every command should pass `--output json` so the agent can parse the envelope.
6
6
 
7
+ > **Use `uip admin audit`, never `uip or audit-logs`.** Every org/tenant audit request — including generic phrasings like "audit logs", "export the audit trail", "login history", "who did what" — is answered with `uip admin audit <scope>` (`sources`/`events`/`export`). `uip or audit-logs` is the *Orchestrator-operational* audit surface (different schema, `--export` yields a CSV; `uipath-platform` skill) and is the wrong tool here even when the wording is generic. When asked **what** events/sources exist, run `uip admin audit <scope> sources` and report the live catalog — don't describe it from memory.
8
+
7
9
  ## Audit scope disambiguation — route by user phrasing
8
10
 
9
11
  Pick `org` vs `tenant` BEFORE any `audit` call. They hit different basePaths and surface different events. Use this table to route a user query (SKILL.md Critical Rule 23 is the contract; this is the decision tool):
@@ -180,20 +182,24 @@ For each event:
180
182
 
181
183
  If the user is ambiguous about scope, ask once. For compliance reviews, **both** scopes are typically needed (separately).
182
184
 
185
+ Resolve relative window phrases ("yesterday", "past week", "last month") against the **actual current UTC date** — e.g. `date -u +%F`, `date -u -d 'yesterday' +%F` (macOS/BSD: `date -u -v-1d +%F`) — never guess dates, and echo the resolved bounds in your reply. Export bounds are **whole UTC days, inclusive on both ends**: "yesterday" is the same date for both `--from-date` and `--to-date`; "the past week" is 7 days ago through yesterday (or today, accepting that the trailing day may lag — see gotchas).
186
+
187
+ If the user named a destination folder, pass it verbatim as `--output-path` — no confirmation needed. Only when they didn't say where should you propose a default (e.g. `./audit-exports`) and confirm once.
188
+
183
189
  ### Step 2 — Export
184
190
 
185
191
  ```bash
186
192
  # Tenant scope — most events (default json: a uniquely-named folder of day-wise JSON files under the base dir)
187
193
  uip admin audit tenant export \
188
194
  --from-date 2026-01-01 \
189
- --to-date 2026-02-01 \
195
+ --to-date 2026-01-31 \
190
196
  --output-path ./audit-exports \
191
197
  --output json
192
198
 
193
199
  # Tenant scope as a single merged CSV (flat, Excel-friendly)
194
200
  uip admin audit tenant export \
195
201
  --from-date 2026-01-01 \
196
- --to-date 2026-02-01 \
202
+ --to-date 2026-01-31 \
197
203
  --file-format csv \
198
204
  --output-path ./audit-exports \
199
205
  --output json
@@ -201,7 +207,7 @@ uip admin audit tenant export \
201
207
  # Org scope — admin events (memberships, license, tenant lifecycle)
202
208
  uip admin audit org export \
203
209
  --from-date 2026-01-01 \
204
- --to-date 2026-02-01 \
210
+ --to-date 2026-01-31 \
205
211
  --output-path ./audit-exports \
206
212
  --output json
207
213
  ```
@@ -220,7 +226,7 @@ Typical layout (the base dir holds one generated folder; one file per UTC day wi
220
226
 
221
227
  ```
222
228
  audit-exports/
223
- └── audit_2026-01-01_2026-02-01_20260617T112630/
229
+ └── audit_2026-01-01_2026-01-31_20260617T112630/
224
230
  ├── 2026-01-01.json
225
231
  ├── ...
226
232
  └── 2026-01-31.json
@@ -301,7 +307,10 @@ Two or more signals? Run them in sequence and stitch the results in the final re
301
307
 
302
308
  - **`tenant` events without an active tenant fail loudly.** If `uip login` has no tenant selected, every tenant-scoped command throws. Either re-`uip login` and pick a tenant, or pass `--tenant-id <guid>` on every call.
303
309
  - **`events` cursor pagination is chronologically reversed from intuition.** `next` = newer (often null), `previous` = older (the typical "load more"). The CLI tool follows `previous` automatically when you bump `--limit > 200` — don't re-implement this in the agent.
304
- - **Date-only ISO strings are interpreted as UTC midnight.** `--from-date 2026-01-01` means `2026-01-01T00:00:00Z`. To capture the full final day in `--to-date`, use `2026-02-01` (exclusive next day) or `2026-01-31T23:59:59.999Z`.
310
+ - **On `events`, date-only ISO strings are interpreted as UTC midnight.** `--from-date 2026-01-01` means `2026-01-01T00:00:00Z`. To capture the full final day in `--to-date`, use `2026-02-01` (exclusive next day) or `2026-01-31T23:59:59.999Z`.
311
+ - **On `export`, both bounds are whole UTC days, inclusive** — the server truncates times to the calendar day. All of January is `--from-date 2026-01-01 --to-date 2026-01-31`; a single day is the same date for both bounds. Do NOT carry the `events` next-day trick over to `export` — it exports an extra full day.
312
+ - **The long-term store lags live `events`** (typically up to ~24–48 h). An export window that includes today/yesterday succeeds but the trailing days may come back empty even though `events` shows data. Mention this when the user's window is that recent; offer to re-run later or end the window 2 days back if completeness matters.
313
+ - **Resolve relative dates against the real UTC clock** (`date -u +%F`, `date -u -d 'yesterday' +%F`; macOS/BSD `date -u -v-1d +%F`) and echo the resolved window — never guess what "yesterday" is.
305
314
  - **Export format depends on `--file-format`.** The default `json` writes one **JSON** file per UTC day (named `<YYYY-MM-DD>.json`) into a generated subfolder under `--output-path`, with **LTS-schema** keys; `--file-format csv` produces a single merged **CSV** whose header uses those same LTS-schema field names. Both differ from the camelCase live `events` endpoint — don't paste an export into a parser expecting the live shape. In the CSV, `Status` is numeric (`0`/`1`) and `ClientInformation` is a JSON-stringified cell.
306
315
  - **Org sources and tenant sources are different sets.** Don't reuse a GUID from `org sources` in a `tenant events` query — the filter will silently match nothing.
307
316
 
@@ -314,4 +323,4 @@ After every `events` or `export` call, surface the following before waiting for
314
323
  3. **Time window** — explicit ISO bounds, even if they came from a relative phrase ("last 7 days").
315
324
  4. **Filters applied** — sources, types, users, status.
316
325
  5. **Cursor state** — for `events`, mention whether `Data.previous` is null (start of audit history) or populated (more older events available — re-run with a larger `--limit`).
317
- 6. **Next step** — "Want me to widen the window?", "Want me to export this slice?", "Want me to filter by user X?". Wait for the user's choice.
326
+ 6. **Next step** — "Want me to widen the window?", "Want me to export this slice?", "Want me to filter by user X?". Wait for the user's choice — **unless the user's original message already asked for the follow-on steps** (e.g. "show me the sources, preview recent events, then export the week"): finish the full requested sequence first, then hand off. These are read-only queries; pausing mid-way to re-confirm work the user already asked for is noise, not safety.
@@ -14,6 +14,11 @@ Both workflows are driven by live data — the catalog (`uip agent guardrails ca
14
14
 
15
15
  > Full three-fetch mandate applies to **Recommend mode**. In **Validate mode** of an existing guardrail the SDK docs are the authoritative, sufficient source for a validator's scope/stage — `catalog` (relevance metadata) and `list` (tenant entitlement) are recommended cross-checks, not a hard prerequisite for a scope/placement fix. See [Validate Mode](#validate-mode).
16
16
 
17
+ **Required first operation in both modes:** use `WebFetch` on
18
+ `https://uipath.github.io/uipath-python/core/guardrails/` before catalog calls,
19
+ project inspection, analysis, or edits. A coded guardrail recommendation or
20
+ validation is not grounded until this WebFetch has completed.
21
+
17
22
  ### Catalog (cacheable — 30-minute TTL)
18
23
 
19
24
  The catalog is the same for all tenants (authored metadata, rarely changes). Cache it locally for 30 minutes to avoid redundant calls.
@@ -192,7 +197,7 @@ Map catalog parameter shapes to Python:
192
197
  | `map-enum` (e.g. `entityThresholds`) | Dict from enum member → number (e.g. `{PIIDetectionEntityType.EMAIL: 0.5}`) — keys must exactly match the `enum-list` parameter's values |
193
198
  | `number` (e.g. `threshold`) | Plain `float` / `int` constructor argument |
194
199
  | `text` (e.g. `guardrailText`) | Plain `str` constructor argument |
195
- | `enum` (e.g. `model`) | `str` value from the allowed options list. When the catalog shows an empty options list (as with `llm_as_judge`'s `model`), ask the user which model ID to use the available values depend on the LLM Gateway configuration in their tenant. |
200
+ | `enum` (e.g. `model`) | `str` value from the allowed options list. When the catalog shows an empty options list (as with `llm_as_judge`'s `model`), run `uip agent guardrails llm-as-judge-models --output json` and use a `ModelId` from the result. Ask the user for a model ID only if the command returns nothing or fails. |
196
201
  | `text-list` (e.g. `positiveExamples`, `negativeExamples`) | `List[str]` constructor argument |
197
202
 
198
203
  Use `BlockAction(...)`, `LogAction(severity_level=...)`, or `EscalateAction(app_name=..., app_folder_path=..., recipient=...)` for human-in-the-loop review — or any other action the SDK docs expose. Never invent action class names. For `EscalateAction`, the fetched SDK docs must expose the class/parameters, and the Action App must be deployed and declared in `bindings.json` using [../../lifecycle/bindings-reference.md](../../lifecycle/bindings-reference.md) (see [guardrails.md § Escalation action (HITL)](guardrails.md#escalation-action-human-in-the-loop)).
@@ -47,7 +47,13 @@ If the requested validator has `Status != "Available"` → tell the user and sto
47
47
 
48
48
  **Skip this step only for deterministic guardrails** — they run locally with no backend dependency.
49
49
 
50
- > **LLM as Judge also requires LLM Gateway.** If the target is `llm_as_judge`, confirm with the user that a model is configured in their LLM Gateway before proceeding. Ask the user which model ID to use for the `model` parameter — the available values depend on the LLM Gateway configuration in their tenant.
50
+ > **LLM as Judge also requires LLM Gateway.** If the target is `llm_as_judge`, discover the models available on this tenant run:
51
+ >
52
+ > ```bash
53
+ > uip agent guardrails llm-as-judge-models --output json
54
+ > ```
55
+ >
56
+ > Use a `ModelId` from the returned list for the `model` parameter. Prefer a non-preview model; a small, fast model (Haiku / mini class) is a sound judge default. If the command returns no models or fails (no LLM Gateway access), tell the user and ask them to configure a model in their LLM Gateway or supply a model ID.
51
57
 
52
58
  ---
53
59
 
@@ -1,17 +1,17 @@
1
1
  # Coded Agents in Flow Projects (Sibling Folder)
2
2
 
3
- A coded agent can live as a sibling folder to a flow project inside the same solution. The flow references it via `uipath.core.agent.<resourceKey>` with `section: "In this solution"`. The flow's `uip maestro flow registry list --local` discovers the agent by reading `resources/solution_folder/process/agent/<CodedAgentProject>.json`, written by `uip solution project add`.
3
+ A coded agent can live as a sibling folder to a flow project inside the same solution. The flow references it via `uipath.core.agent.<resourceKey>` with `section: "In this solution"`. The flow's `uip maestro flow registry list --local` discovers the agent by reading `resources/solution_folder/process/agent/<CodedAgentProject>.json`, written by `uip solution projects add`.
4
4
 
5
5
  For the published-agent path (deployed standalone via `uip codedagent deploy`), see [coded/flow-integration.md § Pattern 2](flow-integration.md#pattern-2-published-coded-agent).
6
6
 
7
7
  ## Sibling Folder Structure
8
8
 
9
- The `<resourceKey>` is the local UUID minted by `uip solution project add` — stable the moment the agent joins the solution.
9
+ The `<resourceKey>` is the local UUID minted by `uip solution projects add` — stable the moment the agent joins the solution.
10
10
 
11
11
  ```
12
12
  <SolutionDir>/
13
13
  ├── <SolutionName>.uipx
14
- ├── resources/ # created and maintained by `uip solution project add`
14
+ ├── resources/ # created and maintained by `uip solution projects add`
15
15
  │ └── solution_folder/
16
16
  │ ├── process/agent/<CodedAgentProject>.json # holds the `resource.key` UUID
17
17
  │ └── package/<CodedAgentProject>.json
@@ -34,7 +34,7 @@ The `<resourceKey>` is the local UUID minted by `uip solution project add` — s
34
34
 
35
35
  ### Key differences from a published coded agent
36
36
 
37
- - **`resource.key`** is minted locally at `uip solution project add` time, not by Orchestrator at `uip codedagent deploy` time
37
+ - **`resource.key`** is minted locally at `uip solution projects add` time, not by Orchestrator at `uip codedagent deploy` time
38
38
  - **No `codedagent deploy`** — the agent ships inside the solution package
39
39
  - **Registry discovery is `--local`** (reads `resources/solution_folder/process/` files); no login or `registry pull` required
40
40
  - **`model.section`** is `"In this solution"`
@@ -74,7 +74,7 @@ If the solution and flow project don't yet exist, run `uip solution init "<Solut
74
74
 
75
75
  ```bash
76
76
  cd <SolutionDir>
77
- uip solution project add <CodedAgentProject> <SolutionName>.uipx --output json
77
+ uip solution projects add <CodedAgentProject> <SolutionName>.uipx --output json
78
78
  ```
79
79
 
80
80
  After this command, `resources/solution_folder/process/agent/<CodedAgentProject>.json` holds the `resource.key` UUID.
@@ -12,7 +12,7 @@ The coded agent lives as a sibling folder inside the same solution as the flow.
12
12
  - **Wiring the agent's inputs:** [embedding-in-flows.md § Wiring the Agent's Inputs](embedding-in-flows.md#wiring-the-agents-inputs)
13
13
  - **Flow node JSON shape + top-level `bindings[]` + `definitions[]` entry:** uipath-maestro-flow skill, agent-plugin reference (In-solution variant)
14
14
 
15
- The node-type's `{key}` is the local `resource.key` minted by `uip solution project add` (written to `resources/solution_folder/process/agent/<name>.json`) and surfaced by `uip maestro flow registry list --local`.
15
+ The node-type's `{key}` is the local `resource.key` minted by `uip solution projects add` (written to `resources/solution_folder/process/agent/<name>.json`) and surfaced by `uip maestro flow registry list --local`.
16
16
 
17
17
  ---
18
18
 
@@ -70,7 +70,7 @@ Each stage has a reference file with detailed instructions. Read **only** the re
70
70
  Two top-level build paths. Pick one before starting — the lifecycle and publish mechanism differ.
71
71
 
72
72
  - **Scenario 1 — Standalone Coded Agent** — the agent is its own tenant resource, published via `uip codedagent deploy`. Use when the agent runs on its own, is called from multiple flows, or needs independent versioning.
73
- - **Scenario 2 — In-Solution Coded Agent in a Flow** — the agent lives as a **sibling folder** to a flow project, registered into the solution via `uip solution project add`. The flow references it as an in-solution `uipath.core.agent.<resourceKey>` node, where `<resourceKey>` is the local UUID minted by `uip solution project add` and discoverable via `uip maestro flow registry list --local`. Use when the agent is tightly coupled to one flow.
73
+ - **Scenario 2 — In-Solution Coded Agent in a Flow** — the agent lives as a **sibling folder** to a flow project, registered into the solution via `uip solution projects add`. The flow references it as an in-solution `uipath.core.agent.<resourceKey>` node, where `<resourceKey>` is the local UUID minted by `uip solution projects add` and discoverable via `uip maestro flow registry list --local`. Use when the agent is tightly coupled to one flow.
74
74
 
75
75
  ## Quick Start: Scenario 1 — Standalone Coded Agent
76
76
 
@@ -198,7 +198,7 @@ Then STOP and wait. On reply, run the matching one-shot login from [../authentic
198
198
  ```bash
199
199
  uip solution init "<SOLUTION_NAME>"
200
200
  cd "<SOLUTION_NAME>"
201
- uip solution project import --source "../<AGENT_PROJECT_DIR>" --output json
201
+ uip solution projects import --source "../<AGENT_PROJECT_DIR>" --output json
202
202
  rm -rf "<AGENT_PROJECT_DIR>/.venv" "<AGENT_PROJECT_DIR>/__pycache__" \
203
203
  "<AGENT_PROJECT_DIR>/__uipath" "<AGENT_PROJECT_DIR>/eval-results.json"
204
204
  uip solution upload . --output json
@@ -277,7 +277,7 @@ Execute the following in order, end-to-end, in one pass — do not pause for con
277
277
 
278
278
  ```bash
279
279
  cd ..
280
- uip solution project add "<AgentName>" "<SolutionName>.uipx" --output json
280
+ uip solution projects add "<AgentName>" "<SolutionName>.uipx" --output json
281
281
  ```
282
282
 
283
283
  After this command, `resources/solution_folder/process/agent/<AgentName>.json` holds the `resource.key`. Read that file (or the `--output json` response) to capture the UUID — it is what the flow node's `type` (`uipath.core.agent.<resourceKey>`) and `model.bindings.resourceKey` will reference.
@@ -111,6 +111,6 @@ Each agent type uses its own CLI and lifecycle. The solution's `uip solution dep
111
111
  - **Low-code agents** support 5 Flow patterns: inline embedding, published node, solution-level, external, and tool resource
112
112
  - **Coded agents** support 3 Flow patterns: in-solution sibling project (`uipath.core.agent.<resourceKey>` with `section: "In this solution"`), published node (`uipath.core.agent.<resourceKey>` via `uip codedagent deploy`), and tool resource
113
113
  - **Low-code inline embedding**: `uip agent init --inline-in-flow` creates a `<projectId-uuid>` subdirectory inside the flow project
114
- - **Coded solution-level embedding**: The coded agent lives as a sibling folder to the flow project; `uip solution project add` mints the `resource.key` that the flow's `uipath.core.agent.<resourceKey>` node references, discoverable via `uip maestro flow registry list --local` (see [coded/embedding-in-flows.md](coded/embedding-in-flows.md))
114
+ - **Coded solution-level embedding**: The coded agent lives as a sibling folder to the flow project; `uip solution projects add` mints the `resource.key` that the flow's `uipath.core.agent.<resourceKey>` node references, discoverable via `uip maestro flow registry list --local` (see [coded/embedding-in-flows.md](coded/embedding-in-flows.md))
115
115
  - Node types differ by pattern: inline low-code uses `uipath.agent.autonomous`; every other case (published low-code, in-solution coded, published coded) uses `uipath.core.agent.{key}`
116
116
  - For coded agent Flow integration details, see [coded/flow-integration.md](coded/flow-integration.md)
@@ -66,6 +66,36 @@ From `agent.json`, extract:
66
66
 
67
67
  Also read `resources/` to list all tool names (needed for Tool-scope recommendations).
68
68
 
69
+ ### Exact Named-Tool Deterministic Rules — before catalog ranking
70
+
71
+ When the request gives both a named Tool and an exact mechanical predicate on
72
+ its input or output (literal word/phrase, regex, number, boolean, or always),
73
+ use the custom deterministic recipe below. This decision happens before
74
+ built-in catalog candidate ranking:
75
+
76
+ 1. Treat quoted text and a distinct all-caps token such as `CONFIDENTIAL` as
77
+ an exact literal predicate, even when the surrounding request is phrased
78
+ semantically (for example, "worried it might publish CONFIDENTIAL content"
79
+ or "what guardrails should I add?"). Do not broaden that literal into a
80
+ semantic confidentiality classification.
81
+ 2. Read the Tool's `resource.json.name` and use that exact value as the only
82
+ entry in `selector.matchNames`.
83
+ 3. Set `$guardrailType: "custom"` and `selector.scopes: ["Tool"]`. This branch
84
+ does not use a `builtInValidator` or `validatorParameters`.
85
+ 4. For a literal word or phrase, use `$ruleType: "word"`,
86
+ `operator: "contains"`, and preserve the exact requested literal as `value`.
87
+ Use the matching custom rule type when the user explicitly requests a
88
+ regex, number, boolean, or always condition.
89
+ 5. Use a blocking action when the request says to prevent the Tool operation,
90
+ then build the complete object from [guardrails.md](guardrails.md).
91
+
92
+ Broad semantic threats without an exact mechanical predicate continue through
93
+ the built-in catalog ranking in Step 2.
94
+
95
+ Once this deterministic branch matches, the catalog/list calls remain
96
+ mandatory discovery steps but cannot replace or override the custom rule with
97
+ `llm_as_judge`, PII detection, or any other built-in validator.
98
+
69
99
  ### Step 2 — Catalog-Driven Recommendation Analysis
70
100
 
71
101
  For **each entry** in the catalog (`guardrails[]` array from the cached JSON):
@@ -156,6 +186,13 @@ Write the new guardrail blocks to `agent.json`'s `guardrails[]` array. Then run:
156
186
  uip agent validate "<AgentName>" --output json
157
187
  ```
158
188
 
189
+ **Deterministic completion gate:** when the request matched the exact
190
+ named-Tool branch, re-read `agent.json` before validation and confirm the
191
+ written entry has `$guardrailType: "custom"`, Tool scope, the exact Tool name,
192
+ and the requested custom rule type/value. If a built-in validator was written,
193
+ replace it with the required custom rule before running validation or
194
+ reporting completion.
195
+
159
196
  Report to the user:
160
197
  - What was added (by name)
161
198
  - Why it was recommended (cite the catalog's `when_to_use` or a specific `use_cases` item that matched the agent's context)
@@ -179,8 +216,8 @@ Run `uip agent guardrails list --output json` (from Step 0) and find the matchin
179
216
  | CLI field | What to check |
180
217
  |-----------|---------------|
181
218
  | `Required: true` | Parameter must be present in `validatorParameters` |
182
- | `Type` | Must match `$parameterType` — `"enum-list"`, `"map-enum"`, or `"number"` |
183
- | `Options` | For `enum-list`: every value must be in this list; array must be non-empty |
219
+ | `Type` | Must match `$parameterType` — `"enum-list"`, `"map-enum"`, `"number"`, `"enum"`, `"text"`, or `"text-list"` |
220
+ | `Options` | For `enum-list`: every value must be in this list; array must be non-empty. For a scalar `enum` (e.g. `model` on `llm_as_judge`) whose `Options` is **empty**, the values come from LLM Gateway, not the catalog — run `uip agent guardrails llm-as-judge-models --output json` and use a `ModelId`; do **not** treat empty `Options` as invalid in that case |
184
221
  | `KeySource` | For `map-enum`: keys must **exactly** match the values of the `Options`-sourced parameter named by `KeySource` — no extra, no missing keys |
185
222
  | `Min` / `Max` | For `number` and `map-enum`: values must fall within this range |
186
223
  | `Step` | For `number` and `map-enum`: values must be multiples of Step (e.g. Step=2, Min=0, Max=6 → valid values are 0, 2, 4, 6) |