@uipath/skills 1.202.1 → 1.203.0-preview.886

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 (204) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.cursor-plugin/plugin.json +1 -1
  4. package/CODEOWNERS +14 -0
  5. package/README.md +14 -6
  6. package/assets/skill-status.json +5 -5
  7. package/assets/uip-catalog-snapshot.json +61 -36
  8. package/hooks/send-telemetry.ps1 +81 -18
  9. package/hooks/send-telemetry.sh +57 -6
  10. package/package.json +2 -2
  11. package/skills/uipath-admin/references/audit-workflow-guide.md +1 -1
  12. package/skills/uipath-admin/references/authorization/grant-permissions.md +1 -1
  13. package/skills/uipath-agents/SKILL.md +1 -1
  14. package/skills/uipath-agents/references/coded/capabilities/datafabric.md +8 -4
  15. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +2 -0
  16. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +11 -4
  17. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +58 -59
  18. package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +1 -1
  19. package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +36 -36
  20. package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
  21. package/skills/uipath-agents/references/lowcode/project-lifecycle.md +1 -0
  22. package/skills/uipath-aops/references/migration-guide.md +2 -2
  23. package/skills/uipath-aops/references/save-and-run-guide.md +2 -2
  24. package/skills/uipath-api-workflow/references/task-types.md +5 -3
  25. package/skills/uipath-api-workflow/references/troubleshooting.md +5 -0
  26. package/skills/uipath-automationhub/references/api-endpoints.md +3 -1
  27. package/skills/uipath-automationhub/references/cli-commands.md +4 -2
  28. package/skills/uipath-automationhub/references/publish-process-cli-guide.md +46 -3
  29. package/skills/uipath-automationhub/references/publish-process.md +19 -2
  30. package/skills/uipath-coded-apps/SKILL.md +7 -5
  31. package/skills/uipath-coded-apps/references/commands-reference.md +5 -0
  32. package/skills/uipath-coded-apps/references/create-action-app.md +16 -8
  33. package/skills/uipath-coded-apps/references/create-web-app.md +8 -6
  34. package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +1 -1
  35. package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +2 -1
  36. package/skills/uipath-coded-apps/references/debug.md +2 -2
  37. package/skills/uipath-coded-apps/references/oauth-client-setup.md +6 -1
  38. package/skills/uipath-coded-apps/references/pack-publish-deploy.md +19 -11
  39. package/skills/uipath-coded-apps/references/sdk/data-fabric.md +9 -7
  40. package/skills/uipath-coded-apps/references/sdk/pagination.md +2 -0
  41. package/skills/uipath-coded-apps/references/widgets/external-auth.md +1 -1
  42. package/skills/uipath-coded-apps/references/widgets/pdf-viewer.md +1 -1
  43. package/skills/uipath-coded-apps/references/widgets/validation-station.md +304 -160
  44. package/skills/uipath-coded-apps/scripts/validate-action-schema.js +5 -1
  45. package/skills/uipath-governance/references/access-policy/resource-lookup-guide.md +4 -4
  46. package/skills/uipath-governance/references/aops-policy/aops-policy-commands.md +1 -1
  47. package/skills/uipath-governance/references/aops-policy/aops-policy-deploy-guide.md +1 -1
  48. package/skills/uipath-governance/references/aops-policy/aops-policy-manage-guide.md +1 -1
  49. package/skills/uipath-governance/references/aops-policy/configure-aops-policy-data-guide.md +59 -13
  50. package/skills/uipath-human-in-the-loop/SKILL.md +8 -8
  51. package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +2 -2
  52. package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +5 -3
  53. package/skills/uipath-insights/SKILL.md +13 -6
  54. package/skills/uipath-insights/references/rbac-reads-guide.md +151 -0
  55. package/skills/uipath-ixp/SKILL.md +25 -23
  56. package/skills/uipath-ixp/references/cli-reference.md +18 -18
  57. package/skills/uipath-ixp/references/improve-prompts-guide.md +9 -13
  58. package/skills/uipath-ixp/references/label-documents-guide.md +5 -5
  59. package/skills/uipath-ixp/references/project-setup-guide.md +1 -1
  60. package/skills/uipath-maestro-bpmn/SKILL.md +145 -58
  61. package/skills/uipath-maestro-bpmn/references/cli-conventions.md +5 -0
  62. package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +4 -2
  63. package/skills/uipath-maestro-bpmn/references/diagnose/failure-modes.md +32 -1
  64. package/skills/uipath-maestro-bpmn/references/expression-authoring.md +33 -21
  65. package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -1
  66. package/skills/uipath-maestro-bpmn/references/operate/ship.md +16 -7
  67. package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +19 -6
  68. package/skills/uipath-maestro-bpmn/references/registry-workflow.md +200 -11
  69. package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +129 -36
  70. package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +38 -10
  71. package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +281 -95
  72. package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +32 -30
  73. package/skills/uipath-maestro-case/SKILL.md +11 -6
  74. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +2 -2
  75. package/skills/uipath-maestro-case/references/bindings-v2-sync.md +13 -10
  76. package/skills/uipath-maestro-case/references/case-commands.md +30 -2
  77. package/skills/uipath-maestro-case/references/case-editing-operations.md +2 -2
  78. package/skills/uipath-maestro-case/references/case-schema.md +9 -7
  79. package/skills/uipath-maestro-case/references/case-spec-input-details.md +1 -1
  80. package/skills/uipath-maestro-case/references/connector-integration.md +1 -1
  81. package/skills/uipath-maestro-case/references/connector-trigger-impl.md +31 -19
  82. package/skills/uipath-maestro-case/references/connector-trigger-planning.md +2 -2
  83. package/skills/uipath-maestro-case/references/evals/evals.json +2 -2
  84. package/skills/uipath-maestro-case/references/implementation.md +25 -11
  85. package/skills/uipath-maestro-case/references/phased-execution.md +4 -4
  86. package/skills/uipath-maestro-case/references/placeholder-tasks.md +1 -1
  87. package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
  88. package/skills/uipath-maestro-case/references/plugins/case/planning.md +1 -1
  89. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
  90. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +3 -3
  91. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +4 -4
  92. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +2 -2
  93. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +11 -1
  94. package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +3 -1
  95. package/skills/uipath-maestro-case/references/plugins/sla/planning.md +3 -2
  96. package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +4 -2
  97. package/skills/uipath-maestro-case/references/plugins/stages/planning.md +4 -4
  98. package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -3
  99. package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +2 -0
  100. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +2 -0
  101. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +2 -0
  102. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +19 -30
  103. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +7 -2
  104. package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +2 -0
  105. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +2 -0
  106. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +3 -0
  107. package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +5 -3
  108. package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +1 -1
  109. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +20 -2
  110. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +51 -3
  111. package/skills/uipath-maestro-flow/SKILL.md +3 -3
  112. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +16 -6
  113. package/skills/uipath-maestro-flow/references/author/brownfield.md +3 -3
  114. package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +9 -8
  115. package/skills/uipath-maestro-flow/references/author/editing-operations.md +2 -2
  116. package/skills/uipath-maestro-flow/references/author/greenfield.md +19 -7
  117. package/skills/uipath-maestro-flow/references/author/planning-arch.md +20 -12
  118. package/skills/uipath-maestro-flow/references/author/planning-impl.md +4 -2
  119. package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +2 -2
  120. package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/planning.md +1 -1
  121. package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +15 -7
  122. package/skills/uipath-maestro-flow/references/author/plugins/connector/planning.md +2 -1
  123. package/skills/uipath-maestro-flow/references/author/plugins/connector-trigger/impl.md +1 -0
  124. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +13 -12
  125. package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +16 -13
  126. package/skills/uipath-maestro-flow/references/author/plugins/decision/impl.md +17 -1
  127. package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +13 -10
  128. package/skills/uipath-maestro-flow/references/author/plugins/hitl/planning.md +18 -9
  129. package/skills/uipath-maestro-flow/references/author/plugins/inline-agent/impl.md +21 -9
  130. package/skills/uipath-maestro-flow/references/author/plugins/scheduled-trigger/impl.md +7 -28
  131. package/skills/uipath-maestro-flow/references/author/plugins/scheduled-trigger/planning.md +45 -8
  132. package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +1 -1
  133. package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +2 -2
  134. package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +1 -1
  135. package/skills/uipath-maestro-flow/references/author/plugins/switch/impl.md +14 -2
  136. package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +4 -4
  137. package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +11 -0
  138. package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +1 -1
  139. package/skills/uipath-maestro-flow/references/diagnose/failure-modes.md +8 -7
  140. package/skills/uipath-maestro-flow/references/evaluate/commands-reference.md +18 -2
  141. package/skills/uipath-maestro-flow/references/evaluate/running-guide.md +2 -2
  142. package/skills/uipath-maestro-flow/references/operate/run.md +2 -2
  143. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +5 -3
  144. package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
  145. package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +2 -0
  146. package/skills/uipath-mcp-servers/SKILL.md +1 -1
  147. package/skills/uipath-planner/assets/templates/agent-sdd-template.md +1 -1
  148. package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +1 -1
  149. package/skills/uipath-planner/assets/templates/bpmn-sdd-template.md +1 -1
  150. package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +1 -1
  151. package/skills/uipath-planner/assets/templates/flow-sdd-template.md +1 -1
  152. package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +1 -1
  153. package/skills/uipath-platform/SKILL.md +1 -1
  154. package/skills/uipath-platform/references/data-fabric/data-fabric.md +7 -1
  155. package/skills/uipath-platform/references/data-fabric/entity-schema.md +2 -2
  156. package/skills/uipath-platform/references/data-fabric/records-query.md +9 -4
  157. package/skills/uipath-platform/references/integration-service/reference-resolution.md +71 -2
  158. package/skills/uipath-platform/references/integration-service/resources.md +65 -10
  159. package/skills/uipath-platform/references/integration-service/vendor-docs-registry.json +1 -1
  160. package/skills/uipath-platform/references/licensing/licensing.md +1 -1
  161. package/skills/uipath-platform/references/licensing/tenant-allocations.md +11 -0
  162. package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +1 -1
  163. package/skills/uipath-platform/references/llmgateway/byo-connections.md +1 -1
  164. package/skills/uipath-platform/references/orchestrator/orchestrator.md +1 -1
  165. package/skills/uipath-platform/references/traces/feedback.md +62 -5
  166. package/skills/uipath-platform/references/uip-commands.md +1 -1
  167. package/skills/uipath-review/SKILL.md +13 -63
  168. package/skills/uipath-review/references/agents/agent-grading-rubric.md +2 -0
  169. package/skills/uipath-review/references/agents/agent-review-guide.md +98 -0
  170. package/skills/uipath-review/references/agents/agents-coded-rules.md +1 -1
  171. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +1 -1
  172. package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +2 -2
  173. package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +3 -3
  174. package/skills/uipath-review/references/review-workflow-guide.md +3 -3
  175. package/skills/uipath-review/references/rule-catalog-workflow.md +4 -4
  176. package/skills/uipath-review/references/rule-format.md +1 -1
  177. package/skills/uipath-rpa/SKILL.md +13 -13
  178. package/skills/uipath-rpa/agents/uipath-project-discovery-agent.md +3 -3
  179. package/skills/uipath-rpa/assets/codedworkflow-template.md +1 -1
  180. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +1 -1
  181. package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +1 -1
  182. package/skills/uipath-rpa/references/cli-reference.md +38 -13
  183. package/skills/uipath-rpa/references/coded/operations-guide.md +24 -11
  184. package/skills/uipath-rpa/references/debugging.md +68 -49
  185. package/skills/uipath-rpa/references/execution-maps-guide.md +22 -19
  186. package/skills/uipath-rpa/references/legacy/activity-docs/ThirdParty-SharePoint.md +3 -3
  187. package/skills/uipath-rpa/references/testing-guide.md +1 -1
  188. package/skills/uipath-rpa/references/uia-starter-guide.md +3 -3
  189. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +9 -343
  190. package/skills/uipath-rpa/references/xaml/xaml-editing-catalog.md +337 -0
  191. package/skills/uipath-solution/SKILL.md +1 -1
  192. package/skills/uipath-solution/references/develop-solution.md +78 -7
  193. package/skills/uipath-solution/references/scenarios/manual-edits.md +2 -0
  194. package/skills/uipath-solution/references/scenarios/shared-cloud-resource.md +1 -1
  195. package/skills/uipath-solution/references/scenarios.md +1 -0
  196. package/skills/uipath-test/SKILL.md +62 -268
  197. package/skills/uipath-test/references/custom-fields-guide.md +11 -0
  198. package/skills/uipath-test/references/object-labels-guide.md +8 -0
  199. package/skills/uipath-test/references/playwright-first-mile-guide.md +101 -112
  200. package/skills/uipath-test/references/test-result-report-guide.md +33 -78
  201. package/skills/uipath-troubleshoot/references/products/llm-gateway/playbooks/byo-connection-dead.md +2 -2
  202. package/skills/uipath-troubleshoot/references/products/llm-gateway/playbooks/byo-routing-bypassed.md +1 -1
  203. package/skills/uipath-troubleshoot/references/products/maestro/playbooks/foreground-unattended-robot.md +1 -1
  204. package/version-manifest.json +2 -2
