@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,75 @@
|
|
|
1
|
+
# Query — Control and Clause Lookup
|
|
2
|
+
|
|
3
|
+
**Preview gate:** Compliance Standards is a preview feature. Append the disclaimer to user-facing output; on any compliance-packs **403**, stop (org not enrolled). See [preview-gate.md](../preview-gate.md).
|
|
4
|
+
|
|
5
|
+
Pure information — no state commands, no mutations. Uses `catalog get` data only.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
- "What does clause A.6.2.8 recommend?"
|
|
10
|
+
- "Which ISO 42001 controls address prompt injection?"
|
|
11
|
+
- "What's the recommended setting for trace retention?"
|
|
12
|
+
- "Show me all High-impact controls"
|
|
13
|
+
- "What does the AI Trust Layer traceability section require?"
|
|
14
|
+
|
|
15
|
+
## Command (if not already fetched)
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Read the session dir written by catalog get; run catalog get if not yet fetched this session.
|
|
19
|
+
SESSION_TEMP=$(cat "$HOME/.uipath-compliance-current-session" 2>/dev/null) || {
|
|
20
|
+
SESSION_TEMP=$(mktemp -d)
|
|
21
|
+
echo "$SESSION_TEMP" > "$HOME/.uipath-compliance-current-session"
|
|
22
|
+
}
|
|
23
|
+
uip gov compliance-packs catalog get iso-42001-2023 --output json > "$SESSION_TEMP/catalog.json"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Filter from catalog
|
|
27
|
+
|
|
28
|
+
**By clauseId:** match `clauses[].clauseId` exactly ("A.6.2.8", "6.1.4")
|
|
29
|
+
|
|
30
|
+
**By topic:** match user content words against:
|
|
31
|
+
- `clause.clauseName`
|
|
32
|
+
- `editorialPolicies[].controls[].displayName`
|
|
33
|
+
- `editorialPolicies[].controls[].description`
|
|
34
|
+
- `editorialPolicies[].controls[].configLocation`
|
|
35
|
+
|
|
36
|
+
**By impact:** `controls[].impact == "High"` for "high-impact" / "critical" / "priority"
|
|
37
|
+
|
|
38
|
+
## Present matched controls
|
|
39
|
+
|
|
40
|
+
For each matched clause:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
<clauseName> (<clauseId>)
|
|
44
|
+
<N> settings · <highCount> High · <medCount> Medium · <lowCount> Low
|
|
45
|
+
|
|
46
|
+
┌──────────────────────────────┬─────────────────────────┬────────┬──────────────────────────────────────┐
|
|
47
|
+
│ Setting │ Recommendation │ Impact │ Where to configure │
|
|
48
|
+
├──────────────────────────────┼─────────────────────────┼────────┼──────────────────────────────────────┤
|
|
49
|
+
│ <controlDisplayName> │ <recommendedSetting> │ High │ <configLocation> │
|
|
50
|
+
│ <controlDisplayName> │ <recommendedSetting> │ Medium │ <configLocation> │
|
|
51
|
+
└──────────────────────────────┴─────────────────────────┴────────┴──────────────────────────────────────┘
|
|
52
|
+
[repeat per matched clause]
|
|
53
|
+
|
|
54
|
+
Current posture on <tenantName>: <inPlaceCount> / <totalCount> settings Applied
|
|
55
|
+
→ 'Check my ISO 42001 posture' to see all gaps
|
|
56
|
+
→ 'Apply <clauseName> settings' to configure these
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Data sources:**
|
|
60
|
+
- `controls[].displayName` → Control column
|
|
61
|
+
- `controls[].recommendedSetting` → Recommendation column
|
|
62
|
+
- `controls[].impact` → Impact column
|
|
63
|
+
- `controls[].configLocation` → Where to configure column
|
|
64
|
+
- Current posture line: read from `SESSION_TEMP/coverage.json` **only if it already exists** (written by a prior `state coverage` call this session) — parse `Data.Summary.InPlaceCount` / `DeploymentPolicyCount`. If the file does not exist, omit the posture line entirely. **Never run `state coverage` or any other `state` command here.**
|
|
65
|
+
|
|
66
|
+
**Terminology:** "settings" for configured items. Plain-English clause name in headline, clause ID as secondary reference in parentheses.
|
|
67
|
+
|
|
68
|
+
## Auth failure handling
|
|
69
|
+
|
|
70
|
+
**403 / Forbidden** (not 401) → org not enrolled in the Compliance Standards preview; stop and show the opt-in message. See [preview-gate.md](../preview-gate.md).
|
|
71
|
+
|
|
72
|
+
If `catalog get` returns an auth error (401 / `RetryWillNotFix`):
|
|
73
|
+
1. Report the error to the user.
|
|
74
|
+
2. Stop. Do NOT suggest or write example `state` commands (coverage, enable, disable, get) anywhere — not in the response, not in output files, not as comments.
|
|
75
|
+
3. The query flow is read-only; if catalog data is unavailable, there is nothing to query.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Diagnose — Investigate Governance Policy Failures
|
|
2
|
+
|
|
3
|
+
Capability index for diagnosing AOps product-policy and Access tool-use-policy failures via `uip gov`.
|
|
4
|
+
|
|
5
|
+
> **Where you came from / where to go next.** Diagnose is downstream of Operate (a deployed policy failed
|
|
6
|
+
> to take effect, blocked something unexpected, or returned empty). Source fixes — policy edits, redeployment,
|
|
7
|
+
> rule changes — are Operate actions requiring explicit user consent after root cause analysis.
|
|
8
|
+
>
|
|
9
|
+
> **Inherits universal rules from [SKILL.md](../../SKILL.md).** Use `uip gov ... --output json` for all diagnostic reads.
|
|
10
|
+
|
|
11
|
+
## When to use this capability
|
|
12
|
+
|
|
13
|
+
- Investigate why a deployed AOps policy isn't taking effect.
|
|
14
|
+
- Debug deployment precedence (user > group > tenant override chain).
|
|
15
|
+
- Diagnose wrong policy applied (license-type / product mismatch).
|
|
16
|
+
- Triage access-policy blocking a legitimate tool invocation.
|
|
17
|
+
- Investigate access-policy not blocking when it should (rule too narrow).
|
|
18
|
+
- Diagnose `deployed-policy get` returning empty (no deployment, wrong subject).
|
|
19
|
+
- Investigate policy create/update rejection (invalid product identifier, malformed JSON).
|
|
20
|
+
- Audit which policies are deployed to which subjects.
|
|
21
|
+
|
|
22
|
+
## Critical rules
|
|
23
|
+
|
|
24
|
+
1. **Diagnose reads; Operate mutates.** Do not create/delete/redeploy policies while diagnosing — present findings and let the user decide the fix.
|
|
25
|
+
2. **Use the CLI as the diagnostic interface.** Run `uip gov ... --output json` for all reads.
|
|
26
|
+
3. **Use `deployed-policy get` for effective policy.** Returns the single policy that applies after the user → group → tenant chain is walked. Use `deployed-policy list` to see every applicable policy in priority order.
|
|
27
|
+
4. **Use `access-policy evaluate` for rule testing.** The PDP resolves `Allow` / `Deny` / `NoOp` for a concrete request context — faster and more authoritative than manual rule inspection.
|
|
28
|
+
5. **Classify the branch first.** AOps (product-layer) and Access (tool-use) are separate systems. Determine which branch the symptom belongs to before investigating.
|
|
29
|
+
6. **Do not expose private data.** Redact tenant URLs, policy payloads, and user identifiers in summaries.
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
| Journey | Read |
|
|
34
|
+
|---------|------|
|
|
35
|
+
| Triage a governance failure (sequential ladder) | [references/troubleshooting-guide.md](references/troubleshooting-guide.md) |
|
|
36
|
+
| Recognize a known failure pattern (lookup) | [references/failure-modes.md](references/failure-modes.md) |
|
|
37
|
+
|
|
38
|
+
## Common tasks
|
|
39
|
+
|
|
40
|
+
| I need to... | Read |
|
|
41
|
+
|---|---|
|
|
42
|
+
| Investigate why a deployed AOps policy isn't enforced | [troubleshooting guide → Step 2](references/troubleshooting-guide.md#step-2-check-whats-deployed) |
|
|
43
|
+
| Debug deployment precedence (user > group > tenant) | [troubleshooting guide → Step 3](references/troubleshooting-guide.md#step-3-check-precedence) |
|
|
44
|
+
| Diagnose wrong policy applied | [failure modes → Wrong policy applied](references/failure-modes.md#wrong-policy-applied-license-type-mismatch) |
|
|
45
|
+
| Investigate blocked tool invocation | [failure modes → Access policy blocking legitimate invocation](references/failure-modes.md#access-policy-blocking-legitimate-tool-invocation) |
|
|
46
|
+
| Investigate access policy not blocking | [failure modes → Access policy not blocking](references/failure-modes.md#access-policy-not-blocking) |
|
|
47
|
+
| Diagnose empty deployed-policy result | [failure modes → Deployed policy returns empty](references/failure-modes.md#deployed-policy-returns-empty) |
|
|
48
|
+
| Troubleshoot policy create/update rejection | [failure modes → Policy create/update rejected](references/failure-modes.md#policy-createupdate-rejected) |
|
|
49
|
+
| Evaluate access-policy rules against test inputs | [troubleshooting guide → Step 4](references/troubleshooting-guide.md#step-4-for-access-evaluate-with-test-inputs) |
|
|
50
|
+
|
|
51
|
+
## Anti-patterns
|
|
52
|
+
|
|
53
|
+
- **Never redeploy or edit policies while diagnosing.** Present findings first; let the user authorize mutations.
|
|
54
|
+
- **Never assume which branch the failure belongs to.** Classify AOps vs Access before investigating.
|
|
55
|
+
- **Never skip `deployed-policy get` and jump to policy definition.** The effective policy (after chain resolution) may differ from the policy definition.
|
|
56
|
+
- **Never run `access-policy evaluate` with dummy UUIDs and draw conclusions.** Untagged/unknown UUIDs correctly return `NoOp` — that does not mean the policy is broken.
|
|
57
|
+
- **Never guess subject IDs.** Resolve via `deployment user/group/tenant list` before deeper queries.
|
|
58
|
+
|
|
59
|
+
## References
|
|
60
|
+
|
|
61
|
+
### Diagnose-scoped
|
|
62
|
+
|
|
63
|
+
- [troubleshooting-guide.md](references/troubleshooting-guide.md) — diagnostic priority ladder
|
|
64
|
+
- [failure-modes.md](references/failure-modes.md) — recurring failure patterns
|
|
65
|
+
|
|
66
|
+
### Cross-capability
|
|
67
|
+
|
|
68
|
+
- [aops-policy-deployed-guide.md](../aops-policy/aops-policy-deployed-guide.md) — query effective deployed policy
|
|
69
|
+
- [aops-policy-deploy-guide.md](../aops-policy/aops-policy-deploy-guide.md) — deployment precedence and subject matrix
|
|
70
|
+
- [access-policy-commands.md](../access-policy/access-policy-commands.md) — CLI reference including `evaluate`
|
|
71
|
+
- [disambiguation-guide.md](../disambiguation-guide.md) — classify AOps vs Access intent
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Failure Modes — Governance Policies
|
|
2
|
+
|
|
3
|
+
Named failure patterns with symptom → cause → investigation → fix. Match the user's symptom to a pattern, then follow the investigation steps.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Policy Not Taking Effect (Deployment Precedence Issue)
|
|
8
|
+
|
|
9
|
+
**Symptom:** Admin deployed a policy to a tenant (or group), but a specific user still sees the old behavior or no policy at all.
|
|
10
|
+
|
|
11
|
+
**Causes:**
|
|
12
|
+
1. A user-level assignment overrides the group/tenant assignment (user > group > tenant)
|
|
13
|
+
2. A group-level assignment overrides the tenant assignment for members of that group
|
|
14
|
+
3. User belongs to multiple groups with different policies — the group with the **lower priority number wins** (lower = more important)
|
|
15
|
+
4. User has an explicit `null` (No Policy) override at a narrower scope
|
|
16
|
+
5. Policy deployed to wrong subject (e.g. wrong group ID)
|
|
17
|
+
|
|
18
|
+
**Investigation:**
|
|
19
|
+
1. Check effective policy for the user:
|
|
20
|
+
```bash
|
|
21
|
+
uip gov aops-policy deployed-policy get \
|
|
22
|
+
"$LICENSE_TYPE" "$PRODUCT_NAME" "$TENANT_ID" \
|
|
23
|
+
--output json
|
|
24
|
+
```
|
|
25
|
+
2. List all applicable policies to see the full chain:
|
|
26
|
+
```bash
|
|
27
|
+
uip gov aops-policy deployed-policy list \
|
|
28
|
+
"$LICENSE_TYPE" "$PRODUCT_NAME" "$TENANT_ID" \
|
|
29
|
+
--output json
|
|
30
|
+
```
|
|
31
|
+
3. Check user-level override:
|
|
32
|
+
```bash
|
|
33
|
+
uip gov aops-policy deployment user get "$USER_ID" --output json
|
|
34
|
+
```
|
|
35
|
+
4. Check group-level override:
|
|
36
|
+
```bash
|
|
37
|
+
uip gov aops-policy deployment group get "$GROUP_ID" --output json
|
|
38
|
+
```
|
|
39
|
+
5. Check tenant-level assignment:
|
|
40
|
+
```bash
|
|
41
|
+
uip gov aops-policy deployment tenant get "$TENANT_ID" --output json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Fix:** Cause 1/2 → remove the narrower-scope override (`deployment user delete` or `deployment group delete`) or update it to match intent. Cause 3 → lower the priority number of the intended group's policy to make it win (lower priority = more important). Cause 4 → remove the explicit `null` override. Cause 5 → redeploy to the correct subject after resolving the right ID.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Wrong Policy Applied (License-Type Mismatch)
|
|
49
|
+
|
|
50
|
+
**Symptom:** Tenant has a policy deployed but the wrong rules are enforced — or a policy has no effect on certain users.
|
|
51
|
+
|
|
52
|
+
**Causes:**
|
|
53
|
+
1. Policy deployed to wrong `(product, license type)` pair — e.g. Assistant policy on `Unattended Robot` license (which has no Assistant slot)
|
|
54
|
+
2. User's actual license type differs from the one the policy was deployed to
|
|
55
|
+
3. Multiple license types exist and only one has the policy
|
|
56
|
+
|
|
57
|
+
**Investigation:**
|
|
58
|
+
1. List license types to see available options:
|
|
59
|
+
```bash
|
|
60
|
+
uip gov aops-policy license-type list --output json
|
|
61
|
+
```
|
|
62
|
+
2. Check tenant deployment to see which `(product, licenseType)` pairs have assignments:
|
|
63
|
+
```bash
|
|
64
|
+
uip gov aops-policy deployment tenant get "$TENANT_ID" --output json
|
|
65
|
+
```
|
|
66
|
+
3. Verify the product is included in the target license type (see [aops-policy-deploy-guide.md — License-type → product compatibility](../aops-policy/aops-policy-deploy-guide.md#license-type--product-compatibility)).
|
|
67
|
+
|
|
68
|
+
**Fix:** Cause 1 → redeploy to a license type that includes the target product. Cause 2 → deploy to the license type the affected users actually hold. Cause 3 → deploy to all relevant license types.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Access Policy Blocking Legitimate Tool Invocation
|
|
73
|
+
|
|
74
|
+
**Symptom:** Agent, Flow, or automation reports "denied" or fails to invoke a child resource that should be allowed.
|
|
75
|
+
|
|
76
|
+
**Causes:**
|
|
77
|
+
1. Selector rule too broad — matches resources beyond the intended scope
|
|
78
|
+
2. Actor rule excludes the calling user/group
|
|
79
|
+
3. Executable rule blocks the actor process type
|
|
80
|
+
4. Tags on the resource or executable trigger a deny-intent policy
|
|
81
|
+
5. Robot/ExternalApplication actor — `actorRule` only matches `User`/`Group`, so robot actors return `NoOp` on all policies with `actorRule`
|
|
82
|
+
|
|
83
|
+
**Investigation:**
|
|
84
|
+
1. Evaluate the exact request context:
|
|
85
|
+
```bash
|
|
86
|
+
uip gov access-policy evaluate \
|
|
87
|
+
--resource-type "<RESOURCE_TYPE>" \
|
|
88
|
+
--resource-id "<RESOURCE_UUID>" \
|
|
89
|
+
--actor-process-type "<ACTOR_PROCESS_TYPE>" \
|
|
90
|
+
--actor-process-id "<ACTOR_PROCESS_UUID>" \
|
|
91
|
+
--output json
|
|
92
|
+
```
|
|
93
|
+
2. Inspect `Data.enforcement` and `Data.effectivePolicies[]` to identify which policy contributed.
|
|
94
|
+
3. Fetch the blocking policy:
|
|
95
|
+
```bash
|
|
96
|
+
uip gov access-policy get "<POLICY_ID>" --output json
|
|
97
|
+
```
|
|
98
|
+
4. List all active access policies:
|
|
99
|
+
```bash
|
|
100
|
+
uip gov access-policy list --filter "status in ('Active')" --output json
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Fix:** Cause 1 → narrow selector `resourceType`/`tags`. Cause 2 → add the calling user/group to `actorRule`. Cause 3 → add the actor process type to `executableRule`. Cause 4 → adjust tags on the resource or policy. Cause 5 → see [plugins/actor/impl.md — Robot intent](../access-policy/plugins/actor/impl.md) for the User-fallback pattern.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Access Policy Not Blocking
|
|
108
|
+
|
|
109
|
+
**Symptom:** Expected a deny/restrict behavior but the invocation goes through. `evaluate` returns `NoOp` or `Allow` when `Deny` was expected.
|
|
110
|
+
|
|
111
|
+
**Causes:**
|
|
112
|
+
1. No policy matches the request context (selector/actor/executable don't cover it)
|
|
113
|
+
2. Policy status is `Inactive` (not enforced)
|
|
114
|
+
3. Tags on the resource don't match the selector's tag filter
|
|
115
|
+
4. Policy uses `enforcement: "Allow"` (the only authorable value) — deny intent requires targeting what should be allowed, not what should be blocked
|
|
116
|
+
5. `evaluate` called with wrong resource-type or actor-process-type enum
|
|
117
|
+
|
|
118
|
+
**Investigation:**
|
|
119
|
+
1. Evaluate:
|
|
120
|
+
```bash
|
|
121
|
+
uip gov access-policy evaluate \
|
|
122
|
+
--resource-type "<RESOURCE_TYPE>" \
|
|
123
|
+
--resource-id "<RESOURCE_UUID>" \
|
|
124
|
+
--output json
|
|
125
|
+
```
|
|
126
|
+
2. List policies and check status:
|
|
127
|
+
```bash
|
|
128
|
+
uip gov access-policy list --output json
|
|
129
|
+
```
|
|
130
|
+
3. Inspect each candidate policy's selectors, executableRule, and actorRule:
|
|
131
|
+
```bash
|
|
132
|
+
uip gov access-policy get "<POLICY_ID>" --output json
|
|
133
|
+
```
|
|
134
|
+
4. Verify the resource's tags in the Resource Catalog match the selector's tag filter.
|
|
135
|
+
|
|
136
|
+
**Fix:** Cause 1 → broaden selector or add a new policy covering the gap. Cause 2 → update status to `Active`. Cause 3 → correct tags on resource or policy. Cause 4 → reframe deny intent as allow-only (see [plugins/tags/planning.md — Deny-to-Allow flip](../access-policy/plugins/tags/planning.md#deny-to-allow-flip)). Cause 5 → use correct enum values from [plugins/selector/impl.md](../access-policy/plugins/selector/impl.md).
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Deployed Policy Returns Empty
|
|
141
|
+
|
|
142
|
+
**Symptom:** `deployed-policy get` returns `null`, `{}`, `{ "Message": "No policy applies." }`, or HTTP 204. `deployed-policy list` returns `[]`.
|
|
143
|
+
|
|
144
|
+
**Causes:**
|
|
145
|
+
1. No policy deployed at any scope (user/group/tenant) for this `(license type, product, tenant)` tuple
|
|
146
|
+
2. Policy deployed to wrong tenant ID
|
|
147
|
+
3. Policy deployed to wrong product name or license type
|
|
148
|
+
4. User/group has an explicit `null` override (No Policy) and no fallback exists
|
|
149
|
+
|
|
150
|
+
**Investigation:**
|
|
151
|
+
1. Check tenant deployment:
|
|
152
|
+
```bash
|
|
153
|
+
uip gov aops-policy deployment tenant get "$TENANT_ID" --output json
|
|
154
|
+
```
|
|
155
|
+
2. List all tenants with deployments:
|
|
156
|
+
```bash
|
|
157
|
+
uip gov aops-policy deployment tenant list --output json
|
|
158
|
+
```
|
|
159
|
+
3. Verify the product name matches exactly:
|
|
160
|
+
```bash
|
|
161
|
+
uip gov aops-policy product list --output json
|
|
162
|
+
```
|
|
163
|
+
4. Check user-level override:
|
|
164
|
+
```bash
|
|
165
|
+
uip gov aops-policy deployment user get "$USER_ID" --output json
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Fix:** Cause 1 → deploy a policy via [aops-policy-deploy-guide.md](../aops-policy/aops-policy-deploy-guide.md). Cause 2 → redeploy to the correct tenant. Cause 3 → use the product `name` (not label) from `product list`. Cause 4 → remove the `null` override or deploy a policy at a broader scope.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Policy Create/Update Rejected
|
|
173
|
+
|
|
174
|
+
**Symptom:** `aops-policy create` or `access-policy create/update` returns 400, validation errors, or rejects the JSON payload.
|
|
175
|
+
|
|
176
|
+
**Causes:**
|
|
177
|
+
1. Invalid `productIdentifier` — used label instead of `name`
|
|
178
|
+
2. Malformed JSON (missing required fields, wrong types)
|
|
179
|
+
3. Access policy: `enforcement: "Deny"` used (only `Allow` is authorable)
|
|
180
|
+
4. Access policy: `Selectors[].Values` missing `["*"]`
|
|
181
|
+
5. Access policy: name collision (409 Conflict)
|
|
182
|
+
6. AOps policy: invalid template structure
|
|
183
|
+
|
|
184
|
+
**Investigation:**
|
|
185
|
+
1. For AOps — verify product identifier:
|
|
186
|
+
```bash
|
|
187
|
+
uip gov aops-policy product list --output json
|
|
188
|
+
```
|
|
189
|
+
2. For AOps — verify template structure:
|
|
190
|
+
```bash
|
|
191
|
+
uip gov aops-policy template list --output json
|
|
192
|
+
uip gov aops-policy template get "<PRODUCT_NAME>" --output json
|
|
193
|
+
```
|
|
194
|
+
3. For Access — validate JSON structure:
|
|
195
|
+
```bash
|
|
196
|
+
jq type "<POLICY_FILE>"
|
|
197
|
+
jq '.[0] | keys' "<POLICY_FILE>" 2>/dev/null || jq 'keys' "<POLICY_FILE>"
|
|
198
|
+
```
|
|
199
|
+
4. For Access — check error message in response `Data.errors`.
|
|
200
|
+
|
|
201
|
+
**Fix:** Cause 1 → use `name` from `product list`. Cause 2 → fix JSON (validate with `jq`). Cause 3 → switch to `enforcement: "Allow"`. Cause 4 → add `"values": ["*"]` to selector entries. Cause 5 → choose a different name. Cause 6 → regenerate from template via [configure-aops-policy-data-guide.md](../aops-policy/configure-aops-policy-data-guide.md).
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Diagnostic Priority Ladder
|
|
2
|
+
|
|
3
|
+
Sequential triage workflow for governance policy failures. Work through in order — stop when you have enough to diagnose.
|
|
4
|
+
|
|
5
|
+
## Step 1: Identify the Policy Branch
|
|
6
|
+
|
|
7
|
+
Determine whether the symptom belongs to AOps (product-layer) or Access (tool-use) based on user description:
|
|
8
|
+
|
|
9
|
+
| Symptom | Branch | Next step |
|
|
10
|
+
|---------|--------|-----------|
|
|
11
|
+
| "Policy not enforced in Studio/Assistant/Robot" | AOps | Step 2 (check deployed) |
|
|
12
|
+
| "Wrong rules applied to a product" | AOps | Step 2 (check deployed) |
|
|
13
|
+
| "Policy not taking effect for a user/group" | AOps | Step 3 (check precedence) |
|
|
14
|
+
| "Agent/Flow blocked from invoking a process" | Access | Step 4 (evaluate) |
|
|
15
|
+
| "Tool invocation going through when it shouldn't" | Access | Step 4 (evaluate) |
|
|
16
|
+
| "Policy create/update rejected" | Either | Step 5 (inspect definition) |
|
|
17
|
+
| "Deployed-policy returns empty" | AOps | Step 2 (check deployed) |
|
|
18
|
+
|
|
19
|
+
If the branch is unclear, ask the user: "Is this about product behavior (Studio/Robot features) or tool invocation (one workflow calling another)?" See [disambiguation-guide.md](../../disambiguation-guide.md).
|
|
20
|
+
|
|
21
|
+
## Step 2: Check What's Deployed
|
|
22
|
+
|
|
23
|
+
For AOps policy issues, start by querying the effective deployed policy.
|
|
24
|
+
|
|
25
|
+
Get the effective policy for a `(license type, product, tenant)` tuple:
|
|
26
|
+
```bash
|
|
27
|
+
uip gov aops-policy deployed-policy get \
|
|
28
|
+
"$LICENSE_TYPE" "$PRODUCT_NAME" "$TENANT_ID" \
|
|
29
|
+
--output json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
List every applicable policy in priority order:
|
|
33
|
+
```bash
|
|
34
|
+
uip gov aops-policy deployed-policy list \
|
|
35
|
+
"$LICENSE_TYPE" "$PRODUCT_NAME" "$TENANT_ID" \
|
|
36
|
+
--output json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Interpret:
|
|
40
|
+
- `Data` present with `policyIdentifier` → a policy applies. Verify it matches the expected one.
|
|
41
|
+
- `Data` is `null` / `{}` / `{ "Message": "No policy applies." }` → no policy applies. See [failure modes → Deployed policy returns empty](failure-modes.md#deployed-policy-returns-empty).
|
|
42
|
+
- `Data` is an array (on `list`) → inspect `source` column (User/Group/Tenant) to understand where each policy comes from.
|
|
43
|
+
|
|
44
|
+
If the policy does not exist at all, check whether it was created:
|
|
45
|
+
```bash
|
|
46
|
+
uip gov aops-policy list --output json
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Step 3: Check Precedence
|
|
50
|
+
|
|
51
|
+
AOps deployment precedence: **User > Group > Tenant**. A user-level assignment always wins.
|
|
52
|
+
|
|
53
|
+
Check each scope level:
|
|
54
|
+
```bash
|
|
55
|
+
uip gov aops-policy deployment user get "$USER_ID" --output json
|
|
56
|
+
uip gov aops-policy deployment group get "$GROUP_ID" --output json
|
|
57
|
+
uip gov aops-policy deployment tenant get "$TENANT_ID" --output json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Compare the assignments at each level for the target product:
|
|
61
|
+
- If a user override exists (including explicit `null`), it wins over group and tenant.
|
|
62
|
+
- If a group override exists, it wins over tenant for members of that group.
|
|
63
|
+
- If the user belongs to **multiple groups** with different policies, the group with the **lower priority number wins** (lower = more important). Compare group priorities to identify which policy takes effect.
|
|
64
|
+
- A `null` override means explicit "No Policy" — it is NOT the same as "no assignment" (which would inherit from the next level).
|
|
65
|
+
|
|
66
|
+
List all deployment subjects to find unexpected overrides:
|
|
67
|
+
```bash
|
|
68
|
+
uip gov aops-policy deployment user list --output json
|
|
69
|
+
uip gov aops-policy deployment group list --output json
|
|
70
|
+
uip gov aops-policy deployment tenant list --output json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Step 4: For Access — Evaluate with Test Inputs
|
|
74
|
+
|
|
75
|
+
For access-policy issues, `evaluate` is the primary diagnostic tool.
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
uip gov access-policy evaluate \
|
|
79
|
+
--resource-type "<RESOURCE_TYPE>" \
|
|
80
|
+
--resource-id "<RESOURCE_UUID>" \
|
|
81
|
+
--actor-process-type "<ACTOR_PROCESS_TYPE>" \
|
|
82
|
+
--actor-process-id "<ACTOR_PROCESS_UUID>" \
|
|
83
|
+
--output json
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Interpret `Data.enforcement`:
|
|
87
|
+
- `Allow` → policy working as intended; the invocation is permitted.
|
|
88
|
+
- `Deny` → a policy is blocking. Inspect `Data.effectivePolicies[]` for the blocking policy ID.
|
|
89
|
+
- `NoOp` → no policy matched. Either no policy covers this context (expected with untagged/unknown resources) or the selector/actor/executable rules don't match.
|
|
90
|
+
|
|
91
|
+
Fetch the blocking or candidate policy:
|
|
92
|
+
```bash
|
|
93
|
+
uip gov access-policy get "<POLICY_ID>" --output json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
List all active policies:
|
|
97
|
+
```bash
|
|
98
|
+
uip gov access-policy list --filter "status in ('Active')" --output json
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Check whether a robot/external-app actor is involved — `actorRule` only matches `User`/`Group`. See [plugins/actor/impl.md](../../access-policy/plugins/actor/impl.md).
|
|
102
|
+
|
|
103
|
+
## Step 5: Inspect the Policy Definition
|
|
104
|
+
|
|
105
|
+
When the deployment and evaluate steps don't reveal the issue, inspect the policy definition itself.
|
|
106
|
+
|
|
107
|
+
For AOps:
|
|
108
|
+
```bash
|
|
109
|
+
uip gov aops-policy get "<POLICY_ID>" --output json
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Verify:
|
|
113
|
+
- `data` payload contains the expected rules for the product
|
|
114
|
+
- Product identifier matches the deployment target
|
|
115
|
+
- Template structure is valid
|
|
116
|
+
|
|
117
|
+
For Access:
|
|
118
|
+
```bash
|
|
119
|
+
uip gov access-policy get "<POLICY_ID>" --output json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Verify:
|
|
123
|
+
- `status` is `Active` (not `Inactive`)
|
|
124
|
+
- `selectors[].resourceType` matches the target resource type
|
|
125
|
+
- `selectors[].values` includes `["*"]` (required even when tags narrow scope)
|
|
126
|
+
- `executableRule` covers the actor process type
|
|
127
|
+
- `actorRule` (if present) includes the calling user/group
|
|
128
|
+
- `enforcement` is `Allow` (only authorable value)
|
|
129
|
+
- `organizationId` and `tenantId` match the current context
|
|
130
|
+
|
|
131
|
+
## Outputs
|
|
132
|
+
|
|
133
|
+
After completing the relevant steps, present:
|
|
134
|
+
1. **Root cause** — what specifically failed and why
|
|
135
|
+
2. **Evidence** — which CLI commands confirmed the diagnosis
|
|
136
|
+
3. **Fix ownership** — whether the fix requires redeployment, policy editing, scope change, or policy creation
|
|
137
|
+
4. **Recommended action** — specific next step (do not execute; present for user approval)
|
|
@@ -7,6 +7,21 @@ The two branches:
|
|
|
7
7
|
- **Branch A — AOps product policy** (`uip gov aops-policy`) → governs *product feature behavior* on Studio / StudioX / Assistant / Robot / AI Trust Layer / Agent Builder.
|
|
8
8
|
- **Branch B — Access ToolUsePolicy** (`uip gov access-policy`) → governs *resource/tool use* on the Actor Process → child Resource boundary.
|
|
9
9
|
|
|
10
|
+
## Compliance standard override (highest priority)
|
|
11
|
+
|
|
12
|
+
**Before evaluating Branch A / B signals**, check for compliance standard framing:
|
|
13
|
+
|
|
14
|
+
If the request contains a **standard name** (`ISO 42001`) **AND** a scope-limiting phrase (`just that area`, `only that part`, `not the whole standard`, `just that control`, `just the traceability`, `only the AI provider controls`, `just that compliance piece`), it is a **partial-apply** request regardless of whether the content words also match a Branch A model-gate signal.
|
|
15
|
+
|
|
16
|
+
| Request shape | Route |
|
|
17
|
+
|---|---|
|
|
18
|
+
| ISO 42001 + "make AI usage traceable / logged" + "not the full standard" | Compliance standard → partial-apply (AITrustLayer traceability clauses) |
|
|
19
|
+
| ISO 42001 + "lock down AI model providers / approved providers" + "just that control" | Compliance standard → partial-apply (AITrustLayer model-governance clauses) |
|
|
20
|
+
| ISO 42001 + "robot allowlists / URL allowlists / application allowlists" + scoped | Compliance standard → partial-apply (Robot UIAutomation clauses) |
|
|
21
|
+
| ISO 42001 + no scope-limiting phrase | Compliance standard → full-apply or posture check |
|
|
22
|
+
|
|
23
|
+
Do **not** route ISO 42001 + model/traceability intents to `aops-policy` directly — even though those intents look like Branch A model-gate signals, the standard-framing signals the catalog-based path that understands which clauses apply.
|
|
24
|
+
|
|
10
25
|
## Strong signals — Branch A (AOps)
|
|
11
26
|
|
|
12
27
|
Route directly, no disambiguation needed, when the user:
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
|
|
5
|
+
const args = {};
|
|
6
|
+
for (let i = 2; i < process.argv.length; i++) {
|
|
7
|
+
const a = process.argv[i];
|
|
8
|
+
if (a === "--summary") { args.summary = true; continue; }
|
|
9
|
+
if (a.startsWith("--")) args[a.slice(2)] = process.argv[++i];
|
|
10
|
+
}
|
|
11
|
+
const basePath = args.base ?? args.defaults;
|
|
12
|
+
for (const [k, v] of Object.entries({ base: basePath, overrides: args.overrides, out: args.out })) {
|
|
13
|
+
if (!v) {
|
|
14
|
+
console.error(`error: --${k === "base" ? "base (or --defaults)" : k} is required`);
|
|
15
|
+
process.exit(2);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function readJson(p) {
|
|
20
|
+
try { return JSON.parse(fs.readFileSync(p, "utf8")); }
|
|
21
|
+
catch (e) { console.error(`error: ${p}: ${e.message}`); process.exit(2); }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const base = readJson(basePath);
|
|
25
|
+
const overrides = readJson(args.overrides);
|
|
26
|
+
|
|
27
|
+
if (base === null || typeof base !== "object" || Array.isArray(base)) {
|
|
28
|
+
console.error(`error: --base must be an object (the bare formData, not wrapped in { data: ... })`);
|
|
29
|
+
process.exit(2);
|
|
30
|
+
}
|
|
31
|
+
if (overrides === null || typeof overrides !== "object" || Array.isArray(overrides)) {
|
|
32
|
+
console.error(`error: --overrides must be an object (the bare formData, not wrapped in { data: ... })`);
|
|
33
|
+
process.exit(2);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const touched = [];
|
|
37
|
+
|
|
38
|
+
function isPlainObject(v) {
|
|
39
|
+
return v !== null && typeof v === "object" && !Array.isArray(v);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function merge(dst, src, trail) {
|
|
43
|
+
for (const key of Object.keys(src)) {
|
|
44
|
+
const overrideVal = src[key];
|
|
45
|
+
const next = trail ? `${trail}.${key}` : key;
|
|
46
|
+
if (overrideVal === null) {
|
|
47
|
+
dst[key] = null;
|
|
48
|
+
touched.push({ path: next, op: "clear" });
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (isPlainObject(overrideVal)) {
|
|
52
|
+
if (!isPlainObject(dst[key])) dst[key] = {};
|
|
53
|
+
merge(dst[key], overrideVal, next);
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (Array.isArray(overrideVal)) {
|
|
57
|
+
dst[key] = overrideVal.slice();
|
|
58
|
+
touched.push({ path: next, op: "replace-array", size: overrideVal.length });
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
dst[key] = overrideVal;
|
|
62
|
+
touched.push({ path: next, op: "replace-scalar" });
|
|
63
|
+
}
|
|
64
|
+
return dst;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const merged = JSON.parse(JSON.stringify(base));
|
|
68
|
+
merge(merged, overrides, "");
|
|
69
|
+
|
|
70
|
+
fs.mkdirSync(path.dirname(path.resolve(args.out)), { recursive: true });
|
|
71
|
+
fs.writeFileSync(args.out, JSON.stringify(merged, null, 2));
|
|
72
|
+
process.stdout.write(`MERGED: ${path.resolve(args.out)}\n`);
|
|
73
|
+
|
|
74
|
+
if (args.summary) {
|
|
75
|
+
process.stdout.write(`Overridden paths: ${touched.length}\n`);
|
|
76
|
+
const grouped = touched.slice(0, 20);
|
|
77
|
+
for (const t of grouped) {
|
|
78
|
+
process.stdout.write(` ${t.op.padEnd(16)} ${t.path}${t.size != null ? ` (array[${t.size}])` : ""}\n`);
|
|
79
|
+
}
|
|
80
|
+
if (touched.length > 20) process.stdout.write(` … and ${touched.length - 20} more\n`);
|
|
81
|
+
}
|