@uipath/skills 1.196.0 → 1.197.0
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 +5 -2
- package/CODEOWNERS +22 -7
- package/README.md +14 -1
- package/assets/skill-status.json +14 -1
- package/assets/uip-catalog-snapshot.json +13 -2
- package/hooks/hooks.json +12 -0
- package/hooks/send-telemetry.sh +445 -0
- package/hooks/suggest-permissions.sh +6 -0
- package/package.json +1 -1
- package/skills/uipath-admin/SKILL.md +24 -4
- package/skills/uipath-admin/references/audit-commands.md +25 -21
- package/skills/uipath-admin/references/audit-workflow-guide.md +26 -25
- package/skills/uipath-admin/references/diagnose/CAPABILITY.md +74 -0
- package/skills/uipath-admin/references/diagnose/references/failure-modes.md +228 -0
- package/skills/uipath-admin/references/diagnose/references/troubleshooting-guide.md +106 -0
- package/skills/uipath-admin/references/identity-troubleshoot-guide.md +251 -0
- package/skills/uipath-agents/SKILL.md +12 -8
- package/skills/uipath-agents/references/coded/capabilities/context-grounding.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/conversational-agents.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +12 -7
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +141 -1
- package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/integration-service.md +19 -33
- package/skills/uipath-agents/references/coded/lifecycle/bindings-reference.md +54 -22
- package/skills/uipath-agents/references/coded/lifecycle/build.md +1 -0
- package/skills/uipath-agents/references/coded/lifecycle/evaluations/evaluation-sets.md +5 -1
- package/skills/uipath-agents/references/coded/lifecycle/setup.md +3 -1
- package/skills/uipath-agents/references/coded/quickstart.md +11 -10
- package/skills/uipath-agents/references/coded-vs-lowcode-guide.md +1 -0
- package/skills/uipath-agents/references/context-grounding-patterns.md +1 -1
- package/skills/uipath-agents/references/lowcode/agent-definition.md +97 -12
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/analyze-attachments.md +2 -2
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/batch-transform/impl-json.md +40 -14
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/built-in-tools.md +4 -3
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/impl-json.md +38 -6
- package/skills/uipath-agents/references/lowcode/capabilities/context/attachments.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/context.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/datafabric.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +7 -3
- package/skills/uipath-agents/references/lowcode/capabilities/escalation/escalation.md +49 -38
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +3 -1
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +49 -49
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +34 -14
- package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +2 -0
- package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +2 -2
- package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +1 -1
- package/skills/uipath-agents/references/lowcode/critical-rules/autonomous-critical-rules.md +15 -0
- package/skills/uipath-agents/references/lowcode/critical-rules/conversational-critical-rules.md +19 -0
- package/skills/uipath-agents/references/lowcode/{critical-rules.md → critical-rules/critical-rules.md} +25 -27
- package/skills/uipath-agents/references/lowcode/debug.md +6 -3
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -0
- package/skills/uipath-agents/references/lowcode/lowcode.md +29 -6
- package/skills/uipath-agents/references/lowcode/model-selection-guide.md +4 -1
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +20 -8
- package/skills/uipath-agents/references/lowcode/prompting/agent-prompting-guide.md +17 -0
- package/skills/uipath-agents/references/lowcode/{agent-prompting-guide.md → prompting/autonomous-agent-prompting-guide.md} +9 -11
- package/skills/uipath-agents/references/lowcode/prompting/conversational-agent-prompting-guide.md +123 -0
- package/skills/uipath-agents/references/lowcode/solution-resources.md +1 -1
- package/skills/uipath-api-workflow/SKILL.md +32 -12
- package/skills/uipath-api-workflow/references/cli-reference.md +110 -22
- package/skills/uipath-api-workflow/references/connector-activity-discovery.md +43 -4
- package/skills/uipath-api-workflow/references/troubleshooting.md +23 -7
- package/skills/uipath-api-workflow/references/workflow-file-format.md +25 -7
- package/skills/uipath-coded-apps/SKILL.md +55 -12
- package/skills/uipath-coded-apps/assets/fixtures/governance-dashboard-starter-kit.tar.gz +0 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1371 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/capability-registry.json +845 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/build.mjs +338 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/edit.mjs +248 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/template.mjs +82 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/upgrade.mjs +73 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/lifecycle.mjs +207 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/setup-admin-folder.mjs +146 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/tests/regime-eject.test.mjs +124 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/tests/resolution.test.mjs +1635 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/app-template.css +9 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/document-tab-template.css +139 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/form-template.css +442 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/index-template.css +111 -0
- package/skills/uipath-coded-apps/assets/templates/action-app-template.md +357 -152
- package/skills/uipath-coded-apps/assets/templates/web-app-template.md +255 -78
- package/skills/uipath-coded-apps/references/create-action-app.md +284 -195
- package/skills/uipath-coded-apps/references/create-web-app.md +64 -26
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +179 -0
- package/skills/uipath-coded-apps/references/dashboards/aesthetic/charting.md +138 -0
- package/skills/uipath-coded-apps/references/dashboards/aesthetic/layout-patterns.md +152 -0
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +423 -0
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +322 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/customization.md +66 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/detail-views.md +64 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/incremental-editor.md +92 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/state-file.md +64 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/tier-resolution.md +474 -0
- package/skills/uipath-coded-apps/references/debug.md +15 -21
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +5 -5
- package/skills/uipath-coded-apps/references/oauth-scopes.md +64 -2
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +12 -5
- package/skills/uipath-coded-apps/references/patterns.md +10 -5
- package/skills/uipath-coded-apps/references/sdk/action-center.md +32 -6
- package/skills/uipath-coded-apps/references/sdk/agents.md +241 -0
- package/skills/uipath-coded-apps/references/sdk/governance-traces.md +186 -0
- package/skills/uipath-coded-apps/references/sdk/governance.md +72 -0
- package/skills/uipath-coded-apps/references/sdk/imports.md +4 -0
- package/skills/uipath-coded-apps/references/sdk/maestro.md +114 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +80 -4
- package/skills/uipath-coded-apps/references/sdk/pagination.md +2 -0
- package/skills/uipath-coded-apps/references/sdk/traces.md +89 -0
- package/skills/uipath-coded-apps/references/widgets/validation-station.md +308 -0
- package/skills/uipath-coded-apps/scripts/validate-action-schema.js +241 -0
- package/skills/uipath-connector-builder/SKILL.md +192 -0
- package/skills/uipath-connector-builder/references/auth.md +171 -0
- package/skills/uipath-connector-builder/references/configuration.md +130 -0
- package/skills/uipath-connector-builder/references/debugging.md +80 -0
- package/skills/uipath-connector-builder/references/element-json.md +148 -0
- package/skills/uipath-connector-builder/references/events.md +132 -0
- package/skills/uipath-connector-builder/references/hooks.md +198 -0
- package/skills/uipath-connector-builder/references/overview.md +78 -0
- package/skills/uipath-connector-builder/references/standard-resources.md +111 -0
- package/skills/uipath-connector-builder/references/system-resources.md +85 -0
- package/skills/uipath-feedback/SKILL.md +43 -29
- package/skills/{uipath-agents/references/coded/frameworks/coded-functions.md → uipath-functions/SKILL.md} +36 -23
- package/skills/uipath-governance/SKILL.md +49 -8
- package/skills/uipath-governance/references/aops-policy/aops-policy-commands.md +10 -10
- package/skills/uipath-governance/references/aops-policy/aops-policy-deploy-guide.md +7 -7
- package/skills/uipath-governance/references/auth-context.md +101 -0
- package/skills/uipath-governance/references/cli-cheatsheet.md +207 -0
- package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +79 -0
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +141 -0
- package/skills/uipath-governance/references/compliance-pack/disable/impl.md +39 -0
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +164 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +266 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/merge-overrides-guide.md +28 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +82 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/synthesize-formdata-guide.md +22 -0
- package/skills/uipath-governance/references/compliance-pack/preview-gate.md +43 -0
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +75 -0
- package/skills/uipath-governance/references/diagnose/CAPABILITY.md +71 -0
- package/skills/uipath-governance/references/diagnose/references/failure-modes.md +201 -0
- package/skills/uipath-governance/references/diagnose/references/troubleshooting-guide.md +137 -0
- package/skills/uipath-governance/references/disambiguation-guide.md +15 -0
- package/skills/uipath-governance/scripts/merge-overrides.mjs +81 -0
- package/skills/uipath-governance/scripts/synthesize-formdata.mjs +86 -0
- package/skills/uipath-human-in-the-loop/SKILL.md +30 -25
- package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +38 -4
- package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +2 -3
- package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +92 -34
- package/skills/uipath-ixp/SKILL.md +120 -0
- package/skills/uipath-ixp/references/cli-reference.md +121 -0
- package/skills/uipath-ixp/references/improve-prompts-guide.md +283 -0
- package/skills/uipath-ixp/references/label-documents-guide.md +207 -0
- package/skills/uipath-ixp/references/project-setup-guide.md +90 -0
- package/skills/uipath-maestro-bpmn/SKILL.md +167 -68
- package/skills/uipath-maestro-bpmn/references/cli-conventions.md +47 -0
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +6 -6
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +3 -3
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +199 -0
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +500 -0
- package/skills/uipath-maestro-bpmn/validator/README.md +214 -0
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +2477 -0
- package/skills/uipath-maestro-bpmn/validator/model.mjs +419 -0
- package/skills/uipath-maestro-bpmn/validator/package.json +17 -0
- package/skills/uipath-maestro-bpmn/validator/rules.mjs +1403 -0
- package/skills/uipath-maestro-bpmn/validator/samples/invalid-conditional-and-variable.bpmn +25 -0
- package/skills/uipath-maestro-bpmn/validator/samples/valid-baseline.bpmn +52 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.0.bpmn +157 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.1.bpmn +333 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.1.0.bpmn +598 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.2.0.bpmn +1709 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.2.0.bpmn +564 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.3.0.bpmn +671 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.4.0.bpmn +1045 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.5.0.bpmn +1176 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.6.0.bpmn +670 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.7.0.bpmn +466 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Can_Parse_Complex_Process_With_Task_Gateway_BoundaryEvent_etc.bpmn +74 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExclusiveGatewayDefaultFlow.bpmn +32 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExternalAgentWorkflow.bpmn +62 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Golden_Scenario.initial.bpmn +361 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/InclusiveJoinRouteAwayBranch.bpmn +62 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_AsyncExecution_And_Create_CorrectModel.bpmn +74 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_ExtractionValidation_And_Create_CorrectModel.bpmn +35 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_FileUpload_And_Create_CorrectModel.bpmn +33 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_JobAttachment_And_Create_CorrectModel.bpmn +35 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_SubProcess_With_Multiple_Element_Types.bpmn +76 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartEventWithOutputs.bpmn +36 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartGatewayEnd.bpmn +44 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all elements.bpmn +516 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all_sequence_flow_types.bpmn +173 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/demo.bpmn +181 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-collapsed.bpmn +126 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-expanded.bpmn +122 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-003-collapsed_deeply-nested.bpmn +438 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.1.0.bpmn +87 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.3.0.bpmn +165 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ApiWorkflow.bpmn +39 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnNestedSubProcessTests.bpmn +102 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnTimerBoundaryEvents.bpmn +160 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithCatchAllErrorEventSubProcess.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithSpecificErrorEventSubProcess.bpmn +46 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/CaseManagementWithConstantIdentifier.bpmn +218 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorBoundary.bpmn +78 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorPropagationInEventSubprocess.bpmn +340 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/EventBasedGatewayFirstCatcherWins.bpmn +56 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Example-EventBasedGateway.bpmn +117 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewayConditional.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewaySharedEndEvent.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveWithParallelGateway.bpmn +68 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/FourScriptTasks.bpmn +84 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/HitlTaskOnly.bpmn +55 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/InclusiveGatewayForkJoin.bpmn +69 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_BPMN_Elements_And_Create_CorrectModel.bpmn +20 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_HttpRequest_ServiceTask_And_Create_Correct_Model.bpmn +34 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_MessageBoundaryEvent_And_Create_CorrectModel.bpmn +87 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Script_Task_V2_And_Create_Correct_Model.bpmn +31 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Sets_Containers_Properly.bpmn +129 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +55 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/boundaryevent.bpmn +30 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/collapsed-subprocess.bpmn +83 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/connectable-types.bpmn +85 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/extensions-orchestrator-start-job.bpmn +80 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/multiparticipantpool.bpmn +77 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/nestedsubprocess.bpmn +36 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/simple.bpmn +59 -0
- package/skills/uipath-maestro-bpmn/validator/test/integration.test.mjs +146 -0
- package/skills/uipath-maestro-bpmn/validator/test/model-helpers.mjs +42 -0
- package/skills/uipath-maestro-bpmn/validator/test/ported-rule-tests.mjs +983 -0
- package/skills/uipath-maestro-bpmn/validator/test/run-tests.mjs +530 -0
- package/skills/uipath-maestro-bpmn/validator/uipath-moddle.v1.json +715 -0
- package/skills/uipath-maestro-bpmn/validator/validate-bpmn.mjs +164 -0
- package/skills/uipath-maestro-case/SKILL.md +5 -1
- package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +10 -0
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +89 -17
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +26 -0
- package/skills/uipath-maestro-case/references/case-editing-operations.md +3 -0
- package/skills/uipath-maestro-case/references/implementation.md +11 -4
- package/skills/uipath-maestro-case/references/phase-0-interview.md +8 -7
- package/skills/uipath-maestro-case/references/phased-execution.md +2 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +21 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -9
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +131 -4
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +94 -17
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +2 -2
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +11 -11
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md +6 -6
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +4 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +157 -122
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +16 -4
- package/skills/uipath-maestro-flow/references/evaluate/references/commands-reference.md +8 -8
- package/skills/uipath-maestro-flow/references/evaluate/references/running-guide.md +3 -3
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +1 -1
- package/skills/uipath-planner/SKILL.md +19 -8
- package/skills/uipath-planner/assets/templates/agent-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/case-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/flow-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +40 -5
- package/skills/uipath-planner/references/asdd-crosswalk-guide.md +55 -0
- package/skills/uipath-planner/references/attended-reauth-pattern-guide.md +43 -0
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +4 -0
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -0
- package/skills/uipath-planner/references/pdd-analysis-guide.md +24 -1
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +6 -2
- package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -0
- package/skills/uipath-planner/references/platform-availability-guide.md +43 -0
- package/skills/uipath-planner/references/product-selection-guide.md +20 -0
- package/skills/uipath-planner/references/sdd-generation-guide.md +90 -21
- package/skills/uipath-planner/references/tenant-library-search-guide.md +5 -1
- package/skills/uipath-planner/scripts/docx-extract.sh +54 -0
- package/skills/uipath-planner/scripts/sdd-to-docx.sh +76 -0
- package/skills/uipath-platform/SKILL.md +54 -7
- package/skills/uipath-platform/references/context-grounding/index-management.md +123 -0
- package/skills/uipath-platform/references/data-fabric/bulk-import.md +86 -0
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/choice-sets.md +33 -12
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +352 -0
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +444 -0
- package/skills/uipath-platform/references/data-fabric/file-attachments.md +122 -0
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/filter-platform-contract.md +3 -3
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/records-query.md +46 -10
- package/skills/uipath-platform/references/integration-service/http-request.md +15 -1
- package/skills/uipath-platform/references/integration-service/vendor-docs-registry.json +173 -0
- package/skills/uipath-platform/references/uip-commands.md +12 -4
- package/skills/uipath-review/SKILL.md +53 -12
- package/skills/uipath-review/references/agents/agent-common-issues.md +1 -1
- package/skills/uipath-review/references/agents/agent-grading-rubric.md +133 -0
- package/skills/uipath-review/references/agents/agent-review-checklist.md +23 -3
- package/skills/uipath-review/references/agents/agents-coded-rules.md +7 -0
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +13 -3
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +198 -0
- package/skills/uipath-review/references/architecture-assessment-guide.md +2 -0
- package/skills/uipath-review/references/review-workflow-guide.md +9 -5
- package/skills/uipath-review/references/rule-catalog-workflow.md +3 -3
- package/skills/uipath-rpa/SKILL.md +18 -6
- package/skills/uipath-rpa/references/cli-reference.md +57 -3
- package/skills/uipath-rpa/references/common-activity-card.md +1 -1
- package/skills/uipath-rpa/references/connector-capabilities.md +2 -0
- package/skills/uipath-rpa/references/data-manipulation-guide.md +311 -0
- package/skills/uipath-rpa/references/environment-setup.md +0 -2
- package/skills/uipath-rpa/references/error-handling-guide.md +381 -0
- package/skills/uipath-rpa/references/is-connector-xaml-guide.md +127 -11
- package/skills/uipath-rpa/references/reframework-guide.md +2 -0
- package/skills/uipath-rpa/references/testing-guide.md +19 -0
- package/skills/uipath-rpa/references/ui-automation-guide.md +129 -18
- package/skills/uipath-rpa/references/uia-configure-target-workflows.md +22 -1
- package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +93 -0
- package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +41 -4
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +12 -3
- package/skills/uipath-rpa/references/xaml/flowchart-guide.md +113 -0
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +5 -9
- package/skills/uipath-solution/SKILL.md +11 -8
- package/skills/uipath-solution/references/pack-and-deploy.md +18 -1
- package/skills/uipath-solution/references/solution-overview.md +3 -0
- package/skills/uipath-test/SKILL.md +2 -1
- package/skills/uipath-troubleshoot/SKILL.md +24 -26
- package/skills/uipath-troubleshoot/agents/depth-verifier.md +24 -25
- package/skills/uipath-troubleshoot/agents/hypothesis-generator.md +8 -4
- package/skills/uipath-troubleshoot/agents/hypothesis-tester.md +85 -38
- package/skills/uipath-troubleshoot/agents/presenter.md +7 -7
- package/skills/uipath-troubleshoot/agents/scope-checker.md +3 -6
- package/skills/uipath-troubleshoot/agents/shared.md +26 -21
- package/skills/uipath-troubleshoot/agents/triage.md +117 -49
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/investigation_guide.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/overview.md +57 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-action-failed-after-find.md +100 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-cell-targeting-failures.md +111 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-element-not-found.md +125 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-get-text-empty-or-wrong-result.md +117 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-invalid-descriptor.md +102 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scope-setup-failures.md +136 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scroll-search-failures.md +114 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-server-auth-throttling-network.md +95 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-silent-failures-and-false-results.md +124 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/presentation.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/summary.md +15 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/investigation_guide.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/overview.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/connect-to-database-failures.md +104 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-non-query-failures.md +97 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-query-failures.md +134 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/start-transaction-failures.md +94 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/presentation.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/investigation_guide.md +27 -9
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/overview.md +51 -10
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/append-range-failures.md +146 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/delete-range-failures.md +126 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-card-failures.md +139 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-scope-failures.md +118 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/execute-macro-failures.md +149 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-range-failures.md +145 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/presentation.md +12 -7
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +6 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/investigation_guide.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/overview.md +12 -4
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/connection-and-auth-failures.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/drive-file-not-found.md +18 -10
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/get-newest-email-not-found.md +9 -8
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/invalid-or-null-input.md +68 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/transient-and-timeout-errors.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/upload-storage-quota-exceeded.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/summary.md +5 -2
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/overview.md +28 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/delete-outlook-mail-failures.md +105 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/get-outlook-mail-failures.md +109 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/move-outlook-mail-failures.md +97 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-outlook-mail-failures.md +95 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/summary.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/investigation_guide.md +23 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/overview.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/application-scope-misconfigured.md +49 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/authentication-token-invalid.md +53 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/copy-item-argument-null.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/create-folder-invalid-path.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/download-file-conversion-or-destination.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/drive-item-not-found.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/email-trigger-connection-event-failure.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/insufficient-graph-scope.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/legacy-mail-null-reference.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-folder-not-found.md +4 -3
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-invalid-odata-query.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-message-not-found.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/request-throttled.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/send-mail-rejected.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/transient-service-error.md +48 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/upload-file-quota-or-size.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/summary.md +15 -1
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/investigation_guide.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/overview.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-method-failures.md +57 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-python-method-pipe-is-broken.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/load-script-failures.md +62 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-path-not-valid.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-architecture-version-mismatch.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/working-folder-relative-path.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/presentation.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/summary.md +12 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-activity-bug-silent-failure.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-robot-not-authenticated.md +29 -22
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/investigation_guide.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/overview.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-malformed-input.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-null-input.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-type-mismatch.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-client-null-reference.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-connection-failure.md +48 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-timeout.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/net-http-request-aggregate-failure.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/summary.md +13 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/investigation_guide.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/overview.md +82 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/add-picture-failures.md +51 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-missing-container.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-zero-byte-file.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-com-hang.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-missing-output-dir.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-output-path-format.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-doc-format.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-missing-container.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-protected-view.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-com-busy.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-file-locked.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-headers-textboxes-skipped.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-length-limit.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-loop-template-overwrite.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-multiline-formatting.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-silent-no-substitution.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-version-mismatch.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-interop-failures.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-start-background-session0.md +50 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-export-pdf-com-wrong-thread.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-open-sharepoint-url-com-command-failed.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-cannot-create-unknown-type.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-com-not-installed.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-corrupted.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-path-not-found.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-hangs-background-prompt.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/presentation.md +11 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/summary.md +38 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/investigation_guide.md +9 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/overview.md +7 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-invalid.md +9 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-aggregate-exception.md +30 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-general-exception.md +43 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-null-reference.md +36 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-remote-exception.md +31 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-runtime-exception.md +40 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/summary.md +5 -0
- package/skills/uipath-troubleshoot/references/products/maestro/investigation_guide.md +2 -1
- package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +105 -10
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-logon-failure.md +1 -1
- package/skills/uipath-troubleshoot/references/summary.md +59 -3
- package/skills/uipath-troubleshoot/schemas/evidence.schema.md +48 -0
- package/skills/uipath-troubleshoot/schemas/hypotheses.schema.md +22 -7
- package/skills/uipath-troubleshoot/schemas/scope-check.schema.md +1 -1
- package/skills/uipath-troubleshoot/schemas/state.schema.md +81 -6
- package/version-manifest.json +2 -2
- package/skills/uipath-data-fabric/SKILL.md +0 -239
- package/skills/uipath-data-fabric/references/bulk-import.md +0 -73
- package/skills/uipath-data-fabric/references/entity-schema.md +0 -391
- package/skills/uipath-data-fabric/references/file-attachments.md +0 -65
- package/skills/uipath-maestro-bpmn/.maintenance/README.md +0 -241
- package/skills/uipath-maestro-bpmn/.maintenance/check-all.sh +0 -41
- package/skills/uipath-maestro-bpmn/.maintenance/check-anchors.sh +0 -83
- package/skills/uipath-maestro-bpmn/.maintenance/check-depth.sh +0 -132
- package/skills/uipath-maestro-bpmn/.maintenance/check-link-text.sh +0 -123
- package/skills/uipath-maestro-bpmn/.maintenance/check-links.sh +0 -70
- package/skills/uipath-maestro-bpmn/.maintenance/check-orphans.sh +0 -93
- package/skills/uipath-maestro-bpmn/.maintenance/check-plugin-pairs.sh +0 -39
- package/skills/uipath-maestro-bpmn/.maintenance/check-real-pack.sh +0 -79
- package/skills/uipath-maestro-bpmn/.maintenance/check-template.sh +0 -42
- package/skills/uipath-maestro-bpmn/.maintenance/check-uip-commands.sh +0 -266
- package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.py +0 -1255
- package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.sh +0 -8
- package/skills/uipath-maestro-bpmn/fixtures/validation/README.md +0 -94
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/agent-invocation.bpmn +0 -62
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/bindings_v2.json +0 -37
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/entry-points.json +0 -21
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/bindings_v2.json +0 -68
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/contract-variants.bpmn +0 -270
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/bindings_v2.json +0 -19
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/gateway-boundary-error.bpmn +0 -91
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/imported-brownfield-preservation.bpmn +0 -63
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/bindings_v2.json +0 -52
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/entry-points.json +0 -21
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/integration-service-enriched.bpmn +0 -65
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/linear-process.bpmn +0 -55
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/bindings_v2.json +0 -20
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/entry-points.json +0 -17
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/registry-coverage-matrix.bpmn +0 -207
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/entry-points.json +0 -33
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/subprocess-multi-instance.bpmn +0 -94
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/bindings_v2.json +0 -124
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/wrapper-family-contract.bpmn +0 -151
- package/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md +0 -141
- package/skills/uipath-maestro-bpmn/references/author/references/brownfield.md +0 -48
- package/skills/uipath-maestro-bpmn/references/author/references/editing-operations.md +0 -75
- package/skills/uipath-maestro-bpmn/references/author/references/greenfield.md +0 -41
- package/skills/uipath-maestro-bpmn/references/author/references/planning-arch.md +0 -82
- package/skills/uipath-maestro-bpmn/references/author/references/planning-impl.md +0 -104
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/impl.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/planning.md +0 -38
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/impl.md +0 -37
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/planning.md +0 -28
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/impl.md +0 -36
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/impl.md +0 -67
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/impl.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/planning.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/impl.md +0 -32
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/planning.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/impl.md +0 -42
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/impl.md +0 -134
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/planning.md +0 -67
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/impl.md +0 -50
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/impl.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/impl.md +0 -35
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/impl.md +0 -118
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/impl.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/impl.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/planning.md +0 -31
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/impl.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/planning.md +0 -46
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/impl.md +0 -59
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/planning.md +0 -37
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/impl.md +0 -40
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/planning.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/supported-elements.md +0 -123
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/README.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/agent-job.md +0 -36
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/business-rule.md +0 -18
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/call-activity.md +0 -56
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/hitl.md +0 -17
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/http-request.md +0 -119
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/queue.md +0 -21
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/rpa-job.md +0 -23
- package/skills/uipath-maestro-bpmn/references/author/references/validation.md +0 -118
- package/skills/uipath-maestro-bpmn/references/shared/bpmn-xml-contract.md +0 -197
- package/skills/uipath-maestro-bpmn/references/shared/cli-conventions.md +0 -46
- package/skills/uipath-maestro-bpmn/references/shared/error-handling.md +0 -82
- package/skills/uipath-maestro-bpmn/references/shared/variables-bindings-expressions.md +0 -150
- package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +0 -554
- /package/skills/uipath-maestro-bpmn/references/{shared/expression-authoring.md → expression-authoring.md} +0 -0
- /package/skills/uipath-maestro-bpmn/references/{shared/public-safety.md → public-safety.md} +0 -0
- /package/{agents → skills/uipath-rpa/agents}/uipath-project-discovery-agent.md +0 -0
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# PostToolUse telemetry hook for the UiPath skills plugin.
|
|
3
|
+
#
|
|
4
|
+
# Reads the hook JSON payload from stdin, decides whether the tool call is
|
|
5
|
+
# attributable to THIS plugin (skill gate), resolves the UiPath environment
|
|
6
|
+
# (alpha / staging / prod), and pipes one flat JSON object to `uip track`,
|
|
7
|
+
# which forwards it through the CLI's own telemetry tracker as a single
|
|
8
|
+
# uip.skills.tool-use Application Insights event. Calls from other plugins or
|
|
9
|
+
# bare Claude Code are dropped.
|
|
10
|
+
#
|
|
11
|
+
# The CLI (see UiPath/cli#2600) owns transport, the App Insights connection,
|
|
12
|
+
# the event name, the authenticated cloud identity, and the `source:
|
|
13
|
+
# "skills-plugin"` dimension. This hook only derives + sanitizes fields and
|
|
14
|
+
# gates on the opt-out flag; value sanitization stays the hook's responsibility
|
|
15
|
+
# because the CLI and skills ship co-versioned.
|
|
16
|
+
#
|
|
17
|
+
# REGION-SCOPED EXTRACTION (see extract_fields): the payload embeds free-form
|
|
18
|
+
# customer content (prompts, command lines, stdout/stderr, file contents). A
|
|
19
|
+
# naive grep over the whole payload mis-extracts fields when that content
|
|
20
|
+
# contains JSON-shaped text (`"success":false`, `uip solution publish`,
|
|
21
|
+
# `.flow"`, `"resolvedModel":"..."`). So a single string-aware awk pass walks
|
|
22
|
+
# the JSON once and pulls each field ONLY from the region it lives in:
|
|
23
|
+
# ENVELOPE (top-level) -> toolName, toolUseId, sessionId, permissionMode,
|
|
24
|
+
# durationMs, effortLevel (effort.level), agentType
|
|
25
|
+
# tool_input -> skillName, uipSubcommand (command), fileExtension
|
|
26
|
+
# (file_path), subagentType (subagent_type, or
|
|
27
|
+
# agent_type for a Codex spawn_agent call)
|
|
28
|
+
# tool_response -> outcome (interrupted/success), subagentModel
|
|
29
|
+
# (resolvedModel)
|
|
30
|
+
#
|
|
31
|
+
# CROSS-AGENT: registered as a PostToolUse hook, this also runs under other
|
|
32
|
+
# coding agents that honor hooks.json (e.g. Codex). Codex's envelope matches
|
|
33
|
+
# Claude's (hook_event_name, tool_name, tool_use_id, session_id,
|
|
34
|
+
# permission_mode, tool_input/{command,file_path}), so Bash-`uip` and file
|
|
35
|
+
# attribution work unchanged. Differences handled / accepted: agent spawns use
|
|
36
|
+
# `spawn_agent` + tool_input.agent_type (see is_uipath_call + outkey); Codex
|
|
37
|
+
# omits duration_ms / effort.level (-> durationMs null, effortLevel "") and
|
|
38
|
+
# serializes tool_response as a JSON STRING, not an object, so success /
|
|
39
|
+
# interrupted / resolvedModel are absent and outcome is ok|unknown only.
|
|
40
|
+
# Only derived, low-cardinality, PII-free values ever leave the machine.
|
|
41
|
+
#
|
|
42
|
+
# Non-blocking by contract: registered as an async hook in hooks.json
|
|
43
|
+
# ("async": true), so Claude Code runs it in the background and never waits for
|
|
44
|
+
# it. Always exits 0, swallows every error, and pipes to `uip track` in a
|
|
45
|
+
# detached subshell. Cross-platform (macOS, Linux, Windows via Git Bash /
|
|
46
|
+
# MSYS). Pure bash + grep/sed/awk — no jq, node, or python.
|
|
47
|
+
#
|
|
48
|
+
# Structure: pure helpers + side-effecting procedures (below), driven by main()
|
|
49
|
+
# (bottom). Configuration is env only:
|
|
50
|
+
# UIPATH_TELEMETRY_DISABLED Gate. Reuses the uip CLI's variable name.
|
|
51
|
+
# Opt-out: send by DEFAULT. Skip ONLY when set to
|
|
52
|
+
# "1". Unset (default) or "0" -> send. Absent is
|
|
53
|
+
# treated as enabled.
|
|
54
|
+
|
|
55
|
+
set +e
|
|
56
|
+
|
|
57
|
+
# schemaVersion of the emitted event. Bump on ANY change to the key set so App
|
|
58
|
+
# Insights can segment events emitted with older/churned schemas.
|
|
59
|
+
SCHEMA_VERSION=1
|
|
60
|
+
|
|
61
|
+
# --- extraction ------------------------------------------------------------
|
|
62
|
+
|
|
63
|
+
# extract_fields: one string-aware awk pass over the payload (stdin). Prints
|
|
64
|
+
# `key<TAB>value` lines, each field pulled ONLY from its region (see header),
|
|
65
|
+
# so embedded customer content can never false-match a top-level field. String
|
|
66
|
+
# values are emitted raw (escapes left as-is) and single-line (valid JSON
|
|
67
|
+
# escapes control chars, so a real TAB never appears inside a value). Large,
|
|
68
|
+
# uninteresting value strings (stdout, file contents, prompts) are scanned but
|
|
69
|
+
# never buffered, so this stays O(n) without the awk O(n^2) string-concat trap.
|
|
70
|
+
extract_fields() {
|
|
71
|
+
awk '
|
|
72
|
+
function interesting(k, d, c) {
|
|
73
|
+
if (d == 1)
|
|
74
|
+
return (k=="tool_name"||k=="tool_use_id"||k=="session_id"|| \
|
|
75
|
+
k=="permission_mode"||k=="duration_ms"||k=="agent_type"|| \
|
|
76
|
+
k=="hook_event_name")
|
|
77
|
+
if (d == 2 && c == "input")
|
|
78
|
+
return (k=="skill"||k=="command"||k=="file_path"||k=="subagent_type"|| \
|
|
79
|
+
k=="agent_type")
|
|
80
|
+
if (d == 2 && c == "response")
|
|
81
|
+
return (k=="interrupted"||k=="success"||k=="resolvedModel")
|
|
82
|
+
if (d == 2 && c == "effort")
|
|
83
|
+
return (k=="level")
|
|
84
|
+
return 0
|
|
85
|
+
}
|
|
86
|
+
# outkey: remap a JSON key to the field name read_fields expects. Codex
|
|
87
|
+
# spawn_agent carries the spawned type in tool_input.agent_type; normalize
|
|
88
|
+
# it to subagent_type so it lands in the same field as Claude (tool_input.
|
|
89
|
+
# subagent_type) and never collides with the envelope agent_type (agentType).
|
|
90
|
+
function outkey(k, d, c) {
|
|
91
|
+
if (d == 2 && c == "input" && k == "agent_type") return "subagent_type"
|
|
92
|
+
return k
|
|
93
|
+
}
|
|
94
|
+
{ buf = buf $0 "\n" }
|
|
95
|
+
END {
|
|
96
|
+
n = length(buf)
|
|
97
|
+
depth = 0; instr = 0; esc = 0
|
|
98
|
+
pend = 0; pkey = ""; pdepth = 0 # pending value after a key + colon
|
|
99
|
+
ctx = "" # region at depth 2: input/response/effort/other
|
|
100
|
+
laststr = "" # last closed string (candidate key)
|
|
101
|
+
cur = ""; buffering = 0; isval = 0
|
|
102
|
+
i = 1
|
|
103
|
+
while (i <= n) {
|
|
104
|
+
c = substr(buf, i, 1)
|
|
105
|
+
if (instr) {
|
|
106
|
+
if (esc) { if (buffering) cur = cur c; esc = 0; i++; continue }
|
|
107
|
+
if (c == "\\") { if (buffering) cur = cur c; esc = 1; i++; continue }
|
|
108
|
+
if (c == "\"") {
|
|
109
|
+
instr = 0
|
|
110
|
+
if (isval) {
|
|
111
|
+
if (buffering) print outkey(pkey, pdepth, ctx) "\t" cur
|
|
112
|
+
pend = 0; isval = 0
|
|
113
|
+
} else {
|
|
114
|
+
laststr = cur
|
|
115
|
+
}
|
|
116
|
+
cur = ""; buffering = 0; i++; continue
|
|
117
|
+
}
|
|
118
|
+
if (buffering) cur = cur c
|
|
119
|
+
i++; continue
|
|
120
|
+
}
|
|
121
|
+
if (c == "\"") {
|
|
122
|
+
instr = 1; cur = ""
|
|
123
|
+
if (pend) { isval = 1; buffering = interesting(pkey, pdepth, ctx) }
|
|
124
|
+
else { isval = 0; buffering = 1 } # key strings are small
|
|
125
|
+
i++; continue
|
|
126
|
+
}
|
|
127
|
+
if (c == ":") {
|
|
128
|
+
pkey = laststr; pdepth = depth; pend = 1
|
|
129
|
+
if (depth == 1 && laststr == "tool_response") print "tool_response_seen\t1"
|
|
130
|
+
i++; continue
|
|
131
|
+
}
|
|
132
|
+
if (c == "{") {
|
|
133
|
+
if (pend) {
|
|
134
|
+
if (pdepth == 1) {
|
|
135
|
+
if (pkey == "tool_input") ctx = "input"
|
|
136
|
+
else if (pkey == "tool_response") ctx = "response"
|
|
137
|
+
else if (pkey == "effort") ctx = "effort"
|
|
138
|
+
else ctx = "other"
|
|
139
|
+
}
|
|
140
|
+
pend = 0
|
|
141
|
+
}
|
|
142
|
+
depth++; i++; continue
|
|
143
|
+
}
|
|
144
|
+
if (c == "[") {
|
|
145
|
+
if (pend) { if (pdepth == 1) ctx = "other"; pend = 0 }
|
|
146
|
+
depth++; i++; continue
|
|
147
|
+
}
|
|
148
|
+
if (c == "}" || c == "]") {
|
|
149
|
+
depth--; if (depth <= 1) ctx = ""; pend = 0; i++; continue
|
|
150
|
+
}
|
|
151
|
+
if (c == ",") { pend = 0; i++; continue }
|
|
152
|
+
if (c == " " || c == "\t" || c == "\n" || c == "\r") { i++; continue }
|
|
153
|
+
if (pend) { # literal value: number/true/false/null
|
|
154
|
+
lit = ""
|
|
155
|
+
while (i <= n) {
|
|
156
|
+
c = substr(buf, i, 1)
|
|
157
|
+
if (c==","||c=="}"||c=="]"||c==" "||c=="\t"||c=="\n"||c=="\r") break
|
|
158
|
+
lit = lit c; i++
|
|
159
|
+
}
|
|
160
|
+
if (interesting(pkey, pdepth, ctx)) print outkey(pkey, pdepth, ctx) "\t" lit
|
|
161
|
+
pend = 0; continue # leave delimiter for the main loop
|
|
162
|
+
}
|
|
163
|
+
i++
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
'
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
# read_fields: parse extract_fields output ($1) into the field globals. The
|
|
170
|
+
# while loop runs in the current shell (here-doc, not a pipe), so the
|
|
171
|
+
# assignments persist.
|
|
172
|
+
read_fields() {
|
|
173
|
+
event=""; tool=""; tool_use_id=""; session_id=""; permission_mode=""
|
|
174
|
+
duration_ms=""; agent_type=""; skill=""; command=""; file_path=""
|
|
175
|
+
subagent_type=""; interrupted=""; success=""; resolved_model=""
|
|
176
|
+
effort_level=""; response_seen=""
|
|
177
|
+
local k v
|
|
178
|
+
while IFS="$(printf '\t')" read -r k v; do
|
|
179
|
+
case "$k" in
|
|
180
|
+
hook_event_name) event="$v" ;;
|
|
181
|
+
tool_name) tool="$v" ;;
|
|
182
|
+
tool_use_id) tool_use_id="$v" ;;
|
|
183
|
+
session_id) session_id="$v" ;;
|
|
184
|
+
permission_mode) permission_mode="$v" ;;
|
|
185
|
+
duration_ms) duration_ms="$v" ;;
|
|
186
|
+
agent_type) agent_type="$v" ;;
|
|
187
|
+
skill) skill="$v" ;;
|
|
188
|
+
command) command="$v" ;;
|
|
189
|
+
file_path) file_path="$v" ;;
|
|
190
|
+
subagent_type) subagent_type="$v" ;;
|
|
191
|
+
interrupted) interrupted="$v" ;;
|
|
192
|
+
success) success="$v" ;;
|
|
193
|
+
resolvedModel) resolved_model="$v" ;;
|
|
194
|
+
level) effort_level="$v" ;;
|
|
195
|
+
tool_response_seen) response_seen="1" ;;
|
|
196
|
+
esac
|
|
197
|
+
done <<EOF
|
|
198
|
+
$1
|
|
199
|
+
EOF
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
# --- relevance gate --------------------------------------------------------
|
|
203
|
+
|
|
204
|
+
# is_uipath_call: 0 if this call is attributable to the plugin, else 1. No
|
|
205
|
+
# "active plugin" field exists, so attribute per-call from tool_input signals
|
|
206
|
+
# only (command / file_path), so stdout or prompt content can never
|
|
207
|
+
# over-attribute.
|
|
208
|
+
is_uipath_call() {
|
|
209
|
+
case "$tool" in
|
|
210
|
+
Skill)
|
|
211
|
+
case "$skill" in uipath:*|uipath-*) return 0 ;; esac
|
|
212
|
+
;;
|
|
213
|
+
Agent|spawn_agent)
|
|
214
|
+
# UiPath agents, or a built-in/generic agent type — NOT custom agents from
|
|
215
|
+
# other plugins (`<plugin>:<name>`) or user-defined ones. Claude Code spawns
|
|
216
|
+
# via `Agent` + tool_input.subagent_type; Codex via `spawn_agent` +
|
|
217
|
+
# tool_input.agent_type (the awk normalizes that to subagent_type). `default`
|
|
218
|
+
# is Codex's generic agent — the equivalent of Claude's general-purpose/claude.
|
|
219
|
+
case "$subagent_type" in
|
|
220
|
+
uipath:*|uipath-*) return 0 ;;
|
|
221
|
+
general-purpose|Explore|Plan|claude|claude-code-guide|statusline-setup|fork|default) return 0 ;;
|
|
222
|
+
esac
|
|
223
|
+
;;
|
|
224
|
+
Bash|PowerShell)
|
|
225
|
+
printf '%s' "$command" \
|
|
226
|
+
| grep -Eq '(^|[\\"[:space:];|&(])(uip|rpa-tool)[[:space:]]|\$UIP\b' && return 0
|
|
227
|
+
;;
|
|
228
|
+
Edit|Write|Read|Glob|Grep)
|
|
229
|
+
printf '%s' "$file_path" \
|
|
230
|
+
| grep -Eiq '\.(cs|flow|xaml|uipx|bpmn)$|(^|[/\\])(agent|caseplan|project|app\.config|action-schema)\.json$' && return 0
|
|
231
|
+
;;
|
|
232
|
+
esac
|
|
233
|
+
return 1
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
# --- environment resolution ------------------------------------------------
|
|
237
|
+
|
|
238
|
+
# cache_val <file> <key>: emit a cached value stripped to a safe charset. Parses
|
|
239
|
+
# the cache as DATA — never `source` it, so a tampered cache can't execute
|
|
240
|
+
# arbitrary shell in this hook's context.
|
|
241
|
+
cache_val() {
|
|
242
|
+
grep -E "^$2=" "$1" 2>/dev/null | head -1 | cut -d= -f2- | tr -cd 'A-Za-z0-9:._/-'
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
# resolve_environment: set env_name + base_url from `uip login status` (~0.5s),
|
|
246
|
+
# cached per-user for 1h so only one tool call per hour pays the cost. The cache
|
|
247
|
+
# dir is per-user, owner-only (NOT world-writable /tmp), so another local user
|
|
248
|
+
# can't pre-create the file. chmod is a no-op on Windows but harmless.
|
|
249
|
+
resolve_environment() {
|
|
250
|
+
local cache_dir cache ttl now _ts status_json
|
|
251
|
+
cache_dir="${XDG_CACHE_HOME:-$HOME/.cache}/uipath-telemetry"
|
|
252
|
+
mkdir -p "$cache_dir" 2>/dev/null && chmod 700 "$cache_dir" 2>/dev/null
|
|
253
|
+
cache="$cache_dir/env.cache"
|
|
254
|
+
ttl=3600
|
|
255
|
+
now="$(date +%s 2>/dev/null || echo 0)"
|
|
256
|
+
|
|
257
|
+
env_name="unknown"; base_url=""; _ts=0
|
|
258
|
+
if [ -f "$cache" ]; then
|
|
259
|
+
_ts="$(cache_val "$cache" _ts)"
|
|
260
|
+
env_name="$(cache_val "$cache" env_name)"
|
|
261
|
+
base_url="$(cache_val "$cache" base_url)"
|
|
262
|
+
case "$_ts" in *[!0-9]*|"") _ts=0 ;; esac # non-numeric -> treat as stale
|
|
263
|
+
fi
|
|
264
|
+
|
|
265
|
+
[ "$(( now - _ts ))" -ge "$ttl" ] || return 0
|
|
266
|
+
|
|
267
|
+
status_json="$(uip login status --output json 2>/dev/null)"
|
|
268
|
+
base_url="$(printf '%s' "$status_json" \
|
|
269
|
+
| grep -oE '"BaseUrl"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"\([^"]*\)"$/\1/')"
|
|
270
|
+
case "$base_url" in
|
|
271
|
+
*alpha.uipath.com*) env_name="alpha" ;;
|
|
272
|
+
*staging.uipath.com*) env_name="staging" ;;
|
|
273
|
+
*cloud.uipath.com*) env_name="prod" ;;
|
|
274
|
+
"") env_name="unknown" ;;
|
|
275
|
+
*) env_name="other" ;;
|
|
276
|
+
esac
|
|
277
|
+
{
|
|
278
|
+
echo "_ts=$now"
|
|
279
|
+
echo "env_name=$env_name"
|
|
280
|
+
echo "base_url=$base_url"
|
|
281
|
+
} > "$cache" 2>/dev/null
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
# --- field derivation ------------------------------------------------------
|
|
285
|
+
|
|
286
|
+
# derive_fields: set skill_name, uip_subcommand, file_ext from the parsed
|
|
287
|
+
# tool_input values (so stdout content can't leak in).
|
|
288
|
+
derive_fields() {
|
|
289
|
+
skill_name=""; uip_subcommand=""; file_ext=""
|
|
290
|
+
case "$tool" in
|
|
291
|
+
Skill)
|
|
292
|
+
skill_name="$skill"
|
|
293
|
+
;;
|
|
294
|
+
Bash|PowerShell)
|
|
295
|
+
# e.g. "solution publish" from "uip solution publish --output json".
|
|
296
|
+
uip_subcommand="$(printf '%s' "$command" \
|
|
297
|
+
| grep -oE '(uip|\$UIP)[[:space:]]+[a-z][a-z-]*([[:space:]]+[a-z][a-z-]*)?' \
|
|
298
|
+
| head -1 | sed -E 's/^(uip|\$UIP)[[:space:]]+//')"
|
|
299
|
+
;;
|
|
300
|
+
Edit|Write|Read|Glob|Grep)
|
|
301
|
+
file_ext="$(printf '%s' "$file_path" | grep -oE '\.[A-Za-z0-9]+$' | head -1)"
|
|
302
|
+
case "$file_path" in
|
|
303
|
+
*agent.json) file_ext="agent.json" ;;
|
|
304
|
+
*caseplan.json) file_ext="caseplan.json" ;;
|
|
305
|
+
esac
|
|
306
|
+
;;
|
|
307
|
+
esac
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
# compute_outcome: print outcome from the tool_response region ONLY — content
|
|
311
|
+
# never flips it.
|
|
312
|
+
# interrupted == true -> interrupted (takes precedence)
|
|
313
|
+
# success == false -> failure
|
|
314
|
+
# tool_response present, no failure signal -> ok (Read/Edit/Write/most MCP)
|
|
315
|
+
# no tool_response at all -> unknown
|
|
316
|
+
compute_outcome() {
|
|
317
|
+
if [ "$interrupted" = "true" ]; then printf 'interrupted'
|
|
318
|
+
elif [ "$success" = "false" ]; then printf 'failure'
|
|
319
|
+
elif [ -n "$response_seen" ]; then printf 'ok'
|
|
320
|
+
else printf 'unknown'
|
|
321
|
+
fi
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
# model_family <resolvedModel>: print the low-cardinality family and drop the
|
|
325
|
+
# context-window marker (e.g. claude-opus-4-8[1m] -> opus). Empty when absent
|
|
326
|
+
# (plain main-loop call); `other` for an unrecognized family.
|
|
327
|
+
model_family() {
|
|
328
|
+
case "$1" in
|
|
329
|
+
"") printf '' ;;
|
|
330
|
+
*opus*) printf 'opus' ;;
|
|
331
|
+
*sonnet*) printf 'sonnet' ;;
|
|
332
|
+
*haiku*) printf 'haiku' ;;
|
|
333
|
+
*fable*) printf 'fable' ;;
|
|
334
|
+
*) printf 'other' ;;
|
|
335
|
+
esac
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
# read_skills_version: skills/CLI co-version from version-manifest.json (NOT
|
|
339
|
+
# git, NOT the plugin package version). The CLI's own app version already rides
|
|
340
|
+
# the tracker as application_Version, so no separate cliVersion is sent.
|
|
341
|
+
read_skills_version() {
|
|
342
|
+
grep -oE '"skillsVersion"[[:space:]]*:[[:space:]]*"[^"]*"' \
|
|
343
|
+
"${CLAUDE_PLUGIN_ROOT:-.}/version-manifest.json" 2>/dev/null \
|
|
344
|
+
| head -1 | sed 's/.*"\([^"]*\)"$/\1/'
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
# san: sanitize free-ish text to keep the assembled JSON valid and bounded.
|
|
348
|
+
# Strips anything outside a safe charset (so no quotes / backslashes / control
|
|
349
|
+
# chars / pipes survive) and caps length.
|
|
350
|
+
san() { printf '%s' "$1" | tr -c 'A-Za-z0-9:._/ -' '_' | cut -c1-120; }
|
|
351
|
+
|
|
352
|
+
# build_event_json: assemble the canonical, ordered, flat JSON from the
|
|
353
|
+
# (already sanitized) field globals + dur_json + SCHEMA_VERSION. The key set is
|
|
354
|
+
# defined ONCE here and assembled by iteration (fixed order, every key always
|
|
355
|
+
# emitted). Each row is `name|type|value`: `s` -> JSON string, `n` -> JSON
|
|
356
|
+
# number/literal. Sanitized values cannot contain `|` (san maps it to `_`).
|
|
357
|
+
build_event_json() {
|
|
358
|
+
local spec json sep fkey ftyp fval
|
|
359
|
+
spec="schemaVersion|n|$SCHEMA_VERSION
|
|
360
|
+
toolName|s|$tool
|
|
361
|
+
skillName|s|$skill_name
|
|
362
|
+
uipSubcommand|s|$uip_subcommand
|
|
363
|
+
fileExtension|s|$file_ext
|
|
364
|
+
environment|s|$env_name
|
|
365
|
+
baseUrl|s|$base_url
|
|
366
|
+
outcome|s|$outcome
|
|
367
|
+
permissionMode|s|$permission_mode
|
|
368
|
+
effortLevel|s|$effort_level
|
|
369
|
+
skillsVersion|s|$skills_ver
|
|
370
|
+
toolUseId|s|$tool_use_id
|
|
371
|
+
sessionId|s|$session_id
|
|
372
|
+
subagentModel|s|$subagent_model
|
|
373
|
+
subagentType|s|$subagent_type
|
|
374
|
+
agentType|s|$agent_type
|
|
375
|
+
durationMs|n|$dur_json"
|
|
376
|
+
json="{"; sep=""
|
|
377
|
+
while IFS='|' read -r fkey ftyp fval; do
|
|
378
|
+
[ -n "$fkey" ] || continue
|
|
379
|
+
case "$ftyp" in
|
|
380
|
+
n) json="$json$sep\"$fkey\":$fval" ;;
|
|
381
|
+
*) json="$json$sep\"$fkey\":\"$fval\"" ;;
|
|
382
|
+
esac
|
|
383
|
+
sep=","
|
|
384
|
+
done <<EOF
|
|
385
|
+
$spec
|
|
386
|
+
EOF
|
|
387
|
+
printf '%s}' "$json"
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
# --- main ------------------------------------------------------------------
|
|
391
|
+
main() {
|
|
392
|
+
# Opt-out: send by default; skip only when telemetry is explicitly disabled
|
|
393
|
+
# (UIPATH_TELEMETRY_DISABLED=1 or =true). Matches the CLI's isTelemetryDisabled()
|
|
394
|
+
# gate, so `uip track` and this hook short-circuit on the same values.
|
|
395
|
+
case "${UIPATH_TELEMETRY_DISABLED:-0}" in 1|true) exit 0 ;; esac
|
|
396
|
+
|
|
397
|
+
payload="$(cat)"
|
|
398
|
+
read_fields "$(printf '%s' "$payload" | extract_fields)"
|
|
399
|
+
|
|
400
|
+
[ "$event" = "PostToolUse" ] || exit 0
|
|
401
|
+
is_uipath_call || exit 0
|
|
402
|
+
|
|
403
|
+
resolve_environment
|
|
404
|
+
derive_fields
|
|
405
|
+
|
|
406
|
+
outcome="$(compute_outcome)"
|
|
407
|
+
# durationMs is a JSON number. Emit JSON null (not 0) when absent, so a missing
|
|
408
|
+
# value doesn't skew latency aggregations. The CLI drops a null-valued
|
|
409
|
+
# property, so a missing duration records as "no data". Stays unquoted.
|
|
410
|
+
case "$duration_ms" in ''|*[!0-9]*) dur_json="null" ;; *) dur_json="$duration_ms" ;; esac
|
|
411
|
+
subagent_model="$(model_family "$resolved_model")"
|
|
412
|
+
skills_ver="$(read_skills_version)"
|
|
413
|
+
|
|
414
|
+
# Sanitize every string field before assembly.
|
|
415
|
+
tool="$(san "$tool")"
|
|
416
|
+
skill_name="$(san "$skill_name")"
|
|
417
|
+
uip_subcommand="$(san "$uip_subcommand")"
|
|
418
|
+
file_ext="$(san "$file_ext")"
|
|
419
|
+
env_name="$(san "$env_name")"
|
|
420
|
+
base_url="$(san "$base_url")"
|
|
421
|
+
outcome="$(san "$outcome")"
|
|
422
|
+
permission_mode="$(san "$permission_mode")"
|
|
423
|
+
effort_level="$(san "$effort_level")"
|
|
424
|
+
skills_ver="$(san "$skills_ver")"
|
|
425
|
+
tool_use_id="$(san "$tool_use_id")"
|
|
426
|
+
session_id="$(san "$session_id")"
|
|
427
|
+
subagent_model="$(san "$subagent_model")"
|
|
428
|
+
subagent_type="$(san "$subagent_type")"
|
|
429
|
+
agent_type="$(san "$agent_type")"
|
|
430
|
+
|
|
431
|
+
# Hand off to the CLI telemetry tracker. The CLI hard-codes the event name
|
|
432
|
+
# (uip.skills.tool-use), stamps source: "skills-plugin", attaches the
|
|
433
|
+
# authenticated cloud identity + CLI app version, and owns transport + flush;
|
|
434
|
+
# it drops any non-scalar value (so a null durationMs disappears). Send no
|
|
435
|
+
# `event` key, no envelope, and no `source` (the CLI overrides it).
|
|
436
|
+
#
|
|
437
|
+
# Detached subshell ( cmd & ) survives this hook's exit so the agent never
|
|
438
|
+
# waits. `uip track` is never-fail (exits 0, emits nothing when telemetry is
|
|
439
|
+
# opted out); piping to it is harmless even if the CLI is absent.
|
|
440
|
+
( printf '%s' "$(build_event_json)" | uip track >/dev/null 2>&1 & )
|
|
441
|
+
|
|
442
|
+
exit 0
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
main
|
|
@@ -9,6 +9,12 @@ if [ -z "${CLAUDE_PLUGIN_ROOT:-}" ]; then
|
|
|
9
9
|
exit 0
|
|
10
10
|
fi
|
|
11
11
|
|
|
12
|
+
# Codex exposes Claude-compatible plugin environment variables for hook
|
|
13
|
+
# compatibility. This nudge is Claude-specific, so keep Codex sessions silent.
|
|
14
|
+
if [ -n "${PLUGIN_ROOT:-}" ]; then
|
|
15
|
+
exit 0
|
|
16
|
+
fi
|
|
17
|
+
|
|
12
18
|
# Candidate settings files, most-to-least specific.
|
|
13
19
|
candidates=()
|
|
14
20
|
if [ -n "${CLAUDE_PROJECT_DIR:-}" ]; then
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uipath/skills",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.197.0",
|
|
4
4
|
"description": "UiPath agent skills for Claude Code, Codex, Cursor, Copilot, Gemini and OpenCode — RPA, UI automation, UI testing, coded agents/apps/workflows, and troubleshooting. Distributed as the UiPath Claude Code plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "UiPath"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: uipath-admin
|
|
3
|
-
description: "UiPath Admin via `uip admin` — Identity Server (users, groups, robot accounts, external OAuth2 apps, secrets), Authorization (custom roles, role assignments, permission catalog, effective-access via check-access PDP), OMS (org read/update, tenant lifecycle, service provisioning, regions, async operation polling), IP Restriction (allowlist, enforcement switch, bypass rules, lockout safety), Audit (event sources, paginated queries,
|
|
3
|
+
description: "UiPath Admin via `uip admin` — Identity Server (users, groups, robot accounts, external OAuth2 apps, secrets), Authorization (custom roles, role assignments, permission catalog, effective-access via check-access PDP), OMS (org read/update, tenant lifecycle, service provisioning, regions, async operation polling), IP Restriction (allowlist, enforcement switch, bypass rules, lockout safety), Audit (event sources, paginated queries, day-wise-JSON-folder or single-CSV exports — login history, compliance dumps, who-did-what-when-where on a resource). Troubleshoot: diagnose access-denied, investigate login failures, role misconfiguration, IP lockout, PAT/app auth issues. For Orchestrator-specific roles/permissions/folders/jobs→uipath-platform. For RPA workflows→uipath-rpa."
|
|
4
4
|
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -49,9 +49,9 @@ 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
|
-
- **Explicit** — `uip admin audit` commands; list sources / targets / types; query, filter, paginate, or export events; CSV
|
|
52
|
+
- **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
53
|
- **Query audit events** — list event sources, filter events by source / target / type / user / status / time window at org or tenant scope
|
|
54
|
-
- **Export audit events** — chunked download from the long-term store (one call per UTC day, atomic abort on any chunk failure) as a
|
|
54
|
+
- **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`
|
|
55
55
|
- **Membership / license phrasings** — "who joined / left the organization", "who was made an admin", "license changes", "cross-tenant audit"
|
|
56
56
|
- **Sign-in / authentication phrasings** — "failed/successful logins", "login history for user X", "who's been signing in"
|
|
57
57
|
- **Tenant-activity phrasings** — "what happened on tenant X", "asset/queue/folder edits", "queue items processed", "job failures", "Action Center task changes", "Apps / AgentHub / Document Understanding / Integration Service / Test Manager activity"
|
|
@@ -60,6 +60,22 @@ Activate on both **explicit audit requests** and **natural-language investigatio
|
|
|
60
60
|
|
|
61
61
|
> **Scope routing** (which phrasing → `org` vs `tenant`, and why) lives in [audit-workflow-guide.md → Audit scope disambiguation](references/audit-workflow-guide.md#audit-scope-disambiguation--route-by-user-phrasing). Critical Rule 23 governs the stop-and-ask requirement when scope is ambiguous.
|
|
62
62
|
|
|
63
|
+
### Troubleshoot
|
|
64
|
+
|
|
65
|
+
Activate on **access/auth/identity troubleshooting** — users report symptoms, not audit verbs.
|
|
66
|
+
|
|
67
|
+
- **Diagnose access denied** — "user can't access X", "403 on API", "new hire has no permissions" → resolve principal, check-access, inspect role assignments. Playbook: [identity-troubleshoot-guide.md → Playbook 1](references/identity-troubleshoot-guide.md#playbook-1--user-cant-access-resource-x)
|
|
68
|
+
- **Investigate login failures** — "failed login attempts", "account compromised?", "suspicious sign-ins" → org-scoped audit login-history investigation. Playbook: [identity-troubleshoot-guide.md → Playbook 2](references/identity-troubleshoot-guide.md#playbook-2--suspicious-login-activity)
|
|
69
|
+
- **Diagnose role misconfiguration** — "custom role doesn't work", "user has role but can't do X" → inspect role actions, verify scope alignment. Playbook: [identity-troubleshoot-guide.md → Playbook 3](references/identity-troubleshoot-guide.md#playbook-3--role-misconfiguration)
|
|
70
|
+
- **Diagnose IP restriction lockout** — "can't access platform from new office", "all users blocked" → my-ip + ip-ranges list + enforcement get. Playbook: [identity-troubleshoot-guide.md → Playbook 4](references/identity-troubleshoot-guide.md#playbook-4--ip-restriction-lockout)
|
|
71
|
+
- **Diagnose PAT / external app failures** — "API returns 401", "PAT stopped working", "external app can't authenticate" → check expiry, scopes, audit for revocation. Playbook: [identity-troubleshoot-guide.md → Playbook 5](references/identity-troubleshoot-guide.md#playbook-5--pat-or-external-app-not-working)
|
|
72
|
+
- **Diagnose SMTP email delivery failures** — "invitations not sending", "SMTP broken" → smtp get + smtp test
|
|
73
|
+
- **Investigate stuck tenant operations** — "tenant create not completing", "operation stuck" → poll operation status
|
|
74
|
+
- **Identify service provisioning no-ops** — "service still enabled after remove" → platform-pinned services
|
|
75
|
+
- **Triage robot account authentication issues** — "robot not authenticating" → identity vs credential model confusion
|
|
76
|
+
|
|
77
|
+
> **Structured diagnose capability index** with failure-mode lookup and diagnostic priority ladder: [diagnose/CAPABILITY.md](references/diagnose/CAPABILITY.md). Quick investigation playbooks: [identity-troubleshoot-guide.md](references/identity-troubleshoot-guide.md).
|
|
78
|
+
|
|
63
79
|
## Critical Rules
|
|
64
80
|
|
|
65
81
|
Each rule is the agent contract. Per-area detail is in the linked reference files.
|
|
@@ -107,7 +123,7 @@ Each rule is the agent contract. Per-area detail is in the linked reference file
|
|
|
107
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`.
|
|
108
124
|
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.
|
|
109
125
|
29. **On 401 from audit, do NOT retry.** The token is missing the `Audit.Read` scope; tell the user to `uip logout && uip login`.
|
|
110
|
-
30. **`audit <scope> export` writes a
|
|
126
|
+
30. **`audit <scope> export` writes into a base directory (`--output-path`): a uniquely-named folder of day-wise JSON files (default) or a single merged CSV.** `--from-date`, `--to-date`, and `--output-path` are all required; dates per Rule 27. `--output-path` is a **base directory** (created if missing) — **pass a directory only, never a filename or extension**; the CLI creates a uniquely-named `audit_<from>_<to>_<generated-at>` output inside it (folder for `json`, `.csv` for `csv`), so repeated exports of the same window never collide. **Do not hand-craft the per-export name.** **`--file-format <json|csv>`** selects the shape: `json` (default) = a folder of `<YYYY-MM-DD>.json` files; `csv` = one merged CSV — pick `csv` for a flat spreadsheet/Excel-friendly dump, `json` for per-day files. **Confirm the base directory with the user before running**, then report the generated `Path` (and `GeneratedAt`) from the result.
|
|
111
127
|
|
|
112
128
|
### IP Restriction
|
|
113
129
|
|
|
@@ -214,3 +230,7 @@ For per-area full checklists, follow the table's inline links: Identity → [ide
|
|
|
214
230
|
| Audit CLI reference | [references/audit-commands.md](references/audit-commands.md) |
|
|
215
231
|
| Audit investigation workflows (scope disambiguation, who-did-X, login history, date-range dump, overview) | [references/audit-workflow-guide.md](references/audit-workflow-guide.md) |
|
|
216
232
|
| Paginate audit events beyond 200 | [references/audit-commands.md](references/audit-commands.md) + Rule 25 |
|
|
233
|
+
| Troubleshoot access denied, login failures, role misconfig, IP lockout, PAT/app auth | [references/identity-troubleshoot-guide.md](references/identity-troubleshoot-guide.md) |
|
|
234
|
+
| Diagnose capability index (structured) | [references/diagnose/CAPABILITY.md](references/diagnose/CAPABILITY.md) |
|
|
235
|
+
| Failure mode lookup (12 named patterns) | [references/diagnose/references/failure-modes.md](references/diagnose/references/failure-modes.md) |
|
|
236
|
+
| Diagnostic priority ladder (sequential triage) | [references/diagnose/references/troubleshooting-guide.md](references/diagnose/references/troubleshooting-guide.md) |
|
|
@@ -26,7 +26,7 @@ uip admin audit
|
|
|
26
26
|
|---|---|
|
|
27
27
|
| `audit <scope> sources` | array of `AuditEventSourceDto` |
|
|
28
28
|
| `audit <scope> events` | object `{auditEvents, next, previous}` |
|
|
29
|
-
| `audit <scope> export` | object `{Path,
|
|
29
|
+
| `audit <scope> export` | object `{Path, Format, Bytes, Days, NonEmptyDays}` (+ `Files` for `json`, + `Events` for `--file-format csv`) |
|
|
30
30
|
|
|
31
31
|
`events` is the one verb that legitimately returns an object — pagination cursors live alongside the rows. Full shape detail per verb in the sections below.
|
|
32
32
|
|
|
@@ -138,22 +138,22 @@ 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]`
|
|
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.
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
|
-
# Default —
|
|
144
|
+
# Default (json) — creates ./audit-exports/audit_2026-01-01_2026-02-01_<generatedAt>/ with one JSON file per UTC day
|
|
145
145
|
uip admin audit tenant export \
|
|
146
146
|
--from-date 2026-01-01 \
|
|
147
147
|
--to-date 2026-02-01 \
|
|
148
|
-
--output-
|
|
148
|
+
--output-path ./audit-exports \
|
|
149
149
|
--output json
|
|
150
150
|
|
|
151
|
-
# Single merged CSV
|
|
151
|
+
# Single merged CSV — creates ./audit-exports/audit_2026-01-01_2026-02-01_<generatedAt>.csv
|
|
152
152
|
uip admin audit tenant export \
|
|
153
153
|
--from-date 2026-01-01 \
|
|
154
154
|
--to-date 2026-02-01 \
|
|
155
155
|
--file-format csv \
|
|
156
|
-
--output-
|
|
156
|
+
--output-path ./audit-exports \
|
|
157
157
|
--output json
|
|
158
158
|
```
|
|
159
159
|
|
|
@@ -161,45 +161,49 @@ uip admin audit tenant export \
|
|
|
161
161
|
|
|
162
162
|
| Flag | Required | Description |
|
|
163
163
|
|---|---|---|
|
|
164
|
-
| `--output-
|
|
164
|
+
| `--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
|
+
| `--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. |
|
|
165
166
|
| `--from-date <iso>` | **yes** | Start of time interval. Both bounds are required by Commander before any HTTP call. |
|
|
166
167
|
| `--to-date <iso>` | **yes** | End of time interval. |
|
|
167
|
-
| `--file-format <
|
|
168
|
+
| `--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'.` |
|
|
168
169
|
| `--login-validity <minutes>` | no | Token-refresh hint. |
|
|
169
170
|
| `--tenant-id <guid>` | no | **Tenant scope only.** Override the active tenant. |
|
|
170
171
|
|
|
171
172
|
**Output `Code`:** `AuditOrgExport` / `AuditTenantExport`.
|
|
172
173
|
|
|
173
|
-
**Output `Data`:** `Format` echoes the chosen `--file-format`. The
|
|
174
|
+
**Output `Data`:** `Format` echoes the chosen `--file-format`. `Path` is the **generated** output created under `--output-path` (the `audit_<from>_<to>_<generatedAt>` folder for `json`, or the `.csv` file for `csv`), and `GeneratedAt` is its ISO generation timestamp. The `json` path also reports `Files` (number of day-wise files written); the `csv` path reports `Events` (total rows, excluding the header).
|
|
174
175
|
|
|
175
176
|
```json
|
|
176
|
-
// --file-format
|
|
177
|
+
// --file-format json (default) — Path is the generated folder under the base dir
|
|
177
178
|
{
|
|
178
|
-
"Path": "C:\\absolute\\path\\to\\audit-
|
|
179
|
+
"Path": "C:\\absolute\\path\\to\\audit-exports\\audit_2026-01-01_2026-02-01_20260617T112630",
|
|
180
|
+
"Format": "json",
|
|
181
|
+
"Files": 27,
|
|
179
182
|
"Bytes": 1841,
|
|
180
|
-
"Format": "zip",
|
|
181
183
|
"Days": 31,
|
|
182
|
-
"NonEmptyDays": 27
|
|
184
|
+
"NonEmptyDays": 27,
|
|
185
|
+
"GeneratedAt": "2026-06-17T11:26:30.000Z"
|
|
183
186
|
}
|
|
184
187
|
|
|
185
|
-
// --file-format csv
|
|
188
|
+
// --file-format csv — Path is the generated .csv under the base dir
|
|
186
189
|
{
|
|
187
|
-
"Path": "C:\\absolute\\path\\to\\audit-
|
|
188
|
-
"Bytes": 98765,
|
|
190
|
+
"Path": "C:\\absolute\\path\\to\\audit-exports\\audit_2026-01-01_2026-02-01_20260617T112630.csv",
|
|
189
191
|
"Format": "csv",
|
|
192
|
+
"Bytes": 98765,
|
|
190
193
|
"Days": 31,
|
|
191
194
|
"NonEmptyDays": 27,
|
|
192
|
-
"Events": 1234
|
|
195
|
+
"Events": 1234,
|
|
196
|
+
"GeneratedAt": "2026-06-17T11:26:30.000Z"
|
|
193
197
|
}
|
|
194
198
|
```
|
|
195
199
|
|
|
196
200
|
**Implementation notes (worth knowing for diagnostic conversations):**
|
|
197
201
|
|
|
198
202
|
- Both formats share the same fetch: the CLI issues **one HTTP call per UTC day** inside `[from, to]` and aggregates the per-day responses. Mirrors the `audit-dowload-from-longterm-store.sh` pattern in the AuditService repo.
|
|
199
|
-
- **
|
|
203
|
+
- **JSON (default):** a uniquely-named `audit_<from>_<to>_<generated-at>` **folder** is created under `--output-path`, holding one file per UTC day named `<YYYY-MM-DD>.json` (nested-ZIP entries from the server are flattened to `<inner>_<outer>.json`; same-name collisions get an iso-day suffix). The server names the per-day payloads `.txt`; the CLI writes them with a `.json` extension since each is a JSON array of events with PascalCase keys (`Id`, `CreatedOn`, `EventType`, …). Entry names are validated as safe basenames and confirmed to resolve inside the folder before any write (no path traversal / Zip-Slip).
|
|
200
204
|
- **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 — `Id, CreatedOn, OrganizationId, TenantId, ActorId, ActorName, ActorEmail, ActorDetails, EventType, EventSource, EventTarget, EventDetails, Status, ClientInfo` — 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. `ClientInfo`) are JSON-stringified into the cell. String cells beginning with `= + - @` (or TAB/CR) are prefixed with a single quote to neutralize spreadsheet formula injection.
|
|
201
|
-
- On any single-day HTTP failure (or, for CSV, a day whose payload is not valid JSON), **
|
|
202
|
-
- `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
|
|
205
|
+
- 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
|
+
- `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.
|
|
203
207
|
|
|
204
208
|
---
|
|
205
209
|
|
|
@@ -209,7 +213,7 @@ These appear on every command (not just audit) — set at the program level by t
|
|
|
209
213
|
|
|
210
214
|
| Flag | Description |
|
|
211
215
|
|---|---|
|
|
212
|
-
| `--output <table\|json\|yaml\|plain>` | Format of the success/failure envelope on stdout. Defaults to `json`. The
|
|
216
|
+
| `--output <table\|json\|yaml\|plain>` | Format of the success/failure envelope on stdout. Defaults to `json`. The exported files (the per-day JSON folder, or the CSV) are unaffected — `--output` only controls the metadata envelope, NOT `--file-format`. |
|
|
213
217
|
| `--output-filter <jmespath>` | JMESPath query applied to the envelope before printing. Useful for `events`/`sources`. Less useful for `export` (envelope is small). |
|
|
214
218
|
| `--log-level <debug\|info\|warn\|error>` | Logger threshold. Logs go to stderr. |
|
|
215
219
|
| `--log-file <path>` | Redirect logs from stderr to a file. |
|