@@ -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.202.1",
12
+ "version": "1.203.0",
13
13
  "author": {
14
14
  "name": "UiPath"
15
15
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uipath",
3
- "version": "1.202.1",
3
+ "version": "1.203.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"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "uipath",
3
3
  "displayName": "UiPath",
4
- "version": "1.202.1",
4
+ "version": "1.203.0",
5
5
  "description": "UiPath plugin for Cursor — skills for building, running, testing, and deploying UiPath automations, agents, coded apps, and platform operations.",
6
6
  "author": {
7
7
  "name": "UiPath",
package/CODEOWNERS CHANGED
@@ -74,6 +74,16 @@
74
74
  /tests/tasks/uipath-agents/coded/guardrails/ @apetraru-uipath @valentinabojan @ctiliescuuipath
75
75
  # Guardrails in lowcode/conversational (more specific than /lowcode/conversational/ above — wins via last-match)
76
76
  /tests/tasks/uipath-agents/lowcode/conversational/guardrails/ @apetraru-uipath @valentinabojan @ctiliescuuipath
77
+ # Guardrail checkers relocated to _shared/ during the host-path-removal migration (test: d61fa9d52) —
78
+ # still owned by the guardrails team, not the broader _shared/ default.
79
+ /tests/tasks/uipath-agents/_shared/check_byog_middleware.py @apetraru-uipath @valentinabojan @ctiliescuuipath
80
+ /tests/tasks/uipath-agents/_shared/check_escalation.py @apetraru-uipath @valentinabojan @ctiliescuuipath
81
+ /tests/tasks/uipath-agents/_shared/check_intellectual_property_coded.py @apetraru-uipath @valentinabojan @ctiliescuuipath
82
+ /tests/tasks/uipath-agents/_shared/check_llm_as_judge.py @apetraru-uipath @valentinabojan @ctiliescuuipath
83
+ /tests/tasks/uipath-agents/_shared/check_pii_middleware.py @apetraru-uipath @valentinabojan @ctiliescuuipath
84
+ /tests/tasks/uipath-agents/_shared/check_recommend_all.py @apetraru-uipath @valentinabojan @ctiliescuuipath
85
+ /tests/tasks/uipath-agents/_shared/check_recommend_scoped.py @apetraru-uipath @valentinabojan @ctiliescuuipath
86
+ /tests/tasks/uipath-agents/_shared/check_user_prompt_attacks_middleware.py @apetraru-uipath @valentinabojan @ctiliescuuipath
77
87
 
78
88
  # Functions skill (JS/TS → @lucarachiteanu, Python → @vldcmp-uipath; shared surfaces → both)
79
89
  /skills/uipath-functions/ @lucarachiteanu @vldcmp-uipath
@@ -140,6 +150,10 @@
140
150
  /skills/uipath-maestro-flow/references/author/plugins/data-fabric/ @UiPath/DatafabricCodingAgent @UiPath/maestro-cli-team
141
151
  /tests/tasks/uipath-maestro-flow/connector_features/ @chandusailella @mukundbayyaram @UiPath/maestro-cli-team
142
152
  /tests/tasks/uipath-maestro-flow/connector_features/datafabric_connector @UiPath/DatafabricCodingAgent @UiPath/maestro-cli-team
153
+ # Checkers relocated to _shared/ during the host-path-removal migration (test: d61fa9d52) —
154
+ # still owned by the connector_features team, not the broader maestro-cli-team _shared/ default.
155
+ /tests/tasks/uipath-maestro-flow/_shared/check_databricks_query.py @chandusailella @mukundbayyaram @UiPath/maestro-cli-team
156
+ /tests/tasks/uipath-maestro-flow/_shared/check_generic_dynamic_node.py @chandusailella @mukundbayyaram @UiPath/maestro-cli-team
143
157
 
144
158
  # IXP
145
159
  /skills/uipath-maestro-flow/references/author/plugins/ixp/ @UiPath/communications-mining @constantinmuraru @vlad-crisan @UiPath/maestro-cli-team
package/README.md CHANGED
@@ -105,10 +105,10 @@ Every skill's maturity is tracked in [`assets/skill-status.json`](assets/skill-s
105
105
  | `uipath-admin` | Stable |
106
106
  | `uipath-agents` | Stable |
107
107
  | `uipath-aops` | Preview |
108
- | `uipath-api-workflow` | In-development |
108
+ | `uipath-api-workflow` | Stable |
109
109
  | `uipath-automation-discovery` | Preview |
110
110
  | `uipath-automationhub` | Stable |
111
- | `uipath-coded-apps` | Preview |
111
+ | `uipath-coded-apps` | Stable |
112
112
  | `uipath-connector-builder` | In-development |
113
113
  | `uipath-feedback` | Stable |
114
114
  | `uipath-functions` | Preview |
@@ -117,8 +117,8 @@ Every skill's maturity is tracked in [`assets/skill-status.json`](assets/skill-s
117
117
  | `uipath-insights` | Preview |
118
118
  | `uipath-ixp` | Stable |
119
119
  | `uipath-maestro-bpmn` | In-development |
120
- | `uipath-maestro-case` | In-development |
121
- | `uipath-maestro-flow` | In-development |
120
+ | `uipath-maestro-case` | Preview |
121
+ | `uipath-maestro-flow` | Stable |
122
122
  | `uipath-mcp-servers` | In-development |
123
123
  | `uipath-planner` | Stable |
124
124
  | `uipath-platform` | Stable |
@@ -128,7 +128,7 @@ Every skill's maturity is tracked in [`assets/skill-status.json`](assets/skill-s
128
128
  | `uipath-solution` | Stable |
129
129
  | `uipath-tasks` | Stable |
130
130
  | `uipath-test` | Preview |
131
- | `uipath-troubleshoot` | Stable |
131
+ | `uipath-troubleshoot` | Preview |
132
132
 
133
133
  **Status legend:**
134
134
  - **Stable** — Stable, production-ready surface; safe for production.
@@ -181,17 +181,25 @@ codex plugin marketplace add UiPath/skills --ref main
181
181
  codex plugin add uipath@uipath-marketplace
182
182
  ```
183
183
 
184
- The marketplace entry currently uses a `plugins/uipath` symlink so Codex can load the repository root as the plugin root; remove it once [openai/codex#17066](https://github.com/openai/codex/issues/17066) is resolved.
184
+ > **Codex prerequisite:** Use Codex CLI 0.142.0 or later. This repository uses the repository root as the plugin root, supported since [openai/codex#17066](https://github.com/openai/codex/issues/17066) was resolved.
185
185
 
186
186
  > **Windows users:** This repo uses git symlinks. Clone with symlinks enabled:
187
187
  > ```bash
188
188
  > git clone -c core.symlinks=true https://github.com/UiPath/skills
189
189
  > ```
190
+ >
190
191
  > If you've already cloned without symlink support, re-enable and re-checkout:
191
192
  > ```bash
192
193
  > git config core.symlinks true
193
194
  > git checkout -- .
194
195
  > ```
196
+ >
197
+ > If you encounter a `Filename too long` or `MAX_PATH` error during
198
+ > checkout, enable Git long-path support:
199
+ > ```bash
200
+ > git config --global core.longpaths true
201
+ > ```
202
+ > Then retry the clone or checkout.
195
203
 
196
204
  ### Cursor IDE
197
205
 
@@ -42,7 +42,7 @@
42
42
  "last_synced": null
43
43
  },
44
44
  "uipath-api-workflow": {
45
- "status": "in-development",
45
+ "status": "stable",
46
46
  "confluence": {
47
47
  "page_id": null,
48
48
  "url": null
@@ -66,7 +66,7 @@
66
66
  "last_synced": null
67
67
  },
68
68
  "uipath-coded-apps": {
69
- "status": "preview",
69
+ "status": "stable",
70
70
  "confluence": {
71
71
  "page_id": null,
72
72
  "url": null
@@ -138,7 +138,7 @@
138
138
  "last_synced": null
139
139
  },
140
140
  "uipath-maestro-case": {
141
- "status": "in-development",
141
+ "status": "preview",
142
142
  "confluence": {
143
143
  "page_id": null,
144
144
  "url": null
@@ -146,7 +146,7 @@
146
146
  "last_synced": null
147
147
  },
148
148
  "uipath-maestro-flow": {
149
- "status": "in-development",
149
+ "status": "stable",
150
150
  "confluence": {
151
151
  "page_id": null,
152
152
  "url": null
@@ -226,7 +226,7 @@
226
226
  "last_synced": null
227
227
  },
228
228
  "uipath-troubleshoot": {
229
- "status": "stable",
229
+ "status": "preview",
230
230
  "confluence": {
231
231
  "page_id": null,
232
232
  "url": null
@@ -1,6 +1,6 @@
1
1
  {
2
- "generated_at": "2026-09-05T04:06:55Z",
3
- "cli_version": "1.202.0-dev.8548",
2
+ "generated_at": "2026-09-21T04:07:18Z",
3
+ "cli_version": "1.203.0-dev.8750",
4
4
  "verbs": [
5
5
  "admin",
6
6
  "admin audit",
@@ -175,6 +175,8 @@
175
175
  "agent model list",
176
176
  "agent refresh",
177
177
  "agent review",
178
+ "agent review-history",
179
+ "agent review-history add",
178
180
  "agent tool",
179
181
  "agent tool list",
180
182
  "agent validate",
@@ -341,6 +343,7 @@
341
343
  "codedagent run",
342
344
  "codedagent setup",
343
345
  "codedapp",
346
+ "codedapp delete",
344
347
  "codedapp deploy",
345
348
  "codedapp init",
346
349
  "codedapp pack",
@@ -412,6 +415,40 @@
412
415
  "df records update",
413
416
  "docsai",
414
417
  "docsai ask",
418
+ "eval",
419
+ "eval eval-set",
420
+ "eval eval-set create",
421
+ "eval eval-set delete",
422
+ "eval eval-set get",
423
+ "eval eval-set list",
424
+ "eval eval-set update",
425
+ "eval evaluation",
426
+ "eval evaluation create",
427
+ "eval evaluation delete",
428
+ "eval evaluation get",
429
+ "eval evaluation list",
430
+ "eval evaluation update",
431
+ "eval evaluator",
432
+ "eval evaluator create",
433
+ "eval evaluator delete",
434
+ "eval evaluator get",
435
+ "eval evaluator list",
436
+ "eval evaluator update",
437
+ "eval execute-and-evaluate",
438
+ "eval run",
439
+ "eval run get",
440
+ "eval run list",
441
+ "eval run results",
442
+ "eval schedule",
443
+ "eval schedule create",
444
+ "eval schedule delete",
445
+ "eval schedule get",
446
+ "eval schedule list",
447
+ "eval schedule pause",
448
+ "eval schedule resume",
449
+ "eval schedule update",
450
+ "eval simulatable-components",
451
+ "eval simulatable-components list",
415
452
  "feedback",
416
453
  "feedback send",
417
454
  "function",
@@ -501,6 +538,9 @@
501
538
  "insights filter-processes list",
502
539
  "insights filter-queues",
503
540
  "insights filter-queues list",
541
+ "insights groups",
542
+ "insights groups get",
543
+ "insights groups list",
504
544
  "insights jobs",
505
545
  "insights jobs completed-timeline",
506
546
  "insights jobs failure-details",
@@ -509,7 +549,11 @@
509
549
  "insights jobs summary",
510
550
  "insights jobs top-failures",
511
551
  "insights jobs uncompleted-timeline",
552
+ "insights roles",
553
+ "insights roles get",
554
+ "insights roles list",
512
555
  "insights users",
556
+ "insights users get",
513
557
  "insights users list",
514
558
  "is",
515
559
  "is activities",
@@ -590,6 +634,7 @@
590
634
  "is resources run get",
591
635
  "is resources run list",
592
636
  "is resources run replace",
637
+ "is resources run script",
593
638
  "is resources run update",
594
639
  "is triggers",
595
640
  "is triggers describe",
@@ -657,6 +702,9 @@
657
702
  "llm-gateway",
658
703
  "llm-gateway models",
659
704
  "login",
705
+ "login profiles",
706
+ "login profiles delete",
707
+ "login profiles list",
660
708
  "login refresh",
661
709
  "login status",
662
710
  "login tenant",
@@ -736,6 +784,8 @@
736
784
  "maestro bpmn update-metadata",
737
785
  "maestro bpmn validate",
738
786
  "maestro case",
787
+ "maestro case bindings",
788
+ "maestro case bindings sync",
739
789
  "maestro case case-exit-conditions",
740
790
  "maestro case case-exit-conditions get",
741
791
  "maestro case cases",
@@ -746,6 +796,7 @@
746
796
  "maestro case decompile",
747
797
  "maestro case edges",
748
798
  "maestro case edges get",
799
+ "maestro case format",
749
800
  "maestro case incident",
750
801
  "maestro case incident get",
751
802
  "maestro case incident summary",
@@ -775,6 +826,7 @@
775
826
  "maestro case job",
776
827
  "maestro case job status",
777
828
  "maestro case job traces",
829
+ "maestro case merge",
778
830
  "maestro case pack",
779
831
  "maestro case process",
780
832
  "maestro case process get",
@@ -996,38 +1048,6 @@
996
1048
  "or credential-stores",
997
1049
  "or credential-stores get",
998
1050
  "or credential-stores list",
999
- "or eval",
1000
- "or eval eval-set",
1001
- "or eval eval-set create",
1002
- "or eval eval-set delete",
1003
- "or eval eval-set get",
1004
- "or eval eval-set list",
1005
- "or eval eval-set update",
1006
- "or eval evaluation",
1007
- "or eval evaluation create",
1008
- "or eval evaluation delete",
1009
- "or eval evaluation get",
1010
- "or eval evaluation list",
1011
- "or eval evaluation update",
1012
- "or eval evaluator",
1013
- "or eval evaluator create",
1014
- "or eval evaluator delete",
1015
- "or eval evaluator get",
1016
- "or eval evaluator list",
1017
- "or eval evaluator update",
1018
- "or eval execute-and-evaluate",
1019
- "or eval run",
1020
- "or eval run get",
1021
- "or eval run list",
1022
- "or eval run results",
1023
- "or eval schedule",
1024
- "or eval schedule create",
1025
- "or eval schedule delete",
1026
- "or eval schedule get",
1027
- "or eval schedule list",
1028
- "or eval schedule pause",
1029
- "or eval schedule resume",
1030
- "or eval schedule update",
1031
1051
  "or feeds",
1032
1052
  "or feeds list",
1033
1053
  "or folders",
@@ -1069,6 +1089,7 @@
1069
1089
  "or machines unassign",
1070
1090
  "or machines update",
1071
1091
  "or packages",
1092
+ "or packages delete",
1072
1093
  "or packages download",
1073
1094
  "or packages entry-points",
1074
1095
  "or packages get",
@@ -1314,8 +1335,11 @@
1314
1335
  "rpa remote",
1315
1336
  "rpa remote configure",
1316
1337
  "rpa remote download-file",
1338
+ "rpa remote echo",
1317
1339
  "rpa remote exec",
1318
- "rpa remote show",
1340
+ "rpa remote start",
1341
+ "rpa remote status",
1342
+ "rpa remote stop",
1319
1343
  "rpa remote upload-file",
1320
1344
  "rpa restore",
1321
1345
  "rpa run",
@@ -1507,10 +1531,10 @@
1507
1531
  "tm testcases create",
1508
1532
  "tm testcases delete",
1509
1533
  "tm testcases link-automation",
1534
+ "tm testcases link-package",
1510
1535
  "tm testcases list",
1511
1536
  "tm testcases list-automations",
1512
1537
  "tm testcases list-result-history",
1513
- "tm testcases list-steps",
1514
1538
  "tm testcases list-testsets",
1515
1539
  "tm testcases remove",
1516
1540
  "tm testcases run",
@@ -1528,6 +1552,7 @@
1528
1552
  "tm testsets delete",
1529
1553
  "tm testsets list",
1530
1554
  "tm testsets list-testcases",
1555
+ "tm testsets playwright-context",
1531
1556
  "tm testsets run",
1532
1557
  "tm testsets update",
1533
1558
  "tm teststeplog",
@@ -39,8 +39,9 @@
39
39
  # ENVELOPE (top-level) -> toolName, toolUseId, permissionMode,
40
40
  # durationMs, effortLevel (effort.level), agentType,
41
41
  # source (-> session_source), reason (session-end),
42
- # model (-> agent_model; Claude sends it on
43
- # SessionStart, Codex on every event)
42
+ # model (-> agent_model; string or {id,display_name}.
43
+ # Claude Code omits it on most events, so the
44
+ # transcript is the fallback -- PILOT-7497)
44
45
  # tool_input -> skillName, uipSubcommand (command), fileExtension
45
46
  # (file_path), subagentType (subagent_type, or
46
47
  # agent_type for a Codex spawn_agent call)
@@ -101,7 +102,8 @@ $SCHEMA_VERSION = 3
101
102
  function Get-Prop($Obj, [string]$Name) {
102
103
  if ($null -eq $Obj) { return $null }
103
104
  $p = $Obj.PSObject.Properties[$Name]
104
- if ($p) { return $p.Value }
105
+ # Unary comma stops PowerShell unrolling a single-element array on return.
106
+ if ($p) { return ,$p.Value }
105
107
  return $null
106
108
  }
107
109
 
@@ -109,6 +111,53 @@ function Test-JsonObject($Value) {
109
111
  return ($Value -is [System.Management.Automation.PSCustomObject])
110
112
  }
111
113
 
114
+ # JSON strings only; any other shape -> ''. A [string] cast would render
115
+ # 'True' / '@{id=...}' where the .sh twin yields ''.
116
+ function ConvertTo-JsonString($Value) {
117
+ if ($Value -is [string]) { return $Value }
118
+ return ''
119
+ }
120
+
121
+ # Fallback when the envelope carried no `model` (PILOT-7497). Reads the LAST
122
+ # assistant entry, so a mid-session /model switch is tracked. Subagent turns go
123
+ # to <session>/subagents/agent-<id>.jsonl, so this yields the main-loop model.
124
+ # 256KB tail: the last assistant entry is within ~28KB of EOF even at 5MB.
125
+ # An absent, unreadable or not-yet-written transcript resolves to empty.
126
+ # FileShare::ReadWrite: the agent still holds the file open.
127
+ function Resolve-AgentModel([string]$TranscriptPath) {
128
+ if ([string]::IsNullOrEmpty($TranscriptPath)) { return '' }
129
+ if (-not (Test-Path -LiteralPath $TranscriptPath -PathType Leaf)) { return '' }
130
+ $text = ''
131
+ try {
132
+ $fs = [System.IO.File]::Open(
133
+ $TranscriptPath,
134
+ [System.IO.FileMode]::Open,
135
+ [System.IO.FileAccess]::Read,
136
+ [System.IO.FileShare]::ReadWrite)
137
+ try {
138
+ if ($fs.Length -gt 262144) {
139
+ [void]$fs.Seek(-262144, [System.IO.SeekOrigin]::End)
140
+ }
141
+ $sr = New-Object System.IO.StreamReader($fs, [System.Text.Encoding]::UTF8)
142
+ try { $text = $sr.ReadToEnd() } finally { $sr.Dispose() }
143
+ }
144
+ finally { $fs.Dispose() }
145
+ }
146
+ catch { return '' }
147
+ $model = ''
148
+ foreach ($line in ($text -split "`n")) {
149
+ # Whitespace-tolerant: the transcript format is undocumented.
150
+ if (-not [regex]::IsMatch($line, '"type"[ \t\r]*:[ \t\r]*"assistant"')) { continue }
151
+ $m = [regex]::Match($line, '"model"[ \t\r]*:[ \t\r]*"([^"]*)"')
152
+ if ($m.Success) {
153
+ $v = $m.Groups[1].Value
154
+ # <synthetic> is a local turn (interrupt/error), not a model id.
155
+ if ($v -and $v -ne '<synthetic>') { $model = $v }
156
+ }
157
+ }
158
+ return $model
159
+ }
160
+
112
161
  # JSON booleans -> the literal strings 'true'/'false'; everything else -> ''.
