@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
package/README.md
CHANGED
package/dist/bin/vat
CHANGED
|
@@ -19,7 +19,8 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
19
19
|
import { createRequire } from 'node:module';
|
|
20
20
|
import { dirname } from 'node:path';
|
|
21
21
|
import { fileURLToPath } from 'node:url';
|
|
22
|
-
import {
|
|
22
|
+
import { ExitCode, installLastResortExit } from '@vibe-agent-toolkit/schema';
|
|
23
|
+
import { findNodeWorkspaceRoot, isPathAbsentError, safePath, } from '@vibe-agent-toolkit/utils';
|
|
23
24
|
import { describeStdioBlocking, makeStdioBlocking, } from '@vibe-agent-toolkit/utils/process';
|
|
24
25
|
// Before ANY output. This file — not bin.ts — is what package.json maps `vat` to,
|
|
25
26
|
// so it is the CLI entry point in every installed copy, and `makeStdioBlocking`
|
|
@@ -41,6 +42,8 @@ function reportStdioBlocking(debug) {
|
|
|
41
42
|
console.error(`[vat debug] ${describeStdioBlocking(stdioBlocking)}`);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
45
|
+
// A throw nothing below caught ends on ExitCode.ERROR, never Node's default 1.
|
|
46
|
+
installLastResortExit();
|
|
44
47
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
45
48
|
function spawnCli(binPath, context, contextPath) {
|
|
46
49
|
const env = {
|
|
@@ -48,12 +51,14 @@ function spawnCli(binPath, context, contextPath) {
|
|
|
48
51
|
VAT_CONTEXT: context,
|
|
49
52
|
VAT_CONTEXT_PATH: contextPath,
|
|
50
53
|
};
|
|
51
|
-
//
|
|
52
|
-
|
|
54
|
+
// The node running this wrapper, never a PATH lookup: the child must be the
|
|
55
|
+
// same binary, and `node` by name is whatever PATH says first.
|
|
56
|
+
const result = spawnSync(process.execPath, [binPath, ...process.argv.slice(2)], {
|
|
53
57
|
stdio: 'inherit',
|
|
54
58
|
env,
|
|
55
59
|
});
|
|
56
|
-
|
|
60
|
+
// A child that died of a signal has no status; that is not a finding.
|
|
61
|
+
process.exit(result.status ?? ExitCode.ERROR);
|
|
57
62
|
}
|
|
58
63
|
/**
|
|
59
64
|
* Check if we're in vibe-agent-toolkit repo (developer mode)
|
|
@@ -66,13 +71,10 @@ function getDevModeBinary(projectRoot) {
|
|
|
66
71
|
const wrapperPath = safePath.join(projectRoot, 'packages/cli/dist/bin/vat.js');
|
|
67
72
|
const binPath = safePath.join(projectRoot, 'packages/cli/dist/bin.js');
|
|
68
73
|
if (process.env['VAT_DEBUG'] === '1') {
|
|
69
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
|
|
70
74
|
console.error(`[vat debug] Dev check - wrapper: ${wrapperPath} (${existsSync(wrapperPath)})`);
|
|
71
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
|
|
72
75
|
console.error(`[vat debug] Dev check - bin: ${binPath} (${existsSync(binPath)})`);
|
|
73
76
|
}
|
|
74
77
|
// Both files must exist to confirm we're in vibe-agent-toolkit repo
|
|
75
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files
|
|
76
78
|
if (existsSync(wrapperPath) && existsSync(binPath)) {
|
|
77
79
|
return binPath;
|
|
78
80
|
}
|
|
@@ -84,7 +86,7 @@ function getDevModeBinary(projectRoot) {
|
|
|
84
86
|
* Resolved through Node's OWN resolver rather than by probing a path, because the
|
|
85
87
|
* path this used to probe —
|
|
86
88
|
* `<dir>/node_modules/@vibe-agent-toolkit/cli/dist/bin.js` — assumes npm's flat
|
|
87
|
-
* layout and **does not exist under pnpm
|
|
89
|
+
* layout and **does not exist under pnpm**. An adopter depending on
|
|
88
90
|
* the umbrella `vibe-agent-toolkit` package gets no top-level
|
|
89
91
|
* `node_modules/@vibe-agent-toolkit/` directory at all; the real CLI lives under
|
|
90
92
|
* `node_modules/.pnpm/@vibe-agent-toolkit+cli@<ver>_<hash>/…`. So priority 3 never
|
|
@@ -110,7 +112,7 @@ function getDevModeBinary(projectRoot) {
|
|
|
110
112
|
* `vibe-agent-toolkit` package — the documented way to adopt VAT — the CLI is a
|
|
111
113
|
* TRANSITIVE dependency and is deliberately unreachable from the adopter root.
|
|
112
114
|
* Resolving from the adopter alone would still miss it, which is the umbrella case
|
|
113
|
-
*
|
|
115
|
+
* adopters actually hit. It IS reachable from the umbrella package's own
|
|
114
116
|
* directory, so that package is resolved first (it is a direct dependency, hence
|
|
115
117
|
* visible) and used as the base for the second hop.
|
|
116
118
|
*
|
|
@@ -131,7 +133,6 @@ function findLocalInstall(projectRoot) {
|
|
|
131
133
|
// Still existence-checked: a dependency can be installed without having been
|
|
132
134
|
// built (a fresh workspace checkout, a partial install), and spawning a
|
|
133
135
|
// missing file would fail far from its cause.
|
|
134
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking for local install
|
|
135
136
|
if (existsSync(localBin))
|
|
136
137
|
return localBin;
|
|
137
138
|
}
|
|
@@ -140,18 +141,29 @@ function findLocalInstall(projectRoot) {
|
|
|
140
141
|
/**
|
|
141
142
|
* `require.resolve` reduced to "found it, or didn't".
|
|
142
143
|
*
|
|
143
|
-
* A
|
|
144
|
+
* A NOT-FOUND is priority 3's ordinary "not applicable" answer — no local
|
|
144
145
|
* install on this base — so it falls through to the next base and ultimately to
|
|
145
|
-
* the global install rather than failing the run.
|
|
146
|
+
* the global install rather than failing the run. Two codes spell it: the
|
|
147
|
+
* package is not installed (`MODULE_NOT_FOUND`), or it is installed but too old
|
|
148
|
+
* to export its manifest (`ERR_PACKAGE_PATH_NOT_EXPORTED`) — either way no
|
|
149
|
+
* usable local install. Anything else (`ERR_INVALID_ARG_VALUE` from a bad
|
|
150
|
+
* `fromPath`, a loader fault) is not "absent" and stays loud.
|
|
146
151
|
*/
|
|
147
152
|
function tryResolve(fromPath, specifier) {
|
|
148
153
|
try {
|
|
149
154
|
return createRequire(fromPath).resolve(specifier);
|
|
150
155
|
}
|
|
151
|
-
catch {
|
|
152
|
-
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (isResolutionNotFound(error))
|
|
158
|
+
return null;
|
|
159
|
+
throw error;
|
|
153
160
|
}
|
|
154
161
|
}
|
|
162
|
+
/** The two `require.resolve` codes that mean "nothing usable here". */
|
|
163
|
+
function isResolutionNotFound(error) {
|
|
164
|
+
const code = error?.code;
|
|
165
|
+
return code === 'MODULE_NOT_FOUND' || code === 'ERR_PACKAGE_PATH_NOT_EXPORTED';
|
|
166
|
+
}
|
|
155
167
|
/**
|
|
156
168
|
* Read version from package.json
|
|
157
169
|
* @param packageJsonPath - Path to package.json file
|
|
@@ -159,17 +171,21 @@ function tryResolve(fromPath, specifier) {
|
|
|
159
171
|
*/
|
|
160
172
|
function readVersion(packageJsonPath) {
|
|
161
173
|
try {
|
|
162
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
|
|
163
174
|
if (!existsSync(packageJsonPath)) {
|
|
164
175
|
return null;
|
|
165
176
|
}
|
|
166
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
|
|
167
177
|
const content = readFileSync(packageJsonPath, 'utf-8');
|
|
168
178
|
const pkg = JSON.parse(content);
|
|
169
179
|
return pkg.version ?? null;
|
|
170
180
|
}
|
|
171
|
-
catch {
|
|
172
|
-
|
|
181
|
+
catch (error) {
|
|
182
|
+
// The existence check above is not atomic with the read: a manifest removed
|
|
183
|
+
// between the two is "not found". A manifest the OS refuses, or one that is
|
|
184
|
+
// not JSON, is not — this wrapper is about to dispatch to that very install,
|
|
185
|
+
// and a broken manifest is the first fact worth seeing.
|
|
186
|
+
if (isPathAbsentError(error))
|
|
187
|
+
return null;
|
|
188
|
+
throw error;
|
|
173
189
|
}
|
|
174
190
|
}
|
|
175
191
|
/**
|
|
@@ -189,7 +205,6 @@ function main() {
|
|
|
189
205
|
// Priority 1: Explicit override via VAT_ROOT_DIR
|
|
190
206
|
if (process.env['VAT_ROOT_DIR']) {
|
|
191
207
|
const binPath = safePath.join(process.env['VAT_ROOT_DIR'], 'packages/cli/dist/bin.js');
|
|
192
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- dynamic path from env is expected
|
|
193
208
|
if (existsSync(binPath)) {
|
|
194
209
|
if (debug) {
|
|
195
210
|
console.error('[vat debug] Using VAT_ROOT_DIR override');
|
package/dist/bin/vat.js
CHANGED
|
@@ -19,7 +19,8 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
19
19
|
import { createRequire } from 'node:module';
|
|
20
20
|
import { dirname } from 'node:path';
|
|
21
21
|
import { fileURLToPath } from 'node:url';
|
|
22
|
-
import {
|
|
22
|
+
import { ExitCode, installLastResortExit } from '@vibe-agent-toolkit/schema';
|
|
23
|
+
import { findNodeWorkspaceRoot, isPathAbsentError, safePath, } from '@vibe-agent-toolkit/utils';
|
|
23
24
|
import { describeStdioBlocking, makeStdioBlocking, } from '@vibe-agent-toolkit/utils/process';
|
|
24
25
|
// Before ANY output. This file — not bin.ts — is what package.json maps `vat` to,
|
|
25
26
|
// so it is the CLI entry point in every installed copy, and `makeStdioBlocking`
|
|
@@ -41,6 +42,8 @@ function reportStdioBlocking(debug) {
|
|
|
41
42
|
console.error(`[vat debug] ${describeStdioBlocking(stdioBlocking)}`);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
45
|
+
// A throw nothing below caught ends on ExitCode.ERROR, never Node's default 1.
|
|
46
|
+
installLastResortExit();
|
|
44
47
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
45
48
|
function spawnCli(binPath, context, contextPath) {
|
|
46
49
|
const env = {
|
|
@@ -48,12 +51,14 @@ function spawnCli(binPath, context, contextPath) {
|
|
|
48
51
|
VAT_CONTEXT: context,
|
|
49
52
|
VAT_CONTEXT_PATH: contextPath,
|
|
50
53
|
};
|
|
51
|
-
//
|
|
52
|
-
|
|
54
|
+
// The node running this wrapper, never a PATH lookup: the child must be the
|
|
55
|
+
// same binary, and `node` by name is whatever PATH says first.
|
|
56
|
+
const result = spawnSync(process.execPath, [binPath, ...process.argv.slice(2)], {
|
|
53
57
|
stdio: 'inherit',
|
|
54
58
|
env,
|
|
55
59
|
});
|
|
56
|
-
|
|
60
|
+
// A child that died of a signal has no status; that is not a finding.
|
|
61
|
+
process.exit(result.status ?? ExitCode.ERROR);
|
|
57
62
|
}
|
|
58
63
|
/**
|
|
59
64
|
* Check if we're in vibe-agent-toolkit repo (developer mode)
|
|
@@ -66,13 +71,10 @@ function getDevModeBinary(projectRoot) {
|
|
|
66
71
|
const wrapperPath = safePath.join(projectRoot, 'packages/cli/dist/bin/vat.js');
|
|
67
72
|
const binPath = safePath.join(projectRoot, 'packages/cli/dist/bin.js');
|
|
68
73
|
if (process.env['VAT_DEBUG'] === '1') {
|
|
69
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
|
|
70
74
|
console.error(`[vat debug] Dev check - wrapper: ${wrapperPath} (${existsSync(wrapperPath)})`);
|
|
71
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
|
|
72
75
|
console.error(`[vat debug] Dev check - bin: ${binPath} (${existsSync(binPath)})`);
|
|
73
76
|
}
|
|
74
77
|
// Both files must exist to confirm we're in vibe-agent-toolkit repo
|
|
75
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files
|
|
76
78
|
if (existsSync(wrapperPath) && existsSync(binPath)) {
|
|
77
79
|
return binPath;
|
|
78
80
|
}
|
|
@@ -84,7 +86,7 @@ function getDevModeBinary(projectRoot) {
|
|
|
84
86
|
* Resolved through Node's OWN resolver rather than by probing a path, because the
|
|
85
87
|
* path this used to probe —
|
|
86
88
|
* `<dir>/node_modules/@vibe-agent-toolkit/cli/dist/bin.js` — assumes npm's flat
|
|
87
|
-
* layout and **does not exist under pnpm
|
|
89
|
+
* layout and **does not exist under pnpm**. An adopter depending on
|
|
88
90
|
* the umbrella `vibe-agent-toolkit` package gets no top-level
|
|
89
91
|
* `node_modules/@vibe-agent-toolkit/` directory at all; the real CLI lives under
|
|
90
92
|
* `node_modules/.pnpm/@vibe-agent-toolkit+cli@<ver>_<hash>/…`. So priority 3 never
|
|
@@ -110,7 +112,7 @@ function getDevModeBinary(projectRoot) {
|
|
|
110
112
|
* `vibe-agent-toolkit` package — the documented way to adopt VAT — the CLI is a
|
|
111
113
|
* TRANSITIVE dependency and is deliberately unreachable from the adopter root.
|
|
112
114
|
* Resolving from the adopter alone would still miss it, which is the umbrella case
|
|
113
|
-
*
|
|
115
|
+
* adopters actually hit. It IS reachable from the umbrella package's own
|
|
114
116
|
* directory, so that package is resolved first (it is a direct dependency, hence
|
|
115
117
|
* visible) and used as the base for the second hop.
|
|
116
118
|
*
|
|
@@ -131,7 +133,6 @@ function findLocalInstall(projectRoot) {
|
|
|
131
133
|
// Still existence-checked: a dependency can be installed without having been
|
|
132
134
|
// built (a fresh workspace checkout, a partial install), and spawning a
|
|
133
135
|
// missing file would fail far from its cause.
|
|
134
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking for local install
|
|
135
136
|
if (existsSync(localBin))
|
|
136
137
|
return localBin;
|
|
137
138
|
}
|
|
@@ -140,18 +141,29 @@ function findLocalInstall(projectRoot) {
|
|
|
140
141
|
/**
|
|
141
142
|
* `require.resolve` reduced to "found it, or didn't".
|
|
142
143
|
*
|
|
143
|
-
* A
|
|
144
|
+
* A NOT-FOUND is priority 3's ordinary "not applicable" answer — no local
|
|
144
145
|
* install on this base — so it falls through to the next base and ultimately to
|
|
145
|
-
* the global install rather than failing the run.
|
|
146
|
+
* the global install rather than failing the run. Two codes spell it: the
|
|
147
|
+
* package is not installed (`MODULE_NOT_FOUND`), or it is installed but too old
|
|
148
|
+
* to export its manifest (`ERR_PACKAGE_PATH_NOT_EXPORTED`) — either way no
|
|
149
|
+
* usable local install. Anything else (`ERR_INVALID_ARG_VALUE` from a bad
|
|
150
|
+
* `fromPath`, a loader fault) is not "absent" and stays loud.
|
|
146
151
|
*/
|
|
147
152
|
function tryResolve(fromPath, specifier) {
|
|
148
153
|
try {
|
|
149
154
|
return createRequire(fromPath).resolve(specifier);
|
|
150
155
|
}
|
|
151
|
-
catch {
|
|
152
|
-
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (isResolutionNotFound(error))
|
|
158
|
+
return null;
|
|
159
|
+
throw error;
|
|
153
160
|
}
|
|
154
161
|
}
|
|
162
|
+
/** The two `require.resolve` codes that mean "nothing usable here". */
|
|
163
|
+
function isResolutionNotFound(error) {
|
|
164
|
+
const code = error?.code;
|
|
165
|
+
return code === 'MODULE_NOT_FOUND' || code === 'ERR_PACKAGE_PATH_NOT_EXPORTED';
|
|
166
|
+
}
|
|
155
167
|
/**
|
|
156
168
|
* Read version from package.json
|
|
157
169
|
* @param packageJsonPath - Path to package.json file
|
|
@@ -159,17 +171,21 @@ function tryResolve(fromPath, specifier) {
|
|
|
159
171
|
*/
|
|
160
172
|
function readVersion(packageJsonPath) {
|
|
161
173
|
try {
|
|
162
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
|
|
163
174
|
if (!existsSync(packageJsonPath)) {
|
|
164
175
|
return null;
|
|
165
176
|
}
|
|
166
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
|
|
167
177
|
const content = readFileSync(packageJsonPath, 'utf-8');
|
|
168
178
|
const pkg = JSON.parse(content);
|
|
169
179
|
return pkg.version ?? null;
|
|
170
180
|
}
|
|
171
|
-
catch {
|
|
172
|
-
|
|
181
|
+
catch (error) {
|
|
182
|
+
// The existence check above is not atomic with the read: a manifest removed
|
|
183
|
+
// between the two is "not found". A manifest the OS refuses, or one that is
|
|
184
|
+
// not JSON, is not — this wrapper is about to dispatch to that very install,
|
|
185
|
+
// and a broken manifest is the first fact worth seeing.
|
|
186
|
+
if (isPathAbsentError(error))
|
|
187
|
+
return null;
|
|
188
|
+
throw error;
|
|
173
189
|
}
|
|
174
190
|
}
|
|
175
191
|
/**
|
|
@@ -189,7 +205,6 @@ function main() {
|
|
|
189
205
|
// Priority 1: Explicit override via VAT_ROOT_DIR
|
|
190
206
|
if (process.env['VAT_ROOT_DIR']) {
|
|
191
207
|
const binPath = safePath.join(process.env['VAT_ROOT_DIR'], 'packages/cli/dist/bin.js');
|
|
192
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- dynamic path from env is expected
|
|
193
208
|
if (existsSync(binPath)) {
|
|
194
209
|
if (debug) {
|
|
195
210
|
console.error('[vat debug] Using VAT_ROOT_DIR override');
|
package/dist/bin/vat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vat.js","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAG,OAAO,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,qBAAqB,EACrB,QAAQ,GACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAE3C,kFAAkF;AAClF,gFAAgF;AAChF,gFAAgF;AAChF,2EAA2E;AAC3E,mEAAmE;AACnE,0CAA0C;AAC1C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;AAE1C;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,eAAe,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAI1D,SAAS,QAAQ,CAAC,OAAe,EAAE,OAAgB,EAAE,WAAoB;IACvE,MAAM,GAAG,GAAG;QACV,GAAG,OAAO,CAAC,GAAG;QACd,WAAW,EAAE,OAAO;QACpB,gBAAgB,EAAE,WAAW;KAC9B,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"vat.js","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Main entry point for vat CLI
|
|
4
4
|
* Uses Commander.js for command structure
|
|
5
5
|
*/
|
|
6
|
+
import { ExitCode, installLastResortExit } from '@vibe-agent-toolkit/schema';
|
|
6
7
|
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
7
8
|
import { describeStdioBlocking, makeStdioBlocking } from '@vibe-agent-toolkit/utils/process';
|
|
8
9
|
import { Command, CommanderError } from 'commander';
|
|
@@ -16,6 +17,8 @@ import { version, getVersionString } from './version.js';
|
|
|
16
17
|
// Before ANY output: a piped stdio is non-blocking, and every command here exits
|
|
17
18
|
// the moment it finishes, so unflushed bytes would be discarded. See output.ts.
|
|
18
19
|
const stdioBlocking = makeStdioBlocking();
|
|
20
|
+
// A throw nothing below caught ends on ExitCode.ERROR, never Node's default 1 — see `installLastResortExit`.
|
|
21
|
+
installLastResortExit();
|
|
19
22
|
// Reported by hand rather than through the parsed `--debug` option because this
|
|
20
23
|
// has to run before Commander parses anything — the same reason the verbose-help
|
|
21
24
|
// checks below read process.argv directly. Reaching through an internal Node
|
|
@@ -109,7 +112,7 @@ const rootArgv = createRootArgvGrammar(program.options);
|
|
|
109
112
|
// help page — so these four checks run before parsing.
|
|
110
113
|
if (rootArgv.wantsRootVerboseHelp(argv)) {
|
|
111
114
|
showVerboseHelp();
|
|
112
|
-
process.exit(
|
|
115
|
+
process.exit(ExitCode.OK);
|
|
113
116
|
}
|
|
114
117
|
/**
|
|
115
118
|
* The command groups whose `--verbose` help page is a hand-written document.
|
|
@@ -135,7 +138,7 @@ const VERBOSE_HELP_GROUPS = [
|
|
|
135
138
|
for (const { group, show } of VERBOSE_HELP_GROUPS) {
|
|
136
139
|
if (rootArgv.wantsGroupVerboseHelp(argv, group)) {
|
|
137
140
|
await show();
|
|
138
|
-
process.exit(
|
|
141
|
+
process.exit(ExitCode.OK);
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
144
|
/** Registers `doctor`, which attaches itself to the program rather than being added. */
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|