@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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/CODEOWNERS +14 -0
- package/README.md +14 -6
- package/assets/skill-status.json +5 -5
- package/assets/uip-catalog-snapshot.json +61 -36
- package/hooks/send-telemetry.ps1 +81 -18
- package/hooks/send-telemetry.sh +57 -6
- package/package.json +2 -2
- package/skills/uipath-admin/references/audit-workflow-guide.md +1 -1
- package/skills/uipath-admin/references/authorization/grant-permissions.md +1 -1
- package/skills/uipath-agents/SKILL.md +1 -1
- package/skills/uipath-agents/references/coded/capabilities/datafabric.md +8 -4
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +11 -4
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +58 -59
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +1 -1
- package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +36 -36
- package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +1 -0
- package/skills/uipath-aops/references/migration-guide.md +2 -2
- package/skills/uipath-aops/references/save-and-run-guide.md +2 -2
- package/skills/uipath-api-workflow/references/task-types.md +5 -3
- package/skills/uipath-api-workflow/references/troubleshooting.md +5 -0
- package/skills/uipath-automationhub/references/api-endpoints.md +3 -1
- package/skills/uipath-automationhub/references/cli-commands.md +4 -2
- package/skills/uipath-automationhub/references/publish-process-cli-guide.md +46 -3
- package/skills/uipath-automationhub/references/publish-process.md +19 -2
- package/skills/uipath-coded-apps/SKILL.md +7 -5
- package/skills/uipath-coded-apps/references/commands-reference.md +5 -0
- package/skills/uipath-coded-apps/references/create-action-app.md +16 -8
- package/skills/uipath-coded-apps/references/create-web-app.md +8 -6
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +1 -1
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +2 -1
- package/skills/uipath-coded-apps/references/debug.md +2 -2
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +6 -1
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +19 -11
- package/skills/uipath-coded-apps/references/sdk/data-fabric.md +9 -7
- package/skills/uipath-coded-apps/references/sdk/pagination.md +2 -0
- package/skills/uipath-coded-apps/references/widgets/external-auth.md +1 -1
- package/skills/uipath-coded-apps/references/widgets/pdf-viewer.md +1 -1
- package/skills/uipath-coded-apps/references/widgets/validation-station.md +304 -160
- package/skills/uipath-coded-apps/scripts/validate-action-schema.js +5 -1
- package/skills/uipath-governance/references/access-policy/resource-lookup-guide.md +4 -4
- package/skills/uipath-governance/references/aops-policy/aops-policy-commands.md +1 -1
- package/skills/uipath-governance/references/aops-policy/aops-policy-deploy-guide.md +1 -1
- package/skills/uipath-governance/references/aops-policy/aops-policy-manage-guide.md +1 -1
- package/skills/uipath-governance/references/aops-policy/configure-aops-policy-data-guide.md +59 -13
- package/skills/uipath-human-in-the-loop/SKILL.md +8 -8
- package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +2 -2
- package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +5 -3
- package/skills/uipath-insights/SKILL.md +13 -6
- package/skills/uipath-insights/references/rbac-reads-guide.md +151 -0
- package/skills/uipath-ixp/SKILL.md +25 -23
- package/skills/uipath-ixp/references/cli-reference.md +18 -18
- package/skills/uipath-ixp/references/improve-prompts-guide.md +9 -13
- package/skills/uipath-ixp/references/label-documents-guide.md +5 -5
- package/skills/uipath-ixp/references/project-setup-guide.md +1 -1
- package/skills/uipath-maestro-bpmn/SKILL.md +145 -58
- package/skills/uipath-maestro-bpmn/references/cli-conventions.md +5 -0
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +4 -2
- package/skills/uipath-maestro-bpmn/references/diagnose/failure-modes.md +32 -1
- package/skills/uipath-maestro-bpmn/references/expression-authoring.md +33 -21
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -1
- package/skills/uipath-maestro-bpmn/references/operate/ship.md +16 -7
- package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +19 -6
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +200 -11
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +129 -36
- package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +38 -10
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +281 -95
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +32 -30
- package/skills/uipath-maestro-case/SKILL.md +11 -6
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +2 -2
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +13 -10
- package/skills/uipath-maestro-case/references/case-commands.md +30 -2
- package/skills/uipath-maestro-case/references/case-editing-operations.md +2 -2
- package/skills/uipath-maestro-case/references/case-schema.md +9 -7
- package/skills/uipath-maestro-case/references/case-spec-input-details.md +1 -1
- package/skills/uipath-maestro-case/references/connector-integration.md +1 -1
- package/skills/uipath-maestro-case/references/connector-trigger-impl.md +31 -19
- package/skills/uipath-maestro-case/references/connector-trigger-planning.md +2 -2
- package/skills/uipath-maestro-case/references/evals/evals.json +2 -2
- package/skills/uipath-maestro-case/references/implementation.md +25 -11
- package/skills/uipath-maestro-case/references/phased-execution.md +4 -4
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +2 -2
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +11 -1
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +19 -30
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +7 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +3 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +5 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +20 -2
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +51 -3
- package/skills/uipath-maestro-flow/SKILL.md +3 -3
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +16 -6
- package/skills/uipath-maestro-flow/references/author/brownfield.md +3 -3
- package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +9 -8
- package/skills/uipath-maestro-flow/references/author/editing-operations.md +2 -2
- package/skills/uipath-maestro-flow/references/author/greenfield.md +19 -7
- package/skills/uipath-maestro-flow/references/author/planning-arch.md +20 -12
- package/skills/uipath-maestro-flow/references/author/planning-impl.md +4 -2
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +15 -7
- package/skills/uipath-maestro-flow/references/author/plugins/connector/planning.md +2 -1
- package/skills/uipath-maestro-flow/references/author/plugins/connector-trigger/impl.md +1 -0
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +13 -12
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +16 -13
- package/skills/uipath-maestro-flow/references/author/plugins/decision/impl.md +17 -1
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +13 -10
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/planning.md +18 -9
- package/skills/uipath-maestro-flow/references/author/plugins/inline-agent/impl.md +21 -9
- package/skills/uipath-maestro-flow/references/author/plugins/scheduled-trigger/impl.md +7 -28
- package/skills/uipath-maestro-flow/references/author/plugins/scheduled-trigger/planning.md +45 -8
- package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/switch/impl.md +14 -2
- package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +4 -4
- package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +11 -0
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/failure-modes.md +8 -7
- package/skills/uipath-maestro-flow/references/evaluate/commands-reference.md +18 -2
- package/skills/uipath-maestro-flow/references/evaluate/running-guide.md +2 -2
- package/skills/uipath-maestro-flow/references/operate/run.md +2 -2
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +5 -3
- package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +2 -0
- package/skills/uipath-mcp-servers/SKILL.md +1 -1
- package/skills/uipath-planner/assets/templates/agent-sdd-template.md +1 -1
- package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +1 -1
- package/skills/uipath-planner/assets/templates/bpmn-sdd-template.md +1 -1
- package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +1 -1
- package/skills/uipath-planner/assets/templates/flow-sdd-template.md +1 -1
- package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +1 -1
- package/skills/uipath-platform/SKILL.md +1 -1
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +7 -1
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +2 -2
- package/skills/uipath-platform/references/data-fabric/records-query.md +9 -4
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +71 -2
- package/skills/uipath-platform/references/integration-service/resources.md +65 -10
- package/skills/uipath-platform/references/integration-service/vendor-docs-registry.json +1 -1
- package/skills/uipath-platform/references/licensing/licensing.md +1 -1
- package/skills/uipath-platform/references/licensing/tenant-allocations.md +11 -0
- package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +1 -1
- package/skills/uipath-platform/references/llmgateway/byo-connections.md +1 -1
- package/skills/uipath-platform/references/orchestrator/orchestrator.md +1 -1
- package/skills/uipath-platform/references/traces/feedback.md +62 -5
- package/skills/uipath-platform/references/uip-commands.md +1 -1
- package/skills/uipath-review/SKILL.md +13 -63
- package/skills/uipath-review/references/agents/agent-grading-rubric.md +2 -0
- package/skills/uipath-review/references/agents/agent-review-guide.md +98 -0
- package/skills/uipath-review/references/agents/agents-coded-rules.md +1 -1
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +1 -1
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +2 -2
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +3 -3
- package/skills/uipath-review/references/review-workflow-guide.md +3 -3
- package/skills/uipath-review/references/rule-catalog-workflow.md +4 -4
- package/skills/uipath-review/references/rule-format.md +1 -1
- package/skills/uipath-rpa/SKILL.md +13 -13
- package/skills/uipath-rpa/agents/uipath-project-discovery-agent.md +3 -3
- package/skills/uipath-rpa/assets/codedworkflow-template.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +1 -1
- package/skills/uipath-rpa/references/cli-reference.md +38 -13
- package/skills/uipath-rpa/references/coded/operations-guide.md +24 -11
- package/skills/uipath-rpa/references/debugging.md +68 -49
- package/skills/uipath-rpa/references/execution-maps-guide.md +22 -19
- package/skills/uipath-rpa/references/legacy/activity-docs/ThirdParty-SharePoint.md +3 -3
- package/skills/uipath-rpa/references/testing-guide.md +1 -1
- package/skills/uipath-rpa/references/uia-starter-guide.md +3 -3
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +9 -343
- package/skills/uipath-rpa/references/xaml/xaml-editing-catalog.md +337 -0
- package/skills/uipath-solution/SKILL.md +1 -1
- package/skills/uipath-solution/references/develop-solution.md +78 -7
- package/skills/uipath-solution/references/scenarios/manual-edits.md +2 -0
- package/skills/uipath-solution/references/scenarios/shared-cloud-resource.md +1 -1
- package/skills/uipath-solution/references/scenarios.md +1 -0
- package/skills/uipath-test/SKILL.md +62 -268
- package/skills/uipath-test/references/custom-fields-guide.md +11 -0
- package/skills/uipath-test/references/object-labels-guide.md +8 -0
- package/skills/uipath-test/references/playwright-first-mile-guide.md +101 -112
- package/skills/uipath-test/references/test-result-report-guide.md +33 -78
- package/skills/uipath-troubleshoot/references/products/llm-gateway/playbooks/byo-connection-dead.md +2 -2
- package/skills/uipath-troubleshoot/references/products/llm-gateway/playbooks/byo-routing-bypassed.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/foreground-unattended-robot.md +1 -1
- 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.
|
|
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.
|
|
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.
|
|
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` |
|
|
108
|
+
| `uipath-api-workflow` | Stable |
|
|
109
109
|
| `uipath-automation-discovery` | Preview |
|
|
110
110
|
| `uipath-automationhub` | Stable |
|
|
111
|
-
| `uipath-coded-apps` |
|
|
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` |
|
|
121
|
-
| `uipath-maestro-flow` |
|
|
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` |
|
|
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
|
-
|
|
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
|
|
package/assets/skill-status.json
CHANGED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"last_synced": null
|
|
43
43
|
},
|
|
44
44
|
"uipath-api-workflow": {
|
|
45
|
-
"status": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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-
|
|
3
|
-
"cli_version": "1.
|
|
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
|
|
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",
|
package/hooks/send-telemetry.ps1
CHANGED
|
@@ -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;
|
|
43
|
-
#
|
|
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
|
-
|
|
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 =
|
|
279
|
-
$tool =
|
|
280
|
-
$toolUseId =
|
|
281
|
-
$permissionMode =
|
|
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 =
|
|
284
|
-
$sessionSource =
|
|
285
|
-
$reason =
|
|
286
|
-
|
|
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 =
|
|
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 =
|
|
297
|
-
$command =
|
|
298
|
-
$filePath =
|
|
299
|
-
$subagentType =
|
|
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 =
|
|
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 =
|
|
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.
|
package/hooks/send-telemetry.sh
CHANGED
|
@@ -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;
|
|
39
|
-
#
|
|
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)
|
|
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.
|
|
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/
|
|
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",
|