113
162
  function ConvertTo-BoolString($Value) {
114
163
  if ($Value -is [bool]) { if ($Value) { return 'true' } return 'false' }
@@ -275,32 +324,46 @@ function Main {
275
324
  if (-not (Test-JsonObject $payload)) { exit 0 }
276
325
 
277
326
  # ENVELOPE region.
278
- $hookEvent = [string](Get-Prop $payload 'hook_event_name')
279
- $tool = [string](Get-Prop $payload 'tool_name')
280
- $toolUseId = [string](Get-Prop $payload 'tool_use_id')
281
- $permissionMode = [string](Get-Prop $payload 'permission_mode')
327
+ $hookEvent = ConvertTo-JsonString (Get-Prop $payload 'hook_event_name')
328
+ $tool = ConvertTo-JsonString (Get-Prop $payload 'tool_name')
329
+ $toolUseId = ConvertTo-JsonString (Get-Prop $payload 'tool_use_id')
330
+ $permissionMode = ConvertTo-JsonString (Get-Prop $payload 'permission_mode')
282
331
  $durationMs = Get-Prop $payload 'duration_ms'
283
- $agentType = [string](Get-Prop $payload 'agent_type')
284
- $sessionSource = [string](Get-Prop $payload 'source')
285
- $reason = [string](Get-Prop $payload 'reason')
286
- $agentModel = [string](Get-Prop $payload 'model')
332
+ $agentType = ConvertTo-JsonString (Get-Prop $payload 'agent_type')
333
+ $sessionSource = ConvertTo-JsonString (Get-Prop $payload 'source')
334
+ $reason = ConvertTo-JsonString (Get-Prop $payload 'reason')
335
+ # String, or object with id preferred over display_name.
336
+ $agentModel = ''
337
+ $modelRaw = Get-Prop $payload 'model'
338
+ if (Test-JsonObject $modelRaw) {
339
+ $agentModel = ConvertTo-JsonString (Get-Prop $modelRaw 'id')
340
+ if (-not $agentModel) {
341
+ $agentModel = ConvertTo-JsonString (Get-Prop $modelRaw 'display_name')
342
+ }
343
+ }
344
+ else {
345
+ $agentModel = ConvertTo-JsonString $modelRaw
346
+ }
347
+ if (-not $agentModel) {
348
+ $agentModel = Resolve-AgentModel (ConvertTo-JsonString (Get-Prop $payload 'transcript_path'))
349
+ }
287
350
 
288
351
  $effortLevel = ''
289
352
  $effort = Get-Prop $payload 'effort'
290
- if (Test-JsonObject $effort) { $effortLevel = [string](Get-Prop $effort 'level') }
353
+ if (Test-JsonObject $effort) { $effortLevel = ConvertTo-JsonString (Get-Prop $effort 'level') }
291
354
 
292
355
  # tool_input region.
293
356
  $skill = ''; $command = ''; $filePath = ''; $subagentType = ''
294
357
  $toolInput = Get-Prop $payload 'tool_input'
295
358
  if (Test-JsonObject $toolInput) {
296
- $skill = [string](Get-Prop $toolInput 'skill')
297
- $command = [string](Get-Prop $toolInput 'command')
298
- $filePath = [string](Get-Prop $toolInput 'file_path')
299
- $subagentType = [string](Get-Prop $toolInput 'subagent_type')
359
+ $skill = ConvertTo-JsonString (Get-Prop $toolInput 'skill')
360
+ $command = ConvertTo-JsonString (Get-Prop $toolInput 'command')
361
+ $filePath = ConvertTo-JsonString (Get-Prop $toolInput 'file_path')
362
+ $subagentType = ConvertTo-JsonString (Get-Prop $toolInput 'subagent_type')
300
363
  # Codex spawn_agent carries the spawned type in tool_input.agent_type;
301
364
  # normalize it to subagentType so it lands in the same field as Claude and
302
365
  # never collides with the envelope agent_type (agentType).
303
- if (-not $subagentType) { $subagentType = [string](Get-Prop $toolInput 'agent_type') }
366
+ if (-not $subagentType) { $subagentType = ConvertTo-JsonString (Get-Prop $toolInput 'agent_type') }
304
367
  }
305
368
 
306
369
  # tool_response region. Presence of the KEY (any value shape) marks the
@@ -312,7 +375,7 @@ function Main {
312
375
  if (Test-JsonObject $toolResponse) {
313
376
  $interrupted = ConvertTo-BoolString (Get-Prop $toolResponse 'interrupted')
314
377
  $success = ConvertTo-BoolString (Get-Prop $toolResponse 'success')
315
- $resolvedModel = [string](Get-Prop $toolResponse 'resolvedModel')
378
+ $resolvedModel = ConvertTo-JsonString (Get-Prop $toolResponse 'resolvedModel')
316
379
  }
317
380
 
318
381
  # Map the hook event to a canonical eventName; drop unrecognized events.
@@ -35,8 +35,9 @@
35
35
  # ENVELOPE (top-level) -> toolName, toolUseId, permissionMode,
36
36
  # durationMs, effortLevel (effort.level), agentType,
37
37
  # source (-> session_source), reason (session-end),
38
- # model (-> agent_model; Claude sends it on
39
- # SessionStart, Codex on every event)
38
+ # model (-> agent_model; string or {id,display_name}.
39
+ # Claude Code omits it on most events, so the
40
+ # transcript is the fallback -- PILOT-7497)
40
41
  # tool_input -> skillName, uipSubcommand (command), fileExtension
41
42
  # (file_path), subagentType (subagent_type, or
42
43
  # agent_type for a Codex spawn_agent call)
@@ -109,7 +110,8 @@ extract_fields() {
109
110
  if (d == 1)
110
111
  return (k=="tool_name"||k=="tool_use_id"|| \
111
112
  k=="permission_mode"||k=="duration_ms"||k=="agent_type"|| \
112
- k=="hook_event_name"||k=="source"||k=="reason"||k=="model")
113
+ k=="hook_event_name"||k=="source"||k=="reason"||k=="model"|| \
114
+ k=="transcript_path")
113
115
  if (d == 2 && c == "input")
114
116
  return (k=="skill"||k=="command"||k=="file_path"||k=="subagent_type"|| \
115
117
  k=="agent_type")
@@ -117,6 +119,15 @@ extract_fields() {
117
119
  return (k=="interrupted"||k=="success"||k=="resolvedModel")
118
120
  if (d == 2 && c == "effort")
119
121
  return (k=="level")
122
+ if (d == 2 && c == "model")
123
+ return (k=="id"||k=="display_name")
124
+ return 0
125
+ }
126
+ # A JSON literal is meaningful only for these keys; elsewhere it is
127
+ # malformed input and is dropped, so "null"/"true" never reach telemetry.
128
+ function scalar_ok(k, d, c) {
129
+ if (d == 1) return (k=="duration_ms")
130
+ if (d == 2 && c == "response") return (k=="interrupted"||k=="success")
120
131
  return 0
121
132
  }
122
133
  # outkey: remap a JSON key to the field name read_fields expects. Codex
@@ -125,6 +136,8 @@ extract_fields() {
125
136
  # subagent_type) and never collides with the envelope agent_type (agentType).
126
137
  function outkey(k, d, c) {
127
138
  if (d == 2 && c == "input" && k == "agent_type") return "subagent_type"
139
+ # Distinct names so id/display_name cannot collide at depth 2.
140
+ if (d == 2 && c == "model") return "model_" k
128
141
  return k
129
142
  }
130
143
  { buf = buf $0 "\n" }
@@ -171,6 +184,7 @@ extract_fields() {
171
184
  if (pkey == "tool_input") ctx = "input"
172
185
  else if (pkey == "tool_response") ctx = "response"
173
186
  else if (pkey == "effort") ctx = "effort"
187
+ else if (pkey == "model") ctx = "model"
174
188
  else ctx = "other"
175
189
  }
176
190
  pend = 0
@@ -193,7 +207,8 @@ extract_fields() {
193
207
  if (c==","||c=="}"||c=="]"||c==" "||c=="\t"||c=="\n"||c=="\r") break
194
208
  lit = lit c; i++
195
209
  }
196
- if (interesting(pkey, pdepth, ctx)) print outkey(pkey, pdepth, ctx) "\t" lit
210
+ if (interesting(pkey, pdepth, ctx) && scalar_ok(pkey, pdepth, ctx))
211
+ print outkey(pkey, pdepth, ctx) "\t" lit
197
212
  pend = 0; continue # leave delimiter for the main loop
198
213
  }
199
214
  i++
@@ -210,8 +225,9 @@ read_fields() {
210
225
  duration_ms=""; agent_type=""; skill=""; command=""; file_path=""
211
226
  subagent_type=""; interrupted=""; success=""; resolved_model=""
212
227
  effort_level=""; response_seen=""; session_source=""; reason=""
213
- agent_model=""
214
- local k v
228
+ agent_model=""; transcript_path=""
229
+ local k v model_id model_display_name
230
+ model_id=""; model_display_name=""
215
231
  while IFS="$(printf '\t')" read -r k v; do
216
232
  case "$k" in
217
233
  hook_event_name) event="$v" ;;
@@ -223,6 +239,9 @@ read_fields() {
223
239
  source) session_source="$v" ;;
224
240
  reason) reason="$v" ;;
225
241
  model) agent_model="$v" ;;
242
+ model_id) model_id="$v" ;;
243
+ model_display_name) model_display_name="$v" ;;
244
+ transcript_path) transcript_path="$v" ;;
226
245
  skill) skill="$v" ;;
