@vibe-agent-toolkit/cli 0.2.0-rc.11 → 0.2.0-rc.12
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/README.md +3 -3
- package/dist/bin/supervise-cli.d.ts +45 -0
- package/dist/bin/supervise-cli.d.ts.map +1 -0
- package/dist/bin/supervise-cli.js +83 -0
- package/dist/bin/supervise-cli.js.map +1 -0
- package/dist/bin/vat +95 -43
- package/dist/bin/vat.d.ts +15 -4
- package/dist/bin/vat.d.ts.map +1 -1
- package/dist/bin/vat.js +95 -43
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +21 -29
- package/dist/bin.js.map +1 -1
- package/dist/command-tree.d.ts +45 -0
- package/dist/command-tree.d.ts.map +1 -0
- package/dist/command-tree.js +60 -0
- package/dist/command-tree.js.map +1 -0
- package/dist/commands/agent/build-schema.d.ts +100 -0
- package/dist/commands/agent/build-schema.d.ts.map +1 -0
- package/dist/commands/agent/build-schema.js +32 -0
- package/dist/commands/agent/build-schema.js.map +1 -0
- package/dist/commands/agent/build.d.ts +1 -0
- package/dist/commands/agent/build.d.ts.map +1 -1
- package/dist/commands/agent/build.js +63 -33
- package/dist/commands/agent/build.js.map +1 -1
- package/dist/commands/agent/import-schema.d.ts +75 -0
- package/dist/commands/agent/import-schema.d.ts.map +1 -0
- package/dist/commands/agent/import-schema.js +25 -0
- package/dist/commands/agent/import-schema.js.map +1 -0
- package/dist/commands/agent/import.d.ts.map +1 -1
- package/dist/commands/agent/import.js +33 -27
- package/dist/commands/agent/import.js.map +1 -1
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +132 -37
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/install-path.d.ts.map +1 -1
- package/dist/commands/agent/install-path.js +2 -1
- package/dist/commands/agent/install-path.js.map +1 -1
- package/dist/commands/agent/install-schema.d.ts +89 -0
- package/dist/commands/agent/install-schema.d.ts.map +1 -0
- package/dist/commands/agent/install-schema.js +29 -0
- package/dist/commands/agent/install-schema.js.map +1 -0
- package/dist/commands/agent/install.d.ts +7 -1
- package/dist/commands/agent/install.d.ts.map +1 -1
- package/dist/commands/agent/install.js +78 -108
- package/dist/commands/agent/install.js.map +1 -1
- package/dist/commands/agent/installed-schema.d.ts +140 -0
- package/dist/commands/agent/installed-schema.d.ts.map +1 -0
- package/dist/commands/agent/installed-schema.js +36 -0
- package/dist/commands/agent/installed-schema.js.map +1 -0
- package/dist/commands/agent/installed.d.ts +1 -1
- package/dist/commands/agent/installed.d.ts.map +1 -1
- package/dist/commands/agent/installed.js +104 -75
- package/dist/commands/agent/installed.js.map +1 -1
- package/dist/commands/agent/list-schema.d.ts +128 -0
- package/dist/commands/agent/list-schema.d.ts.map +1 -0
- package/dist/commands/agent/list-schema.js +34 -0
- package/dist/commands/agent/list-schema.js.map +1 -0
- package/dist/commands/agent/list.d.ts +4 -3
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +50 -37
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/agent/run.d.ts +3 -0
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +8 -3
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/uninstall-schema.d.ts +89 -0
- package/dist/commands/agent/uninstall-schema.d.ts.map +1 -0
- package/dist/commands/agent/uninstall-schema.js +29 -0
- package/dist/commands/agent/uninstall-schema.js.map +1 -0
- package/dist/commands/agent/uninstall.d.ts +5 -1
- package/dist/commands/agent/uninstall.d.ts.map +1 -1
- package/dist/commands/agent/uninstall.js +50 -38
- package/dist/commands/agent/uninstall.js.map +1 -1
- package/dist/commands/agent/validate-schema.d.ts +129 -0
- package/dist/commands/agent/validate-schema.d.ts.map +1 -0
- package/dist/commands/agent/validate-schema.js +35 -0
- package/dist/commands/agent/validate-schema.js.map +1 -0
- package/dist/commands/agent/validate.d.ts +6 -0
- package/dist/commands/agent/validate.d.ts.map +1 -1
- package/dist/commands/agent/validate.js +64 -36
- package/dist/commands/agent/validate.js.map +1 -1
- package/dist/commands/ard/emit-schema.d.ts +108 -0
- package/dist/commands/ard/emit-schema.d.ts.map +1 -0
- package/dist/commands/ard/emit-schema.js +37 -0
- package/dist/commands/ard/emit-schema.js.map +1 -0
- package/dist/commands/ard/emit.d.ts +21 -65
- package/dist/commands/ard/emit.d.ts.map +1 -1
- package/dist/commands/ard/emit.js +68 -74
- package/dist/commands/ard/emit.js.map +1 -1
- package/dist/commands/ard/index.d.ts.map +1 -1
- package/dist/commands/ard/index.js +14 -11
- package/dist/commands/ard/index.js.map +1 -1
- package/dist/commands/audit/compat-lane-findings.d.ts +65 -0
- package/dist/commands/audit/compat-lane-findings.d.ts.map +1 -0
- package/dist/commands/audit/compat-lane-findings.js +72 -0
- package/dist/commands/audit/compat-lane-findings.js.map +1 -0
- package/dist/commands/audit/distributed-tree.d.ts +2 -2
- package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
- package/dist/commands/audit/distributed-tree.js +23 -12
- package/dist/commands/audit/distributed-tree.js.map +1 -1
- package/dist/commands/audit/git-url-clone.d.ts +15 -7
- package/dist/commands/audit/git-url-clone.d.ts.map +1 -1
- package/dist/commands/audit/git-url-clone.js +85 -42
- package/dist/commands/audit/git-url-clone.js.map +1 -1
- package/dist/commands/audit/hierarchical-output.d.ts +28 -4
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js +44 -27
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit/scan-population.d.ts.map +1 -1
- package/dist/commands/audit/scan-population.js +2 -1
- package/dist/commands/audit/scan-population.js.map +1 -1
- package/dist/commands/audit-schema.d.ts +1247 -0
- package/dist/commands/audit-schema.d.ts.map +1 -0
- package/dist/commands/audit-schema.js +139 -0
- package/dist/commands/audit-schema.js.map +1 -0
- package/dist/commands/audit-settings-schema.d.ts +417 -0
- package/dist/commands/audit-settings-schema.d.ts.map +1 -0
- package/dist/commands/audit-settings-schema.js +77 -0
- package/dist/commands/audit-settings-schema.js.map +1 -0
- package/dist/commands/audit-settings.d.ts +28 -9
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +215 -151
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +72 -33
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +405 -411
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts +61 -4
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +176 -190
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cache/clear-schema.d.ts +111 -0
- package/dist/commands/cache/clear-schema.d.ts.map +1 -0
- package/dist/commands/cache/clear-schema.js +37 -0
- package/dist/commands/cache/clear-schema.js.map +1 -0
- package/dist/commands/cache/clear.d.ts +28 -26
- package/dist/commands/cache/clear.d.ts.map +1 -1
- package/dist/commands/cache/clear.js +108 -103
- package/dist/commands/cache/clear.js.map +1 -1
- package/dist/commands/cache/index.d.ts.map +1 -1
- package/dist/commands/cache/index.js +13 -7
- package/dist/commands/cache/index.js.map +1 -1
- package/dist/commands/claude/claude-config.d.ts +23 -6
- package/dist/commands/claude/claude-config.d.ts.map +1 -1
- package/dist/commands/claude/claude-config.js +29 -15
- package/dist/commands/claude/claude-config.js.map +1 -1
- package/dist/commands/claude/context.d.ts +55 -2
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +74 -50
- package/dist/commands/claude/context.js.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.js +2 -2
- package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts +14 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +135 -68
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts +3 -5
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +16 -7
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish-schema.d.ts +137 -0
- package/dist/commands/claude/marketplace/publish-schema.d.ts.map +1 -0
- package/dist/commands/claude/marketplace/publish-schema.js +32 -0
- package/dist/commands/claude/marketplace/publish-schema.js.map +1 -0
- package/dist/commands/claude/marketplace/publish-tree.d.ts +6 -0
- package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.js +75 -17
- package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.d.ts +27 -0
- package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +84 -50
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate-schema.d.ts +362 -0
- package/dist/commands/claude/marketplace/validate-schema.d.ts.map +1 -0
- package/dist/commands/claude/marketplace/validate-schema.js +67 -0
- package/dist/commands/claude/marketplace/validate-schema.js.map +1 -0
- package/dist/commands/claude/marketplace/validate.d.ts +40 -53
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +358 -214
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/api-keys.d.ts +3 -0
- package/dist/commands/claude/org/api-keys.d.ts.map +1 -1
- package/dist/commands/claude/org/api-keys.js +4 -5
- package/dist/commands/claude/org/api-keys.js.map +1 -1
- package/dist/commands/claude/org/code-analytics.js +1 -1
- package/dist/commands/claude/org/code-analytics.js.map +1 -1
- package/dist/commands/claude/org/cost.d.ts.map +1 -1
- package/dist/commands/claude/org/cost.js +11 -33
- package/dist/commands/claude/org/cost.js.map +1 -1
- package/dist/commands/claude/org/helpers.d.ts +40 -27
- package/dist/commands/claude/org/helpers.d.ts.map +1 -1
- package/dist/commands/claude/org/helpers.js +61 -66
- package/dist/commands/claude/org/helpers.js.map +1 -1
- package/dist/commands/claude/org/index.d.ts.map +1 -1
- package/dist/commands/claude/org/index.js +10 -4
- package/dist/commands/claude/org/index.js.map +1 -1
- package/dist/commands/claude/org/info.d.ts.map +1 -1
- package/dist/commands/claude/org/info.js +2 -3
- package/dist/commands/claude/org/info.js.map +1 -1
- package/dist/commands/claude/org/invites.d.ts +3 -0
- package/dist/commands/claude/org/invites.d.ts.map +1 -1
- package/dist/commands/claude/org/invites.js +5 -7
- package/dist/commands/claude/org/invites.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +76 -21
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +273 -246
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/org/stubs-schema.d.ts +56 -0
- package/dist/commands/claude/org/stubs-schema.d.ts.map +1 -0
- package/dist/commands/claude/org/stubs-schema.js +23 -0
- package/dist/commands/claude/org/stubs-schema.js.map +1 -0
- package/dist/commands/claude/org/stubs.d.ts +8 -3
- package/dist/commands/claude/org/stubs.d.ts.map +1 -1
- package/dist/commands/claude/org/stubs.js +9 -9
- package/dist/commands/claude/org/stubs.js.map +1 -1
- package/dist/commands/claude/org/usage.d.ts.map +1 -1
- package/dist/commands/claude/org/usage.js +1 -2
- package/dist/commands/claude/org/usage.js.map +1 -1
- package/dist/commands/claude/org/users.d.ts +3 -0
- package/dist/commands/claude/org/users.d.ts.map +1 -1
- package/dist/commands/claude/org/users.js +6 -8
- package/dist/commands/claude/org/users.js.map +1 -1
- package/dist/commands/claude/org/workspaces.d.ts +3 -0
- package/dist/commands/claude/org/workspaces.d.ts.map +1 -1
- package/dist/commands/claude/org/workspaces.js +10 -15
- package/dist/commands/claude/org/workspaces.js.map +1 -1
- package/dist/commands/claude/plugin/build-schema.d.ts +642 -0
- package/dist/commands/claude/plugin/build-schema.d.ts.map +1 -0
- package/dist/commands/claude/plugin/build-schema.js +51 -0
- package/dist/commands/claude/plugin/build-schema.js.map +1 -0
- package/dist/commands/claude/plugin/build.d.ts +220 -45
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +466 -249
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/helpers.d.ts +186 -24
- package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
- package/dist/commands/claude/plugin/helpers.js +110 -68
- package/dist/commands/claude/plugin/helpers.js.map +1 -1
- package/dist/commands/claude/plugin/install-schema.d.ts +144 -0
- package/dist/commands/claude/plugin/install-schema.d.ts.map +1 -0
- package/dist/commands/claude/plugin/install-schema.js +36 -0
- package/dist/commands/claude/plugin/install-schema.js.map +1 -0
- package/dist/commands/claude/plugin/install.d.ts +191 -11
- package/dist/commands/claude/plugin/install.d.ts.map +1 -1
- package/dist/commands/claude/plugin/install.js +688 -628
- package/dist/commands/claude/plugin/install.js.map +1 -1
- package/dist/commands/claude/plugin/kept-findings.d.ts +19 -0
- package/dist/commands/claude/plugin/kept-findings.d.ts.map +1 -0
- package/dist/commands/claude/plugin/kept-findings.js +24 -0
- package/dist/commands/claude/plugin/kept-findings.js.map +1 -0
- package/dist/commands/claude/plugin/list-schema.d.ts +223 -0
- package/dist/commands/claude/plugin/list-schema.d.ts.map +1 -0
- package/dist/commands/claude/plugin/list-schema.js +34 -0
- package/dist/commands/claude/plugin/list-schema.js.map +1 -0
- package/dist/commands/claude/plugin/list.d.ts +18 -0
- package/dist/commands/claude/plugin/list.d.ts.map +1 -1
- package/dist/commands/claude/plugin/list.js +53 -45
- package/dist/commands/claude/plugin/list.js.map +1 -1
- package/dist/commands/claude/plugin/npm-pack.d.ts +15 -0
- package/dist/commands/claude/plugin/npm-pack.d.ts.map +1 -0
- package/dist/commands/claude/plugin/npm-pack.js +39 -0
- package/dist/commands/claude/plugin/npm-pack.js.map +1 -0
- package/dist/commands/claude/plugin/plugin-changelog.d.ts +5 -1
- package/dist/commands/claude/plugin/plugin-changelog.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-changelog.js +9 -5
- package/dist/commands/claude/plugin/plugin-changelog.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.d.ts +21 -2
- package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.js +65 -32
- package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.d.ts +13 -0
- package/dist/commands/claude/plugin/plugin-validators.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.js +64 -16
- package/dist/commands/claude/plugin/plugin-validators.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +63 -37
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/claude/plugin/uninstall-schema.d.ts +112 -0
- package/dist/commands/claude/plugin/uninstall-schema.d.ts.map +1 -0
- package/dist/commands/claude/plugin/uninstall-schema.js +28 -0
- package/dist/commands/claude/plugin/uninstall-schema.js.map +1 -0
- package/dist/commands/claude/plugin/uninstall.d.ts +57 -0
- package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
- package/dist/commands/claude/plugin/uninstall.js +176 -64
- package/dist/commands/claude/plugin/uninstall.js.map +1 -1
- package/dist/commands/consistency-check.d.ts.map +1 -1
- package/dist/commands/consistency-check.js +8 -6
- package/dist/commands/consistency-check.js.map +1 -1
- package/dist/commands/corpus/index.d.ts.map +1 -1
- package/dist/commands/corpus/index.js +26 -10
- package/dist/commands/corpus/index.js.map +1 -1
- package/dist/commands/corpus/report.d.ts +34 -16
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +36 -18
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts +25 -20
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +123 -67
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/corpus/scan-schema.d.ts +127 -0
- package/dist/commands/corpus/scan-schema.d.ts.map +1 -0
- package/dist/commands/corpus/scan-schema.js +31 -0
- package/dist/commands/corpus/scan-schema.js.map +1 -0
- package/dist/commands/corpus/scan.d.ts +31 -0
- package/dist/commands/corpus/scan.d.ts.map +1 -1
- package/dist/commands/corpus/scan.js +124 -50
- package/dist/commands/corpus/scan.js.map +1 -1
- package/dist/commands/corpus/seed.d.ts +11 -8
- package/dist/commands/corpus/seed.d.ts.map +1 -1
- package/dist/commands/corpus/seed.js +29 -11
- package/dist/commands/corpus/seed.js.map +1 -1
- package/dist/commands/doctor-render.d.ts +52 -0
- package/dist/commands/doctor-render.d.ts.map +1 -0
- package/dist/commands/doctor-render.js +110 -0
- package/dist/commands/doctor-render.js.map +1 -0
- package/dist/commands/doctor-schema.d.ts +191 -0
- package/dist/commands/doctor-schema.d.ts.map +1 -0
- package/dist/commands/doctor-schema.js +44 -0
- package/dist/commands/doctor-schema.js.map +1 -0
- package/dist/commands/doctor.d.ts +7 -62
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +126 -165
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory-schema.d.ts +7297 -0
- package/dist/commands/inventory-schema.d.ts.map +1 -0
- package/dist/commands/inventory-schema.js +28 -0
- package/dist/commands/inventory-schema.js.map +1 -0
- package/dist/commands/inventory.d.ts +1 -1
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +89 -41
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/mcp/index.d.ts.map +1 -1
- package/dist/commands/mcp/index.js +15 -0
- package/dist/commands/mcp/index.js.map +1 -1
- package/dist/commands/mcp/list-collections-schema.d.ts +101 -0
- package/dist/commands/mcp/list-collections-schema.d.ts.map +1 -0
- package/dist/commands/mcp/list-collections-schema.js +22 -0
- package/dist/commands/mcp/list-collections-schema.js.map +1 -0
- package/dist/commands/mcp/list-collections.d.ts +1 -1
- package/dist/commands/mcp/list-collections.d.ts.map +1 -1
- package/dist/commands/mcp/list-collections.js +19 -17
- package/dist/commands/mcp/list-collections.js.map +1 -1
- package/dist/commands/mcp/serve.d.ts +5 -0
- package/dist/commands/mcp/serve.d.ts.map +1 -1
- package/dist/commands/mcp/serve.js +29 -15
- package/dist/commands/mcp/serve.js.map +1 -1
- package/dist/commands/okf/index.d.ts.map +1 -1
- package/dist/commands/okf/index.js +6 -5
- package/dist/commands/okf/index.js.map +1 -1
- package/dist/commands/okf/validate-schema.d.ts +171 -0
- package/dist/commands/okf/validate-schema.d.ts.map +1 -0
- package/dist/commands/okf/validate-schema.js +44 -0
- package/dist/commands/okf/validate-schema.js.map +1 -0
- package/dist/commands/okf/validate.d.ts +16 -149
- package/dist/commands/okf/validate.d.ts.map +1 -1
- package/dist/commands/okf/validate.js +64 -62
- package/dist/commands/okf/validate.js.map +1 -1
- package/dist/commands/orchestrator-schema.d.ts +419 -0
- package/dist/commands/orchestrator-schema.d.ts.map +1 -0
- package/dist/commands/orchestrator-schema.js +91 -0
- package/dist/commands/orchestrator-schema.js.map +1 -0
- package/dist/commands/phase-utils.d.ts +188 -220
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +210 -258
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/positional-args.d.ts +13 -11
- package/dist/commands/positional-args.d.ts.map +1 -1
- package/dist/commands/positional-args.js +16 -15
- package/dist/commands/positional-args.js.map +1 -1
- package/dist/commands/rag/admin-schema.d.ts +152 -0
- package/dist/commands/rag/admin-schema.d.ts.map +1 -0
- package/dist/commands/rag/admin-schema.js +31 -0
- package/dist/commands/rag/admin-schema.js.map +1 -0
- package/dist/commands/rag/clear-command.d.ts.map +1 -1
- package/dist/commands/rag/clear-command.js +30 -15
- package/dist/commands/rag/clear-command.js.map +1 -1
- package/dist/commands/rag/command-helpers.d.ts +31 -7
- package/dist/commands/rag/command-helpers.d.ts.map +1 -1
- package/dist/commands/rag/command-helpers.js +41 -21
- package/dist/commands/rag/command-helpers.js.map +1 -1
- package/dist/commands/rag/index-command.d.ts +37 -48
- package/dist/commands/rag/index-command.d.ts.map +1 -1
- package/dist/commands/rag/index-command.js +80 -65
- package/dist/commands/rag/index-command.js.map +1 -1
- package/dist/commands/rag/index-schema.d.ts +107 -0
- package/dist/commands/rag/index-schema.d.ts.map +1 -0
- package/dist/commands/rag/index-schema.js +34 -0
- package/dist/commands/rag/index-schema.js.map +1 -0
- package/dist/commands/rag/index.d.ts.map +1 -1
- package/dist/commands/rag/index.js +88 -41
- package/dist/commands/rag/index.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts +18 -4
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +42 -27
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/rag/query-schema.d.ts +363 -0
- package/dist/commands/rag/query-schema.d.ts.map +1 -0
- package/dist/commands/rag/query-schema.js +59 -0
- package/dist/commands/rag/query-schema.js.map +1 -0
- package/dist/commands/rag/stats-command.d.ts.map +1 -1
- package/dist/commands/rag/stats-command.js +19 -18
- package/dist/commands/rag/stats-command.js.map +1 -1
- package/dist/commands/resources/check-progress.d.ts +64 -11
- package/dist/commands/resources/check-progress.d.ts.map +1 -1
- package/dist/commands/resources/check-progress.js +77 -4
- package/dist/commands/resources/check-progress.js.map +1 -1
- package/dist/commands/resources/check-schema.d.ts +335 -0
- package/dist/commands/resources/check-schema.d.ts.map +1 -0
- package/dist/commands/resources/check-schema.js +104 -0
- package/dist/commands/resources/check-schema.js.map +1 -0
- package/dist/commands/resources/check-supervisor.d.ts +315 -71
- package/dist/commands/resources/check-supervisor.d.ts.map +1 -1
- package/dist/commands/resources/check-supervisor.js +493 -107
- package/dist/commands/resources/check-supervisor.js.map +1 -1
- package/dist/commands/resources/check.d.ts +56 -249
- package/dist/commands/resources/check.d.ts.map +1 -1
- package/dist/commands/resources/check.js +416 -276
- package/dist/commands/resources/check.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +165 -91
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/query-schema.d.ts +188 -0
- package/dist/commands/resources/query-schema.d.ts.map +1 -0
- package/dist/commands/resources/query-schema.js +48 -0
- package/dist/commands/resources/query-schema.js.map +1 -0
- package/dist/commands/resources/query.d.ts +17 -12
- package/dist/commands/resources/query.d.ts.map +1 -1
- package/dist/commands/resources/query.js +60 -48
- package/dist/commands/resources/query.js.map +1 -1
- package/dist/commands/resources/scan-schema.d.ts +195 -0
- package/dist/commands/resources/scan-schema.d.ts.map +1 -0
- package/dist/commands/resources/scan-schema.js +53 -0
- package/dist/commands/resources/scan-schema.js.map +1 -0
- package/dist/commands/resources/scan.d.ts +26 -3
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +51 -53
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate-schema.d.ts +326 -0
- package/dist/commands/resources/validate-schema.d.ts.map +1 -0
- package/dist/commands/resources/validate-schema.js +60 -0
- package/dist/commands/resources/validate-schema.js.map +1 -0
- package/dist/commands/resources/validate.d.ts +45 -169
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +221 -485
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review-checklist.d.ts.map +1 -1
- package/dist/commands/skill/review-checklist.js +0 -1
- package/dist/commands/skill/review-checklist.js.map +1 -1
- package/dist/commands/skill/review-schema.d.ts +278 -0
- package/dist/commands/skill/review-schema.d.ts.map +1 -0
- package/dist/commands/skill/review-schema.js +46 -0
- package/dist/commands/skill/review-schema.js.map +1 -0
- package/dist/commands/skill/review.d.ts +8 -234
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +54 -78
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/auth-flags.d.ts +3 -0
- package/dist/commands/skill/test/auth-flags.d.ts.map +1 -1
- package/dist/commands/skill/test/auth-flags.js +6 -2
- package/dist/commands/skill/test/auth-flags.js.map +1 -1
- package/dist/commands/skill/test/configure-schema.d.ts +67 -0
- package/dist/commands/skill/test/configure-schema.d.ts.map +1 -0
- package/dist/commands/skill/test/configure-schema.js +27 -0
- package/dist/commands/skill/test/configure-schema.js.map +1 -0
- package/dist/commands/skill/test/configure.d.ts +12 -5
- package/dist/commands/skill/test/configure.d.ts.map +1 -1
- package/dist/commands/skill/test/configure.js +101 -31
- package/dist/commands/skill/test/configure.js.map +1 -1
- package/dist/commands/skill/test/run-schema.d.ts +107 -0
- package/dist/commands/skill/test/run-schema.d.ts.map +1 -0
- package/dist/commands/skill/test/run-schema.js +36 -0
- package/dist/commands/skill/test/run-schema.js.map +1 -0
- package/dist/commands/skill/test/run.d.ts +3 -2
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +316 -155
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build-schema.d.ts +199 -0
- package/dist/commands/skills/build-schema.d.ts.map +1 -0
- package/dist/commands/skills/build-schema.js +55 -0
- package/dist/commands/skills/build-schema.js.map +1 -0
- package/dist/commands/skills/build.d.ts +95 -298
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +415 -818
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/command-helpers.d.ts +5 -11
- package/dist/commands/skills/command-helpers.d.ts.map +1 -1
- package/dist/commands/skills/command-helpers.js +7 -17
- package/dist/commands/skills/command-helpers.js.map +1 -1
- package/dist/commands/skills/index.js +12 -6
- package/dist/commands/skills/index.js.map +1 -1
- package/dist/commands/skills/install-schema.d.ts +153 -0
- package/dist/commands/skills/install-schema.d.ts.map +1 -0
- package/dist/commands/skills/install-schema.js +44 -0
- package/dist/commands/skills/install-schema.js.map +1 -0
- package/dist/commands/skills/install.d.ts +76 -8
- package/dist/commands/skills/install.d.ts.map +1 -1
- package/dist/commands/skills/install.js +230 -194
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/skills/list-schema.d.ts +145 -0
- package/dist/commands/skills/list-schema.d.ts.map +1 -0
- package/dist/commands/skills/list-schema.js +37 -0
- package/dist/commands/skills/list-schema.js.map +1 -0
- package/dist/commands/skills/list.d.ts +39 -8
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +110 -122
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package-schema.d.ts +98 -0
- package/dist/commands/skills/package-schema.d.ts.map +1 -0
- package/dist/commands/skills/package-schema.js +32 -0
- package/dist/commands/skills/package-schema.js.map +1 -0
- package/dist/commands/skills/package.d.ts +85 -14
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +288 -207
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/scope-guard.d.ts +27 -20
- package/dist/commands/skills/scope-guard.d.ts.map +1 -1
- package/dist/commands/skills/scope-guard.js +43 -32
- package/dist/commands/skills/scope-guard.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts +1 -1
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +40 -19
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/source-resolvers.d.ts +58 -8
- package/dist/commands/skills/source-resolvers.d.ts.map +1 -1
- package/dist/commands/skills/source-resolvers.js +113 -38
- package/dist/commands/skills/source-resolvers.js.map +1 -1
- package/dist/commands/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +31 -51
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate-schema.d.ts +199 -0
- package/dist/commands/skills/validate-schema.d.ts.map +1 -0
- package/dist/commands/skills/validate-schema.js +44 -0
- package/dist/commands/skills/validate-schema.js.map +1 -0
- package/dist/commands/skills/validate.d.ts +100 -136
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +257 -343
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts +17 -5
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +139 -94
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +121 -110
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +230 -294
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/report-schemas.d.ts +12398 -35
- package/dist/report-schemas.d.ts.map +1 -1
- package/dist/report-schemas.js +624 -66
- package/dist/report-schemas.js.map +1 -1
- package/dist/skill-resolution/packaging-config.js +2 -2
- package/dist/skill-resolution/packaging-config.js.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.js +20 -13
- package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
- package/dist/utils/agent-discovery.d.ts +34 -1
- package/dist/utils/agent-discovery.d.ts.map +1 -1
- package/dist/utils/agent-discovery.js +80 -38
- package/dist/utils/agent-discovery.js.map +1 -1
- package/dist/utils/claude-context-lens.d.ts +13 -6
- package/dist/utils/claude-context-lens.d.ts.map +1 -1
- package/dist/utils/claude-context-lens.js +11 -12
- package/dist/utils/claude-context-lens.js.map +1 -1
- package/dist/utils/command-error-codes.d.ts +12 -0
- package/dist/utils/command-error-codes.d.ts.map +1 -0
- package/dist/utils/command-error-codes.js +12 -0
- package/dist/utils/command-error-codes.js.map +1 -0
- package/dist/utils/command-refusal.d.ts +58 -0
- package/dist/utils/command-refusal.d.ts.map +1 -0
- package/dist/utils/command-refusal.js +170 -0
- package/dist/utils/command-refusal.js.map +1 -0
- package/dist/utils/commander-ending.d.ts +40 -0
- package/dist/utils/commander-ending.d.ts.map +1 -0
- package/dist/utils/commander-ending.js +42 -0
- package/dist/utils/commander-ending.js.map +1 -0
- package/dist/utils/config-loader.d.ts +13 -8
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +84 -45
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/corpus-target.d.ts +1 -1
- package/dist/utils/corpus-target.d.ts.map +1 -1
- package/dist/utils/corpus-target.js +6 -4
- package/dist/utils/corpus-target.js.map +1 -1
- package/dist/utils/debug-diagnostics.d.ts +18 -0
- package/dist/utils/debug-diagnostics.d.ts.map +1 -0
- package/dist/utils/debug-diagnostics.js +23 -0
- package/dist/utils/debug-diagnostics.js.map +1 -0
- package/dist/utils/document-writer.d.ts +191 -0
- package/dist/utils/document-writer.d.ts.map +1 -0
- package/dist/utils/document-writer.js +319 -0
- package/dist/utils/document-writer.js.map +1 -0
- package/dist/utils/help-loader.d.ts +2 -2
- package/dist/utils/help-loader.js +2 -2
- package/dist/utils/install-plan.d.ts +99 -0
- package/dist/utils/install-plan.d.ts.map +1 -0
- package/dist/utils/install-plan.js +146 -0
- package/dist/utils/install-plan.js.map +1 -0
- package/dist/utils/issue-anchor.d.ts +1 -1
- package/dist/utils/issue-anchor.d.ts.map +1 -1
- package/dist/utils/issue-anchor.js.map +1 -1
- package/dist/utils/issue-rendering.d.ts +8 -3
- package/dist/utils/issue-rendering.d.ts.map +1 -1
- package/dist/utils/issue-rendering.js +4 -0
- package/dist/utils/issue-rendering.js.map +1 -1
- package/dist/utils/lens-population.d.ts +20 -0
- package/dist/utils/lens-population.d.ts.map +1 -0
- package/dist/utils/lens-population.js +15 -0
- package/dist/utils/lens-population.js.map +1 -0
- package/dist/utils/marketplace-io.d.ts +63 -0
- package/dist/utils/marketplace-io.d.ts.map +1 -0
- package/dist/utils/marketplace-io.js +63 -0
- package/dist/utils/marketplace-io.js.map +1 -0
- package/dist/utils/operator-notices.d.ts +97 -0
- package/dist/utils/operator-notices.d.ts.map +1 -0
- package/dist/utils/operator-notices.js +115 -0
- package/dist/utils/operator-notices.js.map +1 -0
- package/dist/utils/optional-backend.d.ts +18 -15
- package/dist/utils/optional-backend.d.ts.map +1 -1
- package/dist/utils/optional-backend.js +22 -33
- package/dist/utils/optional-backend.js.map +1 -1
- package/dist/utils/output.d.ts +5 -43
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +8 -63
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/package-json.d.ts +3 -4
- package/dist/utils/package-json.d.ts.map +1 -1
- package/dist/utils/package-json.js +8 -8
- package/dist/utils/package-json.js.map +1 -1
- package/dist/utils/population-wiring.d.ts +31 -38
- package/dist/utils/population-wiring.d.ts.map +1 -1
- package/dist/utils/population-wiring.js +38 -32
- package/dist/utils/population-wiring.js.map +1 -1
- package/dist/utils/project-root-policy.d.ts +74 -1
- package/dist/utils/project-root-policy.d.ts.map +1 -1
- package/dist/utils/project-root-policy.js +146 -8
- package/dist/utils/project-root-policy.js.map +1 -1
- package/dist/utils/projection-lenses.d.ts +25 -7
- package/dist/utils/projection-lenses.d.ts.map +1 -1
- package/dist/utils/projection-lenses.js +20 -6
- package/dist/utils/projection-lenses.js.map +1 -1
- package/dist/utils/projection-query.d.ts +17 -10
- package/dist/utils/projection-query.d.ts.map +1 -1
- package/dist/utils/projection-query.js +47 -28
- package/dist/utils/projection-query.js.map +1 -1
- package/dist/utils/projection-store.d.ts +2 -2
- package/dist/utils/projection-store.d.ts.map +1 -1
- package/dist/utils/projection-store.js +74 -45
- package/dist/utils/projection-store.js.map +1 -1
- package/dist/utils/rag-database.d.ts +61 -0
- package/dist/utils/rag-database.d.ts.map +1 -0
- package/dist/utils/rag-database.js +178 -0
- package/dist/utils/rag-database.js.map +1 -0
- package/dist/utils/relation-limits.d.ts +7 -2
- package/dist/utils/relation-limits.d.ts.map +1 -1
- package/dist/utils/relation-limits.js +6 -1
- package/dist/utils/relation-limits.js.map +1 -1
- package/dist/utils/relativize-paths.d.ts +23 -0
- package/dist/utils/relativize-paths.d.ts.map +1 -1
- package/dist/utils/relativize-paths.js +32 -1
- package/dist/utils/relativize-paths.js.map +1 -1
- package/dist/utils/resource-loader.d.ts +76 -32
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +132 -66
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/run-integrity.d.ts +64 -31
- package/dist/utils/run-integrity.d.ts.map +1 -1
- package/dist/utils/run-integrity.js +76 -35
- package/dist/utils/run-integrity.js.map +1 -1
- package/dist/utils/scope-locations.d.ts +7 -5
- package/dist/utils/scope-locations.d.ts.map +1 -1
- package/dist/utils/scope-locations.js +37 -12
- package/dist/utils/scope-locations.js.map +1 -1
- package/dist/utils/staging-dir.d.ts +7 -0
- package/dist/utils/staging-dir.d.ts.map +1 -0
- package/dist/utils/staging-dir.js +12 -0
- package/dist/utils/staging-dir.js.map +1 -0
- package/dist/utils/url-redact.d.ts +9 -0
- package/dist/utils/url-redact.d.ts.map +1 -1
- package/dist/utils/url-redact.js +13 -0
- package/dist/utils/url-redact.js.map +1 -1
- package/dist/utils/user-context-scanner.d.ts +3 -2
- package/dist/utils/user-context-scanner.d.ts.map +1 -1
- package/dist/utils/user-context-scanner.js +24 -4
- package/dist/utils/user-context-scanner.js.map +1 -1
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +8 -14
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/utils/vat-bin-path.d.ts.map +1 -1
- package/dist/utils/vat-bin-path.js +3 -3
- package/dist/utils/vat-bin-path.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +5 -5
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/agent.md +347 -2
- package/docs/audit.md +312 -89
- package/docs/doctor.md +65 -19
- package/docs/index.md +571 -20
- package/docs/mcp.md +64 -12
- package/docs/rag.md +176 -48
- package/docs/resources.md +257 -71
- package/docs/skill-test.md +148 -19
- package/docs/skills.md +459 -174
- package/package.json +16 -19
- package/schemas/agent-build.json +268 -0
- package/schemas/agent-import.json +252 -0
- package/schemas/agent-install.json +260 -0
- package/schemas/agent-installed.json +287 -0
- package/schemas/agent-list.json +279 -0
- package/schemas/agent-uninstall.json +260 -0
- package/schemas/agent-validate.json +279 -0
- package/schemas/ard-emit.json +224 -106
- package/schemas/audit-settings.json +472 -0
- package/schemas/audit.json +635 -0
- package/schemas/cache-clear.json +273 -0
- package/schemas/claude-marketplace-publish.json +286 -0
- package/schemas/claude-marketplace-validate.json +352 -0
- package/schemas/claude-org-not-implemented.json +239 -0
- package/schemas/claude-plugin-build.json +446 -0
- package/schemas/claude-plugin-install.json +291 -0
- package/schemas/claude-plugin-list.json +326 -0
- package/schemas/claude-plugin-uninstall.json +272 -0
- package/schemas/corpus-audit.json +635 -0
- package/schemas/corpus-scan.json +293 -0
- package/schemas/doctor.json +299 -0
- package/schemas/inventory.json +982 -0
- package/schemas/mcp-list-collections.json +268 -0
- package/schemas/okf-validate.json +224 -106
- package/schemas/orchestrator.json +299 -0
- package/schemas/rag-clear.json +253 -0
- package/schemas/rag-index.json +273 -0
- package/schemas/rag-query.json +365 -0
- package/schemas/rag-stats.json +269 -0
- package/schemas/resources-check.json +242 -108
- package/schemas/resources-query.json +333 -0
- package/schemas/resources-scan.json +321 -0
- package/schemas/resources-validate.json +332 -0
- package/schemas/skill-review.json +224 -106
- package/schemas/skill-test-configure.json +256 -0
- package/schemas/skill-test-run.json +296 -0
- package/schemas/skills-build.json +325 -0
- package/schemas/skills-install.json +287 -0
- package/schemas/skills-list.json +283 -0
- package/schemas/skills-package.json +270 -0
- package/schemas/skills-validate.json +285 -0
- package/dist/commands/skills/shared.d.ts +0 -29
- package/dist/commands/skills/shared.d.ts.map +0 -1
- package/dist/commands/skills/shared.js +0 -33
- package/dist/commands/skills/shared.js.map +0 -1
- package/dist/utils/command-error.d.ts +0 -194
- package/dist/utils/command-error.d.ts.map +0 -1
- package/dist/utils/command-error.js +0 -237
- package/dist/utils/command-error.js.map +0 -1
|
@@ -3,29 +3,38 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Installs a SKILL.md-based skill to one of 7 supported platforms, at either
|
|
5
5
|
* user scope (home dir) or project scope (CWD). Pre-verifies with validateSkill()
|
|
6
|
-
* before making any filesystem changes
|
|
6
|
+
* before making any filesystem changes, and publishes the `Report<T>` envelope
|
|
7
|
+
* (`install-schema.ts`).
|
|
7
8
|
*
|
|
8
9
|
* Supports local directory, ZIP file, .tgz tarball, and npm: package sources.
|
|
10
|
+
*
|
|
11
|
+
* The whole batch is ONE tree-change plan: every skill is staged beside its
|
|
12
|
+
* destination and swapped in together, or nothing changes — a refusal installed
|
|
13
|
+
* nothing. `--dry-run` prints that plan and stops; it refuses what the real run
|
|
14
|
+
* would refuse.
|
|
15
|
+
*
|
|
16
|
+
* Every refusal is coded where it is raised: an unusable invocation or source
|
|
17
|
+
* (`--target`, `--name`, no SKILL.md, a name collision, something already at an
|
|
18
|
+
* install path without `--force`) is `USAGE_INVALID`; a source the OS or the
|
|
19
|
+
* archive reader will not read is `INPUT_UNREADABLE`; a registry that will not
|
|
20
|
+
* hand over an npm: package is `EXTERNAL_API_FAILED`; an install target the OS
|
|
21
|
+
* will not let VAT examine or write (it is what the install writes), or a
|
|
22
|
+
* staging copy under `$TMPDIR` the disk will not hold, is `RUN_INCOMPLETE`. A
|
|
23
|
+
* skill that fails its validation is not a refusal: it is the skill's own error
|
|
24
|
+
* findings, and the whole batch installs nothing.
|
|
9
25
|
*/
|
|
10
|
-
import { cpSync, existsSync, lstatSync, readdirSync, rmSync } from 'node:fs';
|
|
11
|
-
import { mkdtemp } from 'node:fs/promises';
|
|
12
|
-
import { basename } from 'node:path';
|
|
13
26
|
import { validateSkill } from '@vibe-agent-toolkit/agent-skills';
|
|
14
|
-
import {
|
|
15
|
-
import { direntKindFollowingSync, isSingleFsSegment,
|
|
16
|
-
import AdmZip from 'adm-zip';
|
|
27
|
+
import { buildReport, toFindings, withDurationMs } from '@vibe-agent-toolkit/schema';
|
|
28
|
+
import { applyTreePlan, direntKindFollowingSync, everywhere, fsBoundary, isSingleFsSegment, isTreeChangeResidue, mapConcurrentFailingInOrder, planTreeChanges, resolveSkillTarget, safePath, SKILL_SCOPE_NAMES, SKILL_TARGET_NAMES, toForwardSlash, } from '@vibe-agent-toolkit/utils';
|
|
17
29
|
import { Command } from 'commander';
|
|
18
|
-
import {
|
|
30
|
+
import { CommandRefusalError, refusalCodeOf } from '../../utils/command-refusal.js';
|
|
31
|
+
import { endWithRefusal, endWithReport, leftoverIssue, NOTHING_FINISHED } from '../../utils/document-writer.js';
|
|
32
|
+
import { extractSkillZip, inStaging, installUnit, occupiedRefusal, skillCopyChange } from '../../utils/install-plan.js';
|
|
19
33
|
import { createLogger } from '../../utils/logger.js';
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export class InstallError extends VatError {
|
|
25
|
-
constructor(message) {
|
|
26
|
-
super('INSTALL', message);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
34
|
+
import { requireInputPath } from '../../utils/project-root-policy.js';
|
|
35
|
+
import { discardingOnFailure, extractTarballToTemp, findSkillsDirInNpmPackage, holdsSkillMd, readSourceDir, resolveNpmOrTarballSource, withResolvedTempDirs, } from './source-resolvers.js';
|
|
36
|
+
/** `vat skills install` has no `--strict`: a validation error already stops the batch. */
|
|
37
|
+
const GATE = { strict: false };
|
|
29
38
|
/**
|
|
30
39
|
* Locate one or more skill directories under a source directory.
|
|
31
40
|
* Priority: SKILL.md at root wins over subdirectories.
|
|
@@ -33,24 +42,23 @@ export class InstallError extends VatError {
|
|
|
33
42
|
* Returns paths only. The skill's *name* is a separate question, answered by
|
|
34
43
|
* its frontmatter — see {@link preVerifySkill}.
|
|
35
44
|
*/
|
|
36
|
-
function discoverSkillDirs(sourceDir) {
|
|
37
|
-
|
|
38
|
-
if (existsSync(rootSkillMd)) {
|
|
45
|
+
function discoverSkillDirs(sourceDir, side) {
|
|
46
|
+
if (holdsSkillMd(sourceDir, sourceDir, side)) {
|
|
39
47
|
return [sourceDir];
|
|
40
48
|
}
|
|
41
49
|
// Scan immediate subdirectories for any that contain a SKILL.md.
|
|
42
|
-
const entries = readdirSync(sourceDir, { withFileTypes: true });
|
|
43
50
|
const dirs = [];
|
|
44
|
-
for (const entry of
|
|
45
|
-
|
|
51
|
+
for (const entry of readSourceDir(sourceDir, side)) {
|
|
52
|
+
// A staged or parked tree a `vat skills build` left beside a bundle holds a SKILL.md, and is no skill.
|
|
53
|
+
if (isTreeChangeResidue(entry.name) || direntKindFollowingSync(sourceDir, entry, sourceDir) !== 'directory')
|
|
46
54
|
continue;
|
|
47
55
|
const candidate = safePath.join(sourceDir, entry.name);
|
|
48
|
-
if (
|
|
56
|
+
if (holdsSkillMd(candidate, sourceDir, side)) {
|
|
49
57
|
dirs.push(candidate);
|
|
50
58
|
}
|
|
51
59
|
}
|
|
52
60
|
if (dirs.length === 0) {
|
|
53
|
-
throw new
|
|
61
|
+
throw new CommandRefusalError('USAGE_INVALID', `No SKILL.md found at root or in subdirectories of: ${sourceDir}`);
|
|
54
62
|
}
|
|
55
63
|
return dirs;
|
|
56
64
|
}
|
|
@@ -60,38 +68,38 @@ function discoverSkillDirs(sourceDir) {
|
|
|
60
68
|
*/
|
|
61
69
|
function assertInstallableName(name, origin) {
|
|
62
70
|
if (!isSingleFsSegment(name)) {
|
|
63
|
-
throw new
|
|
71
|
+
throw new CommandRefusalError('USAGE_INVALID', `Invalid skill name "${name}" (${origin}). ` +
|
|
64
72
|
`Name must be a single path segment: no separators, not "." or "..".`);
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
75
|
/**
|
|
68
|
-
* Validate a skill and
|
|
76
|
+
* Validate a skill and read the name it declares for itself.
|
|
69
77
|
*
|
|
70
78
|
* The frontmatter `name` is authoritative — it is what VAT keys on everywhere
|
|
71
79
|
* else, and it is the only identity an archived skill carries. The directory
|
|
72
80
|
* leaf is incidental: for a ZIP whose SKILL.md sits at the archive root, that
|
|
73
81
|
* leaf is the extraction temp dir.
|
|
74
82
|
*/
|
|
75
|
-
async function preVerifySkill(skillDir) {
|
|
83
|
+
async function preVerifySkill(skillDir, boundary, side) {
|
|
76
84
|
const skillMdPath = safePath.join(skillDir, 'SKILL.md');
|
|
77
|
-
// An install source (npm, ZIP, directory) carries no config that governs it.
|
|
78
|
-
|
|
85
|
+
// An install source (npm, ZIP, directory) carries no config that governs it. A read the
|
|
86
|
+
// OS refuses is classified by the path it named: see {@link sourceBoundary}.
|
|
87
|
+
// The tree is on the side its lane declared (ResolvedSource.side): the validator's own walk faults there.
|
|
88
|
+
const result = await boundary.run(`validate the skill at ${skillDir}`, side, () => validateSkill({
|
|
79
89
|
skillPath: skillMdPath,
|
|
80
90
|
validation: {},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
.join('\n');
|
|
87
|
-
throw new InstallError(`Skill validation failed for ${skillDir}:\n${issueSummary || ' (no details)'}`);
|
|
91
|
+
side,
|
|
92
|
+
}));
|
|
93
|
+
const issues = result.issues ?? [];
|
|
94
|
+
if (result.summary.errors > 0) {
|
|
95
|
+
return { dir: skillDir, issues, declaredName: undefined };
|
|
88
96
|
}
|
|
89
97
|
const declared = result.metadata?.name;
|
|
90
98
|
if (typeof declared !== 'string' || declared.trim() === '') {
|
|
91
|
-
throw new
|
|
99
|
+
throw new CommandRefusalError('USAGE_INVALID', `SKILL.md at ${skillDir} declares no name; cannot determine where to install it.`);
|
|
92
100
|
}
|
|
93
101
|
assertInstallableName(declared, `declared in ${toForwardSlash(skillMdPath)}`);
|
|
94
|
-
return declared;
|
|
102
|
+
return { dir: skillDir, issues, declaredName: declared };
|
|
95
103
|
}
|
|
96
104
|
/**
|
|
97
105
|
* Two skills in one source claiming the same name would install over each
|
|
@@ -102,7 +110,7 @@ function assertNoNameCollisions(skills) {
|
|
|
102
110
|
for (const skill of skills) {
|
|
103
111
|
const prior = seen.get(skill.name);
|
|
104
112
|
if (prior !== undefined) {
|
|
105
|
-
throw new
|
|
113
|
+
throw new CommandRefusalError('USAGE_INVALID', `Two skills in this source both declare the name "${skill.name}":\n` +
|
|
106
114
|
` - ${toForwardSlash(prior)}\n` +
|
|
107
115
|
` - ${toForwardSlash(skill.dir)}\n` +
|
|
108
116
|
`Rename one in its SKILL.md frontmatter, or install them separately.`);
|
|
@@ -110,98 +118,56 @@ function assertNoNameCollisions(skills) {
|
|
|
110
118
|
seen.set(skill.name, skill.dir);
|
|
111
119
|
}
|
|
112
120
|
}
|
|
113
|
-
function buildInstallPlan(skill, installDir, options) {
|
|
114
|
-
const installPath = safePath.join(installDir, skill.name);
|
|
115
|
-
const alreadyExists = existsSync(installPath);
|
|
116
|
-
if (alreadyExists && !options.force && !options.dryRun) {
|
|
117
|
-
throw new InstallError(`Skill "${skill.name}" is already installed at ${installPath}. Use --force to overwrite.`);
|
|
118
|
-
}
|
|
119
|
-
return { skillDir: skill.dir, installPath, alreadyExists };
|
|
120
|
-
}
|
|
121
|
-
function executeInstallPlan(plan, options) {
|
|
122
|
-
if (options.dryRun)
|
|
123
|
-
return;
|
|
124
|
-
if (plan.alreadyExists && options.force) {
|
|
125
|
-
rmSync(plan.installPath, { recursive: true, force: true });
|
|
126
|
-
}
|
|
127
|
-
const parentDir = safePath.join(plan.installPath, '..');
|
|
128
|
-
mkdirSyncReal(parentDir, { recursive: true });
|
|
129
|
-
cpSync(plan.skillDir, plan.installPath, { recursive: true, force: true });
|
|
130
|
-
}
|
|
131
|
-
function emitYamlSummary(args) {
|
|
132
|
-
const statusLine = args.dryRun ? 'status: dry-run' : 'status: success';
|
|
133
|
-
process.stdout.write(`---\n${statusLine}\n`);
|
|
134
|
-
process.stdout.write(`source: ${toForwardSlash(args.source)}\n`);
|
|
135
|
-
process.stdout.write(`target: ${args.target}\n`);
|
|
136
|
-
process.stdout.write(`scope: ${args.scope}\n`);
|
|
137
|
-
process.stdout.write(`skillsInstalled: ${args.skills.length}\n`);
|
|
138
|
-
process.stdout.write(`skills:\n`);
|
|
139
|
-
for (const plan of args.skills) {
|
|
140
|
-
process.stdout.write(` - name: ${basename(plan.installPath)}\n`);
|
|
141
|
-
process.stdout.write(` installPath: ${toForwardSlash(plan.installPath)}\n`);
|
|
142
|
-
if (args.dryRun) {
|
|
143
|
-
process.stdout.write(` alreadyInstalled: ${plan.alreadyExists}\n`);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
process.stdout.write(`duration: ${args.duration}ms\n`);
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Extract a ZIP file to a temp directory and return the extraction root.
|
|
150
|
-
* Caller is responsible for cleanup.
|
|
151
|
-
*/
|
|
152
|
-
async function extractZipToTemp(zipPath) {
|
|
153
|
-
const tempDir = await mkdtemp(safePath.join(normalizedTmpdir(), 'vat-skills-install-zip-'));
|
|
154
|
-
const zip = new AdmZip(zipPath);
|
|
155
|
-
zip.extractAllTo(tempDir, /* overwrite */ true);
|
|
156
|
-
return tempDir;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Find a skill root inside an extracted ZIP. The ZIP may contain a single
|
|
160
|
-
* top-level directory (e.g. `my-skill/SKILL.md`) or have SKILL.md at the root.
|
|
161
|
-
*/
|
|
162
|
-
function findSkillRootInExtracted(extractedDir) {
|
|
163
|
-
if (existsSync(safePath.join(extractedDir, 'SKILL.md'))) {
|
|
164
|
-
return extractedDir;
|
|
165
|
-
}
|
|
166
|
-
// Otherwise look for a single subdirectory containing SKILL.md
|
|
167
|
-
const entries = readdirSync(extractedDir, { withFileTypes: true });
|
|
168
|
-
for (const entry of entries) {
|
|
169
|
-
if (direntKindFollowingSync(extractedDir, entry) !== 'directory')
|
|
170
|
-
continue;
|
|
171
|
-
const candidate = safePath.join(extractedDir, entry.name);
|
|
172
|
-
if (existsSync(safePath.join(candidate, 'SKILL.md'))) {
|
|
173
|
-
return candidate;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
throw new InstallError(`ZIP does not contain a SKILL.md at root or in a top-level directory: ${extractedDir}`);
|
|
177
|
-
}
|
|
178
121
|
/**
|
|
179
|
-
* Resolve the source argument to a local directory
|
|
180
|
-
* downloading from npm
|
|
122
|
+
* Resolve the source argument to a local directory — extracting a ZIP or tarball, or
|
|
123
|
+
* downloading from npm, into `$TMPDIR` staging — and run `work` on it. The staging is
|
|
124
|
+
* disposed of after; a ZIP staging that outlives a finished `work` is a warning in the run's leftovers.
|
|
181
125
|
*/
|
|
182
|
-
async function
|
|
126
|
+
async function withResolvedSource(source, run, work) {
|
|
183
127
|
// npm: prefix — download from registry
|
|
184
128
|
if (source.startsWith('npm:')) {
|
|
185
129
|
const resolved = await resolveNpmOrTarballSource(source);
|
|
186
|
-
return { dir: resolved.skillsDir, tempDirs: resolved.tempDirs };
|
|
130
|
+
return inResolvedTempDirs({ dir: resolved.skillsDir, tempDirs: resolved.tempDirs, side: 'environment' }, run, work);
|
|
187
131
|
}
|
|
132
|
+
// The source argument: absent is the invocation's mistake, unreadable the input's.
|
|
188
133
|
const sourcePath = safePath.resolve(source);
|
|
189
|
-
|
|
190
|
-
throw new InstallError(`Source path not found: ${sourcePath}`);
|
|
191
|
-
}
|
|
192
|
-
const stat = lstatSync(sourcePath);
|
|
134
|
+
const stat = requireInputPath(sourcePath, sourcePath, { origin: 'argument', message: `Path does not exist: ${sourcePath}` }, everywhere('source'));
|
|
193
135
|
if (stat.isFile() && sourcePath.endsWith('.zip')) {
|
|
194
|
-
|
|
195
|
-
return { dir: findSkillRootInExtracted(extractRoot), tempDirs: [extractRoot] };
|
|
136
|
+
return fromZip(sourcePath, run, work);
|
|
196
137
|
}
|
|
197
138
|
if (stat.isFile() && (sourcePath.endsWith('.tgz') || sourcePath.endsWith('.tar.gz'))) {
|
|
198
139
|
const { tempDir, packageDir } = await extractTarballToTemp(sourcePath);
|
|
199
|
-
|
|
140
|
+
const dir = await discardingOnFailure(tempDir, () => findSkillsDirInNpmPackage(packageDir));
|
|
141
|
+
return inResolvedTempDirs({ dir, tempDirs: [tempDir], side: 'environment' }, run, work);
|
|
200
142
|
}
|
|
201
143
|
if (stat.isDirectory()) {
|
|
202
|
-
return { dir: sourcePath, tempDirs: [] };
|
|
144
|
+
return work({ dir: sourcePath, tempDirs: [], side: 'source' });
|
|
203
145
|
}
|
|
204
|
-
throw new
|
|
146
|
+
throw new CommandRefusalError('USAGE_INVALID', `Source must be a directory, .zip, .tgz, or npm:@scope/package: ${sourcePath}`);
|
|
147
|
+
}
|
|
148
|
+
/** Run `work` on a source resolved into temp directories, disposing of them after: one that stays is a warning in the run's leftovers. */
|
|
149
|
+
async function inResolvedTempDirs(resolved, run, work) {
|
|
150
|
+
const { value, leftovers } = await withResolvedTempDirs(resolved.tempDirs, () => work(resolved));
|
|
151
|
+
run.leftovers.push(...leftovers);
|
|
152
|
+
return value;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* A ZIP, extracted through the one archive primitive into a fresh `$TMPDIR` staging directory
|
|
156
|
+
* ({@link inStaging}) and handed to `work`. Where the skill is inside it is the one layout rule
|
|
157
|
+
* every verb that takes a skill ZIP shares (`extractSkillZip`): its top level, or its single
|
|
158
|
+
* top-level folder.
|
|
159
|
+
*/
|
|
160
|
+
async function fromZip(zipPath, run, work) {
|
|
161
|
+
// A holder, not a `let`: `work` resolves inside the staging callback, where flow analysis cannot see.
|
|
162
|
+
const holder = {};
|
|
163
|
+
await inStaging('vat-skills-install-zip-', async (staging) => {
|
|
164
|
+
const dir = await extractSkillZip(zipPath, staging);
|
|
165
|
+
holder.result = { value: await work({ dir, tempDirs: [staging], side: 'environment' }) };
|
|
166
|
+
}, (issue) => run.leftovers.push(issue));
|
|
167
|
+
// `inStaging` resolves only once `work` has.
|
|
168
|
+
if (holder.result === undefined)
|
|
169
|
+
throw new Error('vat skills install: the ZIP staging resolved without running the install');
|
|
170
|
+
return holder.result.value;
|
|
205
171
|
}
|
|
206
172
|
/**
|
|
207
173
|
* Check the --name override against the discovered skill count before doing any
|
|
@@ -210,73 +176,128 @@ async function resolveSource(source) {
|
|
|
210
176
|
function assertNameOverrideApplies(skillDirCount, name) {
|
|
211
177
|
assertInstallableName(name, '--name');
|
|
212
178
|
if (skillDirCount > 1) {
|
|
213
|
-
throw new
|
|
179
|
+
throw new CommandRefusalError('USAGE_INVALID', `--name is only valid for single-skill sources; found ${skillDirCount} skills.`);
|
|
214
180
|
}
|
|
215
181
|
}
|
|
182
|
+
/** `--target` and `--scope` name a placement this command knows — checked before any source is fetched. */
|
|
183
|
+
function assertPlacement(target, scope) {
|
|
184
|
+
if (!SKILL_TARGET_NAMES.includes(target)) {
|
|
185
|
+
throw new CommandRefusalError('USAGE_INVALID', `Invalid --target "${target}". Valid targets: ${SKILL_TARGET_NAMES.join(', ')}`);
|
|
186
|
+
}
|
|
187
|
+
if (!SKILL_SCOPE_NAMES.includes(scope)) {
|
|
188
|
+
throw new CommandRefusalError('USAGE_INVALID', `Invalid --scope "${scope}". Valid scopes: ${SKILL_SCOPE_NAMES.join(', ')}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/** The published row for a skill: `alreadyInstalled` only under `--dry-run`, where it says the plan replaces something. */
|
|
192
|
+
function planRow(skill, occupied, dryRun) {
|
|
193
|
+
const row = { name: skill.name, installPath: toForwardSlash(skill.dest) };
|
|
194
|
+
return dryRun ? { ...row, alreadyInstalled: occupied } : row;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Which side a read of the resolved source is on, by the path the OS named: a directory
|
|
198
|
+
* the operator named is their input (`source`); a ZIP, tarball or npm package VAT
|
|
199
|
+
* extracted under `$TMPDIR` is VAT's own scratch (`environment`).
|
|
200
|
+
*/
|
|
201
|
+
function sourceBoundary(resolved) {
|
|
202
|
+
return fsBoundary(resolved.side === 'environment' ? { environment: resolved.tempDirs } : { source: [resolved.dir] }, { origin: 'content' });
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Plan the batch as ONE tree change — each skill a `replace` that must find its destination
|
|
206
|
+
* free, or (`--force`) may take whatever is there — print it, and (unless `--dry-run`) apply
|
|
207
|
+
* it. A previous install the OS will not remove once replaced is a warning in the run's
|
|
208
|
+
* leftovers. Returns, per skill, whether something was already at its install path.
|
|
209
|
+
*/
|
|
210
|
+
async function installBatch(skills, side, options, run) {
|
|
211
|
+
let plan;
|
|
212
|
+
try {
|
|
213
|
+
plan = await planTreeChanges(skills.map((skill) => skillCopyChange(skill, side, options.force === true)));
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
throw occupiedRefusal(error);
|
|
217
|
+
}
|
|
218
|
+
const prefix = options.dryRun === true ? '[dry-run] ' : '';
|
|
219
|
+
for (const line of plan.describe())
|
|
220
|
+
run.logger.info(` ${prefix}${line}`);
|
|
221
|
+
if (options.dryRun !== true) {
|
|
222
|
+
const { warnings } = await applyTreePlan(plan);
|
|
223
|
+
run.leftovers.push(...warnings.map(({ message, path }) => leftoverIssue(message, path)));
|
|
224
|
+
}
|
|
225
|
+
return plan.changes.map((change) => change.existing !== 'absent');
|
|
226
|
+
}
|
|
227
|
+
/** Validate every skill, then (unless one failed) plan and install them all. */
|
|
228
|
+
async function installFromDir(resolved, base, options, progress, run) {
|
|
229
|
+
// Each skill as the tree it is copied from, before anything reads it: one in the operator's own
|
|
230
|
+
// directory holding a link that leads out of it is refused here (`installUnit`).
|
|
231
|
+
const skillDirs = discoverSkillDirs(resolved.dir, resolved.side).map((dir) => installUnit({ root: resolved.dir, side: resolved.side }, dir, 'the skill directory'));
|
|
232
|
+
const boundary = sourceBoundary(resolved);
|
|
233
|
+
// Reject an unusable --name override before doing any real work.
|
|
234
|
+
if (options.name !== undefined)
|
|
235
|
+
assertNameOverrideApplies(skillDirs.length, options.name);
|
|
236
|
+
// Pre-verify ALL skills before touching the filesystem. Verification also
|
|
237
|
+
// yields each skill's declared name, which is what it installs as.
|
|
238
|
+
// Read-only and independent; a refusal still names the first bad skill in order.
|
|
239
|
+
const verified = await mapConcurrentFailingInOrder(skillDirs, (dir) => preVerifySkill(dir, boundary, resolved.side));
|
|
240
|
+
const findings = toFindings(verified.flatMap((skill) => skill.issues));
|
|
241
|
+
progress.examined = verified.length;
|
|
242
|
+
progress.findings = findings;
|
|
243
|
+
const discovered = [];
|
|
244
|
+
for (const skill of verified) {
|
|
245
|
+
if (skill.declaredName !== undefined)
|
|
246
|
+
discovered.push({ dir: skill.dir, name: options.name ?? skill.declaredName });
|
|
247
|
+
}
|
|
248
|
+
if (discovered.length < verified.length) {
|
|
249
|
+
// All-or-nothing: a skill with an error finding installs nothing in the batch.
|
|
250
|
+
return { examined: verified.length, findings, data: base };
|
|
251
|
+
}
|
|
252
|
+
assertNoNameCollisions(discovered);
|
|
253
|
+
const installDir = resolveSkillTarget(base.target, base.scope, options.cwd ?? process.cwd());
|
|
254
|
+
const skills = discovered.map((skill) => ({ name: skill.name, source: skill.dir, dest: safePath.join(installDir, skill.name) }));
|
|
255
|
+
const occupied = await installBatch(skills, resolved.side, options, run);
|
|
256
|
+
return {
|
|
257
|
+
examined: verified.length,
|
|
258
|
+
findings,
|
|
259
|
+
data: { ...base, skills: skills.map((skill, index) => planRow(skill, occupied[index] === true, base.dryRun)) },
|
|
260
|
+
};
|
|
261
|
+
}
|
|
216
262
|
export async function installCommand(source, options) {
|
|
217
263
|
const logger = createLogger(options.debug ? { debug: true } : {});
|
|
218
264
|
const startTime = Date.now();
|
|
265
|
+
const progress = { examined: 0, findings: [] };
|
|
266
|
+
const run = { logger, leftovers: [] };
|
|
267
|
+
let report;
|
|
219
268
|
try {
|
|
220
|
-
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
// 4. Pre-verify ALL skills before touching the filesystem. Verification
|
|
235
|
-
// also yields each skill's declared name, which is what it installs as.
|
|
236
|
-
const discovered = [];
|
|
237
|
-
for (const dir of skillDirs) {
|
|
238
|
-
const name = await preVerifySkill(dir);
|
|
239
|
-
discovered.push({ dir, name: options.name ?? name });
|
|
240
|
-
}
|
|
241
|
-
assertNoNameCollisions(discovered);
|
|
242
|
-
// 5. Resolve install directory.
|
|
243
|
-
const installDir = resolveSkillTarget(target, scope, cwd);
|
|
244
|
-
// 6. Build and check install plans (detect conflicts before copying).
|
|
245
|
-
const plans = discovered.map((skill) => buildInstallPlan(skill, installDir, options));
|
|
246
|
-
// 7. Execute install (no-op if dry-run).
|
|
247
|
-
for (const plan of plans) {
|
|
248
|
-
executeInstallPlan(plan, options);
|
|
249
|
-
}
|
|
250
|
-
const duration = Date.now() - startTime;
|
|
251
|
-
emitYamlSummary({
|
|
252
|
-
source: displaySource,
|
|
253
|
-
target,
|
|
254
|
-
scope,
|
|
255
|
-
skills: plans,
|
|
256
|
-
dryRun: options.dryRun === true,
|
|
257
|
-
duration,
|
|
258
|
-
});
|
|
259
|
-
if (options.dryRun) {
|
|
260
|
-
logger.info(`\nDry-run complete: ${plans.length} skill(s) would be installed.`);
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
logger.info(`\nInstalled ${plans.length} skill(s) to ${toForwardSlash(installDir)}`);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
finally {
|
|
267
|
-
await removeResolvedTempDirs(resolved.tempDirs, logger);
|
|
268
|
-
}
|
|
269
|
+
assertPlacement(options.target, options.scope);
|
|
270
|
+
const base = {
|
|
271
|
+
// The raw source string for npm: prefixes, the resolved path otherwise.
|
|
272
|
+
source: source.startsWith('npm:') ? source : toForwardSlash(safePath.resolve(source)),
|
|
273
|
+
target: options.target,
|
|
274
|
+
scope: options.scope,
|
|
275
|
+
dryRun: options.dryRun === true,
|
|
276
|
+
skills: [],
|
|
277
|
+
};
|
|
278
|
+
const outcome = await withResolvedSource(source, run, (resolved) => installFromDir(resolved, base, options, progress, run));
|
|
279
|
+
for (const leftover of run.leftovers)
|
|
280
|
+
logger.warn(` ${leftover.message}`);
|
|
281
|
+
report = buildReport({ ...outcome, findings: [...outcome.findings, ...toFindings(run.leftovers)], gate: GATE });
|
|
269
282
|
}
|
|
270
283
|
catch (error) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
throw error;
|
|
277
|
-
}
|
|
278
|
-
handleCommandError(error, logger, startTime, 'SkillsInstall');
|
|
284
|
+
// Validation that finished is published even when nothing was installed; a refusal installed nothing.
|
|
285
|
+
const finished = progress.examined === 0
|
|
286
|
+
? NOTHING_FINISHED
|
|
287
|
+
: { examined: progress.examined, findings: progress.findings, data: null };
|
|
288
|
+
endWithRefusal('skills install', refusalCodeOf(error), error, 'yaml', GATE, finished);
|
|
279
289
|
}
|
|
290
|
+
const count = report.data?.skills.length ?? 0;
|
|
291
|
+
if (report.status === 'findings' && report.summary.errors > 0) {
|
|
292
|
+
logger.info('\nNothing installed: a skill failed validation (see the findings).');
|
|
293
|
+
}
|
|
294
|
+
else if (options.dryRun) {
|
|
295
|
+
logger.info(`\nDry-run complete: ${count} skill(s) would be installed.`);
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
logger.info(`\nInstalled ${count} skill(s) to ${options.target} (${options.scope} scope)`);
|
|
299
|
+
}
|
|
300
|
+
endWithReport('skills install', withDurationMs(report, Date.now() - startTime), 'yaml');
|
|
280
301
|
}
|
|
281
302
|
export function createInstallCommand() {
|
|
282
303
|
const command = new Command('install');
|
|
@@ -289,31 +310,30 @@ export function createInstallCommand() {
|
|
|
289
310
|
.option('-f, --force', 'Overwrite existing skill')
|
|
290
311
|
.option('--dry-run', 'Preview install without writing files')
|
|
291
312
|
.action(async (source) => {
|
|
292
|
-
|
|
293
|
-
const opts = command.optsWithGlobals();
|
|
294
|
-
await installCommand(source, opts);
|
|
295
|
-
}
|
|
296
|
-
catch (err) {
|
|
297
|
-
// An `InstallError` is the command refusing on its own terms (a bad
|
|
298
|
-
// source, a skill already present); anything else is a crash. Both are
|
|
299
|
-
// the command failing to do its job — neither is a finding about a
|
|
300
|
-
// skill — so both end on `ERROR`, and the message is what tells them apart.
|
|
301
|
-
if (!(err instanceof InstallError)) {
|
|
302
|
-
process.stderr.write(`Error: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
303
|
-
}
|
|
304
|
-
process.exit(ExitCode.ERROR);
|
|
305
|
-
}
|
|
313
|
+
await installCommand(source, command.optsWithGlobals());
|
|
306
314
|
})
|
|
307
315
|
.addHelpText('after', `
|
|
308
316
|
Description:
|
|
309
317
|
Installs a fully-formed skill to a platform-specific directory. Both --target
|
|
310
318
|
and --scope are required — no defaults. Skills are pre-verified before any
|
|
311
|
-
filesystem changes; a validation failure means zero files written.
|
|
319
|
+
filesystem changes; a validation failure means zero files written. The
|
|
320
|
+
whole batch installs as one transaction: every skill lands, or none does.
|
|
321
|
+
--dry-run prints the plan (one create/replace line per skill) and refuses
|
|
322
|
+
exactly what the real run would.
|
|
312
323
|
|
|
313
324
|
Each skill installs under the name its SKILL.md frontmatter declares, not the
|
|
314
325
|
name of the directory it came from — a ZIP or npm source has no meaningful
|
|
315
326
|
directory name. Override with --name.
|
|
316
327
|
|
|
328
|
+
A .zip holds SKILL.md at its top level, or exactly one top-level folder
|
|
329
|
+
with SKILL.md directly inside (a skill folder, compressed). Every
|
|
330
|
+
archive (.zip, .tgz, an npm tarball) is judged whole before anything is
|
|
331
|
+
written: one holding a symbolic or hard link, a device, a name that leaves
|
|
332
|
+
the archive (absolute, ".."), one name twice (or twice once letter case is
|
|
333
|
+
folded), or more than 50,000 entries / 256 MiB expanded is refused. A skill
|
|
334
|
+
directory may hold links, but only relative ones to something that exists
|
|
335
|
+
inside the skill, reached through no other link.
|
|
336
|
+
|
|
317
337
|
Visibility:
|
|
318
338
|
VAT's own inspection commands are Claude-scoped: "vat skills list --user" and
|
|
319
339
|
"vat audit --user" read ~/.claude only. A skill installed to any other target
|
|
@@ -328,14 +348,30 @@ Targets (user path / project path):
|
|
|
328
348
|
windsurf ~/.codeium/windsurf/skills/ .windsurf/skills/
|
|
329
349
|
agents ~/.agents/skills/ .agents/skills/
|
|
330
350
|
|
|
351
|
+
Output (YAML report on stdout):
|
|
352
|
+
- status: ok, findings, or error when the install could not run
|
|
353
|
+
- examined: skills in the install plan
|
|
354
|
+
- findings: each skill's validation findings (an error installs nothing),
|
|
355
|
+
and TREE_CLEANUP_INCOMPLETE warnings naming what the install could not
|
|
356
|
+
remove once it was done (a replaced skill, the $TMPDIR staging)
|
|
357
|
+
- data.skills[]: installed (or, with --dry-run, planned) skills;
|
|
358
|
+
alreadyInstalled on each under --dry-run; data is null on exit 2
|
|
359
|
+
|
|
331
360
|
Exit Codes:
|
|
332
|
-
0 -
|
|
333
|
-
1 -
|
|
334
|
-
2 -
|
|
361
|
+
0 - Installed, or dry-run complete
|
|
362
|
+
1 - A skill failed validation: nothing installed
|
|
363
|
+
2 - Could not install, and nothing was installed: a bad --target/--scope/--name
|
|
364
|
+
or source, something already at an install path without --force, an
|
|
365
|
+
unreadable source (or an install path the OS will not let VAT examine or
|
|
366
|
+
write), an archive VAT does not accept or a link leading out of a skill
|
|
367
|
+
directory (INPUT_UNREADABLE; see Description), an npm registry failure, or a staging copy under $TMPDIR or beside the install
|
|
368
|
+
path it could not create or write (full, read-only)
|
|
335
369
|
|
|
336
370
|
Example:
|
|
337
371
|
$ vat skills install ./dist/skills/my-skill --target claude --scope user
|
|
338
372
|
`);
|
|
339
373
|
return command;
|
|
340
374
|
}
|
|
375
|
+
/** Test-facing seam: the pure decisions of this module, reached by its unit tests. */
|
|
376
|
+
export const __internal = { assertInstallableName, assertNameOverrideApplies, assertNoNameCollisions, assertPlacement, planRow, sourceBoundary };
|
|
341
377
|
//# sourceMappingURL=install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/skills/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/skills/install.ts"],"names":[],"mappings":"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"}
|