@vibe-agent-toolkit/cli 0.2.0-rc.11 → 0.2.0-rc.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/bin/supervise-cli.d.ts +45 -0
- package/dist/bin/supervise-cli.d.ts.map +1 -0
- package/dist/bin/supervise-cli.js +83 -0
- package/dist/bin/supervise-cli.js.map +1 -0
- package/dist/bin/vat +95 -43
- package/dist/bin/vat.d.ts +15 -4
- package/dist/bin/vat.d.ts.map +1 -1
- package/dist/bin/vat.js +95 -43
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +21 -29
- package/dist/bin.js.map +1 -1
- package/dist/command-tree.d.ts +45 -0
- package/dist/command-tree.d.ts.map +1 -0
- package/dist/command-tree.js +60 -0
- package/dist/command-tree.js.map +1 -0
- package/dist/commands/agent/build-schema.d.ts +100 -0
- package/dist/commands/agent/build-schema.d.ts.map +1 -0
- package/dist/commands/agent/build-schema.js +32 -0
- package/dist/commands/agent/build-schema.js.map +1 -0
- package/dist/commands/agent/build.d.ts +1 -0
- package/dist/commands/agent/build.d.ts.map +1 -1
- package/dist/commands/agent/build.js +63 -33
- package/dist/commands/agent/build.js.map +1 -1
- package/dist/commands/agent/import-schema.d.ts +75 -0
- package/dist/commands/agent/import-schema.d.ts.map +1 -0
- package/dist/commands/agent/import-schema.js +25 -0
- package/dist/commands/agent/import-schema.js.map +1 -0
- package/dist/commands/agent/import.d.ts.map +1 -1
- package/dist/commands/agent/import.js +33 -27
- package/dist/commands/agent/import.js.map +1 -1
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +132 -37
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/install-path.d.ts.map +1 -1
- package/dist/commands/agent/install-path.js +2 -1
- package/dist/commands/agent/install-path.js.map +1 -1
- package/dist/commands/agent/install-schema.d.ts +89 -0
- package/dist/commands/agent/install-schema.d.ts.map +1 -0
- package/dist/commands/agent/install-schema.js +29 -0
- package/dist/commands/agent/install-schema.js.map +1 -0
- package/dist/commands/agent/install.d.ts +7 -1
- package/dist/commands/agent/install.d.ts.map +1 -1
- package/dist/commands/agent/install.js +78 -108
- package/dist/commands/agent/install.js.map +1 -1
- package/dist/commands/agent/installed-schema.d.ts +140 -0
- package/dist/commands/agent/installed-schema.d.ts.map +1 -0
- package/dist/commands/agent/installed-schema.js +36 -0
- package/dist/commands/agent/installed-schema.js.map +1 -0
- package/dist/commands/agent/installed.d.ts +1 -1
- package/dist/commands/agent/installed.d.ts.map +1 -1
- package/dist/commands/agent/installed.js +104 -75
- package/dist/commands/agent/installed.js.map +1 -1
- package/dist/commands/agent/list-schema.d.ts +128 -0
- package/dist/commands/agent/list-schema.d.ts.map +1 -0
- package/dist/commands/agent/list-schema.js +34 -0
- package/dist/commands/agent/list-schema.js.map +1 -0
- package/dist/commands/agent/list.d.ts +4 -3
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +50 -37
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/agent/run.d.ts +3 -0
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +8 -3
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/uninstall-schema.d.ts +89 -0
- package/dist/commands/agent/uninstall-schema.d.ts.map +1 -0
- package/dist/commands/agent/uninstall-schema.js +29 -0
- package/dist/commands/agent/uninstall-schema.js.map +1 -0
- package/dist/commands/agent/uninstall.d.ts +5 -1
- package/dist/commands/agent/uninstall.d.ts.map +1 -1
- package/dist/commands/agent/uninstall.js +50 -38
- package/dist/commands/agent/uninstall.js.map +1 -1
- package/dist/commands/agent/validate-schema.d.ts +129 -0
- package/dist/commands/agent/validate-schema.d.ts.map +1 -0
- package/dist/commands/agent/validate-schema.js +35 -0
- package/dist/commands/agent/validate-schema.js.map +1 -0
- package/dist/commands/agent/validate.d.ts +6 -0
- package/dist/commands/agent/validate.d.ts.map +1 -1
- package/dist/commands/agent/validate.js +64 -36
- package/dist/commands/agent/validate.js.map +1 -1
- package/dist/commands/ard/emit-schema.d.ts +108 -0
- package/dist/commands/ard/emit-schema.d.ts.map +1 -0
- package/dist/commands/ard/emit-schema.js +37 -0
- package/dist/commands/ard/emit-schema.js.map +1 -0
- package/dist/commands/ard/emit.d.ts +21 -65
- package/dist/commands/ard/emit.d.ts.map +1 -1
- package/dist/commands/ard/emit.js +68 -74
- package/dist/commands/ard/emit.js.map +1 -1
- package/dist/commands/ard/index.d.ts.map +1 -1
- package/dist/commands/ard/index.js +14 -11
- package/dist/commands/ard/index.js.map +1 -1
- package/dist/commands/audit/compat-lane-findings.d.ts +65 -0
- package/dist/commands/audit/compat-lane-findings.d.ts.map +1 -0
- package/dist/commands/audit/compat-lane-findings.js +72 -0
- package/dist/commands/audit/compat-lane-findings.js.map +1 -0
- package/dist/commands/audit/distributed-tree.d.ts +2 -2
- package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
- package/dist/commands/audit/distributed-tree.js +23 -12
- package/dist/commands/audit/distributed-tree.js.map +1 -1
- package/dist/commands/audit/git-url-clone.d.ts +15 -7
- package/dist/commands/audit/git-url-clone.d.ts.map +1 -1
- package/dist/commands/audit/git-url-clone.js +85 -42
- package/dist/commands/audit/git-url-clone.js.map +1 -1
- package/dist/commands/audit/hierarchical-output.d.ts +28 -4
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js +44 -27
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit/scan-population.d.ts.map +1 -1
- package/dist/commands/audit/scan-population.js +2 -1
- package/dist/commands/audit/scan-population.js.map +1 -1
- package/dist/commands/audit-schema.d.ts +1247 -0
- package/dist/commands/audit-schema.d.ts.map +1 -0
- package/dist/commands/audit-schema.js +139 -0
- package/dist/commands/audit-schema.js.map +1 -0
- package/dist/commands/audit-settings-schema.d.ts +417 -0
- package/dist/commands/audit-settings-schema.d.ts.map +1 -0
- package/dist/commands/audit-settings-schema.js +77 -0
- package/dist/commands/audit-settings-schema.js.map +1 -0
- package/dist/commands/audit-settings.d.ts +28 -9
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +215 -151
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +72 -33
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +405 -411
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts +61 -4
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +176 -190
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cache/clear-schema.d.ts +111 -0
- package/dist/commands/cache/clear-schema.d.ts.map +1 -0
- package/dist/commands/cache/clear-schema.js +37 -0
- package/dist/commands/cache/clear-schema.js.map +1 -0
- package/dist/commands/cache/clear.d.ts +28 -26
- package/dist/commands/cache/clear.d.ts.map +1 -1
- package/dist/commands/cache/clear.js +108 -103
- package/dist/commands/cache/clear.js.map +1 -1
- package/dist/commands/cache/index.d.ts.map +1 -1
- package/dist/commands/cache/index.js +13 -7
- package/dist/commands/cache/index.js.map +1 -1
- package/dist/commands/claude/claude-config.d.ts +23 -6
- package/dist/commands/claude/claude-config.d.ts.map +1 -1
- package/dist/commands/claude/claude-config.js +29 -15
- package/dist/commands/claude/claude-config.js.map +1 -1
- package/dist/commands/claude/context.d.ts +55 -2
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +74 -50
- package/dist/commands/claude/context.js.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.js +2 -2
- package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts +14 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +135 -68
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts +3 -5
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +16 -7
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish-schema.d.ts +137 -0
- package/dist/commands/claude/marketplace/publish-schema.d.ts.map +1 -0
- package/dist/commands/claude/marketplace/publish-schema.js +32 -0
- package/dist/commands/claude/marketplace/publish-schema.js.map +1 -0
- package/dist/commands/claude/marketplace/publish-tree.d.ts +6 -0
- package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.js +75 -17
- package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.d.ts +27 -0
- package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +84 -50
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate-schema.d.ts +362 -0
- package/dist/commands/claude/marketplace/validate-schema.d.ts.map +1 -0
- package/dist/commands/claude/marketplace/validate-schema.js +67 -0
- package/dist/commands/claude/marketplace/validate-schema.js.map +1 -0
- package/dist/commands/claude/marketplace/validate.d.ts +40 -53
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +358 -214
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/api-keys.d.ts +3 -0
- package/dist/commands/claude/org/api-keys.d.ts.map +1 -1
- package/dist/commands/claude/org/api-keys.js +4 -5
- package/dist/commands/claude/org/api-keys.js.map +1 -1
- package/dist/commands/claude/org/code-analytics.js +1 -1
- package/dist/commands/claude/org/code-analytics.js.map +1 -1
- package/dist/commands/claude/org/cost.d.ts.map +1 -1
- package/dist/commands/claude/org/cost.js +11 -33
- package/dist/commands/claude/org/cost.js.map +1 -1
- package/dist/commands/claude/org/helpers.d.ts +40 -27
- package/dist/commands/claude/org/helpers.d.ts.map +1 -1
- package/dist/commands/claude/org/helpers.js +61 -66
- package/dist/commands/claude/org/helpers.js.map +1 -1
- package/dist/commands/claude/org/index.d.ts.map +1 -1
- package/dist/commands/claude/org/index.js +10 -4
- package/dist/commands/claude/org/index.js.map +1 -1
- package/dist/commands/claude/org/info.d.ts.map +1 -1
- package/dist/commands/claude/org/info.js +2 -3
- package/dist/commands/claude/org/info.js.map +1 -1
- package/dist/commands/claude/org/invites.d.ts +3 -0
- package/dist/commands/claude/org/invites.d.ts.map +1 -1
- package/dist/commands/claude/org/invites.js +5 -7
- package/dist/commands/claude/org/invites.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +76 -21
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +273 -246
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/org/stubs-schema.d.ts +56 -0
- package/dist/commands/claude/org/stubs-schema.d.ts.map +1 -0
- package/dist/commands/claude/org/stubs-schema.js +23 -0
- package/dist/commands/claude/org/stubs-schema.js.map +1 -0
- package/dist/commands/claude/org/stubs.d.ts +8 -3
- package/dist/commands/claude/org/stubs.d.ts.map +1 -1
- package/dist/commands/claude/org/stubs.js +9 -9
- package/dist/commands/claude/org/stubs.js.map +1 -1
- package/dist/commands/claude/org/usage.d.ts.map +1 -1
- package/dist/commands/claude/org/usage.js +1 -2
- package/dist/commands/claude/org/usage.js.map +1 -1
- package/dist/commands/claude/org/users.d.ts +3 -0
- package/dist/commands/claude/org/users.d.ts.map +1 -1
- package/dist/commands/claude/org/users.js +6 -8
- package/dist/commands/claude/org/users.js.map +1 -1
- package/dist/commands/claude/org/workspaces.d.ts +3 -0
- package/dist/commands/claude/org/workspaces.d.ts.map +1 -1
- package/dist/commands/claude/org/workspaces.js +10 -15
- package/dist/commands/claude/org/workspaces.js.map +1 -1
- package/dist/commands/claude/plugin/build-schema.d.ts +642 -0
- package/dist/commands/claude/plugin/build-schema.d.ts.map +1 -0
- package/dist/commands/claude/plugin/build-schema.js +51 -0
- package/dist/commands/claude/plugin/build-schema.js.map +1 -0
- package/dist/commands/claude/plugin/build.d.ts +220 -45
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +466 -249
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/helpers.d.ts +186 -24
- package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
- package/dist/commands/claude/plugin/helpers.js +110 -68
- package/dist/commands/claude/plugin/helpers.js.map +1 -1
- package/dist/commands/claude/plugin/install-schema.d.ts +144 -0
- package/dist/commands/claude/plugin/install-schema.d.ts.map +1 -0
- package/dist/commands/claude/plugin/install-schema.js +36 -0
- package/dist/commands/claude/plugin/install-schema.js.map +1 -0
- package/dist/commands/claude/plugin/install.d.ts +191 -11
- package/dist/commands/claude/plugin/install.d.ts.map +1 -1
- package/dist/commands/claude/plugin/install.js +688 -628
- package/dist/commands/claude/plugin/install.js.map +1 -1
- package/dist/commands/claude/plugin/kept-findings.d.ts +19 -0
- package/dist/commands/claude/plugin/kept-findings.d.ts.map +1 -0
- package/dist/commands/claude/plugin/kept-findings.js +24 -0
- package/dist/commands/claude/plugin/kept-findings.js.map +1 -0
- package/dist/commands/claude/plugin/list-schema.d.ts +223 -0
- package/dist/commands/claude/plugin/list-schema.d.ts.map +1 -0
- package/dist/commands/claude/plugin/list-schema.js +34 -0
- package/dist/commands/claude/plugin/list-schema.js.map +1 -0
- package/dist/commands/claude/plugin/list.d.ts +18 -0
- package/dist/commands/claude/plugin/list.d.ts.map +1 -1
- package/dist/commands/claude/plugin/list.js +53 -45
- package/dist/commands/claude/plugin/list.js.map +1 -1
- package/dist/commands/claude/plugin/npm-pack.d.ts +15 -0
- package/dist/commands/claude/plugin/npm-pack.d.ts.map +1 -0
- package/dist/commands/claude/plugin/npm-pack.js +39 -0
- package/dist/commands/claude/plugin/npm-pack.js.map +1 -0
- package/dist/commands/claude/plugin/plugin-changelog.d.ts +5 -1
- package/dist/commands/claude/plugin/plugin-changelog.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-changelog.js +9 -5
- package/dist/commands/claude/plugin/plugin-changelog.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.d.ts +21 -2
- package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.js +65 -32
- package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.d.ts +13 -0
- package/dist/commands/claude/plugin/plugin-validators.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.js +64 -16
- package/dist/commands/claude/plugin/plugin-validators.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +63 -37
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/claude/plugin/uninstall-schema.d.ts +112 -0
- package/dist/commands/claude/plugin/uninstall-schema.d.ts.map +1 -0
- package/dist/commands/claude/plugin/uninstall-schema.js +28 -0
- package/dist/commands/claude/plugin/uninstall-schema.js.map +1 -0
- package/dist/commands/claude/plugin/uninstall.d.ts +57 -0
- package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
- package/dist/commands/claude/plugin/uninstall.js +176 -64
- package/dist/commands/claude/plugin/uninstall.js.map +1 -1
- package/dist/commands/consistency-check.d.ts.map +1 -1
- package/dist/commands/consistency-check.js +8 -6
- package/dist/commands/consistency-check.js.map +1 -1
- package/dist/commands/corpus/index.d.ts.map +1 -1
- package/dist/commands/corpus/index.js +26 -10
- package/dist/commands/corpus/index.js.map +1 -1
- package/dist/commands/corpus/report.d.ts +34 -16
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +36 -18
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts +25 -20
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +123 -67
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/corpus/scan-schema.d.ts +127 -0
- package/dist/commands/corpus/scan-schema.d.ts.map +1 -0
- package/dist/commands/corpus/scan-schema.js +31 -0
- package/dist/commands/corpus/scan-schema.js.map +1 -0
- package/dist/commands/corpus/scan.d.ts +31 -0
- package/dist/commands/corpus/scan.d.ts.map +1 -1
- package/dist/commands/corpus/scan.js +124 -50
- package/dist/commands/corpus/scan.js.map +1 -1
- package/dist/commands/corpus/seed.d.ts +11 -8
- package/dist/commands/corpus/seed.d.ts.map +1 -1
- package/dist/commands/corpus/seed.js +29 -11
- package/dist/commands/corpus/seed.js.map +1 -1
- package/dist/commands/doctor-render.d.ts +52 -0
- package/dist/commands/doctor-render.d.ts.map +1 -0
- package/dist/commands/doctor-render.js +110 -0
- package/dist/commands/doctor-render.js.map +1 -0
- package/dist/commands/doctor-schema.d.ts +191 -0
- package/dist/commands/doctor-schema.d.ts.map +1 -0
- package/dist/commands/doctor-schema.js +44 -0
- package/dist/commands/doctor-schema.js.map +1 -0
- package/dist/commands/doctor.d.ts +7 -62
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +126 -165
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory-schema.d.ts +7297 -0
- package/dist/commands/inventory-schema.d.ts.map +1 -0
- package/dist/commands/inventory-schema.js +28 -0
- package/dist/commands/inventory-schema.js.map +1 -0
- package/dist/commands/inventory.d.ts +1 -1
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +89 -41
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/mcp/index.d.ts.map +1 -1
- package/dist/commands/mcp/index.js +15 -0
- package/dist/commands/mcp/index.js.map +1 -1
- package/dist/commands/mcp/list-collections-schema.d.ts +101 -0
- package/dist/commands/mcp/list-collections-schema.d.ts.map +1 -0
- package/dist/commands/mcp/list-collections-schema.js +22 -0
- package/dist/commands/mcp/list-collections-schema.js.map +1 -0
- package/dist/commands/mcp/list-collections.d.ts +1 -1
- package/dist/commands/mcp/list-collections.d.ts.map +1 -1
- package/dist/commands/mcp/list-collections.js +19 -17
- package/dist/commands/mcp/list-collections.js.map +1 -1
- package/dist/commands/mcp/serve.d.ts +5 -0
- package/dist/commands/mcp/serve.d.ts.map +1 -1
- package/dist/commands/mcp/serve.js +29 -15
- package/dist/commands/mcp/serve.js.map +1 -1
- package/dist/commands/okf/index.d.ts.map +1 -1
- package/dist/commands/okf/index.js +6 -5
- package/dist/commands/okf/index.js.map +1 -1
- package/dist/commands/okf/validate-schema.d.ts +171 -0
- package/dist/commands/okf/validate-schema.d.ts.map +1 -0
- package/dist/commands/okf/validate-schema.js +44 -0
- package/dist/commands/okf/validate-schema.js.map +1 -0
- package/dist/commands/okf/validate.d.ts +16 -149
- package/dist/commands/okf/validate.d.ts.map +1 -1
- package/dist/commands/okf/validate.js +64 -62
- package/dist/commands/okf/validate.js.map +1 -1
- package/dist/commands/orchestrator-schema.d.ts +419 -0
- package/dist/commands/orchestrator-schema.d.ts.map +1 -0
- package/dist/commands/orchestrator-schema.js +91 -0
- package/dist/commands/orchestrator-schema.js.map +1 -0
- package/dist/commands/phase-utils.d.ts +188 -220
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +210 -258
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/positional-args.d.ts +13 -11
- package/dist/commands/positional-args.d.ts.map +1 -1
- package/dist/commands/positional-args.js +16 -15
- package/dist/commands/positional-args.js.map +1 -1
- package/dist/commands/rag/admin-schema.d.ts +152 -0
- package/dist/commands/rag/admin-schema.d.ts.map +1 -0
- package/dist/commands/rag/admin-schema.js +31 -0
- package/dist/commands/rag/admin-schema.js.map +1 -0
- package/dist/commands/rag/clear-command.d.ts.map +1 -1
- package/dist/commands/rag/clear-command.js +30 -15
- package/dist/commands/rag/clear-command.js.map +1 -1
- package/dist/commands/rag/command-helpers.d.ts +31 -7
- package/dist/commands/rag/command-helpers.d.ts.map +1 -1
- package/dist/commands/rag/command-helpers.js +41 -21
- package/dist/commands/rag/command-helpers.js.map +1 -1
- package/dist/commands/rag/index-command.d.ts +37 -48
- package/dist/commands/rag/index-command.d.ts.map +1 -1
- package/dist/commands/rag/index-command.js +80 -65
- package/dist/commands/rag/index-command.js.map +1 -1
- package/dist/commands/rag/index-schema.d.ts +107 -0
- package/dist/commands/rag/index-schema.d.ts.map +1 -0
- package/dist/commands/rag/index-schema.js +34 -0
- package/dist/commands/rag/index-schema.js.map +1 -0
- package/dist/commands/rag/index.d.ts.map +1 -1
- package/dist/commands/rag/index.js +88 -41
- package/dist/commands/rag/index.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts +18 -4
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +42 -27
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/rag/query-schema.d.ts +363 -0
- package/dist/commands/rag/query-schema.d.ts.map +1 -0
- package/dist/commands/rag/query-schema.js +59 -0
- package/dist/commands/rag/query-schema.js.map +1 -0
- package/dist/commands/rag/stats-command.d.ts.map +1 -1
- package/dist/commands/rag/stats-command.js +19 -18
- package/dist/commands/rag/stats-command.js.map +1 -1
- package/dist/commands/resources/check-progress.d.ts +64 -11
- package/dist/commands/resources/check-progress.d.ts.map +1 -1
- package/dist/commands/resources/check-progress.js +77 -4
- package/dist/commands/resources/check-progress.js.map +1 -1
- package/dist/commands/resources/check-schema.d.ts +335 -0
- package/dist/commands/resources/check-schema.d.ts.map +1 -0
- package/dist/commands/resources/check-schema.js +104 -0
- package/dist/commands/resources/check-schema.js.map +1 -0
- package/dist/commands/resources/check-supervisor.d.ts +315 -71
- package/dist/commands/resources/check-supervisor.d.ts.map +1 -1
- package/dist/commands/resources/check-supervisor.js +493 -107
- package/dist/commands/resources/check-supervisor.js.map +1 -1
- package/dist/commands/resources/check.d.ts +56 -249
- package/dist/commands/resources/check.d.ts.map +1 -1
- package/dist/commands/resources/check.js +416 -276
- package/dist/commands/resources/check.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +165 -91
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/query-schema.d.ts +188 -0
- package/dist/commands/resources/query-schema.d.ts.map +1 -0
- package/dist/commands/resources/query-schema.js +48 -0
- package/dist/commands/resources/query-schema.js.map +1 -0
- package/dist/commands/resources/query.d.ts +17 -12
- package/dist/commands/resources/query.d.ts.map +1 -1
- package/dist/commands/resources/query.js +60 -48
- package/dist/commands/resources/query.js.map +1 -1
- package/dist/commands/resources/scan-schema.d.ts +195 -0
- package/dist/commands/resources/scan-schema.d.ts.map +1 -0
- package/dist/commands/resources/scan-schema.js +53 -0
- package/dist/commands/resources/scan-schema.js.map +1 -0
- package/dist/commands/resources/scan.d.ts +26 -3
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +51 -53
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate-schema.d.ts +326 -0
- package/dist/commands/resources/validate-schema.d.ts.map +1 -0
- package/dist/commands/resources/validate-schema.js +60 -0
- package/dist/commands/resources/validate-schema.js.map +1 -0
- package/dist/commands/resources/validate.d.ts +45 -169
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +221 -485
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review-checklist.d.ts.map +1 -1
- package/dist/commands/skill/review-checklist.js +0 -1
- package/dist/commands/skill/review-checklist.js.map +1 -1
- package/dist/commands/skill/review-schema.d.ts +278 -0
- package/dist/commands/skill/review-schema.d.ts.map +1 -0
- package/dist/commands/skill/review-schema.js +46 -0
- package/dist/commands/skill/review-schema.js.map +1 -0
- package/dist/commands/skill/review.d.ts +8 -234
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +54 -78
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/auth-flags.d.ts +3 -0
- package/dist/commands/skill/test/auth-flags.d.ts.map +1 -1
- package/dist/commands/skill/test/auth-flags.js +6 -2
- package/dist/commands/skill/test/auth-flags.js.map +1 -1
- package/dist/commands/skill/test/configure-schema.d.ts +67 -0
- package/dist/commands/skill/test/configure-schema.d.ts.map +1 -0
- package/dist/commands/skill/test/configure-schema.js +27 -0
- package/dist/commands/skill/test/configure-schema.js.map +1 -0
- package/dist/commands/skill/test/configure.d.ts +12 -5
- package/dist/commands/skill/test/configure.d.ts.map +1 -1
- package/dist/commands/skill/test/configure.js +101 -31
- package/dist/commands/skill/test/configure.js.map +1 -1
- package/dist/commands/skill/test/run-schema.d.ts +107 -0
- package/dist/commands/skill/test/run-schema.d.ts.map +1 -0
- package/dist/commands/skill/test/run-schema.js +36 -0
- package/dist/commands/skill/test/run-schema.js.map +1 -0
- package/dist/commands/skill/test/run.d.ts +3 -2
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +316 -155
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build-schema.d.ts +199 -0
- package/dist/commands/skills/build-schema.d.ts.map +1 -0
- package/dist/commands/skills/build-schema.js +55 -0
- package/dist/commands/skills/build-schema.js.map +1 -0
- package/dist/commands/skills/build.d.ts +95 -298
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +415 -818
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/command-helpers.d.ts +5 -11
- package/dist/commands/skills/command-helpers.d.ts.map +1 -1
- package/dist/commands/skills/command-helpers.js +7 -17
- package/dist/commands/skills/command-helpers.js.map +1 -1
- package/dist/commands/skills/index.js +12 -6
- package/dist/commands/skills/index.js.map +1 -1
- package/dist/commands/skills/install-schema.d.ts +153 -0
- package/dist/commands/skills/install-schema.d.ts.map +1 -0
- package/dist/commands/skills/install-schema.js +44 -0
- package/dist/commands/skills/install-schema.js.map +1 -0
- package/dist/commands/skills/install.d.ts +76 -8
- package/dist/commands/skills/install.d.ts.map +1 -1
- package/dist/commands/skills/install.js +230 -194
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/skills/list-schema.d.ts +145 -0
- package/dist/commands/skills/list-schema.d.ts.map +1 -0
- package/dist/commands/skills/list-schema.js +37 -0
- package/dist/commands/skills/list-schema.js.map +1 -0
- package/dist/commands/skills/list.d.ts +39 -8
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +110 -122
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package-schema.d.ts +98 -0
- package/dist/commands/skills/package-schema.d.ts.map +1 -0
- package/dist/commands/skills/package-schema.js +32 -0
- package/dist/commands/skills/package-schema.js.map +1 -0
- package/dist/commands/skills/package.d.ts +85 -14
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +288 -207
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/scope-guard.d.ts +27 -20
- package/dist/commands/skills/scope-guard.d.ts.map +1 -1
- package/dist/commands/skills/scope-guard.js +43 -32
- package/dist/commands/skills/scope-guard.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts +1 -1
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +40 -19
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/source-resolvers.d.ts +58 -8
- package/dist/commands/skills/source-resolvers.d.ts.map +1 -1
- package/dist/commands/skills/source-resolvers.js +113 -38
- package/dist/commands/skills/source-resolvers.js.map +1 -1
- package/dist/commands/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +31 -51
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate-schema.d.ts +199 -0
- package/dist/commands/skills/validate-schema.d.ts.map +1 -0
- package/dist/commands/skills/validate-schema.js +44 -0
- package/dist/commands/skills/validate-schema.js.map +1 -0
- package/dist/commands/skills/validate.d.ts +100 -136
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +257 -343
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts +17 -5
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +139 -94
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +121 -110
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +230 -294
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/report-schemas.d.ts +12398 -35
- package/dist/report-schemas.d.ts.map +1 -1
- package/dist/report-schemas.js +624 -66
- package/dist/report-schemas.js.map +1 -1
- package/dist/skill-resolution/packaging-config.js +2 -2
- package/dist/skill-resolution/packaging-config.js.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.js +20 -13
- package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
- package/dist/utils/agent-discovery.d.ts +34 -1
- package/dist/utils/agent-discovery.d.ts.map +1 -1
- package/dist/utils/agent-discovery.js +80 -38
- package/dist/utils/agent-discovery.js.map +1 -1
- package/dist/utils/claude-context-lens.d.ts +13 -6
- package/dist/utils/claude-context-lens.d.ts.map +1 -1
- package/dist/utils/claude-context-lens.js +11 -12
- package/dist/utils/claude-context-lens.js.map +1 -1
- package/dist/utils/command-error-codes.d.ts +12 -0
- package/dist/utils/command-error-codes.d.ts.map +1 -0
- package/dist/utils/command-error-codes.js +12 -0
- package/dist/utils/command-error-codes.js.map +1 -0
- package/dist/utils/command-refusal.d.ts +58 -0
- package/dist/utils/command-refusal.d.ts.map +1 -0
- package/dist/utils/command-refusal.js +170 -0
- package/dist/utils/command-refusal.js.map +1 -0
- package/dist/utils/commander-ending.d.ts +40 -0
- package/dist/utils/commander-ending.d.ts.map +1 -0
- package/dist/utils/commander-ending.js +42 -0
- package/dist/utils/commander-ending.js.map +1 -0
- package/dist/utils/config-loader.d.ts +13 -8
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +84 -45
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/corpus-target.d.ts +1 -1
- package/dist/utils/corpus-target.d.ts.map +1 -1
- package/dist/utils/corpus-target.js +6 -4
- package/dist/utils/corpus-target.js.map +1 -1
- package/dist/utils/debug-diagnostics.d.ts +18 -0
- package/dist/utils/debug-diagnostics.d.ts.map +1 -0
- package/dist/utils/debug-diagnostics.js +23 -0
- package/dist/utils/debug-diagnostics.js.map +1 -0
- package/dist/utils/document-writer.d.ts +191 -0
- package/dist/utils/document-writer.d.ts.map +1 -0
- package/dist/utils/document-writer.js +319 -0
- package/dist/utils/document-writer.js.map +1 -0
- package/dist/utils/help-loader.d.ts +2 -2
- package/dist/utils/help-loader.js +2 -2
- package/dist/utils/install-plan.d.ts +99 -0
- package/dist/utils/install-plan.d.ts.map +1 -0
- package/dist/utils/install-plan.js +146 -0
- package/dist/utils/install-plan.js.map +1 -0
- package/dist/utils/issue-anchor.d.ts +1 -1
- package/dist/utils/issue-anchor.d.ts.map +1 -1
- package/dist/utils/issue-anchor.js.map +1 -1
- package/dist/utils/issue-rendering.d.ts +8 -3
- package/dist/utils/issue-rendering.d.ts.map +1 -1
- package/dist/utils/issue-rendering.js +4 -0
- package/dist/utils/issue-rendering.js.map +1 -1
- package/dist/utils/lens-population.d.ts +20 -0
- package/dist/utils/lens-population.d.ts.map +1 -0
- package/dist/utils/lens-population.js +15 -0
- package/dist/utils/lens-population.js.map +1 -0
- package/dist/utils/marketplace-io.d.ts +63 -0
- package/dist/utils/marketplace-io.d.ts.map +1 -0
- package/dist/utils/marketplace-io.js +63 -0
- package/dist/utils/marketplace-io.js.map +1 -0
- package/dist/utils/operator-notices.d.ts +97 -0
- package/dist/utils/operator-notices.d.ts.map +1 -0
- package/dist/utils/operator-notices.js +115 -0
- package/dist/utils/operator-notices.js.map +1 -0
- package/dist/utils/optional-backend.d.ts +18 -15
- package/dist/utils/optional-backend.d.ts.map +1 -1
- package/dist/utils/optional-backend.js +22 -33
- package/dist/utils/optional-backend.js.map +1 -1
- package/dist/utils/output.d.ts +5 -43
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +8 -63
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/package-json.d.ts +3 -4
- package/dist/utils/package-json.d.ts.map +1 -1
- package/dist/utils/package-json.js +8 -8
- package/dist/utils/package-json.js.map +1 -1
- package/dist/utils/population-wiring.d.ts +31 -38
- package/dist/utils/population-wiring.d.ts.map +1 -1
- package/dist/utils/population-wiring.js +38 -32
- package/dist/utils/population-wiring.js.map +1 -1
- package/dist/utils/project-root-policy.d.ts +74 -1
- package/dist/utils/project-root-policy.d.ts.map +1 -1
- package/dist/utils/project-root-policy.js +146 -8
- package/dist/utils/project-root-policy.js.map +1 -1
- package/dist/utils/projection-lenses.d.ts +25 -7
- package/dist/utils/projection-lenses.d.ts.map +1 -1
- package/dist/utils/projection-lenses.js +20 -6
- package/dist/utils/projection-lenses.js.map +1 -1
- package/dist/utils/projection-query.d.ts +17 -10
- package/dist/utils/projection-query.d.ts.map +1 -1
- package/dist/utils/projection-query.js +47 -28
- package/dist/utils/projection-query.js.map +1 -1
- package/dist/utils/projection-store.d.ts +2 -2
- package/dist/utils/projection-store.d.ts.map +1 -1
- package/dist/utils/projection-store.js +74 -45
- package/dist/utils/projection-store.js.map +1 -1
- package/dist/utils/rag-database.d.ts +61 -0
- package/dist/utils/rag-database.d.ts.map +1 -0
- package/dist/utils/rag-database.js +178 -0
- package/dist/utils/rag-database.js.map +1 -0
- package/dist/utils/relation-limits.d.ts +7 -2
- package/dist/utils/relation-limits.d.ts.map +1 -1
- package/dist/utils/relation-limits.js +6 -1
- package/dist/utils/relation-limits.js.map +1 -1
- package/dist/utils/relativize-paths.d.ts +23 -0
- package/dist/utils/relativize-paths.d.ts.map +1 -1
- package/dist/utils/relativize-paths.js +32 -1
- package/dist/utils/relativize-paths.js.map +1 -1
- package/dist/utils/resource-loader.d.ts +76 -32
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +132 -66
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/run-integrity.d.ts +64 -31
- package/dist/utils/run-integrity.d.ts.map +1 -1
- package/dist/utils/run-integrity.js +76 -35
- package/dist/utils/run-integrity.js.map +1 -1
- package/dist/utils/scope-locations.d.ts +7 -5
- package/dist/utils/scope-locations.d.ts.map +1 -1
- package/dist/utils/scope-locations.js +37 -12
- package/dist/utils/scope-locations.js.map +1 -1
- package/dist/utils/staging-dir.d.ts +7 -0
- package/dist/utils/staging-dir.d.ts.map +1 -0
- package/dist/utils/staging-dir.js +12 -0
- package/dist/utils/staging-dir.js.map +1 -0
- package/dist/utils/url-redact.d.ts +9 -0
- package/dist/utils/url-redact.d.ts.map +1 -1
- package/dist/utils/url-redact.js +13 -0
- package/dist/utils/url-redact.js.map +1 -1
- package/dist/utils/user-context-scanner.d.ts +3 -2
- package/dist/utils/user-context-scanner.d.ts.map +1 -1
- package/dist/utils/user-context-scanner.js +24 -4
- package/dist/utils/user-context-scanner.js.map +1 -1
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +8 -14
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/utils/vat-bin-path.d.ts.map +1 -1
- package/dist/utils/vat-bin-path.js +3 -3
- package/dist/utils/vat-bin-path.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +5 -5
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/agent.md +347 -2
- package/docs/audit.md +312 -89
- package/docs/doctor.md +65 -19
- package/docs/index.md +571 -20
- package/docs/mcp.md +64 -12
- package/docs/rag.md +176 -48
- package/docs/resources.md +257 -71
- package/docs/skill-test.md +148 -19
- package/docs/skills.md +459 -174
- package/package.json +16 -19
- package/schemas/agent-build.json +268 -0
- package/schemas/agent-import.json +252 -0
- package/schemas/agent-install.json +260 -0
- package/schemas/agent-installed.json +287 -0
- package/schemas/agent-list.json +279 -0
- package/schemas/agent-uninstall.json +260 -0
- package/schemas/agent-validate.json +279 -0
- package/schemas/ard-emit.json +224 -106
- package/schemas/audit-settings.json +472 -0
- package/schemas/audit.json +635 -0
- package/schemas/cache-clear.json +273 -0
- package/schemas/claude-marketplace-publish.json +286 -0
- package/schemas/claude-marketplace-validate.json +352 -0
- package/schemas/claude-org-not-implemented.json +239 -0
- package/schemas/claude-plugin-build.json +446 -0
- package/schemas/claude-plugin-install.json +291 -0
- package/schemas/claude-plugin-list.json +326 -0
- package/schemas/claude-plugin-uninstall.json +272 -0
- package/schemas/corpus-audit.json +635 -0
- package/schemas/corpus-scan.json +293 -0
- package/schemas/doctor.json +299 -0
- package/schemas/inventory.json +982 -0
- package/schemas/mcp-list-collections.json +268 -0
- package/schemas/okf-validate.json +224 -106
- package/schemas/orchestrator.json +299 -0
- package/schemas/rag-clear.json +253 -0
- package/schemas/rag-index.json +273 -0
- package/schemas/rag-query.json +365 -0
- package/schemas/rag-stats.json +269 -0
- package/schemas/resources-check.json +242 -108
- package/schemas/resources-query.json +333 -0
- package/schemas/resources-scan.json +321 -0
- package/schemas/resources-validate.json +332 -0
- package/schemas/skill-review.json +224 -106
- package/schemas/skill-test-configure.json +256 -0
- package/schemas/skill-test-run.json +296 -0
- package/schemas/skills-build.json +325 -0
- package/schemas/skills-install.json +287 -0
- package/schemas/skills-list.json +283 -0
- package/schemas/skills-package.json +270 -0
- package/schemas/skills-validate.json +285 -0
- package/dist/commands/skills/shared.d.ts +0 -29
- package/dist/commands/skills/shared.d.ts.map +0 -1
- package/dist/commands/skills/shared.js +0 -33
- package/dist/commands/skills/shared.js.map +0 -1
- package/dist/utils/command-error.d.ts +0 -194
- package/dist/utils/command-error.d.ts.map +0 -1
- package/dist/utils/command-error.js +0 -237
- package/dist/utils/command-error.js.map +0 -1
|
@@ -2,13 +2,19 @@
|
|
|
2
2
|
* `vat audit settings` subcommand
|
|
3
3
|
*
|
|
4
4
|
* Shows effective merged Claude settings with provenance, or validates a specific file.
|
|
5
|
+
* Every mode publishes the report envelope through the one writer: `data.mode`
|
|
6
|
+
* says which mode ran, `findings` carry what is wrong (each with a registered
|
|
7
|
+
* `SETTINGS_*` code and the settings file as `location`), and `examined`
|
|
8
|
+
* counts the settings documents read.
|
|
5
9
|
*/
|
|
6
|
-
import { type ProvenanceValue, type RuleConflict, type
|
|
10
|
+
import { type ProvenanceValue, type RuleConflict, type SettingsPathEntry } from '@vibe-agent-toolkit/claude-marketplace';
|
|
11
|
+
import { type Finding } from '@vibe-agent-toolkit/schema';
|
|
7
12
|
import { Command } from 'commander';
|
|
13
|
+
import type { AuditSettingsData } from './audit-settings-schema.js';
|
|
8
14
|
export interface AuditSettingsOptions {
|
|
9
15
|
showPaths?: boolean;
|
|
10
16
|
file?: string;
|
|
11
|
-
type?:
|
|
17
|
+
type?: string;
|
|
12
18
|
debug?: boolean;
|
|
13
19
|
}
|
|
14
20
|
/** A formatted provenance value; `overrode` recurses down the whole chain. */
|
|
@@ -27,27 +33,40 @@ export interface FormattedProvenanceValue {
|
|
|
27
33
|
* layer made a project override look like the only value ever declared — the
|
|
28
34
|
* merger builds the linked list and this formatter used to throw it away.
|
|
29
35
|
*/
|
|
30
|
-
export declare function formatProvenanceValue(pv: ProvenanceValue<unknown
|
|
36
|
+
export declare function formatProvenanceValue(pv: ProvenanceValue<unknown>, root: string): FormattedProvenanceValue;
|
|
37
|
+
/** One `data.paths[]` entry of `--show-paths`. */
|
|
38
|
+
type FormattedPathEntry = Extract<AuditSettingsData, {
|
|
39
|
+
mode: 'paths';
|
|
40
|
+
}>['paths'][number];
|
|
31
41
|
/**
|
|
32
|
-
* Format a resolved settings path for
|
|
42
|
+
* Format a resolved settings path for the report's `data`.
|
|
33
43
|
*
|
|
34
44
|
* `exists`/`readable` are passed through verbatim, including the
|
|
35
45
|
* `'undetermined'` value — a probe that could not run must not be rendered as a
|
|
36
|
-
* confident `false`.
|
|
46
|
+
* confident `false`. A legacy path's error is the report's
|
|
47
|
+
* `SETTINGS_PATH_DEPRECATED` finding, never a `status` inside `data`: that
|
|
48
|
+
* would be a second status beside the envelope's.
|
|
37
49
|
*/
|
|
38
|
-
export declare function formatSettingsPathEntry(p: SettingsPathEntry
|
|
50
|
+
export declare function formatSettingsPathEntry(p: SettingsPathEntry, root: string): FormattedPathEntry;
|
|
51
|
+
/** A marketplace that cannot authenticate, and the settings file that registered it. */
|
|
52
|
+
interface MarketplaceWarning {
|
|
53
|
+
message: string;
|
|
54
|
+
file: string;
|
|
55
|
+
}
|
|
39
56
|
/**
|
|
40
57
|
* The findings an effective-settings audit produced.
|
|
41
58
|
*
|
|
42
59
|
* A shadowed rule and a marketplace that cannot authenticate are things the
|
|
43
60
|
* reader must act on, so they are warnings — the run used to publish
|
|
44
|
-
*
|
|
45
|
-
* "warnings read as passed" collapse this command is being fixed for.
|
|
61
|
+
* a clean status with the conflicts listed underneath it, which is the
|
|
62
|
+
* "warnings read as passed" collapse this command is being fixed for. Each
|
|
63
|
+
* names the settings file to open, relative to `root`.
|
|
46
64
|
*/
|
|
47
|
-
export declare function settingsAuditFindings(conflicts: readonly RuleConflict[], marketplaceWarnings: readonly
|
|
65
|
+
export declare function settingsAuditFindings(conflicts: readonly RuleConflict[], marketplaceWarnings: readonly MarketplaceWarning[], root: string): Finding[];
|
|
48
66
|
export declare function runAuditSettings(options: AuditSettingsOptions): Promise<void>;
|
|
49
67
|
/**
|
|
50
68
|
* Create the `vat audit settings` subcommand.
|
|
51
69
|
*/
|
|
52
70
|
export declare function createAuditSettingsCommand(): Command;
|
|
71
|
+
export {};
|
|
53
72
|
//# sourceMappingURL=audit-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-settings.d.ts","sourceRoot":"","sources":["../../src/commands/audit-settings.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"audit-settings.d.ts","sourceRoot":"","sources":["../../src/commands/audit-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAOL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAKL,KAAK,OAAO,EAGb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,4BAA4B,CAAC;AAEzF,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD,8EAA8E;AAC9E,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,EAC5B,IAAI,EAAE,MAAM,GACX,wBAAwB,CAQ1B;AAED,kDAAkD;AAClD,KAAK,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzF;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAS9F;AAmJD,wFAAwF;AACxF,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAgFD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,YAAY,EAAE,EAClC,mBAAmB,EAAE,SAAS,kBAAkB,EAAE,EAClD,IAAI,EAAE,MAAM,GACX,OAAO,EAAE,CAmBX;AAsED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAmEpD"}
|
|
@@ -2,13 +2,24 @@
|
|
|
2
2
|
* `vat audit settings` subcommand
|
|
3
3
|
*
|
|
4
4
|
* Shows effective merged Claude settings with provenance, or validates a specific file.
|
|
5
|
+
* Every mode publishes the report envelope through the one writer: `data.mode`
|
|
6
|
+
* says which mode ran, `findings` carry what is wrong (each with a registered
|
|
7
|
+
* `SETTINGS_*` code and the settings file as `location`), and `examined`
|
|
8
|
+
* counts the settings documents read.
|
|
5
9
|
*/
|
|
6
|
-
import { analyzeRuleConflicts, auditSettings, getSettingsFileFields, resolveSettingsPaths,
|
|
7
|
-
import {
|
|
10
|
+
import { analyzeRuleConflicts, auditSettings, getSettingsFileFields, resolveSettingsPaths, validateSettingsFile, } from '@vibe-agent-toolkit/claude-marketplace';
|
|
11
|
+
import { buildReport, countBySeverity, createRegistryIssue, toFindings, } from '@vibe-agent-toolkit/schema';
|
|
12
|
+
import { isAbsoluteAnyPlatform, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
8
13
|
import { Command } from 'commander';
|
|
9
|
-
import {
|
|
14
|
+
import { CommandRefusalError, refusalCodeOf } from '../utils/command-refusal.js';
|
|
15
|
+
import { endWithRefusal, endWithReport, NOTHING_FINISHED } from '../utils/document-writer.js';
|
|
10
16
|
import { createLogger } from '../utils/logger.js';
|
|
11
|
-
import {
|
|
17
|
+
import { classifyInputFault } from '../utils/project-root-policy.js';
|
|
18
|
+
import { relativizePath } from '../utils/relativize-paths.js';
|
|
19
|
+
/** `vat audit settings` has no `--strict`: warnings never move its exit code. */
|
|
20
|
+
const SETTINGS_GATE = { strict: false };
|
|
21
|
+
/** The types `--type` accepts. */
|
|
22
|
+
const SETTINGS_TYPES = ['managed', 'user', 'project'];
|
|
12
23
|
/**
|
|
13
24
|
* Format an EffectiveSettings value for YAML output, INCLUDING what it overrode.
|
|
14
25
|
*
|
|
@@ -17,121 +28,158 @@ import { writeYamlOutput } from '../utils/output.js';
|
|
|
17
28
|
* layer made a project override look like the only value ever declared — the
|
|
18
29
|
* merger builds the linked list and this formatter used to throw it away.
|
|
19
30
|
*/
|
|
20
|
-
export function formatProvenanceValue(pv) {
|
|
31
|
+
export function formatProvenanceValue(pv, root) {
|
|
21
32
|
return {
|
|
22
33
|
value: pv.value,
|
|
23
|
-
source: pv.provenance.file,
|
|
34
|
+
source: spell(pv.provenance.file, root),
|
|
24
35
|
level: pv.provenance.level,
|
|
25
36
|
...(pv.provenance.level === 'managed' ? { locked: true } : {}),
|
|
26
|
-
...(pv.overrode ? { overrode: formatProvenanceValue(pv.overrode) } : {}),
|
|
37
|
+
...(pv.overrode ? { overrode: formatProvenanceValue(pv.overrode, root) } : {}),
|
|
27
38
|
};
|
|
28
39
|
}
|
|
29
40
|
/**
|
|
30
|
-
* Format a resolved settings path for
|
|
41
|
+
* Format a resolved settings path for the report's `data`.
|
|
31
42
|
*
|
|
32
43
|
* `exists`/`readable` are passed through verbatim, including the
|
|
33
44
|
* `'undetermined'` value — a probe that could not run must not be rendered as a
|
|
34
|
-
* confident `false`.
|
|
45
|
+
* confident `false`. A legacy path's error is the report's
|
|
46
|
+
* `SETTINGS_PATH_DEPRECATED` finding, never a `status` inside `data`: that
|
|
47
|
+
* would be a second status beside the envelope's.
|
|
35
48
|
*/
|
|
36
|
-
export function formatSettingsPathEntry(p) {
|
|
49
|
+
export function formatSettingsPathEntry(p, root) {
|
|
37
50
|
return {
|
|
38
51
|
label: p.label,
|
|
39
|
-
path: p.path,
|
|
52
|
+
path: spell(p.path, root),
|
|
40
53
|
exists: p.exists,
|
|
41
54
|
readable: p.readable,
|
|
42
55
|
level: p.level,
|
|
43
56
|
...(p.accessError === undefined ? {} : { accessError: p.accessError }),
|
|
44
|
-
...(p.status === 'error' && p.exists !== false
|
|
45
|
-
? { status: 'error', message: p.message }
|
|
46
|
-
: {}),
|
|
47
57
|
};
|
|
48
58
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
59
|
+
/**
|
|
60
|
+
* A settings path in this document's ONE coordinate system: forward-slashed and
|
|
61
|
+
* relative to `data.root`, the directory the command ran in — a user or managed
|
|
62
|
+
* file outside it reads `../…`, never the absolute path with `$HOME` in it. The
|
|
63
|
+
* one exception is a file on another Windows drive, which has no relative
|
|
64
|
+
* spelling: it is published as the absolute path rather than dropped.
|
|
65
|
+
*/
|
|
66
|
+
function spell(file, root) {
|
|
67
|
+
return relativizePath(safePath.resolve(root, file), root);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* `issue` located at `file`, relative to `root`. A finding's `location` must be
|
|
71
|
+
* relative, so a file with no relative spelling (another Windows drive) leads
|
|
72
|
+
* the message instead — it is said, never silently dropped.
|
|
73
|
+
*
|
|
74
|
+
* The `SETTINGS_*` findings carry their severity from their emit site: this
|
|
75
|
+
* verb reads Claude settings, never a project's `validation:` config, so no
|
|
76
|
+
* override exists to resolve and none of them is a `validation.severity` key.
|
|
77
|
+
*/
|
|
78
|
+
function locatedAt(issue, file, root) {
|
|
79
|
+
if (file === '')
|
|
80
|
+
return issue;
|
|
81
|
+
const spelled = spell(file, root);
|
|
82
|
+
return isAbsoluteAnyPlatform(spelled)
|
|
83
|
+
? { ...issue, message: `${spelled}: ${issue.message}` }
|
|
84
|
+
: { ...issue, location: spelled };
|
|
85
|
+
}
|
|
86
|
+
async function runShowPaths(root, logger) {
|
|
87
|
+
const result = await resolveSettingsPaths(root);
|
|
88
|
+
const issues = [];
|
|
53
89
|
for (const p of result.paths) {
|
|
54
90
|
if (p.status === 'error' && p.exists !== false) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
message: p.message ?? 'Deprecated settings path is present',
|
|
91
|
+
issues.push(locatedAt({
|
|
92
|
+
code: 'SETTINGS_PATH_DEPRECATED',
|
|
58
93
|
severity: 'error',
|
|
59
|
-
|
|
94
|
+
message: p.message ?? 'Deprecated settings path is present',
|
|
95
|
+
fix: 'Move the managed settings file to the current managed-settings path (vat audit settings --show-paths lists it) and remove the legacy file.',
|
|
96
|
+
}, p.path, root));
|
|
60
97
|
}
|
|
61
98
|
if (p.exists === 'undetermined' || p.readable === 'undetermined') {
|
|
62
|
-
|
|
63
|
-
path: p.path,
|
|
64
|
-
message: `Could not determine access (${p.accessError ?? 'unknown error'}) — this path was not checked`,
|
|
65
|
-
severity: 'warning',
|
|
66
|
-
});
|
|
99
|
+
issues.push(locatedAt(createRegistryIssue('SCAN_PATH_UNREADABLE', `Could not determine access to ${p.path} (${p.accessError ?? 'unknown error'}) — this path was not checked`), p.path, root));
|
|
67
100
|
}
|
|
68
101
|
}
|
|
69
|
-
const {
|
|
70
|
-
|
|
71
|
-
status,
|
|
72
|
-
issueCounts,
|
|
73
|
-
paths: result.paths.map(formatSettingsPathEntry),
|
|
74
|
-
duration: `${Date.now() - startTime}ms`,
|
|
75
|
-
});
|
|
76
|
-
if (issueCounts.errors > 0) {
|
|
102
|
+
const { errors, warnings } = countBySeverity(issues);
|
|
103
|
+
if (errors > 0)
|
|
77
104
|
logger.error('Legacy managed-settings.json path detected — IT admin must migrate.');
|
|
78
|
-
|
|
105
|
+
if (warnings > 0)
|
|
106
|
+
logger.warn(`${warnings} settings path(s) could not be checked.`);
|
|
107
|
+
return buildReport({
|
|
108
|
+
// A path whose existence was determined was examined — absent is an answer; undetermined is not.
|
|
109
|
+
examined: result.paths.filter((p) => p.exists !== 'undetermined').length,
|
|
110
|
+
findings: toFindings(issues),
|
|
111
|
+
data: { mode: 'paths', root, paths: result.paths.map((p) => formatSettingsPathEntry(p, root)) },
|
|
112
|
+
gate: SETTINGS_GATE,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/** The `--type` the operator passed, or a `USAGE_INVALID` refusal for one the command does not know. */
|
|
116
|
+
function declaredType(type) {
|
|
117
|
+
if (type === undefined)
|
|
118
|
+
return undefined;
|
|
119
|
+
if (SETTINGS_TYPES.includes(type))
|
|
120
|
+
return type;
|
|
121
|
+
throw new CommandRefusalError('USAGE_INVALID', `--type must be one of ${SETTINGS_TYPES.join(', ')} (got '${type}')`);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* A read of the `--file` settings file, or the refusal that says why nothing
|
|
125
|
+
* was read: `USAGE_INVALID` for a path that names nothing (the same ending
|
|
126
|
+
* `vat audit <missing>` gives), a classified fault on the argument for one the OS
|
|
127
|
+
* refuses. Neither is a finding about the file — a finding needs a file that was read.
|
|
128
|
+
*/
|
|
129
|
+
async function readSettingsFile(filePath, read) {
|
|
130
|
+
try {
|
|
131
|
+
return await read();
|
|
79
132
|
}
|
|
80
|
-
|
|
81
|
-
|
|
133
|
+
catch (error) {
|
|
134
|
+
throw classifyInputFault(filePath, error, { origin: 'argument', message: `Settings file does not exist: ${filePath}` });
|
|
82
135
|
}
|
|
83
|
-
process.exit(ExitCode.OK);
|
|
84
136
|
}
|
|
85
|
-
async function runValidateFile(
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
status: result.status,
|
|
95
|
-
issueCounts: result.issueCounts,
|
|
96
|
-
file: filePath,
|
|
97
|
-
detectedType: result.detectedType,
|
|
98
|
-
typeConfidence: result.typeConfidence,
|
|
99
|
-
fields,
|
|
100
|
-
...(result.findings.length > 0 ? { findings: result.findings } : {}),
|
|
101
|
-
duration,
|
|
102
|
-
});
|
|
103
|
-
if (result.issueCounts.errors > 0) {
|
|
104
|
-
logger.error(`Settings file is invalid: ${result.issueCounts.errors} error(s)`);
|
|
105
|
-
process.exit(ExitCode.FINDINGS);
|
|
137
|
+
async function runValidateFile(filePath, type, root, logger) {
|
|
138
|
+
const settingsType = declaredType(type);
|
|
139
|
+
const result = await readSettingsFile(filePath, () => validateSettingsFile(filePath, settingsType));
|
|
140
|
+
// `null` means the file is not a JSON object — distinct from "no fields", and
|
|
141
|
+
// published as `fields: null` rather than as an empty list.
|
|
142
|
+
const fields = await readSettingsFile(filePath, () => getSettingsFileFields(filePath));
|
|
143
|
+
const issues = result.findings.map((finding) => locatedAt(finding, filePath, root));
|
|
144
|
+
if (result.summary.errors > 0) {
|
|
145
|
+
logger.error(`Settings file is invalid: ${result.summary.errors} error(s)`);
|
|
106
146
|
}
|
|
107
|
-
|
|
108
|
-
|
|
147
|
+
else {
|
|
148
|
+
logger.info(`Settings file is valid (${result.detectedType}, type ${result.typeConfidence})`);
|
|
149
|
+
}
|
|
150
|
+
return buildReport({
|
|
151
|
+
// The one document named — whether it parses is a finding about it.
|
|
152
|
+
examined: 1,
|
|
153
|
+
findings: toFindings(issues),
|
|
154
|
+
data: { mode: 'file', root, file: spell(filePath, root), detectedType: result.detectedType, typeConfidence: result.typeConfidence, fields },
|
|
155
|
+
gate: SETTINGS_GATE,
|
|
156
|
+
});
|
|
109
157
|
}
|
|
110
|
-
function buildPermissionsSummary(permissions) {
|
|
158
|
+
function buildPermissionsSummary(permissions, root) {
|
|
111
159
|
const summary = {};
|
|
112
160
|
if (permissions.deny.length > 0) {
|
|
113
161
|
summary['deny'] = permissions.deny.map(r => ({
|
|
114
162
|
rule: r.rule,
|
|
115
|
-
source: r.provenance.file,
|
|
163
|
+
source: spell(r.provenance.file, root),
|
|
116
164
|
level: r.provenance.level,
|
|
117
165
|
}));
|
|
118
166
|
}
|
|
119
167
|
if (permissions.allow.length > 0) {
|
|
120
168
|
summary['allow'] = permissions.allow.map(r => ({
|
|
121
169
|
rule: r.rule,
|
|
122
|
-
source: r.provenance.file,
|
|
170
|
+
source: spell(r.provenance.file, root),
|
|
123
171
|
level: r.provenance.level,
|
|
124
172
|
}));
|
|
125
173
|
}
|
|
126
174
|
if (permissions.ask.length > 0) {
|
|
127
175
|
summary['ask'] = permissions.ask.map(r => ({
|
|
128
176
|
rule: r.rule,
|
|
129
|
-
source: r.provenance.file,
|
|
177
|
+
source: spell(r.provenance.file, root),
|
|
130
178
|
level: r.provenance.level,
|
|
131
179
|
}));
|
|
132
180
|
}
|
|
133
181
|
if (permissions.defaultMode) {
|
|
134
|
-
summary['defaultMode'] = formatProvenanceValue(permissions.defaultMode);
|
|
182
|
+
summary['defaultMode'] = formatProvenanceValue(permissions.defaultMode, root);
|
|
135
183
|
}
|
|
136
184
|
return summary;
|
|
137
185
|
}
|
|
@@ -152,12 +200,12 @@ function buildMarketplacesSummary(effective) {
|
|
|
152
200
|
// Check for GitHub repos without GITHUB_TOKEN
|
|
153
201
|
for (const [name, entry] of Object.entries(pv.value)) {
|
|
154
202
|
if (entry.source.source === 'github' && !process.env['GITHUB_TOKEN']) {
|
|
155
|
-
marketplaceWarnings.push(
|
|
203
|
+
marketplaceWarnings.push({
|
|
204
|
+
message: `Marketplace '${name}' sources from a private GitHub repo but GITHUB_TOKEN is not set`,
|
|
205
|
+
file: pv.provenance.file,
|
|
206
|
+
});
|
|
156
207
|
}
|
|
157
208
|
}
|
|
158
|
-
if (marketplaceWarnings.length > 0) {
|
|
159
|
-
summary['warnings'] = marketplaceWarnings;
|
|
160
|
-
}
|
|
161
209
|
}
|
|
162
210
|
if (effective.enabledPlugins) {
|
|
163
211
|
const pv = effective.enabledPlugins;
|
|
@@ -177,15 +225,15 @@ function buildMarketplacesSummary(effective) {
|
|
|
177
225
|
}
|
|
178
226
|
return { summary, warnings: marketplaceWarnings };
|
|
179
227
|
}
|
|
180
|
-
function formatConflicts(conflicts) {
|
|
228
|
+
function formatConflicts(conflicts, root) {
|
|
181
229
|
return conflicts.map(c => ({
|
|
182
230
|
kind: c.kind,
|
|
183
231
|
rule: c.rule.rule,
|
|
184
|
-
ruleSource: c.rule.provenance.file,
|
|
232
|
+
ruleSource: spell(c.rule.provenance.file, root),
|
|
185
233
|
ruleLevel: c.rule.provenance.level,
|
|
186
234
|
ruleList: getRuleList(c.kind),
|
|
187
235
|
shadowedBy: c.shadowedBy.rule,
|
|
188
|
-
shadowedBySource: c.shadowedBy.provenance.file,
|
|
236
|
+
shadowedBySource: spell(c.shadowedBy.provenance.file, root),
|
|
189
237
|
shadowedByLevel: c.shadowedBy.provenance.level,
|
|
190
238
|
shadowedByList: getShadowedByList(c.kind),
|
|
191
239
|
}));
|
|
@@ -209,46 +257,52 @@ function getShadowedByList(kind) {
|
|
|
209
257
|
*
|
|
210
258
|
* A shadowed rule and a marketplace that cannot authenticate are things the
|
|
211
259
|
* reader must act on, so they are warnings — the run used to publish
|
|
212
|
-
*
|
|
213
|
-
* "warnings read as passed" collapse this command is being fixed for.
|
|
260
|
+
* a clean status with the conflicts listed underneath it, which is the
|
|
261
|
+
* "warnings read as passed" collapse this command is being fixed for. Each
|
|
262
|
+
* names the settings file to open, relative to `root`.
|
|
214
263
|
*/
|
|
215
|
-
export function settingsAuditFindings(conflicts, marketplaceWarnings) {
|
|
216
|
-
const
|
|
217
|
-
|
|
264
|
+
export function settingsAuditFindings(conflicts, marketplaceWarnings, root) {
|
|
265
|
+
const issues = conflicts.map(c => locatedAt({
|
|
266
|
+
code: 'SETTINGS_RULE_SHADOWED',
|
|
267
|
+
severity: 'warning',
|
|
218
268
|
message: `Rule "${c.rule.rule}" (${c.rule.provenance.level}, ${getRuleList(c.kind)}) is shadowed by ` +
|
|
219
269
|
`"${c.shadowedBy.rule}" (${c.shadowedBy.provenance.level}, ${getShadowedByList(c.kind)}) — ${c.kind}.`,
|
|
220
|
-
|
|
221
|
-
}));
|
|
270
|
+
fix: 'Remove the shadowed rule, or narrow the rule that shadows it.',
|
|
271
|
+
}, c.rule.provenance.file, root));
|
|
222
272
|
for (const warning of marketplaceWarnings) {
|
|
223
|
-
|
|
273
|
+
issues.push(locatedAt({
|
|
274
|
+
code: 'SETTINGS_MARKETPLACE_TOKEN_MISSING',
|
|
275
|
+
severity: 'warning',
|
|
276
|
+
message: warning.message,
|
|
277
|
+
fix: 'Set GITHUB_TOKEN in the environment Claude Code runs in, or register the marketplace from a public source.',
|
|
278
|
+
}, warning.file, root));
|
|
224
279
|
}
|
|
225
|
-
return
|
|
280
|
+
return toFindings(issues);
|
|
226
281
|
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
const permissionsSummary = buildPermissionsSummary(effective.permissions);
|
|
282
|
+
/** The merged value of every scalar setting the report shows, with its override chain. */
|
|
283
|
+
function effectiveScalars(effective, root) {
|
|
284
|
+
const scalars = [
|
|
285
|
+
['model', effective.model],
|
|
286
|
+
['availableModels', effective.availableModels],
|
|
287
|
+
['forceLoginMethod', effective.forceLoginMethod],
|
|
288
|
+
['apiKeyHelper', effective.apiKeyHelper],
|
|
289
|
+
['autoUpdatesChannel', effective.autoUpdatesChannel],
|
|
290
|
+
['disableAllHooks', effective.disableAllHooks],
|
|
291
|
+
['allowManagedHooksOnly', effective.allowManagedHooksOnly],
|
|
292
|
+
['outputStyle', effective.outputStyle],
|
|
293
|
+
['language', effective.language],
|
|
294
|
+
];
|
|
295
|
+
const summary = {};
|
|
296
|
+
for (const [key, value] of scalars) {
|
|
297
|
+
if (value)
|
|
298
|
+
summary[key] = formatProvenanceValue(value, root);
|
|
299
|
+
}
|
|
300
|
+
return summary;
|
|
301
|
+
}
|
|
302
|
+
async function runShowEffective(root, logger) {
|
|
303
|
+
const { effective, layers } = await auditSettings({ projectDir: root });
|
|
304
|
+
const effectiveSummary = effectiveScalars(effective, root);
|
|
305
|
+
const permissionsSummary = buildPermissionsSummary(effective.permissions, root);
|
|
252
306
|
if (Object.keys(permissionsSummary).length > 0) {
|
|
253
307
|
effectiveSummary['permissions'] = permissionsSummary;
|
|
254
308
|
}
|
|
@@ -257,41 +311,46 @@ async function runShowEffective(startTime, logger) {
|
|
|
257
311
|
effectiveSummary['marketplaces'] = marketplaces.summary;
|
|
258
312
|
}
|
|
259
313
|
const conflicts = analyzeRuleConflicts(effective);
|
|
260
|
-
const
|
|
261
|
-
const output = {
|
|
262
|
-
status,
|
|
263
|
-
issueCounts,
|
|
264
|
-
layers: layersSummary,
|
|
265
|
-
effectiveSettings: effectiveSummary,
|
|
266
|
-
duration,
|
|
267
|
-
};
|
|
268
|
-
if (conflicts.length > 0) {
|
|
269
|
-
output['conflicts'] = formatConflicts(conflicts);
|
|
270
|
-
}
|
|
271
|
-
writeYamlOutput(output);
|
|
314
|
+
const findings = settingsAuditFindings(conflicts, marketplaces.warnings, root);
|
|
272
315
|
if (layers.length === 0) {
|
|
273
316
|
logger.info('No settings files found');
|
|
274
317
|
}
|
|
275
318
|
else {
|
|
276
319
|
logger.info(`Loaded ${layers.length} settings layer(s)`);
|
|
277
320
|
}
|
|
278
|
-
|
|
279
|
-
|
|
321
|
+
const { warnings } = countBySeverity(findings);
|
|
322
|
+
if (warnings > 0) {
|
|
323
|
+
logger.warn(`${warnings} warning(s): see findings and data.conflicts in the output.`);
|
|
280
324
|
}
|
|
281
|
-
|
|
325
|
+
return buildReport({
|
|
326
|
+
examined: layers.length,
|
|
327
|
+
findings,
|
|
328
|
+
data: {
|
|
329
|
+
mode: 'effective',
|
|
330
|
+
root,
|
|
331
|
+
layers: layers.map(l => ({ level: l.level, file: spell(l.file, root) })),
|
|
332
|
+
effectiveSettings: effectiveSummary,
|
|
333
|
+
conflicts: formatConflicts(conflicts, root),
|
|
334
|
+
},
|
|
335
|
+
gate: SETTINGS_GATE,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
/** Run the mode the options name. */
|
|
339
|
+
function runMode(options, root, logger) {
|
|
340
|
+
if (options.showPaths)
|
|
341
|
+
return runShowPaths(root, logger);
|
|
342
|
+
if (options.file !== undefined)
|
|
343
|
+
return runValidateFile(options.file, options.type, root, logger);
|
|
344
|
+
return runShowEffective(root, logger);
|
|
282
345
|
}
|
|
283
346
|
export async function runAuditSettings(options) {
|
|
284
347
|
const logger = createLogger(options.debug ? { debug: true } : {});
|
|
285
|
-
const startTime = Date.now();
|
|
286
348
|
try {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
if (options.file)
|
|
290
|
-
return await runValidateFile(options, startTime, logger);
|
|
291
|
-
await runShowEffective(startTime, logger);
|
|
349
|
+
// The report's one stated root: every path in it is relative to where it ran.
|
|
350
|
+
endWithReport('audit settings', await runMode(options, toForwardSlash(process.cwd()), logger), 'yaml');
|
|
292
351
|
}
|
|
293
352
|
catch (error) {
|
|
294
|
-
|
|
353
|
+
endWithRefusal('audit settings', refusalCodeOf(error), error, 'yaml', SETTINGS_GATE, NOTHING_FINISHED);
|
|
295
354
|
}
|
|
296
355
|
}
|
|
297
356
|
/**
|
|
@@ -321,29 +380,34 @@ Description:
|
|
|
321
380
|
redundant rules within the same bucket.
|
|
322
381
|
|
|
323
382
|
Output:
|
|
324
|
-
|
|
325
|
-
-
|
|
326
|
-
-
|
|
327
|
-
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
383
|
+
The report envelope every report verb publishes (YAML on stdout):
|
|
384
|
+
- status: ok (no findings) | findings (at least one) | error (did not finish)
|
|
385
|
+
- examined: settings documents read; summary: findings by severity
|
|
386
|
+
- findings: SETTINGS_* codes, each with the settings file as 'location'
|
|
387
|
+
and the key path as 'field'
|
|
388
|
+
- data.root: the directory it ran in — the one absolute path; every other
|
|
389
|
+
path (location, layers[].file, sources, paths[].path) is relative to it
|
|
390
|
+
- data.mode: effective (default) | file (--file) | paths (--show-paths)
|
|
391
|
+
- data (effective): layers (highest precedence first), effectiveSettings
|
|
392
|
+
(each value with its source and an "overrode" chain down to the
|
|
393
|
+
lowest-precedence layer), conflicts (unreachable or redundant rules)
|
|
394
|
+
- data (file): detectedType, typeConfidence — declared (--type), inferred
|
|
395
|
+
(a managed-only field settled it), ambiguous (user and project share one
|
|
396
|
+
schema) or undetermined (not JSON) — and fields ("fields: null" means the
|
|
397
|
+
file is not a JSON object, as distinct from "fields: []"); an absent or
|
|
398
|
+
unreadable --file is refused (exit 2), never reported
|
|
399
|
+
- data (paths): every settings path; "exists"/"readable" may be the string
|
|
400
|
+
"undetermined" when the probe itself failed — not the same answer as false
|
|
342
401
|
|
|
343
402
|
Exit Codes:
|
|
344
|
-
0 - No
|
|
345
|
-
1 -
|
|
346
|
-
|
|
403
|
+
0 - No finding at error severity (warnings are in the report, not the exit code)
|
|
404
|
+
1 - An error-severity finding (an invalid settings file, a legacy managed
|
|
405
|
+
path), or no settings document could be read at all
|
|
406
|
+
2 - Did not finish ('status: error'): USAGE_INVALID for a --file that does
|
|
407
|
+
not exist or a --type the command does not know, INPUT_UNREADABLE for a
|
|
408
|
+
--file the OS will not let it read, or (default mode) for a discovered
|
|
409
|
+
settings layer the OS refuses, that does not parse, or that fails its
|
|
410
|
+
schema
|
|
347
411
|
|
|
348
412
|
Example:
|
|
349
413
|
$ cd ~/my-project && vat audit settings # What can Claude do here?
|