227
246
  command) command="$v" ;;
228
247
  file_path) file_path="$v" ;;
@@ -236,6 +255,37 @@ read_fields() {
236
255
  done <<EOF
237
256
  $1
238
257
  EOF
258
+ # Object-shaped model emits no top-level scalar; use id, then display_name.
259
+ if [ -z "$agent_model" ]; then
260
+ agent_model="${model_id:-$model_display_name}"
261
+ fi
262
+ # Escapes are left intact, so a Windows path arrives as C:\\Users\\...;
263
+ # Git Bash reads the forward-slash form.
264
+ case "$transcript_path" in
265
+ *\\\\*) transcript_path="$(printf '%s' "$transcript_path" | sed 's|\\\\|/|g')" ;;
266
+ esac
267
+ }
268
+
269
+ # Fallback when the envelope carried no `model` (PILOT-7497). Reads the LAST
270
+ # assistant entry, so a mid-session /model switch is tracked. Subagent turns go
271
+ # to <session>/subagents/agent-<id>.jsonl, so this yields the main-loop model.
272
+ # 256KB tail: the last assistant entry is within ~28KB of EOF even at 5MB.
273
+ # An absent, unreadable or not-yet-written transcript resolves to empty.
274
+ resolve_agent_model() {
275
+ [ -z "$agent_model" ] || return 0
276
+ [ -n "$transcript_path" ] && [ -r "$transcript_path" ] || return 0
277
+ agent_model="$(tail -c 262144 -- "$transcript_path" 2>/dev/null | awk '
278
+ # Whitespace-tolerant: the transcript format is undocumented.
279
+ match($0, /"type"[ \t\r]*:[ \t\r]*"assistant"/) > 0 {
280
+ if (match($0, /"model"[ \t\r]*:[ \t\r]*"[^"]*"/)) {
281
+ v = substr($0, RSTART, RLENGTH)
282
+ sub(/^"model"[ \t\r]*:[ \t\r]*"/, "", v)
283
+ sub(/"$/, "", v)
284
+ # <synthetic> is a local turn (interrupt/error), not a model id.
285
+ if (v != "" && v != "<synthetic>") m = v
286
+ }
287
+ }
288
+ END { if (m != "") print m }' 2>/dev/null)"
239
289
  }
240
290
 
241
291
  # --- relevance gate --------------------------------------------------------
@@ -418,6 +468,7 @@ main() {
418
468
 
419
469
  payload="$(cat)"
420
470
  read_fields "$(printf '%s' "$payload" | extract_fields)"
471
+ resolve_agent_model
421
472
 
422
473
  # Map the hook event to a canonical eventName; drop unrecognized events.
423
474
  event_name="$(map_event_name)"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/skills",
3
- "version": "1.202.1",
3
+ "version": "1.203.0-preview.886",
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"
@@ -41,7 +41,7 @@
41
41
  "scripts/npm-package-lifecycle.mjs"
42
42
  ],
43
43
  "scripts": {
44
- "skills:test": "node --test tests/scripts/compose-skill-flavor.test.mjs tests/scripts/manage-skill-flavors-skill.test.mjs tests/scripts/sync-maestro-sdk-preview.test.mjs",
44
+ "skills:test": "node --test tests/scripts/compose-skill-flavor.test.mjs tests/scripts/manage-skill-flavors-skill.test.mjs tests/scripts/studioweb-flavor-contract.test.mjs tests/scripts/slack-stable-publish-notify.test.mjs",
45
45
  "skills:validate": "node scripts/compose-skill-flavor.mjs validate",
46
46
  "skills:check-links": "node scripts/check-skill-links.mjs",
47
47
  "skills:build": "node scripts/compose-skill-flavor.mjs build",