@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
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every structured document a `vat` command publishes, and what shape it has.
|
|
3
|
+
*
|
|
4
|
+
* ๐ **Zero committed schemas described any CLI output document** โ 31 schema
|
|
5
|
+
* artifacts shipped and none was a report โ so an adopter's `jq` recipe, CI
|
|
6
|
+
* adapter or SARIF exporter was written against an example in a doc, or
|
|
7
|
+
* against a run. This registry is the one list; `scripts/generate-json-schemas.ts`
|
|
8
|
+
* writes `schemas/<name>.json` from it, `test/report-schemas.test.ts` pins the
|
|
9
|
+
* emitted files against a fresh render and walks the Commander tree to prove
|
|
10
|
+
* every command that offers `--format json` (or `--yaml`) is listed here.
|
|
11
|
+
*
|
|
12
|
+
* ## Three kinds of entry, and the ratchet between them
|
|
13
|
+
*
|
|
14
|
+
* - `report` โ the document IS the shared envelope (`Report<T>` from
|
|
15
|
+
* `@vibe-agent-toolkit/schema`): `status`, a REQUIRED `examined`,
|
|
16
|
+
* `findings`, `summary`, `data`. The schema is emitted and pinned.
|
|
17
|
+
* - `external` โ the document's shape is owned by someone else (an Anthropic
|
|
18
|
+
* Admin API object passed through, a specification's own artifact). Never
|
|
19
|
+
* renamed to the envelope; listed so the walk knows it was considered.
|
|
20
|
+
* - `legacy` โ a VAT-owned shape not yet migrated to the envelope. Each carries
|
|
21
|
+
* the reason. โ **This list may only SHRINK.** An entry leaves when its
|
|
22
|
+
* command publishes the envelope (and gains a `report` entry with a schema);
|
|
23
|
+
* a new command is never added here โ it publishes the envelope from day one.
|
|
24
|
+
*/
|
|
25
|
+
import { ARD_EMIT_REPORT_SCHEMA } from './commands/ard/emit.js';
|
|
26
|
+
import { OKF_VALIDATE_REPORT_SCHEMA } from './commands/okf/validate.js';
|
|
27
|
+
import { CHECK_REPORT_SCHEMA } from './commands/resources/check.js';
|
|
28
|
+
import { SKILL_REVIEW_REPORT_SCHEMA } from './commands/skill/review.js';
|
|
29
|
+
export const REPORT_SCHEMAS = [
|
|
30
|
+
{ kind: 'report', command: 'okf validate', name: 'okf-validate', schema: OKF_VALIDATE_REPORT_SCHEMA },
|
|
31
|
+
{ kind: 'report', command: 'skill review', name: 'skill-review', schema: SKILL_REVIEW_REPORT_SCHEMA },
|
|
32
|
+
{ kind: 'report', command: 'resources check', name: 'resources-check', schema: CHECK_REPORT_SCHEMA },
|
|
33
|
+
{ kind: 'report', command: 'ard emit', name: 'ard-emit', schema: ARD_EMIT_REPORT_SCHEMA },
|
|
34
|
+
{
|
|
35
|
+
kind: 'external',
|
|
36
|
+
command: 'claude org *',
|
|
37
|
+
reason: 'Anthropic Admin API objects passed through as the API returns them (`has_more`, `data[]`, snake_case). Renaming them would make VAT a second schema for a document Anthropic owns.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
kind: 'external',
|
|
41
|
+
command: 'inventory',
|
|
42
|
+
reason: 'The structural inventory `@vibe-agent-toolkit/agent-skills` serializes (`serializeInventory`) โ a description of a plugin, marketplace, skill or install root, not a run over one. It carries no findings and no denominator to publish.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
kind: 'legacy',
|
|
46
|
+
command: 'resources validate',
|
|
47
|
+
reason: 'The lab measures this document (`filesScanned`, per-file rows) through `packages/lab` and the qa-snapshot harness; the instrument and the subject move together, and the lab is outside this migration.',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
kind: 'legacy',
|
|
51
|
+
command: 'resources scan',
|
|
52
|
+
reason: 'A population listing (which files, which collections), not findings; the envelope fits once `data` carries the listing and `examined` the file count โ a small migration, not yet made.',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
kind: 'legacy',
|
|
56
|
+
command: 'resources query',
|
|
57
|
+
reason: 'SQL rows the operator selected โ the shape is the query\'s, and a `findings` list over arbitrary rows would be a fiction.',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
kind: 'legacy',
|
|
61
|
+
command: 'claude context',
|
|
62
|
+
reason: 'Two document kinds (`answer` / `unknown`) plus the `--all` cost map, each a query answer with conditions per path; the severity vocabulary is now the shared one, the envelope migration is a design change for the query lane.',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
kind: 'legacy',
|
|
66
|
+
command: 'audit',
|
|
67
|
+
reason: 'The largest document in the CLI, consumed by the corpus runner, the lab and fifteen integration tests; its walker was under concurrent edit when the envelope landed.',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
kind: 'legacy',
|
|
71
|
+
command: 'skills validate',
|
|
72
|
+
reason: 'Publishes per-skill COUNT rows by design (a clean skill is omitted; `skillsValidated` is the denominator) โ a flat `findings` list is a design change for the maintainer, not a rename.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
kind: 'legacy',
|
|
76
|
+
command: 'validate',
|
|
77
|
+
reason: 'A phase orchestrator over `phase-utils`; its document nests each phase\'s own, so it migrates after every phase does.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
kind: 'legacy',
|
|
81
|
+
command: 'verify',
|
|
82
|
+
reason: 'The second phase orchestrator over `phase-utils` (it publishes no `issueCounts` at all); migrates with `validate`.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
kind: 'legacy',
|
|
86
|
+
command: 'audit settings',
|
|
87
|
+
reason: 'Publishes `SettingsFinding[]` under `findings` with `path`; the envelope fits once `path` becomes `location`.',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
kind: 'legacy',
|
|
91
|
+
command: 'claude marketplace validate',
|
|
92
|
+
reason: 'A `vat verify` phase and a standalone command sharing one document; migrates with the orchestrators.',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
kind: 'legacy',
|
|
96
|
+
command: 'agent validate',
|
|
97
|
+
reason: 'Publishes the agent-config validator\'s result verbatim; the envelope fits once `examined` is the manifest count.',
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
//# sourceMappingURL=report-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-schemas.js","sourceRoot":"","sources":["../src/report-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAuBxE,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE;IACrG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE;IACrG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACpG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE;IAEzF;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,oLAAoL;KAC7L;IACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,0OAA0O;KACnP;IAED;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE,yMAAyM;KAClN;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,yLAAyL;KAClM;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,2HAA2H;KACpI;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,iOAAiO;KAC1O;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,uKAAuK;KAChL;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,yLAAyL;KAClM;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,uHAAuH;KAChI;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,oHAAoH;KAC7H;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,+GAA+G;KACxH;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,6BAA6B;QACtC,MAAM,EAAE,sGAAsG;KAC/G;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,mHAAmH;KAC5H;CACF,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* {@link resolveSkillReference}; this module decides only the *syntactic* shape.
|
|
5
5
|
*/
|
|
6
6
|
import { isAbsolute } from 'node:path';
|
|
7
|
-
import {
|
|
7
|
+
import { toForwardSlashAnyPlatform } from '@vibe-agent-toolkit/utils';
|
|
8
8
|
const SOURCE_KINDS = new Set(['workspace', 'npm', 'url', 'path']);
|
|
9
9
|
/**
|
|
10
10
|
* Parse the `kind:value` source half of a reference (also used by `--with`).
|
|
@@ -54,7 +54,7 @@ function isSourceSpec(ref) {
|
|
|
54
54
|
export function classifyToken(ref) {
|
|
55
55
|
if (isSourceSpec(ref))
|
|
56
56
|
return { shape: 'source-spec', source: parseSourceSpec(ref) };
|
|
57
|
-
const fwd =
|
|
57
|
+
const fwd = toForwardSlashAnyPlatform(ref);
|
|
58
58
|
if (isAbsolute(ref) || fwd.includes('/') || fwd.startsWith('.')) {
|
|
59
59
|
return { shape: 'definite-path' };
|
|
60
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/skill-resolution/classify.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/skill-resolution/classify.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,kEAAkE,GAAG,EAAE,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9C,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAClC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AAQD,gFAAgF;AAChF,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,KAAK,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,YAAY,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IACrF,MAAM,GAAG,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-skill-reference.d.ts","sourceRoot":"","sources":["../../src/skill-resolution/resolve-skill-reference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve-skill-reference.d.ts","sourceRoot":"","sources":["../../src/skill-resolution/resolve-skill-reference.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAqB,cAAc,EAAE,MAAM,YAAY,CAAC;AAqF3G;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAIxC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAIzC;AAkED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAe7F"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* 1. kind-prefixed / `vendored` โ { kind: 'source', source }
|
|
23
23
|
* EXCEPT `path:<dir>`, which is a spelling of a definite path (the prefix only
|
|
24
24
|
* disambiguates path-vs-name) and so continues at rung 2 below.
|
|
25
|
-
* 2a. definite path AT a declared skill's SOURCE dir โ buildable (same contract as a bare name
|
|
25
|
+
* 2a. definite path AT a declared skill's SOURCE dir โ buildable (same contract as a bare name)
|
|
26
26
|
* 2b. definite path, otherwise โ { kind: 'source', source: { path } } (as-is; the `./<name>` escape lands here)
|
|
27
27
|
* 3. bare name, no governing config โ existing dir ? source : not-found
|
|
28
28
|
* 4. bare name matching a declared skill โ buildable (preferred even on a dir collision; note the `./` escape โ
|
|
@@ -35,13 +35,12 @@
|
|
|
35
35
|
*/
|
|
36
36
|
import { existsSync } from 'node:fs';
|
|
37
37
|
import { dirname } from 'node:path';
|
|
38
|
-
import {
|
|
38
|
+
import { indexPluginLocalSkills, skillNameToFsPath, } from '@vibe-agent-toolkit/agent-skills';
|
|
39
39
|
import { findProjectRoot, safePath } from '@vibe-agent-toolkit/utils';
|
|
40
40
|
import { loadConfigCached } from '../utils/config-loader.js';
|
|
41
41
|
import { classifyToken } from './classify.js';
|
|
42
42
|
import { getDiscoveredSkillsByPath, resolveSkillPackagingConfig } from './packaging-config.js';
|
|
43
43
|
function existingDir(p) {
|
|
44
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- user-supplied reference
|
|
45
44
|
return existsSync(p);
|
|
46
45
|
}
|
|
47
46
|
/**
|
|
@@ -50,13 +49,12 @@ function existingDir(p) {
|
|
|
50
49
|
* path ({@link buildBuildable}) and the reverse path ({@link findDeclaredSkillForPath}),
|
|
51
50
|
* so a path target is matched by the SAME rule it would have been built with.
|
|
52
51
|
*/
|
|
53
|
-
function computeSkillDistribution(name, sourcePath,
|
|
54
|
-
const
|
|
55
|
-
const location = findDistributedSkillLocationBySource(config, configRoot, skillDir);
|
|
52
|
+
function computeSkillDistribution(name, sourcePath, scope) {
|
|
53
|
+
const location = scope.pluginLocal().locationOf(sourcePath);
|
|
56
54
|
if (location === undefined) {
|
|
57
55
|
return {
|
|
58
56
|
distribution: { kind: 'pool' },
|
|
59
|
-
expectedDistDir: safePath.join(configRoot, 'dist', 'skills', skillNameToFsPath(name)),
|
|
57
|
+
expectedDistDir: safePath.join(scope.configRoot, 'dist', 'skills', skillNameToFsPath(name)),
|
|
60
58
|
};
|
|
61
59
|
}
|
|
62
60
|
return {
|
|
@@ -70,22 +68,11 @@ function computeSkillDistribution(name, sourcePath, configRoot, config) {
|
|
|
70
68
|
};
|
|
71
69
|
}
|
|
72
70
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* return its declared-skills-by-path map. Undefined when there's no governing
|
|
77
|
-
* config, or no `skills` section declared.
|
|
71
|
+
* Walk up from `absPath` (config-first, so a monorepo package config beats the repo
|
|
72
|
+
* `.git`) to the governing config and load its {@link DeclaredSkillScope}. Undefined
|
|
73
|
+
* when there's no governing config, or no `skills` section declared.
|
|
78
74
|
*/
|
|
79
|
-
|
|
80
|
-
* Shared engine for both the reverse (dist-path) and forward (source-path)
|
|
81
|
-
* declared-skill matchers below: walk up from `absPath` (config-first, so a
|
|
82
|
-
* monorepo package config beats the repo `.git`) to the governing config, then
|
|
83
|
-
* scan its declared skills for the first one `matches` accepts. `matches` returns
|
|
84
|
-
* the caller's result shape (or undefined to keep scanning) โ the two matchers
|
|
85
|
-
* differ only in WHICH path each declared skill is compared against and WHAT they
|
|
86
|
-
* build from a hit, not in the walk-up/scan itself.
|
|
87
|
-
*/
|
|
88
|
-
async function findFirstDeclaredSkillEntry(absPath, matches) {
|
|
75
|
+
async function loadDeclaredSkillScope(absPath) {
|
|
89
76
|
const configRoot = findProjectRoot(absPath);
|
|
90
77
|
if (configRoot === null)
|
|
91
78
|
return undefined;
|
|
@@ -96,10 +83,24 @@ async function findFirstDeclaredSkillEntry(absPath, matches) {
|
|
|
96
83
|
// on `not-found` for a skill that exists. The throw propagates to the
|
|
97
84
|
// command (`vat skill test` wraps it as `SkillBuildError`, named).
|
|
98
85
|
const byPath = await getDiscoveredSkillsByPath(config.skills, configRoot, 'refuse');
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
86
|
+
let pluginLocal;
|
|
87
|
+
return { configRoot, byPath, pluginLocal: () => (pluginLocal ??= indexPluginLocalSkills(config, configRoot)) };
|
|
88
|
+
}
|
|
89
|
+
/** {@link findDeclaredSkillForPath} within an already-loaded scope. */
|
|
90
|
+
function matchDeclaredDist(scope, absPath) {
|
|
91
|
+
for (const [sourcePath, name] of scope.byPath) {
|
|
92
|
+
const { expectedDistDir } = computeSkillDistribution(name, sourcePath, scope);
|
|
93
|
+
if (safePath.resolve(expectedDistDir) === absPath) {
|
|
94
|
+
return { name, configRoot: scope.configRoot, sourcePath, expectedDistDir };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
/** {@link findDeclaredSkillForSourceDir} within an already-loaded scope. */
|
|
100
|
+
async function matchDeclaredSource(scope, absPath) {
|
|
101
|
+
for (const [sourcePath, name] of scope.byPath) {
|
|
102
|
+
if (safePath.resolve(dirname(sourcePath)) === absPath)
|
|
103
|
+
return buildBuildable(name, sourcePath, scope);
|
|
103
104
|
}
|
|
104
105
|
return undefined;
|
|
105
106
|
}
|
|
@@ -111,12 +112,8 @@ async function findFirstDeclaredSkillEntry(absPath, matches) {
|
|
|
111
112
|
*/
|
|
112
113
|
export async function findDeclaredSkillForPath(pathRef, cwd) {
|
|
113
114
|
const absPath = safePath.resolve(cwd, pathRef);
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
return safePath.resolve(expectedDistDir) === absPath
|
|
117
|
-
? { name, configRoot, sourcePath, expectedDistDir }
|
|
118
|
-
: undefined;
|
|
119
|
-
});
|
|
115
|
+
const scope = await loadDeclaredSkillScope(absPath);
|
|
116
|
+
return scope === undefined ? undefined : matchDeclaredDist(scope, absPath);
|
|
120
117
|
}
|
|
121
118
|
/**
|
|
122
119
|
* Forward-lookup companion of {@link findDeclaredSkillForPath} (which matches a
|
|
@@ -134,13 +131,14 @@ export async function findDeclaredSkillForPath(pathRef, cwd) {
|
|
|
134
131
|
*/
|
|
135
132
|
export async function findDeclaredSkillForSourceDir(pathRef, cwd) {
|
|
136
133
|
const absPath = safePath.resolve(cwd, pathRef);
|
|
137
|
-
|
|
134
|
+
const scope = await loadDeclaredSkillScope(absPath);
|
|
135
|
+
return scope === undefined ? undefined : matchDeclaredSource(scope, absPath);
|
|
138
136
|
}
|
|
139
137
|
/**
|
|
140
138
|
* Rung 2 of the disambiguation ladder: a definite path (absolute, has `/`, or
|
|
141
139
|
* starts `.` โ or the `path:<dir>` spelling of one, which routes here from
|
|
142
140
|
* {@link resolveSkillReference}). A path AT a declared skill's SOURCE dir resolves to `buildable`,
|
|
143
|
-
* exactly like the bare-name form (
|
|
141
|
+
* exactly like the bare-name form (the bare-name contract, extended from the companion
|
|
144
142
|
* side to the subject side: source != dist for every declared skill, so a real
|
|
145
143
|
* run must build it, not tree-copy raw source). `--no-build` remains the escape
|
|
146
144
|
* hatch. Otherwise the path is staged AS-IS (never rebuilt), but if it points at
|
|
@@ -149,10 +147,14 @@ export async function findDeclaredSkillForSourceDir(pathRef, cwd) {
|
|
|
149
147
|
* cognitive complexity within budget.
|
|
150
148
|
*/
|
|
151
149
|
async function resolveDefinitePath(ref, cwd) {
|
|
152
|
-
const
|
|
150
|
+
const absPath = safePath.resolve(cwd, ref);
|
|
151
|
+
const scope = await loadDeclaredSkillScope(absPath);
|
|
152
|
+
if (scope === undefined)
|
|
153
|
+
return { kind: 'source', source: { path: ref } };
|
|
154
|
+
const declaredSource = await matchDeclaredSource(scope, absPath);
|
|
153
155
|
if (declaredSource !== undefined)
|
|
154
156
|
return declaredSource;
|
|
155
|
-
const declaredSkill =
|
|
157
|
+
const declaredSkill = matchDeclaredDist(scope, absPath);
|
|
156
158
|
return { kind: 'source', source: { path: ref }, ...(declaredSkill ? { declaredSkill } : {}) };
|
|
157
159
|
}
|
|
158
160
|
/**
|
|
@@ -161,40 +163,33 @@ async function resolveDefinitePath(ref, cwd) {
|
|
|
161
163
|
* {@link resolveSkillReference} to keep its cognitive complexity within budget.
|
|
162
164
|
*/
|
|
163
165
|
async function resolveBareName(ref, cwd) {
|
|
164
|
-
const configRoot = findProjectRoot(cwd);
|
|
165
166
|
const dirCandidate = safePath.resolve(cwd, ref);
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
if (config?.skills === undefined) {
|
|
173
|
-
// findProjectRoot can anchor on a bare `.git` dir with no governing VAT config
|
|
174
|
-
// (or a config that declares no skills). That is the spec's "wild" rung โ there
|
|
175
|
-
// is nothing to name-resolve against, so it is an existing dir or `not-found`,
|
|
176
|
-
// never a name-miss.
|
|
167
|
+
// No governing project root โ or one anchored on a bare `.git` dir with no VAT
|
|
168
|
+
// config (or a config that declares no skills). That is the spec's "wild" rung:
|
|
169
|
+
// there is nothing to name-resolve against, so it is an existing dir or
|
|
170
|
+
// `not-found`, never a name-miss.
|
|
171
|
+
const scope = await loadDeclaredSkillScope(cwd);
|
|
172
|
+
if (scope === undefined) {
|
|
177
173
|
return existingDir(dirCandidate)
|
|
178
174
|
? { kind: 'source', source: { path: ref } }
|
|
179
175
|
: { kind: 'not-found', ref };
|
|
180
176
|
}
|
|
181
177
|
const byName = new Map(); // name โ abs SKILL.md path
|
|
182
|
-
const
|
|
183
|
-
for (const [skillMdPath, name] of byPath.entries())
|
|
178
|
+
for (const [skillMdPath, name] of scope.byPath)
|
|
184
179
|
byName.set(name, skillMdPath);
|
|
185
180
|
const sourcePath = byName.get(ref);
|
|
186
181
|
if (sourcePath !== undefined) {
|
|
187
182
|
if (existingDir(dirCandidate)) {
|
|
188
183
|
process.stderr.write(`note: '${ref}' matched a declared skill; testing its built dist. Use './${ref}' to test the local directory as-is.\n`);
|
|
189
184
|
}
|
|
190
|
-
return buildBuildable(ref, sourcePath,
|
|
185
|
+
return buildBuildable(ref, sourcePath, scope);
|
|
191
186
|
}
|
|
192
187
|
if (existingDir(dirCandidate))
|
|
193
188
|
return { kind: 'source', source: { path: ref } };
|
|
194
189
|
return {
|
|
195
190
|
kind: 'name-miss',
|
|
196
191
|
name: ref,
|
|
197
|
-
configRoot,
|
|
192
|
+
configRoot: scope.configRoot,
|
|
198
193
|
knownSkills: [...byName.keys()].sort((a, b) => a.localeCompare(b)),
|
|
199
194
|
};
|
|
200
195
|
}
|
|
@@ -216,9 +211,9 @@ export async function resolveSkillReference(ref, cwd) {
|
|
|
216
211
|
return resolveDefinitePath(ref, cwd);
|
|
217
212
|
return resolveBareName(ref, cwd);
|
|
218
213
|
}
|
|
219
|
-
async function buildBuildable(name, sourcePath,
|
|
214
|
+
async function buildBuildable(name, sourcePath, scope) {
|
|
220
215
|
const packagingConfig = (await resolveSkillPackagingConfig(sourcePath, 'refuse')) ?? {};
|
|
221
|
-
const { distribution, expectedDistDir } = computeSkillDistribution(name, sourcePath,
|
|
222
|
-
return { kind: 'buildable', name, sourcePath, configRoot, packagingConfig, distribution, expectedDistDir };
|
|
216
|
+
const { distribution, expectedDistDir } = computeSkillDistribution(name, sourcePath, scope);
|
|
217
|
+
return { kind: 'buildable', name, sourcePath, configRoot: scope.configRoot, packagingConfig, distribution, expectedDistDir };
|
|
223
218
|
}
|
|
224
219
|
//# sourceMappingURL=resolve-skill-reference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-skill-reference.js","sourceRoot":"","sources":["../../src/skill-resolution/resolve-skill-reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"resolve-skill-reference.js","sourceRoot":"","sources":["../../src/skill-resolution/resolve-skill-reference.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-discovery.d.ts","sourceRoot":"","sources":["../../src/utils/agent-discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAWjE;
|
|
1
|
+
{"version":3,"file":"agent-discovery.d.ts","sourceRoot":"","sources":["../../src/utils/agent-discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAWjE;AAgFD;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAGnF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC5C,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Agent discovery utility - finds agents in common locations
|
|
3
3
|
*/
|
|
4
4
|
import fs from 'node:fs/promises';
|
|
5
|
-
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
5
|
+
import { direntKindFollowing, isPathAbsentError, safePath } from '@vibe-agent-toolkit/utils';
|
|
6
6
|
import * as yaml from 'yaml';
|
|
7
7
|
/**
|
|
8
8
|
* Discover all agents in common locations
|
|
@@ -20,16 +20,22 @@ export async function discoverAgents() {
|
|
|
20
20
|
async function discoverAgentsInPath(searchPath) {
|
|
21
21
|
try {
|
|
22
22
|
const absolutePath = safePath.resolve(process.cwd(), searchPath);
|
|
23
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path is from predefined constant list
|
|
24
23
|
const entries = await fs.readdir(absolutePath, { withFileTypes: true });
|
|
25
|
-
|
|
24
|
+
// Followed: a `--dev` install is a symlinked agent directory and is discovered.
|
|
25
|
+
const kinds = await Promise.all(entries.map(entry => direntKindFollowing(absolutePath, entry)));
|
|
26
|
+
const directories = entries.filter((_, i) => kinds[i] === 'directory');
|
|
26
27
|
const agentPromises = directories.map(entry => discoverAgentInDirectory(safePath.join(absolutePath, entry.name)));
|
|
27
28
|
const agents = await Promise.all(agentPromises);
|
|
28
29
|
return agents.filter((agent) => agent !== null);
|
|
29
30
|
}
|
|
30
|
-
catch {
|
|
31
|
-
//
|
|
32
|
-
|
|
31
|
+
catch (error) {
|
|
32
|
+
// No such search path: nothing here. Only an ABSENCE reads as empty โ a
|
|
33
|
+
// directory the OS refuses to list is not one with no agents in it, and
|
|
34
|
+
// answering "no agents" for it is how `agent install x` said "not found"
|
|
35
|
+
// about a tree it never opened.
|
|
36
|
+
if (isPathAbsentError(error))
|
|
37
|
+
return [];
|
|
38
|
+
throw error;
|
|
33
39
|
}
|
|
34
40
|
}
|
|
35
41
|
async function discoverAgentInDirectory(agentDir) {
|
|
@@ -47,15 +53,16 @@ async function findManifest(dir) {
|
|
|
47
53
|
await fs.access(manifestPath);
|
|
48
54
|
return manifestPath;
|
|
49
55
|
}
|
|
50
|
-
catch {
|
|
51
|
-
//
|
|
56
|
+
catch (error) {
|
|
57
|
+
// Not this candidate. Anything but an absence stays loud.
|
|
58
|
+
if (!isPathAbsentError(error))
|
|
59
|
+
throw error;
|
|
52
60
|
}
|
|
53
61
|
}
|
|
54
62
|
return null;
|
|
55
63
|
}
|
|
56
64
|
async function parseAgentManifest(manifestPath, agentDir) {
|
|
57
65
|
try {
|
|
58
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- manifestPath from findManifest, trusted
|
|
59
66
|
const content = await fs.readFile(manifestPath, 'utf-8');
|
|
60
67
|
const data = yaml.parse(content);
|
|
61
68
|
if (data?.metadata?.name && data?.metadata?.version) {
|
|
@@ -67,8 +74,12 @@ async function parseAgentManifest(manifestPath, agentDir) {
|
|
|
67
74
|
};
|
|
68
75
|
}
|
|
69
76
|
}
|
|
70
|
-
catch {
|
|
71
|
-
//
|
|
77
|
+
catch (error) {
|
|
78
|
+
// A manifest that is not YAML is skipped โ the documented shape of "not an
|
|
79
|
+
// agent". A manifest that vanished since the probe is the same. A manifest
|
|
80
|
+
// the OS refuses to read is neither, and stays loud.
|
|
81
|
+
if (!(error instanceof yaml.YAMLParseError) && !isPathAbsentError(error))
|
|
82
|
+
throw error;
|
|
72
83
|
}
|
|
73
84
|
return null;
|
|
74
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-discovery.js","sourceRoot":"","sources":["../../src/utils/agent-discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-discovery.js","sourceRoot":"","sources":["../../src/utils/agent-discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAS7B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,WAAW,GAAG;QAClB,wCAAwC;QACxC,QAAQ;QACR,GAAG;KACJ,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAErD,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IACpD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,gFAAgF;QAChF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC5C,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAA4B,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,gCAAgC;QAChC,IAAI,iBAAiB,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,QAAgB;IACtD,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,kBAAkB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW;IACrC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0DAA0D;YAC1D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,YAAoB,EACpB,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAE9B,CAAC;QAEF,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YACpD,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAC9B,IAAI,EAAE,QAAQ;gBACd,YAAY;aACb,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,2EAA2E;QAC3E,qDAAqD;QACrD,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;IACxF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAkB,EAClB,MAA6C;IAE7C,2CAA2C;IAC3C,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0CAA0C;IAC1C,MAAM,EAAE,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,EAAE,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,MAAM,EAAE,KAAK,CAAC,6BAA6B,UAAU,qBAAqB,CAAC,CAAC;IAC5E,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../src/utils/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../src/utils/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAwCD;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CA+FzB"}
|
|
@@ -15,7 +15,6 @@ import { safePath } from '@vibe-agent-toolkit/utils';
|
|
|
15
15
|
async function loadPromptFile(manifestPath, promptRef) {
|
|
16
16
|
const agentDir = path.dirname(manifestPath);
|
|
17
17
|
const promptPath = safePath.resolve(agentDir, promptRef.replace(/^\.\//u, ''));
|
|
18
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path is derived from validated manifest
|
|
19
18
|
return await fs.readFile(promptPath, 'utf-8');
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/utils/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAA4B,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAerD;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,YAAoB,EAAE,SAAiB;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/E,
|
|
1
|
+
{"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/utils/agent-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluating the always-loaded context chain over a tree, so SQL can ask what
|
|
3
|
+
* the harness loads where.
|
|
4
|
+
*
|
|
5
|
+
* ๐จ **This lens POPULATES. It is the only one that does, and that is the whole
|
|
6
|
+
* reason lens evaluation had to become lazy.** Its relations cannot be derived
|
|
7
|
+
* from the projection the query lane already holds, so it runs the real lane โ
|
|
8
|
+
* a second population, which is why `projection-lenses.ts` evaluates a lens only
|
|
9
|
+
* when a statement names its relations. Why that is not a choice, and why the
|
|
10
|
+
* second population is a store hit rather than a competitor for the resources
|
|
11
|
+
* lane's entry: `docs/architecture/zones.md` ยง2, "The claude-context lens
|
|
12
|
+
* POPULATES".
|
|
13
|
+
*/
|
|
14
|
+
import { type ClaudeContextRelations, type PopulationCache } from '@vibe-agent-toolkit/resources';
|
|
15
|
+
import type { Logger } from './logger.js';
|
|
16
|
+
/**
|
|
17
|
+
* Populate the Claude-context lane and flatten its chains into the two
|
|
18
|
+
* relations.
|
|
19
|
+
*
|
|
20
|
+
* @param options - The run
|
|
21
|
+
* @param options.root - Absolute corpus root. Rooted HERE and nowhere else: a
|
|
22
|
+
* chain is a property of a position in the tree, and a population rooted at a
|
|
23
|
+
* subdirectory computes one against a corpus whose ancestors are missing
|
|
24
|
+
* @param options.logger - Where blob-stage refusals go (stderr, so a parseable
|
|
25
|
+
* document on stdout stays parseable)
|
|
26
|
+
* @param options.cache - The run's projection store, or undefined to re-derive
|
|
27
|
+
* @returns The rows, ready for `writeDerived`
|
|
28
|
+
*/
|
|
29
|
+
export declare function evaluateClaudeContextLens(options: {
|
|
30
|
+
root: string;
|
|
31
|
+
logger: Logger;
|
|
32
|
+
cache: PopulationCache | undefined;
|
|
33
|
+
}): Promise<ClaudeContextRelations>;
|
|
34
|
+
//# sourceMappingURL=claude-context-lens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-context-lens.d.ts","sourceRoot":"","sources":["../../src/utils/claude-context-lens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;;;;;;GAYG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;CACpC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAQlC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluating the always-loaded context chain over a tree, so SQL can ask what
|
|
3
|
+
* the harness loads where.
|
|
4
|
+
*
|
|
5
|
+
* ๐จ **This lens POPULATES. It is the only one that does, and that is the whole
|
|
6
|
+
* reason lens evaluation had to become lazy.** Its relations cannot be derived
|
|
7
|
+
* from the projection the query lane already holds, so it runs the real lane โ
|
|
8
|
+
* a second population, which is why `projection-lenses.ts` evaluates a lens only
|
|
9
|
+
* when a statement names its relations. Why that is not a choice, and why the
|
|
10
|
+
* second population is a store hit rather than a competitor for the resources
|
|
11
|
+
* lane's entry: `docs/architecture/zones.md` ยง2, "The claude-context lens
|
|
12
|
+
* POPULATES".
|
|
13
|
+
*/
|
|
14
|
+
import { buildClaudeContextPopulation, claudeContextRelations, } from '@vibe-agent-toolkit/resources';
|
|
15
|
+
import { gitTrackerForProjectRoot } from '../commands/audit/distributed-tree.js';
|
|
16
|
+
import { populationWiring } from './population-wiring.js';
|
|
17
|
+
/**
|
|
18
|
+
* Populate the Claude-context lane and flatten its chains into the two
|
|
19
|
+
* relations.
|
|
20
|
+
*
|
|
21
|
+
* @param options - The run
|
|
22
|
+
* @param options.root - Absolute corpus root. Rooted HERE and nowhere else: a
|
|
23
|
+
* chain is a property of a position in the tree, and a population rooted at a
|
|
24
|
+
* subdirectory computes one against a corpus whose ancestors are missing
|
|
25
|
+
* @param options.logger - Where blob-stage refusals go (stderr, so a parseable
|
|
26
|
+
* document on stdout stays parseable)
|
|
27
|
+
* @param options.cache - The run's projection store, or undefined to re-derive
|
|
28
|
+
* @returns The rows, ready for `writeDerived`
|
|
29
|
+
*/
|
|
30
|
+
export async function evaluateClaudeContextLens(options) {
|
|
31
|
+
const { root, logger, cache } = options;
|
|
32
|
+
const gitTracker = await gitTrackerForProjectRoot(root);
|
|
33
|
+
const projection = await buildClaudeContextPopulation({
|
|
34
|
+
root,
|
|
35
|
+
...populationWiring(logger, gitTracker, cache, root),
|
|
36
|
+
});
|
|
37
|
+
return claudeContextRelations(projection);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=claude-context-lens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-context-lens.js","sourceRoot":"","sources":["../../src/utils/claude-context-lens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,GAGvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAI/C;IACC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,4BAA4B,CAAC;QACpD,IAAI;QACJ,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;KACrD,CAAC,CAAC;IACH,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC"}
|