@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
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The document `vat corpus scan` publishes, apart from the command.
|
|
3
|
+
*
|
|
4
|
+
* A sibling module because the published-shape registry imports it and the
|
|
5
|
+
* command imports the writer that imports the registry (the cycle
|
|
6
|
+
* `report-schemas.ts` describes).
|
|
7
|
+
*
|
|
8
|
+
* `examined` counts the seed entries the scan ran over. The per-plugin audit
|
|
9
|
+
* documents and the run index are file artifacts beside it (`corpus-audit`,
|
|
10
|
+
* `corpus-summary`); this document is the run's own outcome, one row per entry.
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import type { ExaminedDeclaration } from '../../utils/run-integrity.js';
|
|
14
|
+
/** What `examined` counts for `vat corpus scan`, and the remedy when it is zero. */
|
|
15
|
+
export declare const CORPUS_SCAN_EXAMINED: ExaminedDeclaration;
|
|
16
|
+
declare const CorpusScanDataSchema: z.ZodObject<{
|
|
17
|
+
outDir: z.ZodString;
|
|
18
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
audit: z.ZodEnum<["ok", "findings", "unloadable"]>;
|
|
21
|
+
review: z.ZodEnum<["ok", "skipped", "error"]>;
|
|
22
|
+
outputPath: z.ZodNullable<z.ZodString>;
|
|
23
|
+
}, "strict", z.ZodTypeAny, {
|
|
24
|
+
name: string;
|
|
25
|
+
outputPath: string | null;
|
|
26
|
+
audit: "ok" | "findings" | "unloadable";
|
|
27
|
+
review: "error" | "ok" | "skipped";
|
|
28
|
+
}, {
|
|
29
|
+
name: string;
|
|
30
|
+
outputPath: string | null;
|
|
31
|
+
audit: "ok" | "findings" | "unloadable";
|
|
32
|
+
review: "error" | "ok" | "skipped";
|
|
33
|
+
}>, "many">;
|
|
34
|
+
}, "strict", z.ZodTypeAny, {
|
|
35
|
+
entries: {
|
|
36
|
+
name: string;
|
|
37
|
+
outputPath: string | null;
|
|
38
|
+
audit: "ok" | "findings" | "unloadable";
|
|
39
|
+
review: "error" | "ok" | "skipped";
|
|
40
|
+
}[];
|
|
41
|
+
outDir: string;
|
|
42
|
+
}, {
|
|
43
|
+
entries: {
|
|
44
|
+
name: string;
|
|
45
|
+
outputPath: string | null;
|
|
46
|
+
audit: "ok" | "findings" | "unloadable";
|
|
47
|
+
review: "error" | "ok" | "skipped";
|
|
48
|
+
}[];
|
|
49
|
+
outDir: string;
|
|
50
|
+
}>;
|
|
51
|
+
export type CorpusScanData = z.infer<typeof CorpusScanDataSchema>;
|
|
52
|
+
/** The document this command publishes. */
|
|
53
|
+
export declare const CORPUS_SCAN_REPORT_SCHEMA: import("@vibe-agent-toolkit/schema").ReportZodSchema<z.ZodObject<{
|
|
54
|
+
outDir: z.ZodString;
|
|
55
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
56
|
+
name: z.ZodString;
|
|
57
|
+
audit: z.ZodEnum<["ok", "findings", "unloadable"]>;
|
|
58
|
+
review: z.ZodEnum<["ok", "skipped", "error"]>;
|
|
59
|
+
outputPath: z.ZodNullable<z.ZodString>;
|
|
60
|
+
}, "strict", z.ZodTypeAny, {
|
|
61
|
+
name: string;
|
|
62
|
+
outputPath: string | null;
|
|
63
|
+
audit: "ok" | "findings" | "unloadable";
|
|
64
|
+
review: "error" | "ok" | "skipped";
|
|
65
|
+
}, {
|
|
66
|
+
name: string;
|
|
67
|
+
outputPath: string | null;
|
|
68
|
+
audit: "ok" | "findings" | "unloadable";
|
|
69
|
+
review: "error" | "ok" | "skipped";
|
|
70
|
+
}>, "many">;
|
|
71
|
+
}, "strict", z.ZodTypeAny, {
|
|
72
|
+
entries: {
|
|
73
|
+
name: string;
|
|
74
|
+
outputPath: string | null;
|
|
75
|
+
audit: "ok" | "findings" | "unloadable";
|
|
76
|
+
review: "error" | "ok" | "skipped";
|
|
77
|
+
}[];
|
|
78
|
+
outDir: string;
|
|
79
|
+
}, {
|
|
80
|
+
entries: {
|
|
81
|
+
name: string;
|
|
82
|
+
outputPath: string | null;
|
|
83
|
+
audit: "ok" | "findings" | "unloadable";
|
|
84
|
+
review: "error" | "ok" | "skipped";
|
|
85
|
+
}[];
|
|
86
|
+
outDir: string;
|
|
87
|
+
}>, z.ZodObject<Omit<{
|
|
88
|
+
code: z.ZodString;
|
|
89
|
+
severity: z.ZodEnum<["error", "warning", "info", "ignore"]>;
|
|
90
|
+
message: z.ZodString;
|
|
91
|
+
location: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
|
|
92
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
93
|
+
field: z.ZodOptional<z.ZodString>;
|
|
94
|
+
link: z.ZodOptional<z.ZodString>;
|
|
95
|
+
fix: z.ZodOptional<z.ZodString>;
|
|
96
|
+
reference: z.ZodOptional<z.ZodString>;
|
|
97
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
98
|
+
}, "severity"> & {
|
|
99
|
+
severity: z.ZodEnum<["error", "warning", "info"]>;
|
|
100
|
+
column: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
}, "strict", z.ZodTypeAny, {
|
|
102
|
+
code: string;
|
|
103
|
+
message: string;
|
|
104
|
+
severity: "error" | "warning" | "info";
|
|
105
|
+
fix?: string | undefined;
|
|
106
|
+
reference?: string | undefined;
|
|
107
|
+
location?: string | undefined;
|
|
108
|
+
line?: number | undefined;
|
|
109
|
+
field?: string | undefined;
|
|
110
|
+
link?: string | undefined;
|
|
111
|
+
suggestion?: string | undefined;
|
|
112
|
+
column?: number | undefined;
|
|
113
|
+
}, {
|
|
114
|
+
code: string;
|
|
115
|
+
message: string;
|
|
116
|
+
severity: "error" | "warning" | "info";
|
|
117
|
+
fix?: string | undefined;
|
|
118
|
+
reference?: string | undefined;
|
|
119
|
+
location?: string | undefined;
|
|
120
|
+
line?: number | undefined;
|
|
121
|
+
field?: string | undefined;
|
|
122
|
+
link?: string | undefined;
|
|
123
|
+
suggestion?: string | undefined;
|
|
124
|
+
column?: number | undefined;
|
|
125
|
+
}>>;
|
|
126
|
+
export {};
|
|
127
|
+
//# sourceMappingURL=scan-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-schema.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/scan-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,EAAE,mBAGlC,CAAC;AAEF,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASf,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,2CAA2C;AAC3C,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAoD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The document `vat corpus scan` publishes, apart from the command.
|
|
3
|
+
*
|
|
4
|
+
* A sibling module because the published-shape registry imports it and the
|
|
5
|
+
* command imports the writer that imports the registry (the cycle
|
|
6
|
+
* `report-schemas.ts` describes).
|
|
7
|
+
*
|
|
8
|
+
* `examined` counts the seed entries the scan ran over. The per-plugin audit
|
|
9
|
+
* documents and the run index are file artifacts beside it (`corpus-audit`,
|
|
10
|
+
* `corpus-summary`); this document is the run's own outcome, one row per entry.
|
|
11
|
+
*/
|
|
12
|
+
import { FindingSchema, reportSchema } from '@vibe-agent-toolkit/schema';
|
|
13
|
+
import { z } from 'zod';
|
|
14
|
+
/** What `examined` counts for `vat corpus scan`, and the remedy when it is zero. */
|
|
15
|
+
export const CORPUS_SCAN_EXAMINED = {
|
|
16
|
+
unit: 'seed entries',
|
|
17
|
+
whenZero: 'The seed lists no plugins — add at least one entry under plugins: in the seed file.',
|
|
18
|
+
};
|
|
19
|
+
const CorpusScanDataSchema = z.object({
|
|
20
|
+
outDir: z.string(),
|
|
21
|
+
entries: z.array(z.object({
|
|
22
|
+
name: z.string(),
|
|
23
|
+
audit: z.enum(['ok', 'findings', 'unloadable']),
|
|
24
|
+
review: z.enum(['ok', 'skipped', 'error']),
|
|
25
|
+
// The entry's `<name>-audit.yaml`, relative to `outDir` (`<run dir>/<name>-audit.yaml`); `null` when unloadable.
|
|
26
|
+
outputPath: z.string().nullable(),
|
|
27
|
+
}).strict()),
|
|
28
|
+
}).strict();
|
|
29
|
+
/** The document this command publishes. */
|
|
30
|
+
export const CORPUS_SCAN_REPORT_SCHEMA = reportSchema(CorpusScanDataSchema, FindingSchema);
|
|
31
|
+
//# sourceMappingURL=scan-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-schema.js","sourceRoot":"","sources":["../../../src/commands/corpus/scan-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,oFAAoF;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,qFAAqF;CAChG,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1C,iHAAiH;QACjH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAC,MAAM,EAAE,CAAC;CACb,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,2CAA2C;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC"}
|
|
@@ -5,11 +5,42 @@
|
|
|
5
5
|
* writes summary.yaml and per-plugin sibling files into a date-sha
|
|
6
6
|
* subdirectory of `--out`. Sequential by design — concurrency is a
|
|
7
7
|
* follow-up once the seed grows past ~50.
|
|
8
|
+
*
|
|
9
|
+
* Its stdout is the run's own report (`CORPUS_SCAN_REPORT_SCHEMA`): one row
|
|
10
|
+
* per seed entry, and one `CORPUS_ENTRY_INCOMPLETE` warning per entry it could
|
|
11
|
+
* not finish — so the exit derives 0 whatever the plugins held, and a scan
|
|
12
|
+
* that could not do an entry never publishes `ok`. The files under `--out` are
|
|
13
|
+
* artifacts through the same writer (`corpus-audit`, `corpus-summary`).
|
|
8
14
|
*/
|
|
15
|
+
import { type FinishedWork } from '../../utils/document-writer.js';
|
|
16
|
+
import { type PluginRow } from './report.js';
|
|
17
|
+
import type { CorpusScanData } from './scan-schema.js';
|
|
9
18
|
export interface CorpusScanOptions {
|
|
10
19
|
out?: string;
|
|
11
20
|
withReview?: boolean;
|
|
12
21
|
debug?: boolean;
|
|
13
22
|
}
|
|
23
|
+
/** Where one run's files go: the resolved `--out`, and the run directory under it. */
|
|
24
|
+
interface RunLocation {
|
|
25
|
+
readonly outDir: string;
|
|
26
|
+
readonly runDirName: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The work a scan has finished: one row per entry done, `outputPath` relative
|
|
30
|
+
* to `outDir`. Also what a refusal part-way publishes, so the entries that
|
|
31
|
+
* finished are not lost with the one that stopped the run.
|
|
32
|
+
*
|
|
33
|
+
* @param rows - The rows finished so far
|
|
34
|
+
* @param run - Where the run's files went
|
|
35
|
+
* @param leftovers - Temp directories the OS would not remove once their entry was done
|
|
36
|
+
*/
|
|
37
|
+
declare function finishedScan(rows: readonly PluginRow[], run: RunLocation, leftovers: readonly unknown[]): FinishedWork & {
|
|
38
|
+
data: CorpusScanData;
|
|
39
|
+
};
|
|
40
|
+
/** Test seam: the pure fold a refusal part-way publishes. */
|
|
41
|
+
export declare const __internal: {
|
|
42
|
+
finishedScan: typeof finishedScan;
|
|
43
|
+
};
|
|
14
44
|
export declare function corpusScanCommand(seedFileArg: string | undefined, options: CorpusScanOptions): Promise<void>;
|
|
45
|
+
export {};
|
|
15
46
|
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/scan.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,OAAO,EAAoE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAIrI,OAAO,EAAkC,KAAK,SAAS,EAAkB,MAAM,aAAa,CAAC;AAE7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAkDD,sFAAsF;AACtF,UAAU,WAAW;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAUD;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAiB1I;AAED,6DAA6D;AAC7D,eAAO,MAAM,UAAU;;CAAmB,CAAC;AA2E3C,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -5,16 +5,24 @@
|
|
|
5
5
|
* writes summary.yaml and per-plugin sibling files into a date-sha
|
|
6
6
|
* subdirectory of `--out`. Sequential by design — concurrency is a
|
|
7
7
|
* follow-up once the seed grows past ~50.
|
|
8
|
+
*
|
|
9
|
+
* Its stdout is the run's own report (`CORPUS_SCAN_REPORT_SCHEMA`): one row
|
|
10
|
+
* per seed entry, and one `CORPUS_ENTRY_INCOMPLETE` warning per entry it could
|
|
11
|
+
* not finish — so the exit derives 0 whatever the plugins held, and a scan
|
|
12
|
+
* that could not do an entry never publishes `ok`. The files under `--out` are
|
|
13
|
+
* artifacts through the same writer (`corpus-audit`, `corpus-summary`).
|
|
8
14
|
*/
|
|
9
15
|
import { mkdirSync, readFileSync } from 'node:fs';
|
|
10
16
|
import { dirname } from 'node:path';
|
|
11
17
|
import { fileURLToPath } from 'node:url';
|
|
12
|
-
import {
|
|
18
|
+
import { buildReport, toFindings } from '@vibe-agent-toolkit/schema';
|
|
19
|
+
import { forEachInOrder, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
13
20
|
import { runGit } from '@vibe-agent-toolkit/utils/git';
|
|
14
|
-
import {
|
|
21
|
+
import { CommandRefusalError, refusalCodeOf } from '../../utils/command-refusal.js';
|
|
22
|
+
import { endWithRefusal, endWithReport, leftoverIssueOf, NOTHING_FINISHED } from '../../utils/document-writer.js';
|
|
15
23
|
import { createLogger } from '../../utils/logger.js';
|
|
16
24
|
import { projectRootOrNull } from '../../utils/project-root-policy.js';
|
|
17
|
-
import { writeRunReport } from './report.js';
|
|
25
|
+
import { writeRunOutput, writeRunReport } from './report.js';
|
|
18
26
|
import { auditOnePlugin } from './runner.js';
|
|
19
27
|
import { loadSeedFile } from './seed.js';
|
|
20
28
|
const DEFAULT_SEED_PATH = 'corpus/seed.yaml';
|
|
@@ -44,59 +52,125 @@ function readVatCommit() {
|
|
|
44
52
|
});
|
|
45
53
|
return result.ok ? result.stdout : 'unknown';
|
|
46
54
|
}
|
|
55
|
+
/** `vat corpus scan` has no `--strict`: an incomplete entry warns, and a warning never fails the run. */
|
|
56
|
+
const GATE = { strict: false };
|
|
57
|
+
/** Why a row is unfinished — its audit could not run, or its requested review did not finish — or `undefined`. */
|
|
58
|
+
function unfinishedReason(row) {
|
|
59
|
+
if (row.audit.status === 'unloadable')
|
|
60
|
+
return `audit could not run: ${row.audit.error ?? 'no reason recorded'}`;
|
|
61
|
+
if (row.review.status === 'error')
|
|
62
|
+
return `review did not finish: ${row.review.error ?? 'no reason recorded'}`;
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
/** One seed entry the scan could not finish, as a finding naming it by its seed index. */
|
|
66
|
+
function incompleteEntryIssue(row, index) {
|
|
67
|
+
const why = unfinishedReason(row);
|
|
68
|
+
if (why === undefined)
|
|
69
|
+
return undefined;
|
|
70
|
+
return { code: 'CORPUS_ENTRY_INCOMPLETE', severity: 'warning', message: `${row.name}: ${why}`, field: `plugins[${index}]` };
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The work a scan has finished: one row per entry done, `outputPath` relative
|
|
74
|
+
* to `outDir`. Also what a refusal part-way publishes, so the entries that
|
|
75
|
+
* finished are not lost with the one that stopped the run.
|
|
76
|
+
*
|
|
77
|
+
* @param rows - The rows finished so far
|
|
78
|
+
* @param run - Where the run's files went
|
|
79
|
+
* @param leftovers - Temp directories the OS would not remove once their entry was done
|
|
80
|
+
*/
|
|
81
|
+
function finishedScan(rows, run, leftovers) {
|
|
82
|
+
return {
|
|
83
|
+
examined: rows.length,
|
|
84
|
+
findings: toFindings([
|
|
85
|
+
...rows.flatMap((row, index) => incompleteEntryIssue(row, index) ?? []),
|
|
86
|
+
...leftovers.map((leftover) => leftoverIssueOf(leftover)),
|
|
87
|
+
]),
|
|
88
|
+
data: {
|
|
89
|
+
outDir: run.outDir,
|
|
90
|
+
entries: rows.map((row) => ({
|
|
91
|
+
name: row.name,
|
|
92
|
+
audit: row.audit.status,
|
|
93
|
+
review: row.review.status,
|
|
94
|
+
outputPath: row.audit.output_path === undefined ? null : toForwardSlash(safePath.join(run.runDirName, row.audit.output_path)),
|
|
95
|
+
})),
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/** Test seam: the pure fold a refusal part-way publishes. */
|
|
100
|
+
export const __internal = { finishedScan };
|
|
101
|
+
/**
|
|
102
|
+
* Audit every seed entry and write the run's files, recording each finished
|
|
103
|
+
* row in `progress` as it lands.
|
|
104
|
+
*
|
|
105
|
+
* @returns Where the run's files went
|
|
106
|
+
* @throws {CommandRefusalError} For a missing `--out`, a seed that cannot be
|
|
107
|
+
* loaded, or a write under `--out` the OS refused
|
|
108
|
+
*/
|
|
109
|
+
async function scanSeed(seedFileArg, options, logger, progress) {
|
|
110
|
+
// Spec §7: `vat corpus *` uses `tolerate null` — scans operate against
|
|
111
|
+
// arbitrary external plugins without requiring a governing VAT project.
|
|
112
|
+
projectRootOrNull(process.cwd());
|
|
113
|
+
if (!options.out) {
|
|
114
|
+
throw new CommandRefusalError('USAGE_INVALID', 'specify an output directory: --out <path>');
|
|
115
|
+
}
|
|
116
|
+
const outDir = safePath.resolve(options.out);
|
|
117
|
+
const seedPath = seedFileArg ?? DEFAULT_SEED_PATH;
|
|
118
|
+
const seed = loadSeedFile(seedPath);
|
|
119
|
+
// eslint-disable-next-line local/no-fs-mkdirSync -- caller-supplied output dir; recursive create is correct here
|
|
120
|
+
writeRunOutput(outDir, () => mkdirSync(outDir, { recursive: true }));
|
|
121
|
+
// We need the run directory to write per-plugin files into during the
|
|
122
|
+
// loop. Build the report skeleton, derive the run dir name, create it,
|
|
123
|
+
// then run the loop.
|
|
124
|
+
const generatedAt = new Date().toISOString().replace(/\.\d+Z$/, 'Z');
|
|
125
|
+
const vatVersion = readVatVersion();
|
|
126
|
+
const vatCommit = readVatCommit();
|
|
127
|
+
const runDirName = `${generatedAt.slice(0, 10)}-${vatCommit}`;
|
|
128
|
+
const runDir = safePath.join(outDir, runDirName);
|
|
129
|
+
// eslint-disable-next-line local/no-fs-mkdirSync -- composed under user-supplied --out
|
|
130
|
+
writeRunOutput(runDir, () => mkdirSync(runDir, { recursive: true }));
|
|
131
|
+
progress.run = { outDir, runDirName };
|
|
132
|
+
// One plugin at a time: each spawns a heavy audit and appends to the progress file.
|
|
133
|
+
await forEachInOrder(seed.plugins, async (entry) => {
|
|
134
|
+
logger.info(`[${entry.name}] auditing ${entry.source}`);
|
|
135
|
+
const row = await auditOnePlugin(entry, {
|
|
136
|
+
runDir,
|
|
137
|
+
withReview: options.withReview === true,
|
|
138
|
+
debug: options.debug === true,
|
|
139
|
+
leftovers: progress.leftovers,
|
|
140
|
+
});
|
|
141
|
+
progress.rows.push(row);
|
|
142
|
+
logger.info(`[${entry.name}] audit=${row.audit.status} review=${row.review.status}`);
|
|
143
|
+
});
|
|
144
|
+
const report = {
|
|
145
|
+
generated_at: generatedAt,
|
|
146
|
+
vat_version: vatVersion,
|
|
147
|
+
vat_commit: vatCommit,
|
|
148
|
+
seed_file: seedPath,
|
|
149
|
+
flags: {
|
|
150
|
+
with_review: options.withReview === true,
|
|
151
|
+
debug: options.debug === true,
|
|
152
|
+
},
|
|
153
|
+
plugins: progress.rows,
|
|
154
|
+
};
|
|
155
|
+
writeRunReport(report, outDir);
|
|
156
|
+
logger.info(`Wrote run report to ${runDir}/summary.yaml`);
|
|
157
|
+
logger.info(` ${progress.rows.length} plugins; durations recorded in summary.yaml`);
|
|
158
|
+
return progress.run;
|
|
159
|
+
}
|
|
47
160
|
export async function corpusScanCommand(seedFileArg, options) {
|
|
48
161
|
const logger = createLogger(options.debug ? { debug: true } : {});
|
|
49
162
|
const startTime = Date.now();
|
|
163
|
+
const progress = { rows: [], leftovers: [], run: undefined };
|
|
164
|
+
let run;
|
|
50
165
|
try {
|
|
51
|
-
|
|
52
|
-
// arbitrary external plugins without requiring a governing VAT project.
|
|
53
|
-
projectRootOrNull(process.cwd());
|
|
54
|
-
if (!options.out) {
|
|
55
|
-
throw new Error('specify an output directory: --out <path>');
|
|
56
|
-
}
|
|
57
|
-
const seedPath = seedFileArg ?? DEFAULT_SEED_PATH;
|
|
58
|
-
const seed = loadSeedFile(seedPath);
|
|
59
|
-
// eslint-disable-next-line local/no-fs-mkdirSync -- caller-supplied output dir; recursive create is correct here
|
|
60
|
-
mkdirSync(options.out, { recursive: true });
|
|
61
|
-
// We need the run directory to write per-plugin files into during the
|
|
62
|
-
// loop. Build the report skeleton, derive the run dir name, create it,
|
|
63
|
-
// then run the loop.
|
|
64
|
-
const generatedAt = new Date().toISOString().replace(/\.\d+Z$/, 'Z');
|
|
65
|
-
const vatVersion = readVatVersion();
|
|
66
|
-
const vatCommit = readVatCommit();
|
|
67
|
-
const runDirName = `${generatedAt.slice(0, 10)}-${vatCommit}`;
|
|
68
|
-
const runDir = safePath.join(options.out, runDirName);
|
|
69
|
-
// eslint-disable-next-line local/no-fs-mkdirSync -- composed under user-supplied --out
|
|
70
|
-
mkdirSync(runDir, { recursive: true });
|
|
71
|
-
const rows = [];
|
|
72
|
-
for (const entry of seed.plugins) {
|
|
73
|
-
logger.info(`[${entry.name}] auditing ${entry.source}`);
|
|
74
|
-
const row = await auditOnePlugin(entry, {
|
|
75
|
-
runDir,
|
|
76
|
-
withReview: options.withReview === true,
|
|
77
|
-
debug: options.debug === true,
|
|
78
|
-
});
|
|
79
|
-
rows.push(row);
|
|
80
|
-
logger.info(`[${entry.name}] audit=${row.audit.status} review=${row.review.status}`);
|
|
81
|
-
}
|
|
82
|
-
const report = {
|
|
83
|
-
generated_at: generatedAt,
|
|
84
|
-
vat_version: vatVersion,
|
|
85
|
-
vat_commit: vatCommit,
|
|
86
|
-
seed_file: seedPath,
|
|
87
|
-
flags: {
|
|
88
|
-
with_review: options.withReview === true,
|
|
89
|
-
debug: options.debug === true,
|
|
90
|
-
},
|
|
91
|
-
plugins: rows,
|
|
92
|
-
};
|
|
93
|
-
await writeRunReport(report, options.out);
|
|
94
|
-
logger.info(`Wrote run report to ${runDir}/summary.yaml`);
|
|
95
|
-
logger.info(` ${rows.length} plugins; durations recorded in summary.yaml`);
|
|
96
|
-
logger.debug(`Total scan duration: ${Date.now() - startTime}ms`);
|
|
166
|
+
run = await scanSeed(seedFileArg, options, logger, progress);
|
|
97
167
|
}
|
|
98
168
|
catch (err) {
|
|
99
|
-
|
|
169
|
+
// A refusal after the run directory existed publishes the entries that finished.
|
|
170
|
+
const finished = progress.run === undefined ? NOTHING_FINISHED : finishedScan(progress.rows, progress.run, progress.leftovers);
|
|
171
|
+
endWithRefusal('corpus scan', refusalCodeOf(err), err, 'yaml', GATE, finished);
|
|
100
172
|
}
|
|
173
|
+
const { examined, findings, data } = finishedScan(progress.rows, run, progress.leftovers);
|
|
174
|
+
endWithReport('corpus scan', buildReport({ examined, findings, data, gate: GATE, durationMs: Date.now() - startTime }), 'yaml');
|
|
101
175
|
}
|
|
102
176
|
//# sourceMappingURL=scan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/commands/corpus/scan.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/commands/corpus/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,8 +72,8 @@ declare const PluginEntrySchema: z.ZodObject<{
|
|
|
72
72
|
}[] | undefined;
|
|
73
73
|
}>>;
|
|
74
74
|
}, "strict", z.ZodTypeAny, {
|
|
75
|
-
name: string;
|
|
76
75
|
source: string;
|
|
76
|
+
name: string;
|
|
77
77
|
bucket: "official" | "community";
|
|
78
78
|
confidence: "first-party" | "curated" | "listed";
|
|
79
79
|
maturity: "production" | "experimental" | "example";
|
|
@@ -85,8 +85,8 @@ declare const PluginEntrySchema: z.ZodObject<{
|
|
|
85
85
|
}[] | undefined;
|
|
86
86
|
} | undefined;
|
|
87
87
|
}, {
|
|
88
|
-
name: string;
|
|
89
88
|
source: string;
|
|
89
|
+
name: string;
|
|
90
90
|
bucket: "official" | "community";
|
|
91
91
|
confidence: "first-party" | "curated" | "listed";
|
|
92
92
|
maturity: "production" | "experimental" | "example";
|
|
@@ -131,8 +131,8 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
131
131
|
}[] | undefined;
|
|
132
132
|
}>>;
|
|
133
133
|
}, "strict", z.ZodTypeAny, {
|
|
134
|
-
name: string;
|
|
135
134
|
source: string;
|
|
135
|
+
name: string;
|
|
136
136
|
bucket: "official" | "community";
|
|
137
137
|
confidence: "first-party" | "curated" | "listed";
|
|
138
138
|
maturity: "production" | "experimental" | "example";
|
|
@@ -144,8 +144,8 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
144
144
|
}[] | undefined;
|
|
145
145
|
} | undefined;
|
|
146
146
|
}, {
|
|
147
|
-
name: string;
|
|
148
147
|
source: string;
|
|
148
|
+
name: string;
|
|
149
149
|
bucket: "official" | "community";
|
|
150
150
|
confidence: "first-party" | "curated" | "listed";
|
|
151
151
|
maturity: "production" | "experimental" | "example";
|
|
@@ -159,8 +159,8 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
159
159
|
}>, "many">;
|
|
160
160
|
}, "strict", z.ZodTypeAny, {
|
|
161
161
|
plugins: {
|
|
162
|
-
name: string;
|
|
163
162
|
source: string;
|
|
163
|
+
name: string;
|
|
164
164
|
bucket: "official" | "community";
|
|
165
165
|
confidence: "first-party" | "curated" | "listed";
|
|
166
166
|
maturity: "production" | "experimental" | "example";
|
|
@@ -174,8 +174,8 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
174
174
|
}[];
|
|
175
175
|
}, {
|
|
176
176
|
plugins: {
|
|
177
|
-
name: string;
|
|
178
177
|
source: string;
|
|
178
|
+
name: string;
|
|
179
179
|
bucket: "official" | "community";
|
|
180
180
|
confidence: "first-party" | "curated" | "listed";
|
|
181
181
|
maturity: "production" | "experimental" | "example";
|
|
@@ -194,8 +194,11 @@ export type PluginEntry = z.infer<typeof PluginEntrySchema>;
|
|
|
194
194
|
export type Seed = z.infer<typeof SeedSchema>;
|
|
195
195
|
/**
|
|
196
196
|
* Load and validate `corpus/seed.yaml` (or another seed-shaped YAML file).
|
|
197
|
-
*
|
|
198
|
-
* `
|
|
197
|
+
*
|
|
198
|
+
* @throws {CommandRefusalError} `USAGE_INVALID` when the file is not there (the
|
|
199
|
+
* argument names nothing); `INPUT_UNREADABLE` when the OS refuses it;
|
|
200
|
+
* `CONFIG_INVALID` for malformed YAML, a schema violation, or a duplicate
|
|
201
|
+
* `source` or `name`
|
|
199
202
|
*/
|
|
200
203
|
export declare function loadSeedFile(path: string): Seed;
|
|
201
204
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/seed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/seed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,0BAA0B;;;;;;;;;EAGrB,CAAC;AAEZ,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;AAIZ,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYZ,CAAC;AAEZ,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIL,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAoB9C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAkB/C"}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* mirrors the `skills.defaults.validation` block of the project config
|
|
5
5
|
* schema (severity overrides + allow entries).
|
|
6
6
|
*/
|
|
7
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
8
7
|
import * as yaml from 'yaml';
|
|
9
8
|
import { z } from 'zod';
|
|
9
|
+
import { CommandRefusalError, errorMessageOf } from '../../utils/command-refusal.js';
|
|
10
|
+
import { readInputFile } from '../../utils/project-root-policy.js';
|
|
10
11
|
const ValidationAllowEntrySchema = z.object({
|
|
11
12
|
code: z.string().min(1),
|
|
12
13
|
reason: z.string().min(1),
|
|
@@ -37,26 +38,43 @@ const SeedSchema = z
|
|
|
37
38
|
plugins: z.array(PluginEntrySchema).min(1),
|
|
38
39
|
})
|
|
39
40
|
.strict();
|
|
41
|
+
/** The seed's own mistake: it is the operator's config for the scan. */
|
|
42
|
+
function seedInvalid(path, why, cause) {
|
|
43
|
+
return new CommandRefusalError('CONFIG_INVALID', `Seed file ${path} is invalid: ${why}`, cause === undefined ? undefined : { cause });
|
|
44
|
+
}
|
|
45
|
+
/** Parse the seed's text as YAML and against {@link SeedSchema}, refusing either as the seed's mistake. */
|
|
46
|
+
function parseSeed(path, raw) {
|
|
47
|
+
let parsed;
|
|
48
|
+
try {
|
|
49
|
+
parsed = yaml.parse(raw);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
throw seedInvalid(path, errorMessageOf(error), error);
|
|
53
|
+
}
|
|
54
|
+
const result = SeedSchema.safeParse(parsed);
|
|
55
|
+
if (!result.success)
|
|
56
|
+
throw seedInvalid(path, result.error.message, result.error);
|
|
57
|
+
return result.data;
|
|
58
|
+
}
|
|
40
59
|
/**
|
|
41
60
|
* Load and validate `corpus/seed.yaml` (or another seed-shaped YAML file).
|
|
42
|
-
*
|
|
43
|
-
* `
|
|
61
|
+
*
|
|
62
|
+
* @throws {CommandRefusalError} `USAGE_INVALID` when the file is not there (the
|
|
63
|
+
* argument names nothing); `INPUT_UNREADABLE` when the OS refuses it;
|
|
64
|
+
* `CONFIG_INVALID` for malformed YAML, a schema violation, or a duplicate
|
|
65
|
+
* `source` or `name`
|
|
44
66
|
*/
|
|
45
67
|
export function loadSeedFile(path) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
const raw = readFileSync(path, 'utf-8');
|
|
50
|
-
const parsed = yaml.parse(raw);
|
|
51
|
-
const seed = SeedSchema.parse(parsed);
|
|
68
|
+
const raw = readInputFile(path, { origin: 'argument', message: `Seed file not found: ${path}` });
|
|
69
|
+
const seed = parseSeed(path, raw);
|
|
52
70
|
const sources = new Set();
|
|
53
71
|
const names = new Set();
|
|
54
72
|
for (const entry of seed.plugins) {
|
|
55
73
|
if (sources.has(entry.source)) {
|
|
56
|
-
throw
|
|
74
|
+
throw seedInvalid(path, `duplicate source: ${entry.source}`);
|
|
57
75
|
}
|
|
58
76
|
if (names.has(entry.name)) {
|
|
59
|
-
throw
|
|
77
|
+
throw seedInvalid(path, `duplicate name: ${entry.name}`);
|
|
60
78
|
}
|
|
61
79
|
sources.add(entry.source);
|
|
62
80
|
names.add(entry.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/commands/corpus/seed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/commands/corpus/seed.ts"],"names":[],"mappings":"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"}
|