@vibe-agent-toolkit/cli 0.2.0-rc.10 → 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 +94 -40
- package/dist/bin/vat.d.ts +15 -4
- package/dist/bin/vat.d.ts.map +1 -1
- package/dist/bin/vat.js +94 -40
- 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 +31 -63
- package/dist/commands/ard/emit.d.ts.map +1 -1
- package/dist/commands/ard/emit.js +124 -68
- 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 +17 -10
- 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 +415 -397
- 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 +87 -2
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +116 -57
- 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 +13 -10
- 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 -145
- package/dist/commands/okf/validate.d.ts.map +1 -1
- package/dist/commands/okf/validate.js +63 -52
- 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 +79 -13
- package/dist/commands/resources/check-progress.d.ts.map +1 -1
- package/dist/commands/resources/check-progress.js +112 -11
- 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 +329 -71
- package/dist/commands/resources/check-supervisor.d.ts.map +1 -1
- package/dist/commands/resources/check-supervisor.js +507 -107
- package/dist/commands/resources/check-supervisor.js.map +1 -1
- package/dist/commands/resources/check.d.ts +88 -254
- package/dist/commands/resources/check.d.ts.map +1 -1
- package/dist/commands/resources/check.js +537 -310
- 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 +189 -103
- 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 +18 -13
- package/dist/commands/resources/query.d.ts.map +1 -1
- package/dist/commands/resources/query.js +61 -49
- 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 -77
- 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 -28
- 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 +44 -5
- 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 +18 -11
- 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 +78 -32
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +134 -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 +17 -20
- 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 +228 -107
- 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 +280 -118
- 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 -189
- package/dist/utils/command-error.d.ts.map +0 -1
- package/dist/utils/command-error.js +0 -230
- package/dist/utils/command-error.js.map +0 -1
package/dist/commands/verify.js
CHANGED
|
@@ -9,30 +9,35 @@
|
|
|
9
9
|
* 5. packaged-content (in-process; built bundles carry nothing that must not ship)
|
|
10
10
|
* 6. consistency check (in-process; skill distribution integrity — package.json, plugin assignment)
|
|
11
11
|
*
|
|
12
|
-
* 1–3 delegate to a whole `vat` command
|
|
13
|
-
* `
|
|
14
|
-
*
|
|
12
|
+
* 1–3 delegate to a whole `vat` command, whose report is held to that command's
|
|
13
|
+
* registered schema and folded into `data.phases`; they are chosen by
|
|
14
|
+
* {@link selectVerifyPhases}. 4–6 exist only here, hold their reports to their own
|
|
15
|
+
* schemas, and are chosen by `selectInProcessVerifyPhases`. Every phase runs in
|
|
16
|
+
* this process.
|
|
15
17
|
* Both sets are config-gated, and both are announced on startup.
|
|
16
18
|
*/
|
|
17
|
-
import { existsSync, statSync } from 'node:fs';
|
|
18
19
|
import { detectPackagedAgentInstructionFiles, explicitFilesConfigDests, indexPluginLocalSkills, } from '@vibe-agent-toolkit/agent-skills';
|
|
19
|
-
import {
|
|
20
|
-
import { isPathAbsentError, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
20
|
+
import { buildReport, toFindings, } from '@vibe-agent-toolkit/schema';
|
|
21
|
+
import { everywhere, followedKindSync, forEachInOrder, isPathAbsentError, pathPresent, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
21
22
|
import { Command } from 'commander';
|
|
22
|
-
import {
|
|
23
|
+
import { marksOperandRefusalByHand } from '../command-tree.js';
|
|
23
24
|
import { loadConfig } from '../utils/config-loader.js';
|
|
25
|
+
import { endWithReport } from '../utils/document-writer.js';
|
|
24
26
|
import { formatIssueLines } from '../utils/issue-rendering.js';
|
|
25
27
|
import { resolveIssueSeverity } from '../utils/issue-severity.js';
|
|
26
|
-
import { writeYamlOutput } from '../utils/output.js';
|
|
27
28
|
import { requireProjectRoot } from '../utils/project-root-policy.js';
|
|
28
|
-
import {
|
|
29
|
+
import { runIntegrityFinding } from '../utils/run-integrity.js';
|
|
29
30
|
import { isSkillPublished, mergeSkillPackagingConfig, pluginLocalSkillConfigEntry, publishScope } from '../utils/skill-packaging-config.js';
|
|
31
|
+
import { MARKETPLACE_VALIDATE_EXAMINED, MARKETPLACE_VALIDATE_REPORT_SCHEMA } from './claude/marketplace/validate-schema.js';
|
|
30
32
|
import { runMarketplaceValidatePhase } from './claude/marketplace/validate.js';
|
|
31
33
|
import { runConsistencyChecks, } from './consistency-check.js';
|
|
32
|
-
import {
|
|
34
|
+
import { PACKAGED_CONTENT_EXAMINED, PACKAGED_CONTENT_REPORT_SCHEMA } from './orchestrator-schema.js';
|
|
35
|
+
import { addRetiredOnlyOption, applyPhaseSelection, createPhaseContext, DATALESS_PHASE_REPORT_SCHEMA, decidePhaseSelection, orchestrate, ORCHESTRATOR_FORMAT, ORCHESTRATOR_GATE, rejectRetiredOnly, runPhase, shipsPluginLocalSkills, skillsPhaseExamined, } from './phase-utils.js';
|
|
33
36
|
import { rejectPositionalArguments } from './positional-args.js';
|
|
37
|
+
import { RESOURCES_VALIDATE_EXAMINED, RESOURCES_VALIDATE_REPORT_SCHEMA } from './resources/validate-schema.js';
|
|
34
38
|
import { runResourcesValidatePhase } from './resources/validate.js';
|
|
35
39
|
import { discoverSkillsFromConfig, readPluginLocalSkillNames } from './skills/skill-discovery.js';
|
|
40
|
+
import { SKILLS_VALIDATE_EXAMINED, SKILLS_VALIDATE_REPORT_SCHEMA } from './skills/validate-schema.js';
|
|
36
41
|
import { runSkillsValidatePhase } from './skills/validate.js';
|
|
37
42
|
/**
|
|
38
43
|
* Measured full-run duration on the 90-skill / 1,041-document adopter, cited by
|
|
@@ -43,7 +48,8 @@ const VERIFY_FULL_RUN_SECONDS = 32;
|
|
|
43
48
|
/** How this command names itself in every user-facing diagnostic. */
|
|
44
49
|
const COMMAND_NAME = 'vat verify';
|
|
45
50
|
export function createVerifyTopLevelCommand() {
|
|
46
|
-
|
|
51
|
+
// Refuses operands in its action, with a better message than commander's.
|
|
52
|
+
const command = marksOperandRefusalByHand(new Command('verify'));
|
|
47
53
|
addRetiredOnlyOption(command)
|
|
48
54
|
.description('Verify built artifacts (resources + skills + marketplace + consistency); marketplace/consistency read dist/ — run after vat build')
|
|
49
55
|
.option('-v, --verbose', 'Show all inspected resources, including those without issues')
|
|
@@ -54,8 +60,10 @@ Description:
|
|
|
54
60
|
Verifies all project artifacts. The marketplace and consistency phases
|
|
55
61
|
read the built dist/ tree, so run this after 'vat build'.
|
|
56
62
|
|
|
57
|
-
For source-only validation that needs no build (resources
|
|
58
|
-
|
|
63
|
+
For source-only validation that needs no build (resources, their checks,
|
|
64
|
+
skills — the CI-before-build gate), use 'vat validate'.
|
|
65
|
+
This command does not run resources.checks; 'vat validate' and
|
|
66
|
+
'vat resources check' do.
|
|
59
67
|
|
|
60
68
|
Config-driven, exactly like 'vat validate': a phase runs only when its
|
|
61
69
|
config block is present. There is no phase filter — the whole run takes
|
|
@@ -68,8 +76,8 @@ Description:
|
|
|
68
76
|
marketplace → strict marketplace validation (when 'claude.marketplaces:' configured)
|
|
69
77
|
|
|
70
78
|
Phases (verify's own, run after the above, when 'skills:' is configured):
|
|
71
|
-
files-config-dests → every 'files:' dest exists in the built output
|
|
72
|
-
|
|
79
|
+
files-config-dests → every 'files:' dest exists in the built output; one
|
|
80
|
+
FILES_CONFIG_DEST_MISSING error per missing dest.
|
|
73
81
|
packaged-content → built skill bundles carry no repo-internal agent-instruction
|
|
74
82
|
file (CLAUDE.md, AGENTS.md, GEMINI.md). A dest an explicit
|
|
75
83
|
'files:' entry names is honoured, not reported.
|
|
@@ -84,32 +92,25 @@ Description:
|
|
|
84
92
|
inspect its inputs is listed even when it finds nothing to report.
|
|
85
93
|
|
|
86
94
|
Output:
|
|
87
|
-
ONE YAML
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
skills
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
in dist/skills is still inspected); bundlesInPlace counts them, and a run
|
|
107
|
-
whose every discovered skill is in place passes with nothing to inspect. A
|
|
108
|
-
plugin-local skill (a git-tracked skill dir under a plugin's skills/) is
|
|
109
|
-
never in place: it is expected in its plugin tree whatever publish says,
|
|
110
|
-
and never counted in bundlesInPlace. Declare
|
|
111
|
-
skills.defaults.publish: false for a project that builds with --only claude
|
|
112
|
-
and uses its other skills from the repo.
|
|
95
|
+
ONE report envelope (YAML) → stdout: status (ok | findings | error),
|
|
96
|
+
examined (the sum over every phase), summary {errors, warnings, info},
|
|
97
|
+
findings (every phase's, flat), and data.phases — one entry per phase with
|
|
98
|
+
its own status, examined, summary, error (when it did not finish) and the
|
|
99
|
+
phase's own data. Schema: packages/cli/schemas/orchestrator.json.
|
|
100
|
+
'packaged-content': examined is the built bundles it crawled; its data is
|
|
101
|
+
bundlesExpected (the bundles 'vat build' produces for the skills this run
|
|
102
|
+
discovered), bundlesInPlace, and bundlesMissing (expected bundles absent
|
|
103
|
+
from dist/, by path). Zero inspected, or any missing, is refused as
|
|
104
|
+
RESOURCE_CHECK_BROKEN at error (exit 1): a run that found none of the build
|
|
105
|
+
(dist/ not built, or a skills.include glob that matched nothing) or only
|
|
106
|
+
part of it is not a verdict on what ships. A skill whose merged config says
|
|
107
|
+
publish: false is IN-PLACE — never bundled by 'vat build', so no pool bundle
|
|
108
|
+
is expected for it; a run whose every discovered skill is in place passes
|
|
109
|
+
with nothing to inspect. A plugin-local skill (a git-tracked skill dir under
|
|
110
|
+
a plugin's skills/) is never in place: it is expected in its plugin tree.
|
|
111
|
+
'marketplace:<name>': a plugin.json, a skills/ directory or a SKILL.md the
|
|
112
|
+
OS will not read is refused as RESOURCE_CHECK_BROKEN at error (exit 1),
|
|
113
|
+
naming it — a file this run could not read is not a verdict on what ships.
|
|
113
114
|
Progress and validation errors → stderr (streamed live)
|
|
114
115
|
|
|
115
116
|
By default each delegated phase reports a per-asset summary plus the assets
|
|
@@ -117,11 +118,13 @@ Output:
|
|
|
117
118
|
then also lists the assets it inspected and found nothing to report.
|
|
118
119
|
|
|
119
120
|
Exit Codes:
|
|
120
|
-
0 -
|
|
121
|
-
1 -
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
0 - Every phase finished and no finding is an error (warnings never fail)
|
|
122
|
+
1 - An error finding, or a configured phase examined nothing — an include
|
|
123
|
+
that matches no file, say (RESOURCE_CHECK_BROKEN, naming the phase's unit)
|
|
124
|
+
2 - The run could not do its job: a phase did not finish (RUN_INCOMPLETE,
|
|
125
|
+
the finished phases still in data.phases), a path argument or the
|
|
126
|
+
retired '--only' (USAGE_INVALID), no project root, a population it
|
|
127
|
+
could not see
|
|
125
128
|
|
|
126
129
|
Arguments:
|
|
127
130
|
None. Scope comes from vibe-agent-toolkit.config.yaml, never from the command
|
|
@@ -162,9 +165,10 @@ function filesOf(entry) {
|
|
|
162
165
|
* refused `dist/skills/x` as missing would name it under `missing` with a
|
|
163
166
|
* remedy ("run vat build") that cannot help.
|
|
164
167
|
*/
|
|
165
|
-
function isDirectory(dir) {
|
|
168
|
+
function isDirectory(dir, within) {
|
|
166
169
|
try {
|
|
167
|
-
|
|
170
|
+
// Beneath the project root: every link on the way is read before the kernel follows it.
|
|
171
|
+
return followedKindSync(dir, within) === 'directory';
|
|
168
172
|
}
|
|
169
173
|
catch (error) {
|
|
170
174
|
if (isPathAbsentError(error))
|
|
@@ -180,7 +184,7 @@ function isDirectory(dir) {
|
|
|
180
184
|
* that is not a directory is named in `missing` — that absence is the finding,
|
|
181
185
|
* not a skip (see {@link isDirectory} for why "exists" is not enough).
|
|
182
186
|
*
|
|
183
|
-
* An EMPTY `files:` block is registered, not skipped: {@link
|
|
187
|
+
* An EMPTY `files:` block is registered, not skipped: {@link runFilesConfigDestsPhase}
|
|
184
188
|
* has nothing to verify for such a skill and filters it out itself, but
|
|
185
189
|
* {@link checkPackagedAgentInstructionFiles} must still crawl that bundle — a skill
|
|
186
190
|
* with no `files:` block is exactly the one whose agent-instruction file arrived by
|
|
@@ -191,7 +195,7 @@ function addCheckCandidate(outputs, seen, cwd, candidate, expected) {
|
|
|
191
195
|
if (seen.has(key))
|
|
192
196
|
return;
|
|
193
197
|
seen.add(key);
|
|
194
|
-
const exists = isDirectory(candidate.outputDir);
|
|
198
|
+
const exists = isDirectory(candidate.outputDir, cwd);
|
|
195
199
|
if (exists)
|
|
196
200
|
outputs.built.push(candidate);
|
|
197
201
|
if (!expected)
|
|
@@ -254,7 +258,7 @@ function collectBuiltSkillOutputs(cwd, discovered, pluginLocal, pluginLocalNames
|
|
|
254
258
|
// used to wrap this whole body could only ever absorb a DEFECT — and it
|
|
255
259
|
// absorbed it into an empty candidate list, which every phase below then
|
|
256
260
|
// verified against: zero bundles, zero findings, exit 0.
|
|
257
|
-
const config = loadConfig(cwd);
|
|
261
|
+
const config = loadConfig(cwd, 'source');
|
|
258
262
|
if (!config)
|
|
259
263
|
return outputs;
|
|
260
264
|
const skillsConfig = config.skills;
|
|
@@ -297,28 +301,27 @@ function collectBuiltSkillOutputs(cwd, discovered, pluginLocal, pluginLocalNames
|
|
|
297
301
|
return outputs;
|
|
298
302
|
}
|
|
299
303
|
/**
|
|
300
|
-
*
|
|
304
|
+
* The `files:` dests of every built bundle that declares some: how many bundles
|
|
305
|
+
* were checked, and which dests are absent.
|
|
301
306
|
*
|
|
302
|
-
* A dest is "missing" ONLY when absent from a candidate dir that exists.
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
* @param discovered - The skills this run discovered from `skills.include`. See
|
|
306
|
-
* {@link collectBuiltSkillOutputs} for why it is required rather than optional.
|
|
307
|
-
* @param pluginLocal - The run's plugin-local index — required for the same reason.
|
|
308
|
-
* @param pluginLocalNames - The declared name of every location in `pluginLocal` — required for the same reason.
|
|
309
|
-
* @returns One result per (skill, outputDir) pair where dests are absent.
|
|
307
|
+
* A dest is "missing" ONLY when absent from a candidate dir that exists. A skill
|
|
308
|
+
* with no existing candidate dir is not reported (the build did not run for that
|
|
309
|
+
* mode) — the packaged-content phase names the unbuilt bundles.
|
|
310
310
|
*/
|
|
311
|
-
|
|
311
|
+
function checkFilesConfigDestsOf(built, projectRoot) {
|
|
312
312
|
const results = [];
|
|
313
|
-
|
|
313
|
+
let checked = 0;
|
|
314
|
+
for (const check of built) {
|
|
314
315
|
const { skillName, outputDir } = check;
|
|
315
316
|
const mergedFiles = filesOf(check);
|
|
316
317
|
if (mergedFiles.length === 0)
|
|
317
318
|
continue;
|
|
319
|
+
checked += 1;
|
|
318
320
|
const missing = [];
|
|
319
321
|
for (const entry of mergedFiles) {
|
|
320
322
|
const destPath = safePath.resolve(outputDir, entry.dest);
|
|
321
|
-
|
|
323
|
+
// A probe the OS refuses is the bundle's source fault, never "missing" (a remedy that cannot help).
|
|
324
|
+
if (!pathPresent(destPath, { follow: projectRoot }, everywhere('source'), 'probe')) {
|
|
322
325
|
missing.push(entry.dest);
|
|
323
326
|
}
|
|
324
327
|
}
|
|
@@ -326,7 +329,7 @@ export function checkFilesConfigDests(cwd, discovered, pluginLocal, pluginLocalN
|
|
|
326
329
|
results.push({ skillName, outputDir, missing });
|
|
327
330
|
}
|
|
328
331
|
}
|
|
329
|
-
return results;
|
|
332
|
+
return { checked, missing: results };
|
|
330
333
|
}
|
|
331
334
|
/**
|
|
332
335
|
* Crawl every built skill bundle for repo-internal agent-instruction files.
|
|
@@ -378,7 +381,9 @@ export function checkPackagedAgentInstructionFiles(cwd, discovered, pluginLocal,
|
|
|
378
381
|
const issues = [];
|
|
379
382
|
const outputs = collectBuiltSkillOutputs(cwd, discovered, pluginLocal, pluginLocalNames);
|
|
380
383
|
for (const check of outputs.built) {
|
|
381
|
-
const raw = detectPackagedAgentInstructionFiles(check.outputDir, cwd, explicitFilesConfigDests(filesOf(check))
|
|
384
|
+
const raw = detectPackagedAgentInstructionFiles(check.outputDir, cwd, explicitFilesConfigDests(filesOf(check)),
|
|
385
|
+
// `vat verify` examines what an earlier build wrote; it writes nothing.
|
|
386
|
+
[]);
|
|
382
387
|
issues.push(...resolveIssueSeverity(raw, check.packaging.validation));
|
|
383
388
|
}
|
|
384
389
|
return {
|
|
@@ -398,7 +403,7 @@ export function checkPackagedAgentInstructionFiles(cwd, discovered, pluginLocal,
|
|
|
398
403
|
*/
|
|
399
404
|
function loadConfigTolerant(cwd) {
|
|
400
405
|
try {
|
|
401
|
-
return { config: loadConfig(cwd) };
|
|
406
|
+
return { config: loadConfig(cwd, 'source') };
|
|
402
407
|
}
|
|
403
408
|
catch (error) {
|
|
404
409
|
return { config: undefined, error: error instanceof Error ? error.message : String(error) };
|
|
@@ -419,21 +424,17 @@ function reportFilesDestErrors(results, logger) {
|
|
|
419
424
|
}
|
|
420
425
|
}
|
|
421
426
|
/**
|
|
422
|
-
* Log packaged-content findings to stderr
|
|
423
|
-
*
|
|
424
|
-
* A companion to the document entry, never a substitute for it: this phase's
|
|
425
|
-
* findings are published into the YAML too (see {@link FindingsPhaseResult}).
|
|
427
|
+
* Log packaged-content findings to stderr — a companion to the report, never a
|
|
428
|
+
* substitute for it.
|
|
426
429
|
*
|
|
427
430
|
* Rendered through the SHARED {@link formatIssueLines}, which `vat skills build`
|
|
428
|
-
* and `vat skills validate` already use
|
|
429
|
-
* printed severity, code, location and fix — and dropped `message`, the only part
|
|
430
|
-
* of a finding that says what is wrong. A second renderer for the same shape is
|
|
431
|
+
* and `vat skills validate` already use: a second renderer for the same shape is
|
|
431
432
|
* how one command's findings end up spelled differently from every other's.
|
|
432
433
|
*/
|
|
433
|
-
function reportPackagedContentIssues(
|
|
434
|
+
function reportPackagedContentIssues(findings, logger) {
|
|
434
435
|
logger.error(`\n▶ Phase: ${PACKAGED_CONTENT}`);
|
|
435
|
-
for (const
|
|
436
|
-
for (const line of formatIssueLines(
|
|
436
|
+
for (const finding of findings) {
|
|
437
|
+
for (const line of formatIssueLines(finding, ' '))
|
|
437
438
|
logger.error(line);
|
|
438
439
|
}
|
|
439
440
|
}
|
|
@@ -471,7 +472,6 @@ const VERIFY_VOCABULARY = {
|
|
|
471
472
|
validNames: VALID_PHASES,
|
|
472
473
|
noop: {
|
|
473
474
|
warning: 'No resources:, skills: or claude.marketplaces: block found in vibe-agent-toolkit.config.yaml — nothing to verify. If this is unexpected, check your config.',
|
|
474
|
-
note: 'No configured phases (no resources, skills or claude.marketplaces block in vibe-agent-toolkit.config.yaml).',
|
|
475
475
|
},
|
|
476
476
|
};
|
|
477
477
|
/**
|
|
@@ -503,12 +503,17 @@ export function selectVerifyPhases(config, configError, verbose) {
|
|
|
503
503
|
if (unreadable || config?.resources) {
|
|
504
504
|
phases.push({
|
|
505
505
|
name: 'resources',
|
|
506
|
+
schema: RESOURCES_VALIDATE_REPORT_SCHEMA,
|
|
507
|
+
examined: RESOURCES_VALIDATE_EXAMINED,
|
|
506
508
|
run: () => runResourcesValidatePhase(undefined, { verbose: detail }),
|
|
507
509
|
});
|
|
508
510
|
}
|
|
509
511
|
if (unreadable || config?.skills) {
|
|
510
512
|
phases.push({
|
|
511
513
|
name: 'skills',
|
|
514
|
+
schema: SKILLS_VALIDATE_REPORT_SCHEMA,
|
|
515
|
+
// As `vat validate`: the phase validates the pool, and a plugin-local project has none.
|
|
516
|
+
examined: skillsPhaseExamined(SKILLS_VALIDATE_EXAMINED, () => shipsPluginLocalSkills(config, process.cwd())),
|
|
512
517
|
run: () => runSkillsValidatePhase(undefined, { verbose: detail }),
|
|
513
518
|
});
|
|
514
519
|
}
|
|
@@ -519,6 +524,10 @@ export function selectVerifyPhases(config, configError, verbose) {
|
|
|
519
524
|
const marketplacePath = `dist/.claude/plugins/marketplaces/${name}`;
|
|
520
525
|
phases.push({
|
|
521
526
|
name: `marketplace:${name}`,
|
|
527
|
+
schema: MARKETPLACE_VALIDATE_REPORT_SCHEMA,
|
|
528
|
+
// The verb's declaration, its unit naming WHICH marketplace: this phase runs once per marketplace,
|
|
529
|
+
// and two that examined nothing would otherwise publish one location-less finding twice.
|
|
530
|
+
examined: { ...MARKETPLACE_VALIDATE_EXAMINED, unit: `${MARKETPLACE_VALIDATE_EXAMINED.unit} of marketplace ${name}` },
|
|
522
531
|
run: () => runMarketplaceValidatePhase(marketplacePath, { verbose: detail }),
|
|
523
532
|
});
|
|
524
533
|
}
|
|
@@ -546,7 +555,7 @@ const PACKAGED_CONTENT = 'packaged-content';
|
|
|
546
555
|
* announced 'resources → files-config-dests → consistency' and emitted a
|
|
547
556
|
* document holding `resources` and nothing else, so an operator read a claim
|
|
548
557
|
* that distribution consistency had been checked. Both in-process phases read
|
|
549
|
-
* the same input, the `skills:` block — without it {@link
|
|
558
|
+
* the same input, the `skills:` block — without it {@link runFilesConfigDestsPhase}
|
|
550
559
|
* has no `files:` entry to resolve (both `defaults.files` and
|
|
551
560
|
* `config.<skill>.files` live under `skills:`, so every merge is empty) and
|
|
552
561
|
* {@link runConsistencyPhase} returns before its first lookup. Neither can
|
|
@@ -571,32 +580,6 @@ export function formatVerifyAnnouncement(delegatedPhaseNames, config) {
|
|
|
571
580
|
const all = [...delegatedPhaseNames, ...selectInProcessVerifyPhases(config)];
|
|
572
581
|
return `🔍 vat verify (phases: ${all.join(' → ')})`;
|
|
573
582
|
}
|
|
574
|
-
/**
|
|
575
|
-
* Project ONE finding into the archived YAML.
|
|
576
|
-
*
|
|
577
|
-
* The whole anchor rides along. This shape used to be `{severity, code, message,
|
|
578
|
-
* fix}` and the projection destructured exactly those four, so every
|
|
579
|
-
* `packaged-content` finding reached the document with no `location` — the same
|
|
580
|
-
* defect this PR fixed one command over in `vat skills build`, where a published
|
|
581
|
-
* count carried "no `code`, no location and no fix string at ANY verbosity". It
|
|
582
|
-
* looked survivable only because `materializeIssue` happens to interpolate the
|
|
583
|
-
* detail into `message` for this one code; that is a coincidence, not a contract,
|
|
584
|
-
* and stderr is not the document a CI consumer parses.
|
|
585
|
-
*/
|
|
586
|
-
export function toPublishedIssue(issue) {
|
|
587
|
-
return {
|
|
588
|
-
severity: issue.severity,
|
|
589
|
-
code: issue.code,
|
|
590
|
-
message: issue.message,
|
|
591
|
-
fix: issue.fix ?? '',
|
|
592
|
-
// Conditional rather than `location: issue.location`: `exactOptionalPropertyTypes`
|
|
593
|
-
// distinguishes an absent key from an explicit `undefined`, and a YAML document
|
|
594
|
-
// carrying `location: null` claims something the finding never said.
|
|
595
|
-
...(issue.location === undefined ? {} : { location: issue.location }),
|
|
596
|
-
...(issue.line === undefined ? {} : { line: issue.line }),
|
|
597
|
-
...(issue.reference === undefined ? {} : { reference: issue.reference }),
|
|
598
|
-
};
|
|
599
|
-
}
|
|
600
583
|
/**
|
|
601
584
|
* The refusal for a crawl that found only PART of the build.
|
|
602
585
|
*
|
|
@@ -620,95 +603,53 @@ function missingBundlesFinding(crawl) {
|
|
|
620
603
|
+ ' Run `vat build` first, then re-run `vat verify`.')];
|
|
621
604
|
}
|
|
622
605
|
/**
|
|
623
|
-
*
|
|
606
|
+
* What a zero means for the `packaged-content` phase, read from its own `data`: nothing expected
|
|
607
|
+
* because every discovered skill is in place (`bundlesInPlace > 0`) IS a verdict; anything else
|
|
608
|
+
* is the zero every phase refuses, by {@link PACKAGED_CONTENT_EXAMINED}.
|
|
624
609
|
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
*
|
|
628
|
-
* or `dist/` not having been built at all, or built somewhere else — gave the
|
|
629
|
-
* crawl nothing to walk, and nothing walked was zero findings was `success`,
|
|
630
|
-
* with no count in the document to say the phase had looked at nothing. `vat
|
|
631
|
-
* verify` exists to check the BUILT tree; a run that found none of it is not a
|
|
632
|
-
* verdict on it. Nor is a run that found half of it: with `bundlesInspected` as
|
|
633
|
-
* the only denominator, two discovered skills and one deleted bundle published
|
|
634
|
-
* `success` beside `bundlesInspected: 1`. The crawl now also carries what it
|
|
635
|
-
* should have found, and the document publishes both counts.
|
|
636
|
-
*
|
|
637
|
-
* One zero IS a verdict: nothing expected because every discovered skill is in
|
|
638
|
-
* place (`bundlesInPlace > 0`). Zero discovered skills stays refused.
|
|
639
|
-
*
|
|
640
|
-
* Derived here, in the one function that produces this phase's document, and
|
|
641
|
-
* not in the command body, so no path through the orchestrator can publish
|
|
642
|
-
* `status: success` beside `bundlesInspected: 0` or beside a non-empty
|
|
643
|
-
* `bundlesMissing`. Through the shared mechanism in `run-integrity.ts`: one
|
|
644
|
-
* non-overridable `RESOURCE_CHECK_BROKEN` at `error`, which
|
|
645
|
-
* {@link exitCodeForPhases} then turns into exit 1. ONE, not two, when both
|
|
646
|
-
* apply: the missing-bundle refusal is derived first because it names paths,
|
|
647
|
-
* and {@link nothingCheckedFinding} stands down behind an existing
|
|
648
|
-
* run-integrity finding.
|
|
610
|
+
* The phase's `examined` declaration (`Phase.examined`): `runPhase` judges the phase with it
|
|
611
|
+
* through the one zero-examined helper, so this phase holds no refusal of its own for "crawled
|
|
612
|
+
* nothing" — only the one for "crawled part" ({@link missingBundlesFinding}).
|
|
649
613
|
*
|
|
650
614
|
* Pure, and exported so the refusal is pinned without a project on disk.
|
|
651
615
|
*/
|
|
616
|
+
function packagedContentExamined(report) {
|
|
617
|
+
const data = report.data;
|
|
618
|
+
if (data !== null && data.bundlesExpected === 0 && data.bundlesInPlace > 0) {
|
|
619
|
+
return { zeroIsAnAnswer: 'every discovered skill is in place (publish: false), so no built bundle is expected' };
|
|
620
|
+
}
|
|
621
|
+
return PACKAGED_CONTENT_EXAMINED;
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* Build the `packaged-content` phase from what the crawl found.
|
|
625
|
+
*
|
|
626
|
+
* 🚨 **Zero bundles is an ERROR, not a clean phase — and so is a MISSING one.**
|
|
627
|
+
* `vat verify` exists to check the BUILT tree; a run that found none of it is
|
|
628
|
+
* not a verdict on it, and neither is a run that found half of it. A crawl that
|
|
629
|
+
* found PART is refused here, naming the missing paths; one that found NONE is
|
|
630
|
+
* refused by `runPhase`, through the declaration {@link packagedContentExamined}
|
|
631
|
+
* answers — the same helper every phase's zero goes through. One
|
|
632
|
+
* `RESOURCE_CHECK_BROKEN` at `error`, never two: the helper stands down when the
|
|
633
|
+
* missing-bundle refusal is already there.
|
|
634
|
+
*
|
|
635
|
+
* Pure, and exported so the phase is pinned without a project on disk.
|
|
636
|
+
*/
|
|
652
637
|
export function buildPackagedContentPhase(crawl) {
|
|
653
|
-
const {
|
|
654
|
-
const missing = missingBundlesFinding(crawl);
|
|
655
|
-
const accountedFor = bundlesExpected === 0 ? bundlesInspected + bundlesInPlace : bundlesInspected;
|
|
656
|
-
const issues = [
|
|
657
|
-
...missing,
|
|
658
|
-
...nothingCheckedFinding(accountedFor, [...missing, ...found], () => 'The packaged-content phase inspected 0 built skill bundles, so this phase is not a'
|
|
659
|
-
+ ' verdict: nothing was crawled for files that must not ship, and the document reads'
|
|
660
|
-
+ ' the same as a run over clean bundles. Either `vat build` has not run (or wrote'
|
|
661
|
-
+ ' somewhere other than dist/), or `skills.include` in vibe-agent-toolkit.config.yaml'
|
|
662
|
-
+ ' matched no SKILL.md — usually a typo in the glob. Run `vat build` first; `vat skills'
|
|
663
|
-
+ ' validate` lists what the globs discover.'),
|
|
664
|
-
...found,
|
|
665
|
-
];
|
|
638
|
+
const { issues: found, bundlesInspected, ...data } = crawl;
|
|
666
639
|
return {
|
|
667
640
|
name: PACKAGED_CONTENT,
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
issueCounts: countBySeverity(issues),
|
|
675
|
-
issues: issues.map(toPublishedIssue),
|
|
641
|
+
report: buildReport({
|
|
642
|
+
examined: bundlesInspected,
|
|
643
|
+
findings: toFindings([...missingBundlesFinding(crawl), ...found]),
|
|
644
|
+
data,
|
|
645
|
+
gate: ORCHESTRATOR_GATE,
|
|
646
|
+
}),
|
|
676
647
|
};
|
|
677
648
|
}
|
|
678
649
|
/**
|
|
679
|
-
* `
|
|
680
|
-
*
|
|
681
|
-
*
|
|
682
|
-
* it lives in `@vibe-agent-toolkit/schema`.
|
|
683
|
-
*/
|
|
684
|
-
function asValidationIssues(issues) {
|
|
685
|
-
return issues.map((issue) => ({
|
|
686
|
-
code: issue.code,
|
|
687
|
-
severity: issue.severity,
|
|
688
|
-
message: issue.message,
|
|
689
|
-
fix: issue.fix,
|
|
690
|
-
...(issue.location === undefined ? {} : { location: issue.location }),
|
|
691
|
-
...(issue.line === undefined ? {} : { line: issue.line }),
|
|
692
|
-
}));
|
|
693
|
-
}
|
|
694
|
-
/**
|
|
695
|
-
* Run the `packaged-content` phase: crawl, derive the phase document, and
|
|
696
|
-
* report THAT document's issues on stderr.
|
|
697
|
-
*
|
|
698
|
-
* 🚨 **The stderr report used to be gated on the crawl, one line before the
|
|
699
|
-
* refusal was derived.** `if (crawl.issues.length > 0) report(crawl.issues)`
|
|
700
|
-
* ran ahead of {@link buildPackagedContentPhase}, which is where the
|
|
701
|
-
* zero-bundle refusal is added — so on an unbuilt project the crawl found
|
|
702
|
-
* nothing, nothing was logged, the skills phase's `✅ All validations passed`
|
|
703
|
-
* stayed the last line on stderr, and the process exited 1 on a refusal that
|
|
704
|
-
* existed only in the YAML. Reporting from the phase result makes what stderr
|
|
705
|
-
* says and what the exit code is computed from one list, which is
|
|
706
|
-
* `run-integrity.ts` invariant 6.
|
|
707
|
-
*
|
|
708
|
-
* The round trip through `asValidationIssues` is deliberate rather than
|
|
709
|
-
* reporting the crawl's list plus a second derivation of the refusal: the
|
|
710
|
-
* document is the artifact of record, and stderr should render exactly what it
|
|
711
|
-
* carries, not a parallel computation that can drift from it.
|
|
650
|
+
* Run the `packaged-content` phase: crawl, derive the phase, and report THAT
|
|
651
|
+
* phase's findings on stderr — so what stderr says and what the exit code is
|
|
652
|
+
* computed from are one list (`run-integrity.ts` invariant 6).
|
|
712
653
|
*/
|
|
713
654
|
export function runPackagedContentPhase(projectRoot, discoveredSkills, pluginLocal, pluginLocalNames, logger) {
|
|
714
655
|
const phase = buildPackagedContentPhase(checkPackagedAgentInstructionFiles(projectRoot, discoveredSkills, pluginLocal, pluginLocalNames));
|
|
@@ -716,150 +657,145 @@ export function runPackagedContentPhase(projectRoot, discoveredSkills, pluginLoc
|
|
|
716
657
|
return phase;
|
|
717
658
|
}
|
|
718
659
|
export function reportPackagedContentPhase(phase, logger) {
|
|
719
|
-
|
|
720
|
-
|
|
660
|
+
const { findings, data, examined } = phase.report;
|
|
661
|
+
if (findings.length > 0) {
|
|
662
|
+
reportPackagedContentIssues(findings, logger);
|
|
721
663
|
}
|
|
722
|
-
else if (
|
|
723
|
-
logger.info(`\n▶ Phase: ${PACKAGED_CONTENT} — nothing to inspect: all ${
|
|
664
|
+
else if (data !== null && data.bundlesExpected === 0 && examined === 0) {
|
|
665
|
+
logger.info(`\n▶ Phase: ${PACKAGED_CONTENT} — nothing to inspect: all ${data.bundlesInPlace} discovered skill(s) are in place (publish: false)`);
|
|
724
666
|
}
|
|
725
667
|
}
|
|
668
|
+
/** One finding per `files:` dest absent from the built output, located at the path it should be. */
|
|
669
|
+
function filesDestFindings(projectRoot, missing) {
|
|
670
|
+
return missing.flatMap(({ skillName, outputDir, missing: dests }) => dests.map((dest) => ({
|
|
671
|
+
code: 'FILES_CONFIG_DEST_MISSING',
|
|
672
|
+
severity: 'error',
|
|
673
|
+
message: `Skill '${skillName}' declares the files: dest '${dest}', and the built output does not hold it.`,
|
|
674
|
+
location: toForwardSlash(safePath.relative(projectRoot, safePath.resolve(outputDir, dest))),
|
|
675
|
+
fix: 'Run `vat build` so the files: entry is applied, or correct the entry\'s dest in vibe-agent-toolkit.config.yaml.',
|
|
676
|
+
})));
|
|
677
|
+
}
|
|
726
678
|
/**
|
|
727
|
-
*
|
|
679
|
+
* The `files-config-dests` phase: every built bundle declaring `files:` dests,
|
|
680
|
+
* checked. `examined` is the bundles checked — those that exist and declare at
|
|
681
|
+
* least one dest — and each missing dest is one `FILES_CONFIG_DEST_MISSING`
|
|
682
|
+
* error at the path it should be, relative to `projectRoot`. Always `error`: the
|
|
683
|
+
* code is a `NonOverridableCode`, so no `validation.severity` is read for it.
|
|
728
684
|
*
|
|
729
|
-
*
|
|
730
|
-
*
|
|
731
|
-
*
|
|
732
|
-
*
|
|
685
|
+
* @param discovered - The skills this run discovered from `skills.include`. See
|
|
686
|
+
* {@link collectBuiltSkillOutputs} for why it is required rather than optional.
|
|
687
|
+
* @param pluginLocal - The run's plugin-local index — required for the same reason.
|
|
688
|
+
* @param pluginLocalNames - The declared name of every location in `pluginLocal` — required for the same reason.
|
|
689
|
+
*/
|
|
690
|
+
export function runFilesConfigDestsPhase(projectRoot, discovered, pluginLocal, pluginLocalNames, logger) {
|
|
691
|
+
const built = collectBuiltSkillOutputs(projectRoot, discovered, pluginLocal, pluginLocalNames).built;
|
|
692
|
+
const { checked, missing } = checkFilesConfigDestsOf(built, projectRoot);
|
|
693
|
+
if (missing.length > 0)
|
|
694
|
+
reportFilesDestErrors(missing, logger);
|
|
695
|
+
return {
|
|
696
|
+
name: FILES_CONFIG_DESTS,
|
|
697
|
+
report: buildReport({ examined: checked, findings: filesDestFindings(projectRoot, missing), data: null, gate: ORCHESTRATOR_GATE }),
|
|
698
|
+
};
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* The in-process consistency check phase, its findings published into the
|
|
702
|
+
* report, not merely logged: they used to go to stderr only, so the archived
|
|
703
|
+
* YAML — the artifact of record — said nothing happened.
|
|
733
704
|
*
|
|
734
705
|
* Discovery is handed in rather than performed here: it crawls the whole project,
|
|
735
706
|
* and the packaged-content and files-config-dests phases need the same list. One
|
|
736
707
|
* crawl per run, one answer to "which skills does this project have".
|
|
737
708
|
*/
|
|
738
|
-
function runConsistencyPhase(logger,
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
// `skills:` block is a genuine no-op, and {@link selectInProcessVerifyPhases}
|
|
742
|
-
// has already decided not to name this phase. There used to be a second arm
|
|
743
|
-
// here that pushed an ERROR result instead — because `--only consistency`
|
|
744
|
-
// had asked for THIS phase specifically, and answering an explicit request
|
|
745
|
-
// with an empty phase list and `success` is the same silent pass
|
|
746
|
-
// `vat validate --only <unconfigured surface>` refuses to give. With
|
|
747
|
-
// `--only` retired from `vat verify` there is no way to ask for this phase
|
|
748
|
-
// specifically, so that arm went with it. This guard remains reachable only
|
|
749
|
-
// defensively (and narrows `config.skills` for the call below).
|
|
750
|
-
return;
|
|
751
|
-
}
|
|
752
|
-
const consistencyResult = runConsistencyChecks([...discoveredSkills], config, projectRoot, pluginLocal);
|
|
753
|
-
const issues = consistencyResult.issues;
|
|
754
|
-
if (issues.length > 0) {
|
|
709
|
+
function runConsistencyPhase(logger, config, projectRoot, discoveredSkills, pluginLocal) {
|
|
710
|
+
const { issues } = runConsistencyChecks([...discoveredSkills], config, projectRoot, pluginLocal);
|
|
711
|
+
if (issues.length > 0)
|
|
755
712
|
reportConsistencyIssues(issues, logger);
|
|
756
|
-
|
|
757
|
-
const asValidation = asValidationIssues(issues);
|
|
758
|
-
const result = {
|
|
713
|
+
return {
|
|
759
714
|
name: 'consistency',
|
|
760
|
-
|
|
761
|
-
issueCounts: countBySeverity(asValidation),
|
|
762
|
-
issues: asValidation.map(toPublishedIssue),
|
|
715
|
+
report: buildReport({ examined: discoveredSkills.length, findings: issues, data: null, gate: ORCHESTRATOR_GATE }),
|
|
763
716
|
};
|
|
764
|
-
phaseResults.push(result);
|
|
765
717
|
}
|
|
718
|
+
/**
|
|
719
|
+
* Run one in-process phase as a {@link Phase}, so a throw inside it — a
|
|
720
|
+
* `package.json` the OS will not read, coded `INPUT_UNREADABLE` — becomes THAT
|
|
721
|
+
* phase's refusal with its own code, and the phases that finished still publish.
|
|
722
|
+
*/
|
|
723
|
+
function inProcess(phase, run) {
|
|
724
|
+
return runPhase({ ...phase, run: () => Promise.resolve({ report: run().report }) });
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* The three in-process phases, each with the schema its report is held to and what a zero means
|
|
728
|
+
* for it. Two check what the `skills` phase beside them discovered — it is that phase that refuses
|
|
729
|
+
* a discovery of none — and for them a zero of their own is an answer.
|
|
730
|
+
*/
|
|
731
|
+
export const IN_PROCESS_PHASES = {
|
|
732
|
+
[FILES_CONFIG_DESTS]: {
|
|
733
|
+
name: FILES_CONFIG_DESTS,
|
|
734
|
+
schema: DATALESS_PHASE_REPORT_SCHEMA,
|
|
735
|
+
examined: { zeroIsAnAnswer: 'it checks the built bundles that declare a files: dest, and a project that declares none has nothing for it to check' },
|
|
736
|
+
},
|
|
737
|
+
[PACKAGED_CONTENT]: { name: PACKAGED_CONTENT, schema: PACKAGED_CONTENT_REPORT_SCHEMA, examined: packagedContentExamined },
|
|
738
|
+
consistency: {
|
|
739
|
+
name: 'consistency',
|
|
740
|
+
schema: DATALESS_PHASE_REPORT_SCHEMA,
|
|
741
|
+
examined: { zeroIsAnAnswer: 'it checks the skills the `skills` phase discovered, and that phase refuses a discovery of none' },
|
|
742
|
+
},
|
|
743
|
+
};
|
|
766
744
|
/**
|
|
767
745
|
* The in-process half of `vat verify`: `files-config-dests`, `packaged-content` and
|
|
768
|
-
* `consistency`, each where `inProcess` names it.
|
|
746
|
+
* `consistency`, each where `inProcess` names it, each recorded as it finishes.
|
|
769
747
|
*/
|
|
770
748
|
async function runInProcessPhases(run) {
|
|
771
|
-
const {
|
|
772
|
-
// ONE discovery for the whole in-process half of the run
|
|
773
|
-
// asks
|
|
774
|
-
//
|
|
775
|
-
//
|
|
776
|
-
//
|
|
777
|
-
// `'refuse'`: a verify over a population it could not see is the
|
|
778
|
-
// green-without-checking shape this command exists to refuse. The throw
|
|
779
|
-
// lands in the command's catch → `handleCommandError`, exit 2, with the
|
|
780
|
-
// crawl's own root-relative sentence.
|
|
749
|
+
const { phases, config, projectRoot, logger, results } = run;
|
|
750
|
+
// ONE discovery for the whole in-process half of the run: every phase below
|
|
751
|
+
// asks "which skills does this project have", and each used to answer it
|
|
752
|
+
// differently. `'refuse'`: a verify over a population it could not see is the
|
|
753
|
+
// green-without-checking shape this command exists to refuse — the throw is
|
|
754
|
+
// the run's refusal, published with the phases that already finished.
|
|
781
755
|
const discoveredSkills = await discoverSkillsFromConfig(run.skills, projectRoot, 'refuse');
|
|
782
|
-
// ONE plugin-local index likewise
|
|
783
|
-
//
|
|
756
|
+
// ONE plugin-local index likewise, and the declared name of each plugin-local
|
|
757
|
+
// skill, which keys its config exactly as the plugin build keyed it.
|
|
784
758
|
const pluginLocal = indexPluginLocalSkills(config, projectRoot);
|
|
785
|
-
// …and the declared name of each plugin-local skill, which keys its config exactly as
|
|
786
|
-
// the plugin build keyed it.
|
|
787
759
|
const pluginLocalNames = await readPluginLocalSkillNames(pluginLocal);
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
const filesDestResults = checkFilesConfigDests(projectRoot, discoveredSkills, pluginLocal, pluginLocalNames);
|
|
791
|
-
if (filesDestResults.length > 0) {
|
|
792
|
-
reportFilesDestErrors(filesDestResults, logger);
|
|
793
|
-
phaseResults.push({
|
|
794
|
-
name: FILES_CONFIG_DESTS,
|
|
795
|
-
status: 'error',
|
|
796
|
-
issueCounts: { errors: filesDestResults.length, warnings: 0, info: 0 },
|
|
797
|
-
});
|
|
798
|
-
}
|
|
760
|
+
if (phases.includes(FILES_CONFIG_DESTS)) {
|
|
761
|
+
results.push(await inProcess(IN_PROCESS_PHASES[FILES_CONFIG_DESTS], () => runFilesConfigDestsPhase(projectRoot, discoveredSkills, pluginLocal, pluginLocalNames, logger)));
|
|
799
762
|
}
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
// than only logging them — a file that must not ship has to be visible in
|
|
803
|
-
// `issueCounts`, or a CI consumer reads a clean report for a bundle carrying
|
|
804
|
-
// one. Warnings do not fail the run; the exit code still comes from errors.
|
|
805
|
-
// The zero-bundle refusal is derived inside the builder and logged from the
|
|
806
|
-
// built phase, so stderr, the document and the exit code carry one list.
|
|
807
|
-
if (inProcess.includes(PACKAGED_CONTENT)) {
|
|
808
|
-
phaseResults.push(runPackagedContentPhase(projectRoot, discoveredSkills, pluginLocal, pluginLocalNames, logger));
|
|
763
|
+
if (phases.includes(PACKAGED_CONTENT)) {
|
|
764
|
+
results.push(await inProcess(IN_PROCESS_PHASES[PACKAGED_CONTENT], () => runPackagedContentPhase(projectRoot, discoveredSkills, pluginLocal, pluginLocalNames, logger)));
|
|
809
765
|
}
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
runConsistencyPhase(logger, phaseResults, config, projectRoot, discoveredSkills, pluginLocal);
|
|
766
|
+
if (phases.includes('consistency')) {
|
|
767
|
+
results.push(await inProcess(IN_PROCESS_PHASES.consistency, () => runConsistencyPhase(logger, config, projectRoot, discoveredSkills, pluginLocal)));
|
|
813
768
|
}
|
|
814
769
|
}
|
|
815
770
|
async function verifyTopLevelCommand(options, command) {
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
try {
|
|
826
|
-
// Inside the try, deliberately: phase selection used to throw from out here
|
|
827
|
-
// (on an unroutable `--only`), so the user got a raw Node stack trace and
|
|
828
|
-
// zero bytes of the structured document a scripted caller parses — and so
|
|
829
|
-
// did "no project here", at Node's default exit 1, which the contract reads
|
|
830
|
-
// as FINDINGS.
|
|
771
|
+
const { logger } = createPhaseContext(options.debug);
|
|
772
|
+
const report = await orchestrate(async (results) => {
|
|
773
|
+
// First, and before requireProjectRoot: `vat verify dist/skills/demo` used to
|
|
774
|
+
// be accepted, have its path discarded, run wide over the whole project and
|
|
775
|
+
// report success.
|
|
776
|
+
rejectPositionalArguments(command.args, COMMAND_NAME, 'verifies every phase vibe-agent-toolkit.config.yaml declares, against the built dist/ tree');
|
|
777
|
+
// Before requireProjectRoot: a retired flag is a usage error, and answering it
|
|
778
|
+
// with "no vibe-agent-toolkit.config.yaml found" would diagnose the wrong problem.
|
|
779
|
+
rejectRetiredOnly(options.only, COMMAND_NAME, VERIFY_FULL_RUN_SECONDS);
|
|
831
780
|
// Spec §7: `vat verify` requires a projectRoot.
|
|
832
781
|
const projectRoot = requireProjectRoot(process.cwd(), COMMAND_NAME);
|
|
833
782
|
const { config, error: configError } = loadConfigTolerant(projectRoot);
|
|
834
|
-
const phases = applyPhaseSelection(selectVerifyPhases(config, configError, options.verbose), logger
|
|
783
|
+
const phases = applyPhaseSelection(selectVerifyPhases(config, configError, options.verbose), logger);
|
|
835
784
|
// Announced from the same list the in-process gates below read, so the
|
|
836
785
|
// printed phases and the executed phases cannot disagree.
|
|
837
|
-
const
|
|
786
|
+
const inProcessPhases = selectInProcessVerifyPhases(config);
|
|
838
787
|
logger.info(formatVerifyAnnouncement(phases.map((p) => p.name), config));
|
|
839
|
-
|
|
840
|
-
|
|
788
|
+
// In order, deliberately: phases are announced in a fixed order and their
|
|
789
|
+
// stderr streams live, so overlapping them would interleave two running
|
|
790
|
+
// reports into one unreadable channel.
|
|
791
|
+
await forEachInOrder(phases, async (phase) => {
|
|
841
792
|
logger.info(`\n▶ Phase: ${phase.name}`);
|
|
842
|
-
|
|
843
|
-
// and their stderr streams live, so overlapping them would interleave two
|
|
844
|
-
// running reports into one unreadable channel.
|
|
845
|
-
phaseResults.push(await runPhase(phase));
|
|
846
|
-
}
|
|
847
|
-
if (inProcess.length > 0 && config?.skills) {
|
|
848
|
-
await runInProcessPhases({ inProcess, config, skills: config.skills, projectRoot, logger, phaseResults });
|
|
849
|
-
}
|
|
850
|
-
const duration = Date.now() - startTime;
|
|
851
|
-
// Worst-wins across phases, with `system-error` outranking `error`: a phase
|
|
852
|
-
// that could not run exits 2, so a CI script can tell a broken config from
|
|
853
|
-
// a broken artifact.
|
|
854
|
-
writeYamlOutput({
|
|
855
|
-
status: aggregatePhaseStatus(phaseResults),
|
|
856
|
-
phases: phaseResults,
|
|
857
|
-
duration: `${duration}ms`,
|
|
793
|
+
results.push(await runPhase(phase));
|
|
858
794
|
});
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
795
|
+
if (inProcessPhases.length > 0 && config?.skills) {
|
|
796
|
+
await runInProcessPhases({ phases: inProcessPhases, config, skills: config.skills, projectRoot, logger, results });
|
|
797
|
+
}
|
|
798
|
+
});
|
|
799
|
+
endWithReport('verify', report, ORCHESTRATOR_FORMAT);
|
|
864
800
|
}
|
|
865
801
|
//# sourceMappingURL=verify.js.map
|