@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
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
# Skill Maintenance
|
|
2
|
-
|
|
3
|
-
Internal tooling and conventions for maintaining the `uipath-maestro-bpmn` skill structure. Not loaded by agents during normal use.
|
|
4
|
-
|
|
5
|
-
## Structure
|
|
6
|
-
|
|
7
|
-
The skill is organized into three peer capabilities:
|
|
8
|
-
|
|
9
|
-
```text
|
|
10
|
-
SKILL.md ← capability router (universal rules + 3-bucket intent)
|
|
11
|
-
references/
|
|
12
|
-
├── shared/ ← cross-capability primitives
|
|
13
|
-
│ ├── bpmn-xml-contract.md ← model-owned vs CLI-owned XML
|
|
14
|
-
│ ├── cli-conventions.md ← JSON output, login, side effects
|
|
15
|
-
│ ├── project-layout.md ← BPMN source + generated package files
|
|
16
|
-
│ ├── public-safety.md ← sanitized/public-safe content rules
|
|
17
|
-
│ └── variables-bindings-expressions.md
|
|
18
|
-
├── author/
|
|
19
|
-
│ ├── CAPABILITY.md ← capability index
|
|
20
|
-
│ └── references/ ← author's supporting docs
|
|
21
|
-
│ ├── greenfield.md ← create-new-BPMN-project journey
|
|
22
|
-
│ ├── brownfield.md ← edit-existing-BPMN-project journey
|
|
23
|
-
│ ├── validation.md ← local validation checklist
|
|
24
|
-
│ └── plugins/ ← per-node-type planning + impl
|
|
25
|
-
├── operate/
|
|
26
|
-
│ ├── CAPABILITY.md ← capability index
|
|
27
|
-
│ └── references/ ← operate's supporting docs
|
|
28
|
-
│ ├── ship.md ← package/upload/publish/deploy
|
|
29
|
-
│ ├── run.md ← debug/run + status/traces
|
|
30
|
-
│ └── manage.md ← instance lifecycle
|
|
31
|
-
└── diagnose/
|
|
32
|
-
├── CAPABILITY.md ← capability index
|
|
33
|
-
└── references/ ← diagnose's supporting docs
|
|
34
|
-
├── troubleshooting-guide.md ← diagnostic priority ladder
|
|
35
|
-
└── failure-modes.md ← pattern catalog
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**Recursive pattern.** Skill = `SKILL.md` + `references/`. Capability = `CAPABILITY.md` + `references/`. The same "index next to its references" shape at two scales. Future capabilities (e.g., `governance/`) get the template for free.
|
|
39
|
-
|
|
40
|
-
**Convention:** each capability is a self-contained folder. Every file under `<capability>/references/` is implicitly that-capability-scoped — path = provenance. The `CAPABILITY.md` index is always at `<capability>/CAPABILITY.md` (uniform shape across all three).
|
|
41
|
-
|
|
42
|
-
### Capability boundary
|
|
43
|
-
|
|
44
|
-
- **Author** = on disk, locally, usually **without login** (BPMN edits, local validation, enrichment planning)
|
|
45
|
-
- **Operate** = touches the cloud, usually **requires login** (package/upload/publish/debug/run/instance lifecycle)
|
|
46
|
-
- **Diagnose** = postmortem on a failed run, usually **requires login** (incidents, variables, deployed asset, element executions, traces)
|
|
47
|
-
|
|
48
|
-
Author terminates at validation and hands off to Operate. Operate hands off to Diagnose when a run faults. Diagnose hands off back to Author for the underlying fix.
|
|
49
|
-
|
|
50
|
-
### Capability-index template
|
|
51
|
-
|
|
52
|
-
`AUTHOR.md`, `OPERATE.md`, `DIAGNOSE.md` all follow the same 6-section structure:
|
|
53
|
-
|
|
54
|
-
1. `# <Capability> — <one-line purpose>`
|
|
55
|
-
2. `## When to use this capability`
|
|
56
|
-
3. `## Critical rules`
|
|
57
|
-
4. `## Workflow`
|
|
58
|
-
5. `## Common tasks`
|
|
59
|
-
6. `## Anti-patterns`
|
|
60
|
-
7. `## References`
|
|
61
|
-
|
|
62
|
-
## Markdown anchor slugs (`[link](file.md#section-name)`)
|
|
63
|
-
|
|
64
|
-
Anchor links are computed exactly as GitHub does — getting them wrong silently produces a dead link that markdown lint won't catch.
|
|
65
|
-
|
|
66
|
-
### Slug rule
|
|
67
|
-
|
|
68
|
-
1. Lowercase the heading
|
|
69
|
-
2. Strip these characters entirely: `` ` ``, `*`, `_`, and any non-alphanumeric/non-space/non-dash character
|
|
70
|
-
3. Replace each remaining space with `-`
|
|
71
|
-
4. **Separator characters do not collapse** — each space (or em-dash that became a space-pair) becomes its own dash
|
|
72
|
-
|
|
73
|
-
### Common gotchas
|
|
74
|
-
|
|
75
|
-
| Heading | Wrong slug | Correct slug | Why |
|
|
76
|
-
| --- | --- | --- | --- |
|
|
77
|
-
| `## 5. \`--folder-key\` requirement` | `#5--folder-key-requirement` | `#5---folder-key-requirement` | After `.` strips and backticks strip: `5 --folder-key requirement`. The space between `5` and `--` becomes a dash, joining the two literal dashes from `--folder-key` → 3 dashes |
|
|
78
|
-
| `## Reused reference ID — cross-connection ID leakage` | `#reused-reference-id-cross-connection-id-leakage` | `#reused-reference-id--cross-connection-id-leakage` | The em-dash (`—`) is stripped (non-alphanumeric/space/dash), but the spaces on either side of it survive and both become dashes → 2 dashes |
|
|
79
|
-
| `## MST-9107 — \`=js:\` prefix missing` | `#mst-9107-js-prefix-missing` | `#mst-9107--js-prefix-missing` | Backticks strip from around `=js:`, then the em-dash, `=`, and `:` strip (non-alphanumeric/space/dash). The space before and after the em-dash both survive → 2 consecutive dashes between `9107` and `js` |
|
|
80
|
-
|
|
81
|
-
### Verifying anchor links
|
|
82
|
-
|
|
83
|
-
Run the anchor-checker script before committing changes that add or edit anchor links:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
bash .maintenance/check-anchors.sh
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Returns `anchors_checked=N anchors_bad=0` on success. Any non-zero `anchors_bad` lists which file → which target slug failed to resolve.
|
|
90
|
-
|
|
91
|
-
## Verifying file-path links
|
|
92
|
-
|
|
93
|
-
Run the link-checker script to catch broken `[text](path)` links:
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
bash .maintenance/check-links.sh
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Returns `checked=N broken=M`. Both checkers skip links inside fenced code blocks and inline code spans, so example links in this README and in REFACTOR-PROPOSAL.md don't trigger false positives.
|
|
100
|
-
|
|
101
|
-
## Verifying link text agrees with link URL
|
|
102
|
-
|
|
103
|
-
Run the link-text checker to catch links whose **text looks like a file** but whose **URL points elsewhere**:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
bash .maintenance/check-link-text.sh
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Returns `checked=N broken=M`. Exits non-zero on any mismatch. Three failure modes, all hard failures:
|
|
110
|
-
|
|
111
|
-
- **basename-mismatch** — text basename ≠ URL basename (e.g., text `AUTHOR.md`, URL `../CAPABILITY.md`).
|
|
112
|
-
- **prefix-mismatch** — basenames agree but the directory hint in the text contradicts the URL's directory (e.g., text `operate/manage.md`, URL `references/manage.md`). Tolerated when the text directory is a suffix of the URL directory (e.g., text `author/greenfield.md`, URL `references/author/greenfield.md`).
|
|
113
|
-
- **folder-url-but-text-is-file** — URL ends with `/` but text claims a file.
|
|
114
|
-
|
|
115
|
-
Only links whose text contains a file-like token (extension `.md`, `.sh`, `.json`, `.js`, `.ts`, `.py`, `.cs`, `.xaml`, `.flow`, `.yaml`, `.yml`) are evaluated; descriptive text like `[Edit/Write: Variable Operations](...)` is skipped. Same skip rules as `check-links.sh` (fenced code, inline code, http(s), slash commands, anchor-only).
|
|
116
|
-
|
|
117
|
-
## Verifying reachability depth
|
|
118
|
-
|
|
119
|
-
Run the depth-checker script to verify every file under `references/` is reachable from `SKILL.md` within the configured max hops (default 2):
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
bash .maintenance/check-depth.sh
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
Pass a custom max-hops value as the first argument:
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
bash .maintenance/check-depth.sh 3
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
Returns `total_files=N reachable_within=R unreachable=U exceeds_depth=E`. Folder links count as reachability for every file in the folder (per the agent-navigation convention below). Exits non-zero if any file is unreachable or exceeds the configured depth.
|
|
132
|
-
|
|
133
|
-
## Verifying capability-index template conformance
|
|
134
|
-
|
|
135
|
-
Run the template-checker script to verify each `CAPABILITY.md` follows the canonical 6-section structure (When to use / Critical rules / Workflow / Common tasks / Anti-patterns / References):
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
bash .maintenance/check-template.sh
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
Returns `capabilities_checked=N missing_sections=M`. Exits non-zero if any `CAPABILITY.md` is missing a required section. Catches drift if a future edit removes or renames a canonical section.
|
|
142
|
-
|
|
143
|
-
## Verifying no orphaned files
|
|
144
|
-
|
|
145
|
-
Run the orphan-checker script to find `.md` files under `references/` that no other `.md` file links to:
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
bash .maintenance/check-orphans.sh
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Returns `files_checked=N orphans=M`. Exits non-zero if any orphans are found. `CAPABILITY.md` files are excluded (they are entry points linked from SKILL.md and peer indexes; SKILL.md itself is excluded as the root entry point).
|
|
152
|
-
|
|
153
|
-
Orphans typically appear after a refactor that removed inbound links but didn't delete the now-unreferenced file. Folder links count as inbound for every `.md` inside the folder, matching the agent-navigation convention used by `check-depth.sh`.
|
|
154
|
-
|
|
155
|
-
## Verifying plugin folder pairs
|
|
156
|
-
|
|
157
|
-
Run the plugin-pairs checker to verify every plugin folder has both `planning.md` and `impl.md` (the per-plugin convention):
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
bash .maintenance/check-plugin-pairs.sh
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
Returns `plugins_checked=N missing_files=M`. Exits non-zero if any plugin folder is missing a required file. Catches half-deleted plugins or new plugin folders that haven't been completed.
|
|
164
|
-
|
|
165
|
-
## Verifying BPMN validation fixtures
|
|
166
|
-
|
|
167
|
-
Run the validation-fixtures checker to verify the public-safe synthetic BPMN corpus and generated package metadata:
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
bash .maintenance/check-validation-fixtures.sh
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
Returns `validation_fixture_projects=N bpmn_files=N errors=0` on success. The checker validates standard BPMN parseability, UiPath moddle/extension elements, resource binding references, Integration Service enrichment fields, generated `bindings_v2.json`, `entry-points.json`, `operate.json`, and `package-descriptor.json`, plus public-safety guardrails for fixture content.
|
|
174
|
-
|
|
175
|
-
## Verifying `uip` command references
|
|
176
|
-
|
|
177
|
-
Run the uip-command checker to verify every `uip ...` invocation resolves to a real command in the installed CLI:
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
bash .maintenance/check-uip-commands.sh
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
Returns `commands_checked=N unknown=M`. Exits non-zero if any referenced command path is unknown to `uip`. Verification is **help-only** — the checker walks each command path with `uip <prefix> --help`, confirms the requested segment appears in the parent's `Subcommands` list, and never executes the command for real. Help responses are cached per prefix.
|
|
184
|
-
|
|
185
|
-
The checker:
|
|
186
|
-
|
|
187
|
-
- Scans `SKILL.md` and `references/**/*.md`. Skips `.maintenance/` and root-level scratch files (`PLAN.md`, `PR_BODY.md`).
|
|
188
|
-
- Scans both **fenced code blocks** tagged `bash`, `sh`, `shell`, `zsh`, `console`, or unlabelled, **and inline backtick spans** like `` `uip maestro flow init` ``. Inline scanning catches doc-narrative drift that fenced-only scanning misses.
|
|
189
|
-
- Stops the path at the first flag, placeholder (`<...>`), shell metachar, comment (`#`), path-literal, or non-kebab-case token — so positional args like `uip maestro flow registry search outlook` don't get mistreated as subcommands.
|
|
190
|
-
- Treats trailing tokens after a leaf-with-positional-args (e.g. `uip maestro flow registry search <keyword>`) as arguments, not missing subcommands.
|
|
191
|
-
- Falls back gracefully if `uip` is not installed: warns and exits 0. Pass `--strict` to fail in CI.
|
|
192
|
-
|
|
193
|
-
Pass specific files to scan only those (e.g. for pre-commit on staged files):
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
bash .maintenance/check-uip-commands.sh references/shared/cli-commands.md
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
### Skipping intentional historical references
|
|
200
|
-
|
|
201
|
-
Some docs reference removed commands on purpose — for example, a CLI version-comparison table that documents a pre-restructure prefix. Add `<!-- uip-check-skip -->` anywhere on the line to suppress checking for that line:
|
|
202
|
-
|
|
203
|
-
```markdown
|
|
204
|
-
> Replace `uip maestro flow` with `uip flow` if version < 0.3.4. <!-- uip-check-skip -->
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
For table rows, place the marker **inside a cell** so it doesn't break table structure (HTML comments render as nothing):
|
|
208
|
-
|
|
209
|
-
```markdown
|
|
210
|
-
| **< 0.3.4** | `uip flow` | `uip flow init MyProject` <!-- uip-check-skip --> |
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
## Running the full suite
|
|
214
|
-
|
|
215
|
-
Run all nine checkers in one invocation:
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
bash .maintenance/check-all.sh
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
Continues running all checkers even when one fails — the goal is to surface every issue in a single pass. Exits non-zero if any checker fails.
|
|
222
|
-
|
|
223
|
-
## When to run these checkers
|
|
224
|
-
|
|
225
|
-
- Before committing changes that move files or rewrite link paths — `check-all.sh` covers everything in one pass
|
|
226
|
-
- Before merging a PR that touches `references/`
|
|
227
|
-
- After a refactoring phase
|
|
228
|
-
- After deleting a doc — run `check-orphans.sh` to confirm nothing else became orphaned
|
|
229
|
-
- Before adding a new capability — run `check-template.sh` against the new `CAPABILITY.md`
|
|
230
|
-
- After adding a new plugin — run `check-plugin-pairs.sh` to confirm both `planning.md` and `impl.md` are present
|
|
231
|
-
- After a `uip` CLI version bump — run `check-uip-commands.sh` to catch any commands that were renamed or removed
|
|
232
|
-
|
|
233
|
-
The checkers are not currently wired into CI or pre-commit hooks. They are kept as lightweight tooling in this directory so future maintainers can run them on demand.
|
|
234
|
-
|
|
235
|
-
## Reachability convention
|
|
236
|
-
|
|
237
|
-
Plugin docs (`references/author/references/plugins/<name>/{planning,impl}.md`) are linked from `author/CAPABILITY.md` via **folder links** (e.g., `[integration-service](references/plugins/integration-service/)`), not individual file links. Agents navigating to the folder discover both `planning.md` and `impl.md` there. This satisfies practical 2-hop reachability from `SKILL.md`.
|
|
238
|
-
|
|
239
|
-
The depth checker (`check-depth.sh`) treats folder links as reachability for every `.md` file inside the folder, matching this agent-navigation model. A strict file-link-only reachability check would flag plugin docs as "unreachable" — that's a false negative.
|
|
240
|
-
|
|
241
|
-
If a future change requires explicit file links (e.g., a task table needs a specific `impl.md` anchor), add the file link inline rather than relying on folder discovery.
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Run the full audit suite for this skill.
|
|
3
|
-
# Usage: bash .maintenance/check-all.sh
|
|
4
|
-
#
|
|
5
|
-
# Runs each checker in turn and prints its summary line.
|
|
6
|
-
# Exits non-zero if any checker fails. Continues running all checkers
|
|
7
|
-
# even when one fails — the goal is to surface every issue in a single pass.
|
|
8
|
-
|
|
9
|
-
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
10
|
-
cd "$ROOT" || exit 1
|
|
11
|
-
|
|
12
|
-
CHECKERS=(
|
|
13
|
-
"check-links.sh"
|
|
14
|
-
"check-link-text.sh"
|
|
15
|
-
"check-anchors.sh"
|
|
16
|
-
"check-depth.sh"
|
|
17
|
-
"check-template.sh"
|
|
18
|
-
"check-orphans.sh"
|
|
19
|
-
"check-plugin-pairs.sh"
|
|
20
|
-
"check-validation-fixtures.sh"
|
|
21
|
-
"check-real-pack.sh"
|
|
22
|
-
"check-uip-commands.sh"
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
overall=0
|
|
26
|
-
|
|
27
|
-
for checker in "${CHECKERS[@]}"; do
|
|
28
|
-
echo "=== $checker ==="
|
|
29
|
-
if ! /bin/bash ".maintenance/$checker"; then
|
|
30
|
-
overall=1
|
|
31
|
-
fi
|
|
32
|
-
echo ""
|
|
33
|
-
done
|
|
34
|
-
|
|
35
|
-
if [ "$overall" -eq 0 ]; then
|
|
36
|
-
echo "All checks passed."
|
|
37
|
-
else
|
|
38
|
-
echo "One or more checks failed. See output above for details."
|
|
39
|
-
fi
|
|
40
|
-
|
|
41
|
-
exit "$overall"
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Verify every markdown anchor link (`[text](file.md#anchor)`) resolves to an actual heading in the target file.
|
|
3
|
-
# Usage: bash .maintenance/check-anchors.sh
|
|
4
|
-
# Output: BAD ANCHOR lines per failure, then "anchors_checked=N anchors_bad=M" summary.
|
|
5
|
-
#
|
|
6
|
-
# Skips:
|
|
7
|
-
# - links inside fenced code blocks (```...```)
|
|
8
|
-
# - links inside inline code spans (`...`)
|
|
9
|
-
# - links without a `#anchor` fragment
|
|
10
|
-
# - http(s):// links
|
|
11
|
-
# - slash-command links
|
|
12
|
-
# - same-file anchor-only links (#anchor without a path)
|
|
13
|
-
# - links to files that don't exist (those are caught by check-links.sh, not this checker)
|
|
14
|
-
#
|
|
15
|
-
# Slug rule (matches GitHub heading-anchor generation):
|
|
16
|
-
# 1. Lowercase the heading
|
|
17
|
-
# 2. Strip backtick, asterisk, underscore, and any non-alphanumeric/non-space/non-dash character
|
|
18
|
-
# 3. Replace each remaining space with `-`
|
|
19
|
-
# 4. Separator characters do not collapse
|
|
20
|
-
#
|
|
21
|
-
# See .maintenance/README.md for common gotchas.
|
|
22
|
-
|
|
23
|
-
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
24
|
-
cd "$ROOT" || exit 1
|
|
25
|
-
|
|
26
|
-
heading_anchors() {
|
|
27
|
-
/usr/bin/awk '
|
|
28
|
-
/^#{1,6} /{
|
|
29
|
-
sub(/^#+ /, "");
|
|
30
|
-
gsub(/[`*_]/, "");
|
|
31
|
-
anchor = tolower($0);
|
|
32
|
-
gsub(/[^a-z0-9 -]/, "", anchor);
|
|
33
|
-
gsub(/ /, "-", anchor);
|
|
34
|
-
print anchor;
|
|
35
|
-
}' "$1"
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
# Per-file: strip fenced code blocks and inline code spans, then extract links.
|
|
39
|
-
extract_links() {
|
|
40
|
-
/usr/bin/awk '
|
|
41
|
-
/^```/ { fenced = !fenced; next }
|
|
42
|
-
!fenced {
|
|
43
|
-
gsub(/`[^`]*`/, "", $0)
|
|
44
|
-
while (match($0, /\]\([^)]+\)/)) {
|
|
45
|
-
link = substr($0, RSTART, RLENGTH)
|
|
46
|
-
sub(/^\]\(/, "", link)
|
|
47
|
-
sub(/\)$/, "", link)
|
|
48
|
-
print link
|
|
49
|
-
$0 = substr($0, RSTART + RLENGTH)
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
' "$1"
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
broken=0
|
|
56
|
-
checked=0
|
|
57
|
-
|
|
58
|
-
while IFS= read -r srcfile; do
|
|
59
|
-
while IFS= read -r raw; do
|
|
60
|
-
case "$raw" in
|
|
61
|
-
\#*) continue ;;
|
|
62
|
-
http*|/uipath*) continue ;;
|
|
63
|
-
esac
|
|
64
|
-
[[ "$raw" != *#* ]] && continue
|
|
65
|
-
target_path="${raw%%#*}"
|
|
66
|
-
anchor="${raw#*#}"
|
|
67
|
-
[ -z "$target_path" ] && continue
|
|
68
|
-
srcdir=$(/usr/bin/dirname "$srcfile")
|
|
69
|
-
full="$srcdir/$target_path"
|
|
70
|
-
resolved=$(cd "$(/usr/bin/dirname "$full")" 2>/dev/null && /bin/pwd)/$(/usr/bin/basename "$full")
|
|
71
|
-
[ ! -f "$resolved" ] && continue
|
|
72
|
-
checked=$((checked+1))
|
|
73
|
-
if heading_anchors "$resolved" | /usr/bin/grep -qx "$anchor"; then
|
|
74
|
-
:
|
|
75
|
-
else
|
|
76
|
-
echo "BAD ANCHOR $srcfile -> $raw"
|
|
77
|
-
broken=$((broken+1))
|
|
78
|
-
fi
|
|
79
|
-
done < <(extract_links "$srcfile")
|
|
80
|
-
done < <(/usr/bin/find . -name "*.md" -type f)
|
|
81
|
-
|
|
82
|
-
echo ""
|
|
83
|
-
echo "anchors_checked=$checked anchors_bad=$broken"
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Verify every markdown file under references/ is reachable from SKILL.md within the configured max hops.
|
|
3
|
-
# Usage: bash .maintenance/check-depth.sh [MAX_HOPS]
|
|
4
|
-
# Default MAX_HOPS=2. Output per file: "DEPTH=N path/to/file.md" + summary.
|
|
5
|
-
#
|
|
6
|
-
# Counts BFS hops via outbound links. Folder links count as reachability for every file in the folder
|
|
7
|
-
# (per the convention documented in .maintenance/README.md — folder links satisfy practical reachability).
|
|
8
|
-
#
|
|
9
|
-
# Skips:
|
|
10
|
-
# - Links inside fenced code blocks (```...```)
|
|
11
|
-
# - Links inside inline code spans (`...`)
|
|
12
|
-
# - http(s):// links
|
|
13
|
-
# - Anchor-only links (#anchor)
|
|
14
|
-
# - Slash-command links (/uipath:..., /uipath-feedback)
|
|
15
|
-
#
|
|
16
|
-
# Exits non-zero if any file exceeds MAX_HOPS or is unreachable.
|
|
17
|
-
# Compatible with bash 3.2 (no associative arrays — uses tab-separated state files).
|
|
18
|
-
|
|
19
|
-
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
20
|
-
cd "$ROOT" || exit 1
|
|
21
|
-
|
|
22
|
-
MAX_HOPS="${1:-2}"
|
|
23
|
-
|
|
24
|
-
# State files: each line is "<depth>\t<absolute_path>"
|
|
25
|
-
visited=$(/usr/bin/mktemp)
|
|
26
|
-
frontier=$(/usr/bin/mktemp)
|
|
27
|
-
next_frontier=$(/usr/bin/mktemp)
|
|
28
|
-
trap 'rm -f "$visited" "$frontier" "$next_frontier"' EXIT
|
|
29
|
-
|
|
30
|
-
# Per-file: strip fenced code blocks and inline code spans, then extract links.
|
|
31
|
-
extract_links() {
|
|
32
|
-
/usr/bin/awk '
|
|
33
|
-
/^```/ { fenced = !fenced; next }
|
|
34
|
-
!fenced {
|
|
35
|
-
gsub(/`[^`]*`/, "", $0)
|
|
36
|
-
while (match($0, /\]\([^)]+\)/)) {
|
|
37
|
-
link = substr($0, RSTART, RLENGTH)
|
|
38
|
-
sub(/^\]\(/, "", link)
|
|
39
|
-
sub(/\)$/, "", link)
|
|
40
|
-
print link
|
|
41
|
-
$0 = substr($0, RSTART + RLENGTH)
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
' "$1"
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
resolve_link() {
|
|
48
|
-
local from_file="$1"
|
|
49
|
-
local link="$2"
|
|
50
|
-
link="${link%%#*}"
|
|
51
|
-
[ -z "$link" ] && return 1
|
|
52
|
-
case "$link" in
|
|
53
|
-
http://*|https://*) return 1 ;;
|
|
54
|
-
/uipath:*|/uipath-feedback*) return 1 ;;
|
|
55
|
-
esac
|
|
56
|
-
local from_dir
|
|
57
|
-
from_dir=$(/usr/bin/dirname "$from_file")
|
|
58
|
-
local target="$from_dir/$link"
|
|
59
|
-
local resolved_dir
|
|
60
|
-
resolved_dir=$(cd "$(/usr/bin/dirname "$target")" 2>/dev/null && /bin/pwd)
|
|
61
|
-
[ -z "$resolved_dir" ] && return 1
|
|
62
|
-
echo "$resolved_dir/$(/usr/bin/basename "$target")"
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
is_visited() {
|
|
66
|
-
/usr/bin/grep -q " $1$" "$visited"
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
mark_visited() {
|
|
70
|
-
printf "%s\t%s\n" "$1" "$2" >> "$visited"
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
depth_of() {
|
|
74
|
-
/usr/bin/awk -F'\t' -v p="$1" '$2 == p { print $1; exit }' "$visited"
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# Seed with SKILL.md at depth 0
|
|
78
|
-
mark_visited 0 "$ROOT/SKILL.md"
|
|
79
|
-
echo "$ROOT/SKILL.md" > "$frontier"
|
|
80
|
-
|
|
81
|
-
current_depth=0
|
|
82
|
-
while [ -s "$frontier" ] && [ "$current_depth" -lt "$MAX_HOPS" ]; do
|
|
83
|
-
: > "$next_frontier"
|
|
84
|
-
while IFS= read -r file; do
|
|
85
|
-
[ -z "$file" ] && continue
|
|
86
|
-
while IFS= read -r raw_link; do
|
|
87
|
-
target=$(resolve_link "$file" "$raw_link") || continue
|
|
88
|
-
[ -z "$target" ] && continue
|
|
89
|
-
if [ -d "$target" ]; then
|
|
90
|
-
while IFS= read -r f; do
|
|
91
|
-
[ -z "$f" ] && continue
|
|
92
|
-
if ! is_visited "$f"; then
|
|
93
|
-
mark_visited $((current_depth + 1)) "$f"
|
|
94
|
-
echo "$f" >> "$next_frontier"
|
|
95
|
-
fi
|
|
96
|
-
done < <(/usr/bin/find "$target" -name "*.md" -type f)
|
|
97
|
-
elif [ -f "$target" ]; then
|
|
98
|
-
if ! is_visited "$target"; then
|
|
99
|
-
mark_visited $((current_depth + 1)) "$target"
|
|
100
|
-
echo "$target" >> "$next_frontier"
|
|
101
|
-
fi
|
|
102
|
-
fi
|
|
103
|
-
done < <(extract_links "$file")
|
|
104
|
-
done < "$frontier"
|
|
105
|
-
/bin/cp "$next_frontier" "$frontier"
|
|
106
|
-
current_depth=$((current_depth + 1))
|
|
107
|
-
done
|
|
108
|
-
|
|
109
|
-
# Report — every .md under references/ should be visited within MAX_HOPS
|
|
110
|
-
total=0
|
|
111
|
-
unreachable=0
|
|
112
|
-
exceeded=0
|
|
113
|
-
while IFS= read -r f; do
|
|
114
|
-
[ -z "$f" ] && continue
|
|
115
|
-
total=$((total + 1))
|
|
116
|
-
d=$(depth_of "$f")
|
|
117
|
-
if [ -z "$d" ]; then
|
|
118
|
-
echo "UNREACHABLE ${f#$ROOT/}"
|
|
119
|
-
unreachable=$((unreachable + 1))
|
|
120
|
-
elif [ "$d" -gt "$MAX_HOPS" ]; then
|
|
121
|
-
echo "EXCEEDS_DEPTH ($d > $MAX_HOPS) ${f#$ROOT/}"
|
|
122
|
-
exceeded=$((exceeded + 1))
|
|
123
|
-
fi
|
|
124
|
-
done < <(/usr/bin/find "$ROOT/references" -name "*.md" -type f | /usr/bin/sort -u)
|
|
125
|
-
|
|
126
|
-
echo ""
|
|
127
|
-
echo "max_hops=$MAX_HOPS total_files=$total reachable_within=$((total - unreachable - exceeded)) unreachable=$unreachable exceeds_depth=$exceeded"
|
|
128
|
-
|
|
129
|
-
if [ "$unreachable" -gt 0 ] || [ "$exceeded" -gt 0 ]; then
|
|
130
|
-
exit 1
|
|
131
|
-
fi
|
|
132
|
-
exit 0
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Verify markdown link text agrees with link URL when text contains a file-like token.
|
|
3
|
-
# Usage: bash .maintenance/check-link-text.sh
|
|
4
|
-
# Output: BROKEN lines per failure, then "checked=N broken=M" summary.
|
|
5
|
-
#
|
|
6
|
-
# Failure modes (all hard failures):
|
|
7
|
-
# - basename-mismatch: text contains a file-like token whose basename != URL basename.
|
|
8
|
-
# - prefix-mismatch: basenames match but the directory prefix in the text doesn't match
|
|
9
|
-
# the URL's directory (and isn't a suffix of it). Catches misleading text like
|
|
10
|
-
# "operate/manage.md" pointing to "references/manage.md".
|
|
11
|
-
# - folder-url-but-text-is-file: URL ends with "/" but text claims a file.
|
|
12
|
-
#
|
|
13
|
-
# Skips:
|
|
14
|
-
# - links inside fenced code blocks (```...```)
|
|
15
|
-
# - links inside inline code spans (`...`)
|
|
16
|
-
# - http(s):// links
|
|
17
|
-
# - slash-command links (/uipath:..., /uipath-feedback)
|
|
18
|
-
# - same-file anchor-only links (#anchor)
|
|
19
|
-
# - image links ()
|
|
20
|
-
# - links whose text contains no file-like token
|
|
21
|
-
#
|
|
22
|
-
# File-like token regex: [A-Za-z0-9_./-]+\.(md|sh|json|js|ts|py|cs|xaml|flow|yaml|yml)
|
|
23
|
-
#
|
|
24
|
-
# Run from any directory; resolves to the skill root automatically.
|
|
25
|
-
|
|
26
|
-
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
27
|
-
cd "$ROOT" || exit 1
|
|
28
|
-
|
|
29
|
-
broken=0
|
|
30
|
-
checked=0
|
|
31
|
-
|
|
32
|
-
# Per-file: strip fenced code blocks and inline code spans, then emit "lineno<TAB>text<TAB>url"
|
|
33
|
-
# for every non-image link on every line.
|
|
34
|
-
extract_pairs() {
|
|
35
|
-
/usr/bin/awk '
|
|
36
|
-
/^```/ { fenced = !fenced; next }
|
|
37
|
-
!fenced {
|
|
38
|
-
lineno = NR
|
|
39
|
-
line = $0
|
|
40
|
-
gsub(/`[^`]*`/, "", line)
|
|
41
|
-
while (match(line, /\[[^]]*\]\([^)]+\)/)) {
|
|
42
|
-
m = substr(line, RSTART, RLENGTH)
|
|
43
|
-
# Skip image links: 
|
|
44
|
-
if (RSTART > 1 && substr(line, RSTART - 1, 1) == "!") {
|
|
45
|
-
line = substr(line, RSTART + RLENGTH)
|
|
46
|
-
continue
|
|
47
|
-
}
|
|
48
|
-
ti = index(m, "](")
|
|
49
|
-
text = substr(m, 2, ti - 2)
|
|
50
|
-
url = substr(m, ti + 2, length(m) - ti - 2)
|
|
51
|
-
printf "%d\t%s\t%s\n", lineno, text, url
|
|
52
|
-
line = substr(line, RSTART + RLENGTH)
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
' "$1"
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
# Extract the first file-like token from a string. Empty if none found.
|
|
59
|
-
first_file_token() {
|
|
60
|
-
printf '%s' "$1" | /usr/bin/grep -oE '[A-Za-z0-9_./-]+\.(md|sh|json|js|ts|py|cs|xaml|flow|yaml|yml)' | /usr/bin/head -n1
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
while IFS= read -r srcfile; do
|
|
64
|
-
while IFS=$'\t' read -r lineno text url; do
|
|
65
|
-
[ -z "$url" ] && continue
|
|
66
|
-
|
|
67
|
-
case "$url" in
|
|
68
|
-
http://*|https://*) continue ;;
|
|
69
|
-
/uipath:*|/uipath-feedback*) continue ;;
|
|
70
|
-
\#*) continue ;;
|
|
71
|
-
esac
|
|
72
|
-
|
|
73
|
-
url_nofrag="${url%%#*}"
|
|
74
|
-
[ -z "$url_nofrag" ] && continue
|
|
75
|
-
|
|
76
|
-
text_token=$(first_file_token "$text")
|
|
77
|
-
[ -z "$text_token" ] && continue
|
|
78
|
-
|
|
79
|
-
checked=$((checked+1))
|
|
80
|
-
|
|
81
|
-
case "$url_nofrag" in
|
|
82
|
-
*/)
|
|
83
|
-
echo "BROKEN $srcfile:$lineno -> text=\"$text\" url=$url reason=folder-url-but-text-is-file"
|
|
84
|
-
broken=$((broken+1))
|
|
85
|
-
continue
|
|
86
|
-
;;
|
|
87
|
-
esac
|
|
88
|
-
|
|
89
|
-
text_base="${text_token##*/}"
|
|
90
|
-
url_base="${url_nofrag##*/}"
|
|
91
|
-
|
|
92
|
-
if [ "$text_base" != "$url_base" ]; then
|
|
93
|
-
echo "BROKEN $srcfile:$lineno -> text=\"$text\" url=$url reason=basename-mismatch"
|
|
94
|
-
broken=$((broken+1))
|
|
95
|
-
continue
|
|
96
|
-
fi
|
|
97
|
-
|
|
98
|
-
# Basenames match. Check directory coherence.
|
|
99
|
-
text_dir="${text_token%/*}"
|
|
100
|
-
[ "$text_dir" = "$text_token" ] && text_dir=""
|
|
101
|
-
url_dir="${url_nofrag%/*}"
|
|
102
|
-
[ "$url_dir" = "$url_nofrag" ] && url_dir=""
|
|
103
|
-
|
|
104
|
-
if [ -n "$text_dir" ] && [ "$text_dir" != "$url_dir" ]; then
|
|
105
|
-
# Tolerate the case where the text directory is a suffix of the URL directory
|
|
106
|
-
# (e.g., text "author/greenfield.md" vs. url "references/author/greenfield.md").
|
|
107
|
-
mismatch=1
|
|
108
|
-
case "/$url_dir/" in
|
|
109
|
-
*/"$text_dir"/*) mismatch=0 ;;
|
|
110
|
-
esac
|
|
111
|
-
if [ "$mismatch" -eq 1 ]; then
|
|
112
|
-
echo "BROKEN $srcfile:$lineno -> text=\"$text\" url=$url reason=prefix-mismatch"
|
|
113
|
-
broken=$((broken+1))
|
|
114
|
-
fi
|
|
115
|
-
fi
|
|
116
|
-
done < <(extract_pairs "$srcfile")
|
|
117
|
-
done < <(/usr/bin/find . -name "*.md" -type f)
|
|
118
|
-
|
|
119
|
-
echo ""
|
|
120
|
-
echo "checked=$checked broken=$broken"
|
|
121
|
-
|
|
122
|
-
[ "$broken" -gt 0 ] && exit 1
|
|
123
|
-
exit 0
|