@vibe-agent-toolkit/cli 0.2.0-rc.7 → 0.2.0-rc.9
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 +0 -1
- package/dist/bin/vat +34 -19
- package/dist/bin/vat.js +34 -19
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +5 -2
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/build.d.ts.map +1 -1
- package/dist/commands/agent/build.js +2 -1
- package/dist/commands/agent/build.js.map +1 -1
- package/dist/commands/agent/import.d.ts.map +1 -1
- package/dist/commands/agent/import.js +3 -2
- package/dist/commands/agent/import.js.map +1 -1
- package/dist/commands/agent/install-path.d.ts +36 -0
- package/dist/commands/agent/install-path.d.ts.map +1 -0
- package/dist/commands/agent/install-path.js +44 -0
- package/dist/commands/agent/install-path.js.map +1 -0
- package/dist/commands/agent/install.d.ts.map +1 -1
- package/dist/commands/agent/install.js +22 -10
- package/dist/commands/agent/install.js.map +1 -1
- package/dist/commands/agent/installed.d.ts.map +1 -1
- package/dist/commands/agent/installed.js +22 -12
- package/dist/commands/agent/installed.js.map +1 -1
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +2 -1
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +2 -1
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/uninstall.d.ts.map +1 -1
- package/dist/commands/agent/uninstall.js +13 -6
- package/dist/commands/agent/uninstall.js.map +1 -1
- package/dist/commands/agent/validate.d.ts.map +1 -1
- package/dist/commands/agent/validate.js +3 -2
- package/dist/commands/agent/validate.js.map +1 -1
- package/dist/commands/ard/emit.d.ts +72 -23
- package/dist/commands/ard/emit.d.ts.map +1 -1
- package/dist/commands/ard/emit.js +109 -56
- package/dist/commands/ard/emit.js.map +1 -1
- package/dist/commands/ard/index.d.ts +1 -1
- package/dist/commands/ard/index.d.ts.map +1 -1
- package/dist/commands/ard/index.js +4 -3
- package/dist/commands/ard/index.js.map +1 -1
- package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
- package/dist/commands/audit/distributed-tree.js +9 -6
- package/dist/commands/audit/distributed-tree.js.map +1 -1
- package/dist/commands/audit/provenance.d.ts.map +1 -1
- package/dist/commands/audit/provenance.js +4 -3
- package/dist/commands/audit/provenance.js.map +1 -1
- package/dist/commands/audit/scan-population.d.ts +158 -0
- package/dist/commands/audit/scan-population.d.ts.map +1 -0
- package/dist/commands/audit/scan-population.js +292 -0
- package/dist/commands/audit/scan-population.js.map +1 -0
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +6 -5
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +16 -14
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +304 -389
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +25 -24
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cache/clear.d.ts +17 -3
- package/dist/commands/cache/clear.d.ts.map +1 -1
- package/dist/commands/cache/clear.js +34 -13
- 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 +19 -10
- package/dist/commands/cache/index.js.map +1 -1
- package/dist/commands/claude/context.d.ts +2 -2
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +7 -6
- package/dist/commands/claude/context.js.map +1 -1
- package/dist/commands/claude/index.d.ts +12 -11
- package/dist/commands/claude/index.d.ts.map +1 -1
- package/dist/commands/claude/index.js +14 -16
- package/dist/commands/claude/index.js.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.d.ts +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.js +1 -2
- package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +22 -12
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +0 -1
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.js +0 -6
- package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +2 -1
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +26 -16
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/api-keys.d.ts +0 -3
- package/dist/commands/claude/org/api-keys.d.ts.map +1 -1
- package/dist/commands/claude/org/api-keys.js +2 -1
- package/dist/commands/claude/org/api-keys.js.map +1 -1
- package/dist/commands/claude/org/helpers.d.ts +17 -22
- package/dist/commands/claude/org/helpers.d.ts.map +1 -1
- package/dist/commands/claude/org/helpers.js +6 -22
- package/dist/commands/claude/org/helpers.js.map +1 -1
- package/dist/commands/claude/org/invites.d.ts +0 -3
- package/dist/commands/claude/org/invites.d.ts.map +1 -1
- package/dist/commands/claude/org/invites.js +3 -2
- package/dist/commands/claude/org/invites.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +19 -1
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +147 -111
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/org/users.d.ts +0 -3
- package/dist/commands/claude/org/users.d.ts.map +1 -1
- package/dist/commands/claude/org/users.js +3 -2
- package/dist/commands/claude/org/users.js.map +1 -1
- package/dist/commands/claude/org/workspaces.d.ts +0 -3
- package/dist/commands/claude/org/workspaces.d.ts.map +1 -1
- package/dist/commands/claude/org/workspaces.js +6 -5
- package/dist/commands/claude/org/workspaces.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +23 -52
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
- package/dist/commands/claude/plugin/helpers.js +0 -6
- package/dist/commands/claude/plugin/helpers.js.map +1 -1
- package/dist/commands/claude/plugin/install.d.ts +12 -0
- package/dist/commands/claude/plugin/install.d.ts.map +1 -1
- package/dist/commands/claude/plugin/install.js +71 -60
- package/dist/commands/claude/plugin/install.js.map +1 -1
- package/dist/commands/claude/plugin/list.d.ts.map +1 -1
- package/dist/commands/claude/plugin/list.js +3 -2
- package/dist/commands/claude/plugin/list.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-changelog.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-changelog.js +0 -2
- package/dist/commands/claude/plugin/plugin-changelog.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.js +3 -6
- package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.js +3 -6
- package/dist/commands/claude/plugin/plugin-validators.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts +2 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +15 -14
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
- package/dist/commands/claude/plugin/uninstall.js +4 -4
- package/dist/commands/claude/plugin/uninstall.js.map +1 -1
- package/dist/commands/consistency-check.d.ts +17 -15
- package/dist/commands/consistency-check.d.ts.map +1 -1
- package/dist/commands/consistency-check.js +149 -104
- package/dist/commands/consistency-check.js.map +1 -1
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -2
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +2 -6
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/corpus/scan.d.ts.map +1 -1
- package/dist/commands/corpus/scan.js +2 -3
- package/dist/commands/corpus/scan.js.map +1 -1
- package/dist/commands/corpus/seed.d.ts +4 -4
- package/dist/commands/corpus/seed.d.ts.map +1 -1
- package/dist/commands/corpus/seed.js +1 -3
- package/dist/commands/corpus/seed.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +55 -37
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +6 -7
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/mcp/list-collections.d.ts.map +1 -1
- package/dist/commands/mcp/list-collections.js +2 -1
- package/dist/commands/mcp/list-collections.js.map +1 -1
- package/dist/commands/mcp/serve.d.ts.map +1 -1
- package/dist/commands/mcp/serve.js +3 -2
- 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 +14 -2
- package/dist/commands/okf/index.js.map +1 -1
- package/dist/commands/okf/validate.d.ts +157 -48
- package/dist/commands/okf/validate.d.ts.map +1 -1
- package/dist/commands/okf/validate.js +109 -76
- package/dist/commands/okf/validate.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +11 -10
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +30 -14
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/positional-args.d.ts.map +1 -1
- package/dist/commands/positional-args.js +2 -1
- package/dist/commands/positional-args.js.map +1 -1
- package/dist/commands/rag/clear-command.d.ts.map +1 -1
- package/dist/commands/rag/clear-command.js +2 -1
- package/dist/commands/rag/clear-command.js.map +1 -1
- package/dist/commands/rag/index-command.d.ts.map +1 -1
- package/dist/commands/rag/index-command.js +4 -1
- package/dist/commands/rag/index-command.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +2 -1
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/rag/stats-command.d.ts.map +1 -1
- package/dist/commands/rag/stats-command.js +2 -1
- package/dist/commands/rag/stats-command.js.map +1 -1
- package/dist/commands/resources/check-progress.d.ts +6 -0
- package/dist/commands/resources/check-progress.d.ts.map +1 -1
- package/dist/commands/resources/check-progress.js +15 -4
- package/dist/commands/resources/check-progress.js.map +1 -1
- package/dist/commands/resources/check-supervisor.d.ts.map +1 -1
- package/dist/commands/resources/check-supervisor.js +14 -7
- package/dist/commands/resources/check-supervisor.js.map +1 -1
- package/dist/commands/resources/check.d.ts +315 -205
- package/dist/commands/resources/check.d.ts.map +1 -1
- package/dist/commands/resources/check.js +368 -327
- 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 +159 -39
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/query.d.ts +2 -2
- package/dist/commands/resources/query.d.ts.map +1 -1
- package/dist/commands/resources/query.js +24 -18
- package/dist/commands/resources/query.js.map +1 -1
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +4 -8
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +1 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +0 -1
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review-checklist.d.ts +3 -2
- package/dist/commands/skill/review-checklist.d.ts.map +1 -1
- package/dist/commands/skill/review-checklist.js +4 -2
- package/dist/commands/skill/review-checklist.js.map +1 -1
- package/dist/commands/skill/review.d.ts +247 -0
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +90 -60
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/configure.d.ts.map +1 -1
- package/dist/commands/skill/test/configure.js +0 -1
- package/dist/commands/skill/test/configure.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts +12 -6
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +120 -65
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +83 -3
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +162 -40
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/install.d.ts +2 -1
- package/dist/commands/skills/install.d.ts.map +1 -1
- package/dist/commands/skills/install.js +20 -30
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +14 -18
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package.d.ts +1 -1
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +6 -8
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/scope-guard.d.ts.map +1 -1
- package/dist/commands/skills/scope-guard.js +2 -4
- package/dist/commands/skills/scope-guard.js.map +1 -1
- package/dist/commands/skills/shared.d.ts.map +1 -1
- package/dist/commands/skills/shared.js +2 -4
- package/dist/commands/skills/shared.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts +15 -13
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +23 -5
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/source-resolvers.d.ts +15 -0
- package/dist/commands/skills/source-resolvers.d.ts.map +1 -1
- package/dist/commands/skills/source-resolvers.js +25 -4
- package/dist/commands/skills/source-resolvers.js.map +1 -1
- package/dist/commands/validate.d.ts +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +39 -14
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +17 -5
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +161 -104
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/report-schemas.d.ts +45 -0
- package/dist/report-schemas.d.ts.map +1 -0
- package/dist/report-schemas.js +100 -0
- package/dist/report-schemas.js.map +1 -0
- package/dist/skill-resolution/classify.js +2 -2
- package/dist/skill-resolution/classify.js.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.js +50 -55
- package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
- package/dist/utils/agent-discovery.d.ts.map +1 -1
- package/dist/utils/agent-discovery.js +22 -11
- package/dist/utils/agent-discovery.js.map +1 -1
- package/dist/utils/agent-runner.d.ts.map +1 -1
- package/dist/utils/agent-runner.js +0 -1
- package/dist/utils/agent-runner.js.map +1 -1
- package/dist/utils/claude-context-lens.d.ts +34 -0
- package/dist/utils/claude-context-lens.d.ts.map +1 -0
- package/dist/utils/claude-context-lens.js +39 -0
- package/dist/utils/claude-context-lens.js.map +1 -0
- package/dist/utils/command-error.d.ts +63 -62
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +80 -76
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/config-loader.d.ts +2 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +3 -6
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/corpus-target.d.ts +5 -27
- package/dist/utils/corpus-target.d.ts.map +1 -1
- package/dist/utils/corpus-target.js +7 -33
- package/dist/utils/corpus-target.js.map +1 -1
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +0 -1
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/issue-rendering.d.ts +2 -2
- package/dist/utils/issue-rendering.js +2 -2
- package/dist/utils/optional-backend.d.ts.map +1 -1
- package/dist/utils/optional-backend.js +2 -1
- package/dist/utils/optional-backend.js.map +1 -1
- package/dist/utils/output.d.ts +9 -0
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +16 -0
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/package-json.d.ts +24 -0
- package/dist/utils/package-json.d.ts.map +1 -0
- package/dist/utils/package-json.js +49 -0
- package/dist/utils/package-json.js.map +1 -0
- package/dist/utils/project-root-policy.d.ts.map +1 -1
- package/dist/utils/project-root-policy.js +0 -2
- package/dist/utils/project-root-policy.js.map +1 -1
- package/dist/utils/projection-lenses.d.ts +98 -0
- package/dist/utils/projection-lenses.d.ts.map +1 -0
- package/dist/utils/projection-lenses.js +203 -0
- package/dist/utils/projection-lenses.js.map +1 -0
- package/dist/utils/projection-query.d.ts +38 -14
- package/dist/utils/projection-query.d.ts.map +1 -1
- package/dist/utils/projection-query.js +78 -17
- package/dist/utils/projection-query.js.map +1 -1
- package/dist/utils/projection-store.d.ts +61 -42
- package/dist/utils/projection-store.d.ts.map +1 -1
- package/dist/utils/projection-store.js +155 -59
- package/dist/utils/projection-store.js.map +1 -1
- package/dist/utils/relation-limits.d.ts +50 -0
- package/dist/utils/relation-limits.d.ts.map +1 -0
- package/dist/utils/relation-limits.js +50 -0
- package/dist/utils/relation-limits.js.map +1 -0
- package/dist/utils/resource-loader.js +2 -2
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/skill-discovery.d.ts.map +1 -1
- package/dist/utils/skill-discovery.js +2 -1
- package/dist/utils/skill-discovery.js.map +1 -1
- package/dist/utils/skill-packaging-config.d.ts +63 -1
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +56 -1
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/url-redact.d.ts.map +1 -1
- package/dist/utils/url-redact.js +4 -6
- package/dist/utils/url-redact.js.map +1 -1
- package/dist/utils/user-context-scanner.d.ts.map +1 -1
- package/dist/utils/user-context-scanner.js +0 -2
- 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 +3 -4
- 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 +0 -1
- package/dist/utils/vat-bin-path.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -3
- package/dist/version.js.map +1 -1
- package/docs/audit.md +44 -53
- package/docs/doctor.md +1 -0
- package/docs/index.md +18 -10
- package/docs/rag.md +0 -1
- package/docs/resources.md +0 -1
- package/docs/skill-test.md +10 -9
- package/docs/skills.md +6 -7
- package/package.json +23 -28
- package/schemas/ard-emit.json +149 -0
- package/schemas/okf-validate.json +170 -0
- package/schemas/resources-check.json +229 -0
- package/schemas/skill-review.json +230 -0
- package/dist/commands/claude/budget.d.ts +0 -170
- package/dist/commands/claude/budget.d.ts.map +0 -1
- package/dist/commands/claude/budget.js +0 -464
- package/dist/commands/claude/budget.js.map +0 -1
- package/dist/utils/context-budget-issues.d.ts +0 -108
- package/dist/utils/context-budget-issues.d.ts.map +0 -1
- package/dist/utils/context-budget-issues.js +0 -280
- package/dist/utils/context-budget-issues.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-discovery.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"skill-discovery.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AA+CnG;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhE;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5G;AAED,yEAAyE;AACzE,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAOlH;AAyFD,+FAA+F;AAC/F,eAAO,MAAM,qBAAqB,yHACsF,CAAC;AAEzH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,eAAe,EAAE,CAAC,CA0B5B"}
|
|
@@ -21,9 +21,10 @@ const DISCOVERY_EXCLUDE = [
|
|
|
21
21
|
];
|
|
22
22
|
/**
|
|
23
23
|
* Read a skill's name from SKILL.md frontmatter, falling back to its H1 title and
|
|
24
|
-
* then its filename.
|
|
25
|
-
*
|
|
26
|
-
* config is keyed by name, so two
|
|
24
|
+
* then its filename. The Claude plugin build and `vat verify` reach it through
|
|
25
|
+
* {@link readPluginLocalSkillName}, so a plugin-local skill is named by the SAME
|
|
26
|
+
* definition `vat skills build` uses — per-skill config is keyed by name, so two
|
|
27
|
+
* answers would mean two effective configs.
|
|
27
28
|
*
|
|
28
29
|
* The fallback is a KEY, not a verdict. A name is optional on the agentskills.io
|
|
29
30
|
* schema, so a nameless frontmatter block is a legal skill and needs a key; a
|
|
@@ -33,7 +34,7 @@ const DISCOVERY_EXCLUDE = [
|
|
|
33
34
|
* file's path. Excluding it here instead would shrink the denominator silently,
|
|
34
35
|
* which is the exact tell-less drop `includeUntracked` below exists to prevent.
|
|
35
36
|
*/
|
|
36
|
-
|
|
37
|
+
async function readSkillName(skillPath) {
|
|
37
38
|
const parsed = await parseFileCached(skillPath, 'markdown');
|
|
38
39
|
// The H1 fallback below reads the SAME bytes the parse already decoded, so it
|
|
39
40
|
// uses `parsed.content` rather than a second read of the same path.
|
|
@@ -52,6 +53,24 @@ export async function readSkillName(skillPath) {
|
|
|
52
53
|
}
|
|
53
54
|
return basename(skillPath, '.md');
|
|
54
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* The declared name of the plugin-local skill in `skillSourceDir` ({@link readSkillName}),
|
|
58
|
+
* else `skillDirPath`'s trailing segment. The plugin build and `vat verify` both name a
|
|
59
|
+
* plugin-local skill through THIS, so they look up the same config.
|
|
60
|
+
*/
|
|
61
|
+
export async function readPluginLocalSkillName(skillSourceDir, skillDirPath) {
|
|
62
|
+
return (await readSkillName(safePath.join(skillSourceDir, 'SKILL.md'))) ?? basename(skillDirPath);
|
|
63
|
+
}
|
|
64
|
+
/** {@link PluginLocalSkillNames} for every location in `pluginLocal`. */
|
|
65
|
+
export async function readPluginLocalSkillNames(pluginLocal) {
|
|
66
|
+
const names = new Map();
|
|
67
|
+
for (const loc of pluginLocal.locations) {
|
|
68
|
+
const key = safePath.resolve(loc.skillSourceDir);
|
|
69
|
+
if (!names.has(key))
|
|
70
|
+
names.set(key, await readPluginLocalSkillName(loc.skillSourceDir, loc.skillDirPath));
|
|
71
|
+
}
|
|
72
|
+
return names;
|
|
73
|
+
}
|
|
55
74
|
/**
|
|
56
75
|
* Split an include pattern into its literal base directory and its glob
|
|
57
76
|
* remainder. `picomatch.scan` already does the heavy lifting for proper
|
|
@@ -93,7 +112,6 @@ function groupIncludePatternsByBase(include, projectRoot) {
|
|
|
93
112
|
* patterns pointing at nothing).
|
|
94
113
|
*/
|
|
95
114
|
async function crawlOneBase(base, globs, projectRoot, unreadable) {
|
|
96
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- base derived from validated config
|
|
97
115
|
if (!existsSync(base)) {
|
|
98
116
|
return [];
|
|
99
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-discovery.js","sourceRoot":"","sources":["../../../src/commands/skills/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-discovery.js","sourceRoot":"","sources":["../../../src/commands/skills/skill-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,4 +36,19 @@ export interface ResolvedNpmSource {
|
|
|
36
36
|
* Caller must clean up all entries in tempDirs when finished.
|
|
37
37
|
*/
|
|
38
38
|
export declare function resolveNpmOrTarballSource(source: string): Promise<ResolvedNpmSource>;
|
|
39
|
+
/**
|
|
40
|
+
* Remove the temp directories a resolved source left behind.
|
|
41
|
+
*
|
|
42
|
+
* Best-effort by design — the command's answer is already out, and a temp
|
|
43
|
+
* directory that will not go (an `EBUSY` on Windows, a handle a scanner still
|
|
44
|
+
* holds) must not turn a finished install into a failed one. But best-effort
|
|
45
|
+
* is not silent: a directory left behind is named, so the operator can remove
|
|
46
|
+
* what this run could not. `force: true` already tolerates one that is gone.
|
|
47
|
+
*
|
|
48
|
+
* @param tempDirs - What {@link resolveNpmOrTarballSource} minted
|
|
49
|
+
* @param logger - Where a directory that stays is reported
|
|
50
|
+
*/
|
|
51
|
+
export declare function removeResolvedTempDirs(tempDirs: readonly string[], logger: {
|
|
52
|
+
warn: (message: string) => void;
|
|
53
|
+
}): Promise<void>;
|
|
39
54
|
//# sourceMappingURL=source-resolvers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-resolvers.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/source-resolvers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAM5D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"source-resolvers.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/source-resolvers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAM5D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAalD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CASpE;AAED,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAmB5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CASf"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Callers are responsible for cleaning up temp directories after use.
|
|
6
6
|
*/
|
|
7
7
|
import { existsSync } from 'node:fs';
|
|
8
|
-
import { mkdtemp } from 'node:fs/promises';
|
|
9
|
-
import { mkdirSyncReal, normalizedTmpdir, safePath } from '@vibe-agent-toolkit/utils';
|
|
8
|
+
import { mkdtemp, rm } from 'node:fs/promises';
|
|
9
|
+
import { mkdirSyncReal, normalizedTmpdir, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
10
10
|
import * as tar from 'tar';
|
|
11
11
|
import { downloadNpmPackage } from '../claude/plugin/helpers.js';
|
|
12
12
|
/**
|
|
@@ -29,7 +29,6 @@ export async function extractTarballToTemp(tarballPath) {
|
|
|
29
29
|
mkdirSyncReal(tempDir, { recursive: true });
|
|
30
30
|
await tar.extract({ file: tarballPath, cwd: tempDir });
|
|
31
31
|
const packageDir = safePath.join(tempDir, 'package');
|
|
32
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- temp path we just created
|
|
33
32
|
if (!existsSync(packageDir)) {
|
|
34
33
|
throw new Error(`Tarball does not contain a package/ directory: ${tarballPath}`);
|
|
35
34
|
}
|
|
@@ -41,7 +40,6 @@ export async function extractTarballToTemp(tarballPath) {
|
|
|
41
40
|
*/
|
|
42
41
|
export function findSkillsDirInNpmPackage(packageDir) {
|
|
43
42
|
const distSkills = safePath.join(packageDir, 'dist', 'skills');
|
|
44
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- temp path
|
|
45
43
|
if (existsSync(distSkills)) {
|
|
46
44
|
return distSkills;
|
|
47
45
|
}
|
|
@@ -70,4 +68,27 @@ export async function resolveNpmOrTarballSource(source) {
|
|
|
70
68
|
tempDirs: [tempDir],
|
|
71
69
|
};
|
|
72
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Remove the temp directories a resolved source left behind.
|
|
73
|
+
*
|
|
74
|
+
* Best-effort by design — the command's answer is already out, and a temp
|
|
75
|
+
* directory that will not go (an `EBUSY` on Windows, a handle a scanner still
|
|
76
|
+
* holds) must not turn a finished install into a failed one. But best-effort
|
|
77
|
+
* is not silent: a directory left behind is named, so the operator can remove
|
|
78
|
+
* what this run could not. `force: true` already tolerates one that is gone.
|
|
79
|
+
*
|
|
80
|
+
* @param tempDirs - What {@link resolveNpmOrTarballSource} minted
|
|
81
|
+
* @param logger - Where a directory that stays is reported
|
|
82
|
+
*/
|
|
83
|
+
export async function removeResolvedTempDirs(tempDirs, logger) {
|
|
84
|
+
for (const dir of tempDirs) {
|
|
85
|
+
try {
|
|
86
|
+
await rm(dir, { recursive: true, force: true });
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
90
|
+
logger.warn(`Could not remove temp directory ${toForwardSlash(dir)}: ${reason}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
73
94
|
//# sourceMappingURL=source-resolvers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-resolvers.js","sourceRoot":"","sources":["../../../src/commands/skills/source-resolvers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"source-resolvers.js","sourceRoot":"","sources":["../../../src/commands/skills/source-resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* would couple `vat validate` to a prior `vat build` and overlap `vat verify`.
|
|
21
21
|
* Keeping it build-free makes `vat validate` safe for pre-commit / CI-before-
|
|
22
22
|
* build. If a single "validate the whole shippable thing" command is later
|
|
23
|
-
* wanted, fold the marketplace phase in here (mirror verify.ts)
|
|
23
|
+
* wanted, fold the marketplace phase in here (mirror verify.ts).
|
|
24
24
|
*/
|
|
25
25
|
import { type ProjectConfig } from '@vibe-agent-toolkit/resources';
|
|
26
26
|
import { Command } from 'commander';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,OAAO,EAWL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAwB1B,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,wBAAgB,6BAA6B,IAAI,OAAO,CAgEvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,OAAO,UAAQ,GACd,cAAc,CAwBhB"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* would couple `vat validate` to a prior `vat build` and overlap `vat verify`.
|
|
21
21
|
* Keeping it build-free makes `vat validate` safe for pre-commit / CI-before-
|
|
22
22
|
* build. If a single "validate the whole shippable thing" command is later
|
|
23
|
-
* wanted, fold the marketplace phase in here (mirror verify.ts)
|
|
23
|
+
* wanted, fold the marketplace phase in here (mirror verify.ts).
|
|
24
24
|
*/
|
|
25
25
|
import { Command } from 'commander';
|
|
26
26
|
import { handleCommandError } from '../utils/command-error.js';
|
|
@@ -28,6 +28,7 @@ import { loadConfig } from '../utils/config-loader.js';
|
|
|
28
28
|
import { createLogger } from '../utils/logger.js';
|
|
29
29
|
import { writeYamlOutput } from '../utils/output.js';
|
|
30
30
|
import { requireProjectRoot } from '../utils/project-root-policy.js';
|
|
31
|
+
import { withPopulationCache } from '../utils/projection-store.js';
|
|
31
32
|
import { addRetiredOnlyOption, aggregatePhaseIssueCounts, aggregatePhaseStatus, applyPhaseSelection, decidePhaseSelection, exitCodeForPhases, rejectRetiredOnly, runPhase, } from './phase-utils.js';
|
|
32
33
|
import { rejectPositionalArguments } from './positional-args.js';
|
|
33
34
|
import { runResourcesValidatePhase } from './resources/validate.js';
|
|
@@ -39,8 +40,8 @@ const VALIDATE_VOCABULARY = {
|
|
|
39
40
|
verb: 'validate',
|
|
40
41
|
validNames: VALID_SURFACES,
|
|
41
42
|
noop: {
|
|
42
|
-
// A bare run with nothing configured is a clean no-op (exit 0
|
|
43
|
-
//
|
|
43
|
+
// A bare run with nothing configured is a clean no-op (exit 0: the command
|
|
44
|
+
// doesn't check what it doesn't know about) — but silent success
|
|
44
45
|
// on stdout alone is indistinguishable, to anyone watching only the exit
|
|
45
46
|
// code, from a run that actually validated something. Warn on stderr so a
|
|
46
47
|
// config typo (e.g. `recources:`) doesn't masquerade as "all good."
|
|
@@ -150,6 +151,35 @@ export function selectValidateSurfaces(config, verbose = false) {
|
|
|
150
151
|
}
|
|
151
152
|
return decidePhaseSelection(undefined, phases, VALIDATE_VOCABULARY);
|
|
152
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Run every surface inside ONE projection-store scope, so the lanes share one
|
|
156
|
+
* database and one `git write-tree` instead of taking one each. The measurement,
|
|
157
|
+
* and why the hoist is admissible here and nowhere else, are in
|
|
158
|
+
* `docs/architecture/resource-scanning-and-caching.md` §3.7.
|
|
159
|
+
*
|
|
160
|
+
* ⚠️ One scope is one git snapshot for the whole run. `vat validate` never
|
|
161
|
+
* writes — source-level and build-free by the decision at the top of this file —
|
|
162
|
+
* so no phase can miss another's output. A verb whose phases produce files for
|
|
163
|
+
* the next to read (`vat build`) must not be hoisted this way, and is not.
|
|
164
|
+
*
|
|
165
|
+
* @param projectRoot - The resolved project root, which every surface roots at
|
|
166
|
+
* @param phases - The surfaces to run, in order
|
|
167
|
+
* @param logger - Where the per-surface banner goes
|
|
168
|
+
* @returns One result per phase, in the same order
|
|
169
|
+
*/
|
|
170
|
+
async function runPhasesUnderOnePopulation(projectRoot, phases, logger) {
|
|
171
|
+
return withPopulationCache({ root: projectRoot }, async () => {
|
|
172
|
+
const phaseResults = [];
|
|
173
|
+
for (const phase of phases) {
|
|
174
|
+
logger.info(`\n▶ Surface: ${phase.name}`);
|
|
175
|
+
// Awaited in the loop, deliberately: surfaces are announced in a fixed
|
|
176
|
+
// order and their stderr streams live, so overlapping them would
|
|
177
|
+
// interleave two running reports into one unreadable channel.
|
|
178
|
+
phaseResults.push(await runPhase(phase));
|
|
179
|
+
}
|
|
180
|
+
return phaseResults;
|
|
181
|
+
});
|
|
182
|
+
}
|
|
153
183
|
async function validateTopLevelCommand(options, command) {
|
|
154
184
|
// First, and before requireProjectRoot: `vat validate docs/` used to be
|
|
155
185
|
// accepted, have its path discarded, run wide over every configured surface
|
|
@@ -160,22 +190,17 @@ async function validateTopLevelCommand(options, command) {
|
|
|
160
190
|
// with "no vibe-agent-toolkit.config.yaml found" would diagnose the wrong
|
|
161
191
|
// problem for anyone running the old invocation outside a project.
|
|
162
192
|
rejectRetiredOnly(options.only, COMMAND_NAME, VALIDATE_FULL_RUN_SECONDS);
|
|
163
|
-
// requireProjectRoot returns the discovered root; read config from there so a
|
|
164
|
-
// subdirectory invocation doesn't load an empty config and falsely pass.
|
|
165
|
-
const projectRoot = requireProjectRoot(process.cwd(), COMMAND_NAME);
|
|
166
193
|
const logger = createLogger(options.debug ? { debug: true } : {});
|
|
167
194
|
const startTime = Date.now();
|
|
168
195
|
try {
|
|
196
|
+
// Inside the try: outside it, "no project here" was an unhandled rejection,
|
|
197
|
+
// Node's default exit 1 — which the exit-code contract reads as FINDINGS.
|
|
198
|
+
// requireProjectRoot returns the discovered root; read config from there so a
|
|
199
|
+
// subdirectory invocation doesn't load an empty config and falsely pass.
|
|
200
|
+
const projectRoot = requireProjectRoot(process.cwd(), COMMAND_NAME);
|
|
169
201
|
const phases = applyPhaseSelection(selectValidateSurfaces(loadConfig(projectRoot), options.verbose === true), logger, startTime);
|
|
170
202
|
logger.info(`✅ vat validate (surfaces: ${phases.map((p) => p.name).join(' → ')})`);
|
|
171
|
-
const phaseResults =
|
|
172
|
-
for (const phase of phases) {
|
|
173
|
-
logger.info(`\n▶ Surface: ${phase.name}`);
|
|
174
|
-
// Awaited in the loop, deliberately: surfaces are announced in a fixed
|
|
175
|
-
// order and their stderr streams live, so overlapping them would
|
|
176
|
-
// interleave two running reports into one unreadable channel.
|
|
177
|
-
phaseResults.push(await runPhase(phase));
|
|
178
|
-
}
|
|
203
|
+
const phaseResults = await runPhasesUnderOnePopulation(projectRoot, phases, logger);
|
|
179
204
|
// A surface whose validator could not RUN (exit 2, or a self-reported
|
|
180
205
|
// system error) is not one that failed validation: it exits 2, so a CI gate can
|
|
181
206
|
// tell a broken config from a broken link.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,13 +14,14 @@
|
|
|
14
14
|
* are chosen by `selectInProcessVerifyPhases`. Every phase runs in this process.
|
|
15
15
|
* Both sets are config-gated, and both are announced on startup.
|
|
16
16
|
*/
|
|
17
|
+
import { type PluginLocalSkillIndex } from '@vibe-agent-toolkit/agent-skills';
|
|
17
18
|
import type { ProjectConfig } from '@vibe-agent-toolkit/resources';
|
|
18
19
|
import { type SeverityCounts, type ValidationIssue } from '@vibe-agent-toolkit/schema';
|
|
19
20
|
import { Command } from 'commander';
|
|
20
21
|
import type { createLogger } from '../utils/logger.js';
|
|
21
|
-
import { type ConsistencyIssueSeverity } from './consistency-check.js';
|
|
22
22
|
import { type PhaseResult, type PhaseSelection } from './phase-utils.js';
|
|
23
23
|
import type { DiscoveredSkill } from './skills/command-helpers.js';
|
|
24
|
+
import { type PluginLocalSkillNames } from './skills/skill-discovery.js';
|
|
24
25
|
export interface VerifyCommandOptions {
|
|
25
26
|
/** Retired; declared only so {@link rejectRetiredOnly} can explain the removal. */
|
|
26
27
|
only?: string;
|
|
@@ -43,9 +44,11 @@ export interface FilesDestCheckResult {
|
|
|
43
44
|
*
|
|
44
45
|
* @param discovered - The skills this run discovered from `skills.include`. See
|
|
45
46
|
* {@link collectBuiltSkillOutputs} for why it is required rather than optional.
|
|
47
|
+
* @param pluginLocal - The run's plugin-local index — required for the same reason.
|
|
48
|
+
* @param pluginLocalNames - The declared name of every location in `pluginLocal` — required for the same reason.
|
|
46
49
|
* @returns One result per (skill, outputDir) pair where dests are absent.
|
|
47
50
|
*/
|
|
48
|
-
export declare function checkFilesConfigDests(cwd: string, discovered: readonly DiscoveredSkill[]): FilesDestCheckResult[];
|
|
51
|
+
export declare function checkFilesConfigDests(cwd: string, discovered: readonly DiscoveredSkill[], pluginLocal: PluginLocalSkillIndex, pluginLocalNames: PluginLocalSkillNames): FilesDestCheckResult[];
|
|
49
52
|
/**
|
|
50
53
|
* Crawl every built skill bundle for repo-internal agent-instruction files.
|
|
51
54
|
*
|
|
@@ -89,8 +92,10 @@ export declare function checkFilesConfigDests(cwd: string, discovered: readonly
|
|
|
89
92
|
*
|
|
90
93
|
* @param discovered - The skills this run discovered from `skills.include`. See
|
|
91
94
|
* {@link collectBuiltSkillOutputs} for why it is required rather than optional.
|
|
95
|
+
* @param pluginLocal - The run's plugin-local index — required for the same reason.
|
|
96
|
+
* @param pluginLocalNames - The declared name of every location in `pluginLocal` — required for the same reason.
|
|
92
97
|
*/
|
|
93
|
-
export declare function checkPackagedAgentInstructionFiles(cwd: string, discovered: readonly DiscoveredSkill[]): PackagedContentCrawl;
|
|
98
|
+
export declare function checkPackagedAgentInstructionFiles(cwd: string, discovered: readonly DiscoveredSkill[], pluginLocal: PluginLocalSkillIndex, pluginLocalNames: PluginLocalSkillNames): PackagedContentCrawl;
|
|
94
99
|
/**
|
|
95
100
|
* What the packaged-content crawl found, over how many bundles, and how many
|
|
96
101
|
* it should have found.
|
|
@@ -105,6 +110,8 @@ export interface PackagedContentCrawl {
|
|
|
105
110
|
bundlesInspected: number;
|
|
106
111
|
/** Bundles `vat build` produces for this run's discovered skills — what the denominator should be. */
|
|
107
112
|
bundlesExpected: number;
|
|
113
|
+
/** Discovered skills declared `publish: false` and not plugin-local — used in place, so no bundle is expected for them. */
|
|
114
|
+
bundlesInPlace: number;
|
|
108
115
|
/** Expected bundles absent from disk, as `cwd`-relative paths. Non-empty means the phase is not a verdict. */
|
|
109
116
|
bundlesMissing: string[];
|
|
110
117
|
issues: ValidationIssue[];
|
|
@@ -139,7 +146,7 @@ export declare function selectVerifyPhases(config: ProjectConfig | undefined, co
|
|
|
139
146
|
export declare function formatVerifyAnnouncement(delegatedPhaseNames: readonly string[], config: ProjectConfig | undefined): string;
|
|
140
147
|
/** An in-process phase's finding as it appears in the archived YAML. */
|
|
141
148
|
interface PublishedIssue {
|
|
142
|
-
severity: ValidationIssue['severity']
|
|
149
|
+
severity: ValidationIssue['severity'];
|
|
143
150
|
code: string;
|
|
144
151
|
message: string;
|
|
145
152
|
fix: string;
|
|
@@ -181,6 +188,7 @@ interface FindingsPhaseResult extends PhaseResult {
|
|
|
181
188
|
export interface PackagedContentPhaseResult extends FindingsPhaseResult {
|
|
182
189
|
bundlesInspected: number;
|
|
183
190
|
bundlesExpected: number;
|
|
191
|
+
bundlesInPlace: number;
|
|
184
192
|
bundlesMissing: string[];
|
|
185
193
|
}
|
|
186
194
|
/**
|
|
@@ -198,6 +206,9 @@ export interface PackagedContentPhaseResult extends FindingsPhaseResult {
|
|
|
198
206
|
* `success` beside `bundlesInspected: 1`. The crawl now also carries what it
|
|
199
207
|
* should have found, and the document publishes both counts.
|
|
200
208
|
*
|
|
209
|
+
* One zero IS a verdict: nothing expected because every discovered skill is in
|
|
210
|
+
* place (`bundlesInPlace > 0`). Zero discovered skills stays refused.
|
|
211
|
+
*
|
|
201
212
|
* Derived here, in the one function that produces this phase's document, and
|
|
202
213
|
* not in the command body, so no path through the orchestrator can publish
|
|
203
214
|
* `status: success` beside `bundlesInspected: 0` or beside a non-empty
|
|
@@ -230,6 +241,7 @@ export declare function buildPackagedContentPhase(crawl: PackagedContentCrawl):
|
|
|
230
241
|
* document is the artifact of record, and stderr should render exactly what it
|
|
231
242
|
* carries, not a parallel computation that can drift from it.
|
|
232
243
|
*/
|
|
233
|
-
export declare function runPackagedContentPhase(projectRoot: string, discoveredSkills: readonly DiscoveredSkill[], logger: ReturnType<typeof createLogger>): PackagedContentPhaseResult;
|
|
244
|
+
export declare function runPackagedContentPhase(projectRoot: string, discoveredSkills: readonly DiscoveredSkill[], pluginLocal: PluginLocalSkillIndex, pluginLocalNames: PluginLocalSkillNames, logger: ReturnType<typeof createLogger>): PackagedContentPhaseResult;
|
|
245
|
+
export declare function reportPackagedContentPhase(phase: PackagedContentPhaseResult, logger: ReturnType<typeof createLogger>): void;
|
|
234
246
|
export {};
|
|
235
247
|
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
|