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