@vibe-agent-toolkit/cli 0.2.0-rc.6 → 0.2.0-rc.8
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 +4 -5
- 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 +44 -158
- package/dist/bin.js.map +1 -1
- package/dist/command-loaders.d.ts +2 -2
- package/dist/command-loaders.d.ts.map +1 -1
- package/dist/command-loaders.js +4 -2
- package/dist/command-loaders.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 +153 -0
- package/dist/commands/ard/emit.d.ts.map +1 -0
- package/dist/commands/ard/emit.js +276 -0
- package/dist/commands/ard/emit.js.map +1 -0
- package/dist/commands/ard/index.d.ts +12 -0
- package/dist/commands/ard/index.d.ts.map +1 -0
- package/dist/commands/ard/index.js +80 -0
- package/dist/commands/ard/index.js.map +1 -0
- package/dist/commands/ard/surfaces.d.ts +56 -0
- package/dist/commands/ard/surfaces.d.ts.map +1 -0
- package/dist/commands/ard/surfaces.js +150 -0
- package/dist/commands/ard/surfaces.js.map +1 -0
- 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/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 +78 -9
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +853 -473
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +24 -24
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cache/clear.d.ts.map +1 -1
- package/dist/commands/cache/clear.js +17 -10
- package/dist/commands/cache/clear.js.map +1 -1
- package/dist/commands/claude/budget.d.ts +136 -24
- package/dist/commands/claude/budget.d.ts.map +1 -1
- package/dist/commands/claude/budget.js +152 -57
- package/dist/commands/claude/budget.js.map +1 -1
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +4 -3
- package/dist/commands/claude/context.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 +3 -2
- 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 +55 -22
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +392 -77
- 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 +103 -4
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +331 -123
- 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 +8 -0
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +28 -33
- 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 +0 -3
- 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 +73 -0
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +221 -15
- 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 +9 -13
- package/dist/commands/consistency-check.d.ts.map +1 -1
- package/dist/commands/consistency-check.js +91 -81
- package/dist/commands/consistency-check.js.map +1 -1
- package/dist/commands/corpus/index.d.ts.map +1 -1
- package/dist/commands/corpus/index.js +3 -0
- package/dist/commands/corpus/index.js.map +1 -1
- package/dist/commands/corpus/report.d.ts +0 -1
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -3
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts +58 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +92 -21
- 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 -4
- 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 +14 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +147 -51
- 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 +11 -0
- package/dist/commands/okf/index.d.ts.map +1 -0
- package/dist/commands/okf/index.js +114 -0
- package/dist/commands/okf/index.js.map +1 -0
- package/dist/commands/okf/validate.d.ts +191 -0
- package/dist/commands/okf/validate.d.ts.map +1 -0
- package/dist/commands/okf/validate.js +190 -0
- package/dist/commands/okf/validate.js.map +1 -0
- package/dist/commands/phase-utils.d.ts +30 -13
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +56 -19
- 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 +27 -2
- package/dist/commands/rag/index-command.d.ts.map +1 -1
- package/dist/commands/rag/index-command.js +48 -8
- package/dist/commands/rag/index-command.js.map +1 -1
- package/dist/commands/rag/index.d.ts.map +1 -1
- package/dist/commands/rag/index.js +2 -0
- package/dist/commands/rag/index.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 +3 -0
- package/dist/commands/resources/check-progress.d.ts.map +1 -1
- package/dist/commands/resources/check-progress.js +11 -2
- 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 +168 -8
- package/dist/commands/resources/check.d.ts.map +1 -1
- package/dist/commands/resources/check.js +222 -118
- 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 +64 -29
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/query.d.ts +18 -1
- package/dist/commands/resources/query.d.ts.map +1 -1
- package/dist/commands/resources/query.js +33 -12
- 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 +30 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +116 -14
- 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 +98 -61
- 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 +137 -67
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +69 -2
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +128 -42
- 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 +2 -1
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +44 -26
- 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 +40 -1
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +32 -4
- 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/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +11 -3
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate.d.ts +66 -7
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +133 -29
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts +1 -1
- package/dist/commands/validate.js +8 -6
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +102 -5
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +246 -69
- 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 +102 -0
- package/dist/report-schemas.js.map +1 -0
- package/dist/skill-resolution/packaging-config.d.ts +49 -5
- package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
- package/dist/skill-resolution/packaging-config.js +59 -19
- package/dist/skill-resolution/packaging-config.js.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.js +8 -6
- 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/command-error.d.ts +87 -55
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +113 -64
- 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/context-budget-issues.d.ts +1 -1
- package/dist/utils/context-budget-issues.js +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/edge-lens-evaluation.d.ts +83 -0
- package/dist/utils/edge-lens-evaluation.d.ts.map +1 -0
- package/dist/utils/edge-lens-evaluation.js +110 -0
- package/dist/utils/edge-lens-evaluation.js.map +1 -0
- 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 +5 -4
- package/dist/utils/optional-backend.d.ts.map +1 -1
- package/dist/utils/optional-backend.js +7 -5
- 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 +20 -0
- package/dist/utils/project-root-policy.d.ts.map +1 -1
- package/dist/utils/project-root-policy.js +30 -0
- package/dist/utils/project-root-policy.js.map +1 -1
- package/dist/utils/projection-query.d.ts +41 -4
- package/dist/utils/projection-query.d.ts.map +1 -1
- package/dist/utils/projection-query.js +44 -10
- package/dist/utils/projection-query.js.map +1 -1
- package/dist/utils/projection-store.d.ts +41 -15
- package/dist/utils/projection-store.d.ts.map +1 -1
- package/dist/utils/projection-store.js +65 -18
- package/dist/utils/projection-store.js.map +1 -1
- package/dist/utils/repeatable-option.d.ts +37 -0
- package/dist/utils/repeatable-option.d.ts.map +1 -0
- package/dist/utils/repeatable-option.js +39 -0
- package/dist/utils/repeatable-option.js.map +1 -0
- package/dist/utils/resource-loader.d.ts +4 -3
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +63 -32
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/root-argv.d.ts +53 -0
- package/dist/utils/root-argv.d.ts.map +1 -0
- package/dist/utils/root-argv.js +215 -0
- package/dist/utils/root-argv.js.map +1 -0
- package/dist/utils/run-integrity.d.ts +95 -0
- package/dist/utils/run-integrity.d.ts.map +1 -0
- package/dist/utils/run-integrity.js +102 -0
- package/dist/utils/run-integrity.js.map +1 -0
- package/dist/utils/skill-packaging-config.d.ts +27 -0
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +30 -0
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/sqlite-experimental-warning.d.ts +69 -0
- package/dist/utils/sqlite-experimental-warning.d.ts.map +1 -0
- package/dist/utils/sqlite-experimental-warning.js +144 -0
- package/dist/utils/sqlite-experimental-warning.js.map +1 -0
- 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 +8 -0
- package/dist/utils/user-context-scanner.d.ts.map +1 -1
- package/dist/utils/user-context-scanner.js +4 -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 +12 -6
- 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 +141 -37
- package/docs/doctor.md +7 -6
- package/docs/index.md +19 -11
- package/docs/rag.md +3 -2
- package/docs/resources.md +5 -2
- package/docs/skill-test.md +10 -9
- package/docs/skills.md +53 -69
- package/package.json +24 -29
- package/schemas/ard-emit.json +149 -0
- package/schemas/claude-budget.json +197 -0
- package/schemas/okf-validate.json +170 -0
- package/schemas/resources-check.json +186 -0
- package/schemas/skill-review.json +230 -0
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Each one transitively pulls `@vibe-agent-toolkit/resources` (~1.6s of module
|
|
7
7
|
* load on Windows, dominated by the markdown toolchain), so importing all
|
|
8
|
-
*
|
|
8
|
+
* sixteen made every invocation — `vat --version` included — pay for the whole
|
|
9
9
|
* CLI surface. Only the command named on the command line is loaded.
|
|
10
10
|
*
|
|
11
11
|
* ## Why `doctor` is not in the table
|
|
12
12
|
*
|
|
13
|
-
* It is the
|
|
13
|
+
* It is the seventeenth top-level command and the only one outside this table, on
|
|
14
14
|
* purpose. `doctorCommand(program)` registers itself ONTO the program instead of
|
|
15
15
|
* returning a `Command`, so it does not fit the `() => Promise<Command>` shape —
|
|
16
16
|
* `bin.ts` special-cases it — and it is the command that READS this table, in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-loaders.d.ts","sourceRoot":"","sources":["../src/command-loaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"command-loaders.d.ts","sourceRoot":"","sources":["../src/command-loaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAiBlE,CAAC"}
|
package/dist/command-loaders.js
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Each one transitively pulls `@vibe-agent-toolkit/resources` (~1.6s of module
|
|
7
7
|
* load on Windows, dominated by the markdown toolchain), so importing all
|
|
8
|
-
*
|
|
8
|
+
* sixteen made every invocation — `vat --version` included — pay for the whole
|
|
9
9
|
* CLI surface. Only the command named on the command line is loaded.
|
|
10
10
|
*
|
|
11
11
|
* ## Why `doctor` is not in the table
|
|
12
12
|
*
|
|
13
|
-
* It is the
|
|
13
|
+
* It is the seventeenth top-level command and the only one outside this table, on
|
|
14
14
|
* purpose. `doctorCommand(program)` registers itself ONTO the program instead of
|
|
15
15
|
* returning a `Command`, so it does not fit the `() => Promise<Command>` shape —
|
|
16
16
|
* `bin.ts` special-cases it — and it is the command that READS this table, in
|
|
@@ -54,5 +54,7 @@ export const COMMAND_LOADERS = {
|
|
|
54
54
|
build: async () => (await import('./commands/build.js')).createBuildTopLevelCommand(),
|
|
55
55
|
validate: async () => (await import('./commands/validate.js')).createValidateTopLevelCommand(),
|
|
56
56
|
verify: async () => (await import('./commands/verify.js')).createVerifyTopLevelCommand(),
|
|
57
|
+
okf: async () => (await import('./commands/okf/index.js')).createOkfCommand(),
|
|
58
|
+
ard: async () => (await import('./commands/ard/index.js')).createArdCommand(),
|
|
57
59
|
};
|
|
58
60
|
//# sourceMappingURL=command-loaders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-loaders.js","sourceRoot":"","sources":["../src/command-loaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,eAAe,GAA2C;IACrE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,EAAE;IAC7E,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,EAAE;IACtF,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,sBAAsB,EAAE;IACzF,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,sBAAsB,EAAE;IAC/F,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,EAAE;IAC7E,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,EAAE;IAC7E,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,EAAE;IACtF,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,kBAAkB,EAAE;IACnF,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,EAAE;IACtF,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,kBAAkB,EAAE;IACnF,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,0BAA0B,EAAE;IACrF,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,6BAA6B,EAAE;IAC9F,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,EAAE;
|
|
1
|
+
{"version":3,"file":"command-loaders.js","sourceRoot":"","sources":["../src/command-loaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,eAAe,GAA2C;IACrE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,EAAE;IAC7E,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,EAAE;IACtF,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,sBAAsB,EAAE;IACzF,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC,sBAAsB,EAAE;IAC/F,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,EAAE;IAC7E,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,EAAE;IAC7E,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,EAAE;IACtF,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,kBAAkB,EAAE;IACnF,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,mBAAmB,EAAE;IACtF,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,kBAAkB,EAAE;IACnF,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,0BAA0B,EAAE;IACrF,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,6BAA6B,EAAE;IAC9F,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B,EAAE;IACxF,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,EAAE;IAC7E,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,EAAE;CAC9E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/build.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Agent build command - Package agents for deployment targets
|
|
3
3
|
*/
|
|
4
4
|
import { buildAgentSkill } from '@vibe-agent-toolkit/agent-skills';
|
|
5
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
5
6
|
import { resolveAgentPath } from '../../utils/agent-discovery.js';
|
|
6
7
|
import { handleCommandError } from '../../utils/command-error.js';
|
|
7
8
|
import { createLogger } from '../../utils/logger.js';
|
|
@@ -46,7 +47,7 @@ export async function buildCommand(pathOrName, options) {
|
|
|
46
47
|
});
|
|
47
48
|
logger.info(`Build completed in ${duration}ms`);
|
|
48
49
|
logger.info(`Output: ${result.outputPath}`);
|
|
49
|
-
process.exit(
|
|
50
|
+
process.exit(ExitCode.OK);
|
|
50
51
|
}
|
|
51
52
|
catch (error) {
|
|
52
53
|
handleCommandError(error, logger, startTime, 'AgentBuild');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/agent/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/agent/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAQxE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,OAA4B;IAE5B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,qDAAqD;QACrD,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;QAErD,qBAAqB;QACrB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAElD,wBAAwB;QACxB,IAAI,MAAM,CAAC;QACX,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACvC,sDAAsD;YACtD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM;gBACjC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE;gBACnD,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAExC,wBAAwB;QACxB,eAAe,CAAC;YACd,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;YACxB,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,UAAU;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,GAAG,QAAQ,IAAI;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/import.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/import.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Agent import command - convert SKILL.md to agent.yaml
|
|
3
3
|
*/
|
|
4
4
|
import { importSkillToAgent } from '@vibe-agent-toolkit/agent-skills';
|
|
5
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
5
6
|
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
6
7
|
import { handleCommandError } from '../../utils/command-error.js';
|
|
7
8
|
import { createLogger } from '../../utils/logger.js';
|
|
@@ -31,7 +32,7 @@ export async function importCommand(skillPath, options) {
|
|
|
31
32
|
};
|
|
32
33
|
writeYamlOutput(output);
|
|
33
34
|
logger.error(`Import failed: ${result.error}`);
|
|
34
|
-
process.exit(
|
|
35
|
+
process.exit(ExitCode.ERROR);
|
|
35
36
|
}
|
|
36
37
|
// Import successful
|
|
37
38
|
const output = {
|
|
@@ -41,7 +42,7 @@ export async function importCommand(skillPath, options) {
|
|
|
41
42
|
};
|
|
42
43
|
writeYamlOutput(output);
|
|
43
44
|
logger.info(`Successfully imported Agent Skill to: ${result.agentPath}`);
|
|
44
|
-
process.exit(
|
|
45
|
+
process.exit(ExitCode.OK);
|
|
45
46
|
}
|
|
46
47
|
catch (error) {
|
|
47
48
|
handleCommandError(error, logger, startTime, 'AgentImport');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/commands/agent/import.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,OAA6B;IAE7B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,eAAe;QACf,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,0BAA0B,iBAAiB,EAAE,CAAC,CAAC;QAE5D,gCAAgC;QAChC,MAAM,aAAa,GAA6C;YAC9D,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;SAC9B,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,aAAa,CAAC,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,gBAAgB;YAChB,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;aACxC,CAAC;YAEF,eAAe,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/commands/agent/import.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,OAA6B;IAE7B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,eAAe;QACf,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,0BAA0B,iBAAiB,EAAE,CAAC,CAAC;QAE5D,gCAAgC;QAChC,MAAM,aAAa,GAA6C;YAC9D,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;SAC9B,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,aAAa,CAAC,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,gBAAgB;YAChB,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;aACxC,CAAC;YAEF,eAAe,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;SACxC,CAAC;QAEF,eAAe,CAAC,MAAM,CAAC,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,yCAAyC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one place `vat agent install` / `vat agent uninstall` turn a positional
|
|
3
|
+
* into a path they will `rm -rf`, symlink, or copy over.
|
|
4
|
+
*
|
|
5
|
+
* The sweep ran `vat agent uninstall ../../../victim --scope project` and
|
|
6
|
+
* watched it remove an arbitrary sibling directory at exit 0 with a green
|
|
7
|
+
* "✓ Uninstalled". The positional was joined straight into the scope root.
|
|
8
|
+
* Both verbs now come through here, and a name that is not ONE entry under
|
|
9
|
+
* the scope root — a traversal, a separator, `.`, `..`, a drive spelling —
|
|
10
|
+
* is refused by name before any path exists to act on.
|
|
11
|
+
*
|
|
12
|
+
* By name ONLY — deliberately no realpath check on the entry. `--dev`
|
|
13
|
+
* installs the entry AS a symlink to the built skill outside the scope root,
|
|
14
|
+
* so a check that resolved through the link read every live dev install as
|
|
15
|
+
* "outside" and refused to uninstall or `--force`-replace it (a dangling one
|
|
16
|
+
* passed, so the state most likely to be re-installed over was fine and the
|
|
17
|
+
* state most likely to be uninstalled was not). The sink's question is "is the
|
|
18
|
+
* ENTRY a direct child of the root": `rm` on a symlink removes the link and
|
|
19
|
+
* never its target, and a single segment joined onto the root cannot name
|
|
20
|
+
* anything else.
|
|
21
|
+
*/
|
|
22
|
+
import { VatError } from '@vibe-agent-toolkit/utils';
|
|
23
|
+
/** Thrown when the positional cannot name an entry directly under the scope root. */
|
|
24
|
+
export declare class AgentNameEscapesScopeError extends VatError {
|
|
25
|
+
constructor(agentName: string, targetLocation: string);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Where `agentName` lives (or would live) under `targetLocation`.
|
|
29
|
+
*
|
|
30
|
+
* @param targetLocation - The scope root the verb was given
|
|
31
|
+
* @param agentName - The positional exactly as typed
|
|
32
|
+
* @returns The forward-slashed install path, a direct child of the root
|
|
33
|
+
* @throws {AgentNameEscapesScopeError} When the name is not one segment
|
|
34
|
+
*/
|
|
35
|
+
export declare function agentInstallPath(targetLocation: string, agentName: string): string;
|
|
36
|
+
//# sourceMappingURL=install-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-path.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/install-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAA+B,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAElF,qFAAqF;AACrF,qBAAa,0BAA2B,SAAQ,QAAQ;gBAC1C,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAOtD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKlF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one place `vat agent install` / `vat agent uninstall` turn a positional
|
|
3
|
+
* into a path they will `rm -rf`, symlink, or copy over.
|
|
4
|
+
*
|
|
5
|
+
* The sweep ran `vat agent uninstall ../../../victim --scope project` and
|
|
6
|
+
* watched it remove an arbitrary sibling directory at exit 0 with a green
|
|
7
|
+
* "✓ Uninstalled". The positional was joined straight into the scope root.
|
|
8
|
+
* Both verbs now come through here, and a name that is not ONE entry under
|
|
9
|
+
* the scope root — a traversal, a separator, `.`, `..`, a drive spelling —
|
|
10
|
+
* is refused by name before any path exists to act on.
|
|
11
|
+
*
|
|
12
|
+
* By name ONLY — deliberately no realpath check on the entry. `--dev`
|
|
13
|
+
* installs the entry AS a symlink to the built skill outside the scope root,
|
|
14
|
+
* so a check that resolved through the link read every live dev install as
|
|
15
|
+
* "outside" and refused to uninstall or `--force`-replace it (a dangling one
|
|
16
|
+
* passed, so the state most likely to be re-installed over was fine and the
|
|
17
|
+
* state most likely to be uninstalled was not). The sink's question is "is the
|
|
18
|
+
* ENTRY a direct child of the root": `rm` on a symlink removes the link and
|
|
19
|
+
* never its target, and a single segment joined onto the root cannot name
|
|
20
|
+
* anything else.
|
|
21
|
+
*/
|
|
22
|
+
import { isSingleFsSegment, safePath, VatError } from '@vibe-agent-toolkit/utils';
|
|
23
|
+
/** Thrown when the positional cannot name an entry directly under the scope root. */
|
|
24
|
+
export class AgentNameEscapesScopeError extends VatError {
|
|
25
|
+
constructor(agentName, targetLocation) {
|
|
26
|
+
super('AGENT_NAME_ESCAPES_SCOPE', `Refusing to touch "${agentName}": an agent name must be a single path segment ` +
|
|
27
|
+
`directly under ${targetLocation} (no separators, not "." or "..").`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Where `agentName` lives (or would live) under `targetLocation`.
|
|
32
|
+
*
|
|
33
|
+
* @param targetLocation - The scope root the verb was given
|
|
34
|
+
* @param agentName - The positional exactly as typed
|
|
35
|
+
* @returns The forward-slashed install path, a direct child of the root
|
|
36
|
+
* @throws {AgentNameEscapesScopeError} When the name is not one segment
|
|
37
|
+
*/
|
|
38
|
+
export function agentInstallPath(targetLocation, agentName) {
|
|
39
|
+
if (!isSingleFsSegment(agentName)) {
|
|
40
|
+
throw new AgentNameEscapesScopeError(agentName, targetLocation);
|
|
41
|
+
}
|
|
42
|
+
return safePath.join(targetLocation, agentName);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=install-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-path.js","sourceRoot":"","sources":["../../../src/commands/agent/install-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAElF,qFAAqF;AACrF,MAAM,OAAO,0BAA2B,SAAQ,QAAQ;IACtD,YAAY,SAAiB,EAAE,cAAsB;QACnD,KAAK,CACH,0BAA0B,EAC1B,sBAAsB,SAAS,iDAAiD;YAC9E,kBAAkB,cAAc,oCAAoC,CACvE,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAAsB,EAAE,SAAiB;IACxE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,0BAA0B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/install.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/install.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
import fs from 'node:fs/promises';
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import { loadAgentManifest } from '@vibe-agent-toolkit/agent-config';
|
|
7
|
-
import {
|
|
7
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
8
|
+
import { copyDirectory, isPathAbsentError, safePath } from '@vibe-agent-toolkit/utils';
|
|
8
9
|
import { resolveAgentPath } from '../../utils/agent-discovery.js';
|
|
9
10
|
import { handleCommandError } from '../../utils/command-error.js';
|
|
10
11
|
import { createLogger } from '../../utils/logger.js';
|
|
11
12
|
import { validateAndGetScopeLocation } from '../../utils/scope-locations.js';
|
|
13
|
+
import { agentInstallPath } from './install-path.js';
|
|
12
14
|
/**
|
|
13
15
|
* Install agent command
|
|
14
16
|
*/
|
|
@@ -24,11 +26,13 @@ export async function installAgent(agentName, options) {
|
|
|
24
26
|
}
|
|
25
27
|
// Validate scope and get target location
|
|
26
28
|
const targetLocation = validateAndGetScopeLocation(runtime, scope);
|
|
29
|
+
// Refused by name before anything is examined — before the agent is even
|
|
30
|
+
// looked up: with `--force` this path is `rm -rf`'d, and the positional is
|
|
31
|
+
// the one thing on it the user typed.
|
|
32
|
+
const installPath = agentInstallPath(targetLocation, agentName);
|
|
27
33
|
// Find built skill
|
|
28
34
|
const builtSkillPath = await findBuiltSkill(agentName, runtime, logger);
|
|
29
|
-
const installPath = safePath.join(targetLocation, agentName);
|
|
30
35
|
// Ensure target directory exists
|
|
31
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path constructed from validated scope location
|
|
32
36
|
await fs.mkdir(targetLocation, { recursive: true });
|
|
33
37
|
// Check if already installed.
|
|
34
38
|
//
|
|
@@ -40,18 +44,22 @@ export async function installAgent(agentName, options) {
|
|
|
40
44
|
// against the one state it most needed to clear. `lstat` stats the link
|
|
41
45
|
// itself, so the entry is seen whether or not its target still exists.
|
|
42
46
|
try {
|
|
43
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- installPath is built from a validated scope location
|
|
44
47
|
await fs.lstat(installPath);
|
|
45
48
|
if (!force) {
|
|
46
49
|
logger.error(`\n${agentName} already installed at ${installPath}\n` +
|
|
47
50
|
`Use --force to overwrite\n`);
|
|
48
|
-
process.exit(
|
|
51
|
+
process.exit(ExitCode.ERROR);
|
|
49
52
|
}
|
|
50
53
|
// Remove existing if force flag is set
|
|
51
54
|
await fs.rm(installPath, { recursive: true, force: true });
|
|
52
55
|
}
|
|
53
|
-
catch {
|
|
54
|
-
// Not installed
|
|
56
|
+
catch (error) {
|
|
57
|
+
// Not installed: continue. Only an ABSENCE means that — a refused `lstat`
|
|
58
|
+
// (the scope dir the OS will not let us into) or a failed `rm` used to
|
|
59
|
+
// land here too, read as "not installed", and the install then tripped
|
|
60
|
+
// over whatever was actually there.
|
|
61
|
+
if (!isPathAbsentError(error))
|
|
62
|
+
throw error;
|
|
55
63
|
}
|
|
56
64
|
if (dev) {
|
|
57
65
|
await linkForDevelopment(builtSkillPath, installPath);
|
|
@@ -65,7 +73,7 @@ export async function installAgent(agentName, options) {
|
|
|
65
73
|
}
|
|
66
74
|
const duration = Date.now() - startTime;
|
|
67
75
|
logger.debug(`Install completed in ${duration}ms`);
|
|
68
|
-
process.exit(
|
|
76
|
+
process.exit(ExitCode.OK);
|
|
69
77
|
}
|
|
70
78
|
catch (error) {
|
|
71
79
|
handleCommandError(error, logger, startTime, 'Install');
|
|
@@ -95,7 +103,7 @@ export async function installAgent(agentName, options) {
|
|
|
95
103
|
*/
|
|
96
104
|
async function linkForDevelopment(builtSkillPath, installPath) {
|
|
97
105
|
try {
|
|
98
|
-
// eslint-disable-next-line
|
|
106
|
+
// eslint-disable-next-line local/no-bare-symlink-in-tests -- eyes open: win32 is refused by the guard in `installAgent` before this runs, so the Windows privilege hazard the rule names cannot be reached here.
|
|
99
107
|
await fs.symlink(builtSkillPath, installPath, 'dir');
|
|
100
108
|
}
|
|
101
109
|
catch (error) {
|
|
@@ -138,7 +146,11 @@ async function findAgentPackageRoot(manifestPath) {
|
|
|
138
146
|
await fs.access(packageJsonPath);
|
|
139
147
|
return currentDir;
|
|
140
148
|
}
|
|
141
|
-
catch {
|
|
149
|
+
catch (error) {
|
|
150
|
+
// No manifest at this level: climb. A refused ancestor is not "no
|
|
151
|
+
// manifest" and stays loud.
|
|
152
|
+
if (!isPathAbsentError(error))
|
|
153
|
+
throw error;
|
|
142
154
|
currentDir = path.dirname(currentDir);
|
|
143
155
|
}
|
|
144
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/agent/install.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/agent/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installed.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/installed.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"installed.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/installed.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AASD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEtF"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* List installed agents command
|
|
3
3
|
*/
|
|
4
4
|
import fs from 'node:fs/promises';
|
|
5
|
-
import {
|
|
5
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
6
|
+
import { isPathAbsentError, safePath } from '@vibe-agent-toolkit/utils';
|
|
6
7
|
import yaml from 'yaml';
|
|
7
8
|
import { handleCommandError } from '../../utils/command-error.js';
|
|
8
9
|
import { createLogger } from '../../utils/logger.js';
|
|
@@ -34,7 +35,7 @@ export async function installedCommand(options) {
|
|
|
34
35
|
duration,
|
|
35
36
|
};
|
|
36
37
|
console.log(yaml.stringify(output));
|
|
37
|
-
process.exit(
|
|
38
|
+
process.exit(ExitCode.OK);
|
|
38
39
|
return;
|
|
39
40
|
}
|
|
40
41
|
// Output to stderr (human-readable)
|
|
@@ -62,7 +63,7 @@ export async function installedCommand(options) {
|
|
|
62
63
|
duration,
|
|
63
64
|
};
|
|
64
65
|
console.log(yaml.stringify(output));
|
|
65
|
-
process.exit(
|
|
66
|
+
process.exit(ExitCode.OK);
|
|
66
67
|
}
|
|
67
68
|
catch (error) {
|
|
68
69
|
handleCommandError(error, logger, startTime, 'Installed');
|
|
@@ -77,20 +78,13 @@ async function scanForInstalledSkills(scopeLocations, scopesToScan) {
|
|
|
77
78
|
const location = scopeLocations[currentScope];
|
|
78
79
|
if (!location)
|
|
79
80
|
continue;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
// Directory doesn't exist, skip
|
|
81
|
+
const entries = await listScopeLocation(location);
|
|
82
|
+
if (entries === null)
|
|
85
83
|
continue;
|
|
86
|
-
}
|
|
87
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path from validated scope location
|
|
88
|
-
const entries = await fs.readdir(location, { withFileTypes: true });
|
|
89
84
|
for (const entry of entries) {
|
|
90
85
|
if (!entry.isDirectory() && !entry.isSymbolicLink())
|
|
91
86
|
continue;
|
|
92
87
|
const skillPath = safePath.join(location, entry.name);
|
|
93
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path from validated scope + entry name
|
|
94
88
|
const stats = await fs.lstat(skillPath);
|
|
95
89
|
const isSymlink = stats.isSymbolicLink();
|
|
96
90
|
skills.push({
|
|
@@ -103,4 +97,20 @@ async function scanForInstalledSkills(scopeLocations, scopesToScan) {
|
|
|
103
97
|
}
|
|
104
98
|
return skills;
|
|
105
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* The entries of one scope location, or `null` when there is no such directory.
|
|
102
|
+
*
|
|
103
|
+
* Only an ABSENCE is `null`. A scope directory the OS refuses to list is not an
|
|
104
|
+
* empty one, and reading it as empty would list fewer installs than there are.
|
|
105
|
+
*/
|
|
106
|
+
async function listScopeLocation(location) {
|
|
107
|
+
try {
|
|
108
|
+
return await fs.readdir(location, { withFileTypes: true });
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
if (isPathAbsentError(error))
|
|
112
|
+
return null;
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
106
116
|
//# sourceMappingURL=installed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installed.js","sourceRoot":"","sources":["../../../src/commands/agent/installed.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"installed.js","sourceRoot":"","sources":["../../../src/commands/agent/installed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/list.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAMtF,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AASD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B5E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent list command - discovers and lists all agents
|
|
3
3
|
*/
|
|
4
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
4
5
|
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
5
6
|
import { discoverAgents } from '../../utils/agent-discovery.js';
|
|
6
7
|
import { handleCommandError } from '../../utils/command-error.js';
|
|
@@ -51,7 +52,7 @@ export async function listCommand(options) {
|
|
|
51
52
|
logger.info(` ${agent.name} (${agent.version}) - ${agent.path}`);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
process.exit(
|
|
55
|
+
process.exit(ExitCode.OK);
|
|
55
56
|
}
|
|
56
57
|
catch (error) {
|
|
57
58
|
handleCommandError(error, logger, startTime, 'AgentList');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/agent/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,cAAc,EAAwB,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAaxE;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAkC,EAClC,IAAY,EACZ,UAAkB;IAElB,MAAM,QAAQ,GAAoB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI;QACJ,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,QAAQ,EAAE,GAAG,UAAU,IAAI;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B;IAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAEhF,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QAEtC,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAE1E,eAAe,CAAC,MAAM,CAAC,CAAC;QAExB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;YAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAoB,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/agent/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,cAAc,EAAwB,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAaxE;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAkC,EAClC,IAAY,EACZ,UAAkB;IAElB,MAAM,QAAQ,GAAoB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI;QACJ,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,QAAQ,EAAE,GAAG,UAAU,IAAI;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B;IAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAEhF,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QAEtC,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAE1E,eAAe,CAAC,MAAM,CAAC,CAAC;QAExB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;YAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAoB,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAqCf"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Executes an agent with user input and displays the response.
|
|
5
5
|
*/
|
|
6
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
6
7
|
import { resolveAgentPath } from '../../utils/agent-discovery.js';
|
|
7
8
|
import { runAgent } from '../../utils/agent-runner.js';
|
|
8
9
|
import { handleCommandError } from '../../utils/command-error.js';
|
|
@@ -40,7 +41,7 @@ export async function runCommand(pathOrName, userInput, options) {
|
|
|
40
41
|
logger.info('');
|
|
41
42
|
logger.info(`Completed in ${duration}ms (tokens: ${result.usage.inputTokens} in, ${result.usage.outputTokens} out)`);
|
|
42
43
|
}
|
|
43
|
-
process.exit(
|
|
44
|
+
process.exit(ExitCode.OK);
|
|
44
45
|
}
|
|
45
46
|
catch (error) {
|
|
46
47
|
handleCommandError(error, logger, startTime, 'AgentRun');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAMvE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,SAAiB,EACjB,OAA0B;IAE1B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,iEAAiE;QACjE,wEAAwE;QACxE,uCAAuC;QACvC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhB,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE;YACxC,SAAS;YACT,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;SAC9B,CAAC,CAAC;QAEH,4BAA4B;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,iCAAiC;QACjC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CACT,gBAAgB,QAAQ,eAAe,MAAM,CAAC,KAAK,CAAC,WAAW,QAAQ,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,CACxG,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAMvE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,SAAiB,EACjB,OAA0B;IAE1B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,iEAAiE;QACjE,wEAAwE;QACxE,uCAAuC;QACvC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhB,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE;YACxC,SAAS;YACT,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;SAC9B,CAAC,CAAC;QAEH,4BAA4B;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,iCAAiC;QACjC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CACT,gBAAgB,QAAQ,eAAe,MAAM,CAAC,KAAK,CAAC,WAAW,QAAQ,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,CACxG,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/uninstall.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/uninstall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* Uninstall agent from Agent Skills directory
|
|
3
3
|
*/
|
|
4
4
|
import fs from 'node:fs/promises';
|
|
5
|
-
import {
|
|
5
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
6
|
+
import { isPathAbsentError } from '@vibe-agent-toolkit/utils';
|
|
6
7
|
import { handleCommandError } from '../../utils/command-error.js';
|
|
7
8
|
import { createLogger } from '../../utils/logger.js';
|
|
8
9
|
import { validateAndGetScopeLocation } from '../../utils/scope-locations.js';
|
|
10
|
+
import { agentInstallPath } from './install-path.js';
|
|
9
11
|
/**
|
|
10
12
|
* Uninstall agent command
|
|
11
13
|
*/
|
|
@@ -16,17 +18,22 @@ export async function uninstallAgent(agentName, options) {
|
|
|
16
18
|
const { runtime = 'agent-skill', scope = 'user' } = options;
|
|
17
19
|
// Validate scope and get target location
|
|
18
20
|
const targetLocation = validateAndGetScopeLocation(runtime, scope);
|
|
19
|
-
|
|
21
|
+
// Refused by name before anything is examined: the positional is the one
|
|
22
|
+
// thing on this path the user typed, and `rm -rf` is where it ends up.
|
|
23
|
+
const installPath = agentInstallPath(targetLocation, agentName);
|
|
20
24
|
// Check if installed
|
|
21
25
|
try {
|
|
22
26
|
await fs.access(installPath);
|
|
23
27
|
}
|
|
24
|
-
catch {
|
|
28
|
+
catch (error) {
|
|
29
|
+
// "Not installed" is an absence. A refusal is reported as itself by the
|
|
30
|
+
// command's error handler, not as an install that does not exist.
|
|
31
|
+
if (!isPathAbsentError(error))
|
|
32
|
+
throw error;
|
|
25
33
|
logger.error(`\n${agentName} is not installed at ${installPath}\n`);
|
|
26
|
-
process.exit(
|
|
34
|
+
process.exit(ExitCode.ERROR);
|
|
27
35
|
}
|
|
28
36
|
// Check if symlink
|
|
29
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Path from validated scope + agent name
|
|
30
37
|
const stats = await fs.lstat(installPath);
|
|
31
38
|
const isSymlink = stats.isSymbolicLink();
|
|
32
39
|
// Remove installation
|
|
@@ -39,7 +46,7 @@ export async function uninstallAgent(agentName, options) {
|
|
|
39
46
|
}
|
|
40
47
|
const duration = Date.now() - startTime;
|
|
41
48
|
logger.debug(`Uninstall completed in ${duration}ms`);
|
|
42
|
-
process.exit(
|
|
49
|
+
process.exit(ExitCode.OK);
|
|
43
50
|
}
|
|
44
51
|
catch (error) {
|
|
45
52
|
handleCommandError(error, logger, startTime, 'Uninstall');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/agent/uninstall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/agent/uninstall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQrD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,OAAyB;IAEzB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,GAAG,aAAa,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QAE5D,yCAAyC;QACzC,MAAM,cAAc,GAAG,2BAA2B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnE,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAEhE,qBAAqB;QACrB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wEAAwE;YACxE,kEAAkE;YAClE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,wBAAwB,WAAW,IAAI,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAEzC,sBAAsB;QACtB,MAAM,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,yBAAyB,SAAS,SAAS,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,SAAS,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,IAAI,CAAC,CAAC;QAErD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAkDf"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Agent validate command - validates agent manifest and prerequisites
|
|
3
3
|
*/
|
|
4
4
|
import { validateAgent } from '@vibe-agent-toolkit/agent-config';
|
|
5
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
5
6
|
import { resolveAgentPath } from '../../utils/agent-discovery.js';
|
|
6
7
|
import { handleCommandError } from '../../utils/command-error.js';
|
|
7
8
|
import { createLogger } from '../../utils/logger.js';
|
|
@@ -34,7 +35,7 @@ export async function validateCommand(pathOrName, options) {
|
|
|
34
35
|
for (const error of result.errors) {
|
|
35
36
|
logger.error(` - ${error}`);
|
|
36
37
|
}
|
|
37
|
-
process.exit(
|
|
38
|
+
process.exit(ExitCode.FINDINGS);
|
|
38
39
|
}
|
|
39
40
|
if (result.warnings.length > 0) {
|
|
40
41
|
logger.info('Validation passed with warnings:');
|
|
@@ -45,7 +46,7 @@ export async function validateCommand(pathOrName, options) {
|
|
|
45
46
|
else {
|
|
46
47
|
logger.info('Agent validation successful');
|
|
47
48
|
}
|
|
48
|
-
process.exit(
|
|
49
|
+
process.exit(ExitCode.OK);
|
|
49
50
|
}
|
|
50
51
|
catch (error) {
|
|
51
52
|
handleCommandError(error, logger, startTime, 'AgentValidate');
|