@vibe-agent-toolkit/cli 0.2.0-rc.7 → 0.2.0-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/bin/vat +34 -19
- package/dist/bin/vat.js +34 -19
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +5 -2
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/build.d.ts.map +1 -1
- package/dist/commands/agent/build.js +2 -1
- package/dist/commands/agent/build.js.map +1 -1
- package/dist/commands/agent/import.d.ts.map +1 -1
- package/dist/commands/agent/import.js +3 -2
- package/dist/commands/agent/import.js.map +1 -1
- package/dist/commands/agent/install-path.d.ts +36 -0
- package/dist/commands/agent/install-path.d.ts.map +1 -0
- package/dist/commands/agent/install-path.js +44 -0
- package/dist/commands/agent/install-path.js.map +1 -0
- package/dist/commands/agent/install.d.ts.map +1 -1
- package/dist/commands/agent/install.js +22 -10
- package/dist/commands/agent/install.js.map +1 -1
- package/dist/commands/agent/installed.d.ts.map +1 -1
- package/dist/commands/agent/installed.js +22 -12
- package/dist/commands/agent/installed.js.map +1 -1
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +2 -1
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +2 -1
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/uninstall.d.ts.map +1 -1
- package/dist/commands/agent/uninstall.js +13 -6
- package/dist/commands/agent/uninstall.js.map +1 -1
- package/dist/commands/agent/validate.d.ts.map +1 -1
- package/dist/commands/agent/validate.js +3 -2
- package/dist/commands/agent/validate.js.map +1 -1
- package/dist/commands/ard/emit.d.ts +72 -23
- package/dist/commands/ard/emit.d.ts.map +1 -1
- package/dist/commands/ard/emit.js +109 -56
- package/dist/commands/ard/emit.js.map +1 -1
- package/dist/commands/ard/index.d.ts +1 -1
- package/dist/commands/ard/index.d.ts.map +1 -1
- package/dist/commands/ard/index.js +4 -3
- package/dist/commands/ard/index.js.map +1 -1
- package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
- package/dist/commands/audit/distributed-tree.js +9 -6
- package/dist/commands/audit/distributed-tree.js.map +1 -1
- package/dist/commands/audit/provenance.d.ts.map +1 -1
- package/dist/commands/audit/provenance.js +4 -3
- package/dist/commands/audit/provenance.js.map +1 -1
- package/dist/commands/audit/scan-population.d.ts +158 -0
- package/dist/commands/audit/scan-population.d.ts.map +1 -0
- package/dist/commands/audit/scan-population.js +292 -0
- package/dist/commands/audit/scan-population.js.map +1 -0
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +6 -5
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +16 -14
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +304 -389
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +25 -24
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cache/clear.d.ts +17 -3
- package/dist/commands/cache/clear.d.ts.map +1 -1
- package/dist/commands/cache/clear.js +34 -13
- package/dist/commands/cache/clear.js.map +1 -1
- package/dist/commands/cache/index.d.ts.map +1 -1
- package/dist/commands/cache/index.js +19 -10
- package/dist/commands/cache/index.js.map +1 -1
- package/dist/commands/claude/context.d.ts +2 -2
- package/dist/commands/claude/context.d.ts.map +1 -1
- package/dist/commands/claude/context.js +7 -6
- package/dist/commands/claude/context.js.map +1 -1
- package/dist/commands/claude/index.d.ts +12 -11
- package/dist/commands/claude/index.d.ts.map +1 -1
- package/dist/commands/claude/index.js +14 -16
- package/dist/commands/claude/index.js.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.d.ts +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/changelog-utils.js +1 -2
- package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +22 -12
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +0 -1
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.js +0 -6
- package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +2 -1
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +26 -16
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/api-keys.d.ts +0 -3
- package/dist/commands/claude/org/api-keys.d.ts.map +1 -1
- package/dist/commands/claude/org/api-keys.js +2 -1
- package/dist/commands/claude/org/api-keys.js.map +1 -1
- package/dist/commands/claude/org/helpers.d.ts +17 -22
- package/dist/commands/claude/org/helpers.d.ts.map +1 -1
- package/dist/commands/claude/org/helpers.js +6 -22
- package/dist/commands/claude/org/helpers.js.map +1 -1
- package/dist/commands/claude/org/invites.d.ts +0 -3
- package/dist/commands/claude/org/invites.d.ts.map +1 -1
- package/dist/commands/claude/org/invites.js +3 -2
- package/dist/commands/claude/org/invites.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +19 -1
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +147 -111
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/org/users.d.ts +0 -3
- package/dist/commands/claude/org/users.d.ts.map +1 -1
- package/dist/commands/claude/org/users.js +3 -2
- package/dist/commands/claude/org/users.js.map +1 -1
- package/dist/commands/claude/org/workspaces.d.ts +0 -3
- package/dist/commands/claude/org/workspaces.d.ts.map +1 -1
- package/dist/commands/claude/org/workspaces.js +6 -5
- package/dist/commands/claude/org/workspaces.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +23 -52
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
- package/dist/commands/claude/plugin/helpers.js +0 -6
- package/dist/commands/claude/plugin/helpers.js.map +1 -1
- package/dist/commands/claude/plugin/install.d.ts +12 -0
- package/dist/commands/claude/plugin/install.d.ts.map +1 -1
- package/dist/commands/claude/plugin/install.js +71 -60
- package/dist/commands/claude/plugin/install.js.map +1 -1
- package/dist/commands/claude/plugin/list.d.ts.map +1 -1
- package/dist/commands/claude/plugin/list.js +3 -2
- package/dist/commands/claude/plugin/list.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-changelog.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-changelog.js +0 -2
- package/dist/commands/claude/plugin/plugin-changelog.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.js +3 -6
- package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-validators.js +3 -6
- package/dist/commands/claude/plugin/plugin-validators.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts +2 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +15 -14
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
- package/dist/commands/claude/plugin/uninstall.js +4 -4
- package/dist/commands/claude/plugin/uninstall.js.map +1 -1
- package/dist/commands/consistency-check.d.ts +17 -15
- package/dist/commands/consistency-check.d.ts.map +1 -1
- package/dist/commands/consistency-check.js +149 -104
- package/dist/commands/consistency-check.js.map +1 -1
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -2
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +2 -6
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/corpus/scan.d.ts.map +1 -1
- package/dist/commands/corpus/scan.js +2 -3
- package/dist/commands/corpus/scan.js.map +1 -1
- package/dist/commands/corpus/seed.d.ts +4 -4
- package/dist/commands/corpus/seed.d.ts.map +1 -1
- package/dist/commands/corpus/seed.js +1 -3
- package/dist/commands/corpus/seed.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +55 -37
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +6 -7
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/mcp/list-collections.d.ts.map +1 -1
- package/dist/commands/mcp/list-collections.js +2 -1
- package/dist/commands/mcp/list-collections.js.map +1 -1
- package/dist/commands/mcp/serve.d.ts.map +1 -1
- package/dist/commands/mcp/serve.js +3 -2
- package/dist/commands/mcp/serve.js.map +1 -1
- package/dist/commands/okf/index.d.ts.map +1 -1
- package/dist/commands/okf/index.js +14 -2
- package/dist/commands/okf/index.js.map +1 -1
- package/dist/commands/okf/validate.d.ts +157 -48
- package/dist/commands/okf/validate.d.ts.map +1 -1
- package/dist/commands/okf/validate.js +109 -76
- package/dist/commands/okf/validate.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +11 -10
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +30 -14
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/positional-args.d.ts.map +1 -1
- package/dist/commands/positional-args.js +2 -1
- package/dist/commands/positional-args.js.map +1 -1
- package/dist/commands/rag/clear-command.d.ts.map +1 -1
- package/dist/commands/rag/clear-command.js +2 -1
- package/dist/commands/rag/clear-command.js.map +1 -1
- package/dist/commands/rag/index-command.d.ts.map +1 -1
- package/dist/commands/rag/index-command.js +4 -1
- package/dist/commands/rag/index-command.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +2 -1
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/rag/stats-command.d.ts.map +1 -1
- package/dist/commands/rag/stats-command.js +2 -1
- package/dist/commands/rag/stats-command.js.map +1 -1
- package/dist/commands/resources/check-progress.d.ts +6 -0
- package/dist/commands/resources/check-progress.d.ts.map +1 -1
- package/dist/commands/resources/check-progress.js +15 -4
- package/dist/commands/resources/check-progress.js.map +1 -1
- package/dist/commands/resources/check-supervisor.d.ts.map +1 -1
- package/dist/commands/resources/check-supervisor.js +14 -7
- package/dist/commands/resources/check-supervisor.js.map +1 -1
- package/dist/commands/resources/check.d.ts +315 -205
- package/dist/commands/resources/check.d.ts.map +1 -1
- package/dist/commands/resources/check.js +368 -327
- package/dist/commands/resources/check.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +159 -39
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/query.d.ts +2 -2
- package/dist/commands/resources/query.d.ts.map +1 -1
- package/dist/commands/resources/query.js +24 -18
- package/dist/commands/resources/query.js.map +1 -1
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +4 -8
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +1 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +0 -1
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review-checklist.d.ts +3 -2
- package/dist/commands/skill/review-checklist.d.ts.map +1 -1
- package/dist/commands/skill/review-checklist.js +4 -2
- package/dist/commands/skill/review-checklist.js.map +1 -1
- package/dist/commands/skill/review.d.ts +247 -0
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +90 -60
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/configure.d.ts.map +1 -1
- package/dist/commands/skill/test/configure.js +0 -1
- package/dist/commands/skill/test/configure.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts +12 -6
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +120 -65
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +83 -3
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +162 -40
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/install.d.ts +2 -1
- package/dist/commands/skills/install.d.ts.map +1 -1
- package/dist/commands/skills/install.js +20 -30
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +14 -18
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package.d.ts +1 -1
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +6 -8
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/scope-guard.d.ts.map +1 -1
- package/dist/commands/skills/scope-guard.js +2 -4
- package/dist/commands/skills/scope-guard.js.map +1 -1
- package/dist/commands/skills/shared.d.ts.map +1 -1
- package/dist/commands/skills/shared.js +2 -4
- package/dist/commands/skills/shared.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts +15 -13
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +23 -5
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/source-resolvers.d.ts +15 -0
- package/dist/commands/skills/source-resolvers.d.ts.map +1 -1
- package/dist/commands/skills/source-resolvers.js +25 -4
- package/dist/commands/skills/source-resolvers.js.map +1 -1
- package/dist/commands/validate.d.ts +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +39 -14
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +17 -5
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +161 -104
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/report-schemas.d.ts +45 -0
- package/dist/report-schemas.d.ts.map +1 -0
- package/dist/report-schemas.js +100 -0
- package/dist/report-schemas.js.map +1 -0
- package/dist/skill-resolution/classify.js +2 -2
- package/dist/skill-resolution/classify.js.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
- package/dist/skill-resolution/resolve-skill-reference.js +50 -55
- package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
- package/dist/utils/agent-discovery.d.ts.map +1 -1
- package/dist/utils/agent-discovery.js +22 -11
- package/dist/utils/agent-discovery.js.map +1 -1
- package/dist/utils/agent-runner.d.ts.map +1 -1
- package/dist/utils/agent-runner.js +0 -1
- package/dist/utils/agent-runner.js.map +1 -1
- package/dist/utils/claude-context-lens.d.ts +34 -0
- package/dist/utils/claude-context-lens.d.ts.map +1 -0
- package/dist/utils/claude-context-lens.js +39 -0
- package/dist/utils/claude-context-lens.js.map +1 -0
- package/dist/utils/command-error.d.ts +63 -62
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +80 -76
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/config-loader.d.ts +2 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +3 -6
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/corpus-target.d.ts +5 -27
- package/dist/utils/corpus-target.d.ts.map +1 -1
- package/dist/utils/corpus-target.js +7 -33
- package/dist/utils/corpus-target.js.map +1 -1
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +0 -1
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/issue-rendering.d.ts +2 -2
- package/dist/utils/issue-rendering.js +2 -2
- package/dist/utils/optional-backend.d.ts.map +1 -1
- package/dist/utils/optional-backend.js +2 -1
- package/dist/utils/optional-backend.js.map +1 -1
- package/dist/utils/output.d.ts +9 -0
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +16 -0
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/package-json.d.ts +24 -0
- package/dist/utils/package-json.d.ts.map +1 -0
- package/dist/utils/package-json.js +49 -0
- package/dist/utils/package-json.js.map +1 -0
- package/dist/utils/project-root-policy.d.ts.map +1 -1
- package/dist/utils/project-root-policy.js +0 -2
- package/dist/utils/project-root-policy.js.map +1 -1
- package/dist/utils/projection-lenses.d.ts +98 -0
- package/dist/utils/projection-lenses.d.ts.map +1 -0
- package/dist/utils/projection-lenses.js +203 -0
- package/dist/utils/projection-lenses.js.map +1 -0
- package/dist/utils/projection-query.d.ts +38 -14
- package/dist/utils/projection-query.d.ts.map +1 -1
- package/dist/utils/projection-query.js +78 -17
- package/dist/utils/projection-query.js.map +1 -1
- package/dist/utils/projection-store.d.ts +61 -42
- package/dist/utils/projection-store.d.ts.map +1 -1
- package/dist/utils/projection-store.js +155 -59
- package/dist/utils/projection-store.js.map +1 -1
- package/dist/utils/relation-limits.d.ts +50 -0
- package/dist/utils/relation-limits.d.ts.map +1 -0
- package/dist/utils/relation-limits.js +50 -0
- package/dist/utils/relation-limits.js.map +1 -0
- package/dist/utils/resource-loader.js +2 -2
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/skill-discovery.d.ts.map +1 -1
- package/dist/utils/skill-discovery.js +2 -1
- package/dist/utils/skill-discovery.js.map +1 -1
- package/dist/utils/skill-packaging-config.d.ts +63 -1
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +56 -1
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/url-redact.d.ts.map +1 -1
- package/dist/utils/url-redact.js +4 -6
- package/dist/utils/url-redact.js.map +1 -1
- package/dist/utils/user-context-scanner.d.ts.map +1 -1
- package/dist/utils/user-context-scanner.js +0 -2
- package/dist/utils/user-context-scanner.js.map +1 -1
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +3 -4
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/utils/vat-bin-path.d.ts.map +1 -1
- package/dist/utils/vat-bin-path.js +0 -1
- package/dist/utils/vat-bin-path.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -3
- package/dist/version.js.map +1 -1
- package/docs/audit.md +44 -53
- package/docs/doctor.md +1 -0
- package/docs/index.md +18 -10
- package/docs/rag.md +0 -1
- package/docs/resources.md +0 -1
- package/docs/skill-test.md +10 -9
- package/docs/skills.md +6 -7
- package/package.json +23 -28
- package/schemas/ard-emit.json +149 -0
- package/schemas/okf-validate.json +170 -0
- package/schemas/resources-check.json +229 -0
- package/schemas/skill-review.json +230 -0
- package/dist/commands/claude/budget.d.ts +0 -170
- package/dist/commands/claude/budget.d.ts.map +0 -1
- package/dist/commands/claude/budget.js +0 -464
- package/dist/commands/claude/budget.js.map +0 -1
- package/dist/utils/context-budget-issues.d.ts +0 -108
- package/dist/utils/context-budget-issues.d.ts.map +0 -1
- package/dist/utils/context-budget-issues.js +0 -280
- package/dist/utils/context-budget-issues.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-loader.d.ts","sourceRoot":"","sources":["../../src/utils/help-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"help-loader.d.ts","sourceRoot":"","sources":["../../src/utils/help-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBxD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEnD"}
|
|
@@ -21,7 +21,6 @@ export function loadVerboseHelp(section) {
|
|
|
21
21
|
const filename = section ? `${section}.md` : 'index.md';
|
|
22
22
|
const helpPath = safePath.join(packageRoot, 'docs', filename);
|
|
23
23
|
try {
|
|
24
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path is constructed from known safe components
|
|
25
24
|
const content = readFileSync(helpPath, 'utf-8');
|
|
26
25
|
return content;
|
|
27
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-loader.js","sourceRoot":"","sources":["../../src/utils/help-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,mCAAmC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEtD,wCAAwC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"help-loader.js","sourceRoot":"","sources":["../../src/utils/help-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,mCAAmC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEtD,wCAAwC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO;;0BAEe,QAAQ;;EAEhC,YAAY;;;CAGb,CAAC;IACA,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -177,8 +177,8 @@ export declare function formatCollapsedFindingsHint(collapsed: number, report: s
|
|
|
177
177
|
* is not: `files.dependencies` carries only what the link-graph walk discovered, so
|
|
178
178
|
* every file `files:` copied in — each glob match, plus any explicit entry the walk
|
|
179
179
|
* had not already bundled — is absent from the total. A bundle holding SKILL.md, one
|
|
180
|
-
* linked doc and one declared artifact prints `2 files`. That undercount is
|
|
181
|
-
*
|
|
180
|
+
* linked doc and one declared artifact prints `2 files`. That undercount is a
|
|
181
|
+
* report-shape defect and is deliberately NOT patched here; this wording is only the part that can
|
|
182
182
|
* be made true today, so nobody reads the number as an inventory of the output.
|
|
183
183
|
*
|
|
184
184
|
* The `+ 1` is the bundle's root `SKILL.md`, which `files.dependencies` does not
|
|
@@ -259,8 +259,8 @@ export function formatCollapsedFindingsHint(collapsed, report) {
|
|
|
259
259
|
* is not: `files.dependencies` carries only what the link-graph walk discovered, so
|
|
260
260
|
* every file `files:` copied in — each glob match, plus any explicit entry the walk
|
|
261
261
|
* had not already bundled — is absent from the total. A bundle holding SKILL.md, one
|
|
262
|
-
* linked doc and one declared artifact prints `2 files`. That undercount is
|
|
263
|
-
*
|
|
262
|
+
* linked doc and one declared artifact prints `2 files`. That undercount is a
|
|
263
|
+
* report-shape defect and is deliberately NOT patched here; this wording is only the part that can
|
|
264
264
|
* be made true today, so nobody reads the number as an inventory of the output.
|
|
265
265
|
*
|
|
266
266
|
* The `+ 1` is the bundle's root `SKILL.md`, which `files.dependencies` does not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional-backend.d.ts","sourceRoot":"","sources":["../../src/utils/optional-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"optional-backend.d.ts","sourceRoot":"","sources":["../../src/utils/optional-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAoBH;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOvD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,KAAK,CAcpE;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EACxD,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAC9C,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAalC"}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
// of the rag lane's shared helpers live: that module statically imports
|
|
26
26
|
// `@vibe-agent-toolkit/rag-lancedb`, so reaching for its `handleCommandError`
|
|
27
27
|
// here would load the very backend this file exists to defer.
|
|
28
|
+
import { ExitCode } from '@vibe-agent-toolkit/schema';
|
|
28
29
|
import { writeYamlOutput } from './output.js';
|
|
29
30
|
/**
|
|
30
31
|
* Node's code for "the module is genuinely not installed".
|
|
@@ -78,7 +79,7 @@ export function reportMissingBackend(backend) {
|
|
|
78
79
|
error: `${backend.feature} backend not installed: ${backend.packageName}`,
|
|
79
80
|
fix: install,
|
|
80
81
|
});
|
|
81
|
-
process.exit(
|
|
82
|
+
process.exit(ExitCode.ERROR);
|
|
82
83
|
}
|
|
83
84
|
/**
|
|
84
85
|
* Bind a Commander action that loads its implementation on first invocation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional-backend.js","sourceRoot":"","sources":["../../src/utils/optional-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAC9E,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;WACtB,KAAK,KAAK,IAAI;WACd,MAAM,IAAI,KAAK;WACd,KAA4B,CAAC,IAAI,KAAK,gBAAgB,CAC3D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,MAAM,OAAO,GAAG,eAAe,OAAO,CAAC,WAAW,EAAE,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,OAAO,CAAC,OAAO,6DAA6D;UAC7E,uBAAuB,OAAO,IAAI;UAClC,gFAAgF;UAChF,wDAAwD,CAC3D,CAAC;IACF,eAAe,CAAC;QACd,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,GAAG,OAAO,CAAC,OAAO,2BAA2B,OAAO,CAAC,WAAW,EAAE;QACzE,GAAG,EAAE,OAAO;KACb,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"optional-backend.js","sourceRoot":"","sources":["../../src/utils/optional-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAC9E,8DAA8D;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;WACtB,KAAK,KAAK,IAAI;WACd,MAAM,IAAI,KAAK;WACd,KAA4B,CAAC,IAAI,KAAK,gBAAgB,CAC3D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,MAAM,OAAO,GAAG,eAAe,OAAO,CAAC,WAAW,EAAE,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,OAAO,CAAC,OAAO,6DAA6D;UAC7E,uBAAuB,OAAO,IAAI;UAClC,gFAAgF;UAChF,wDAAwD,CAC3D,CAAC;IACF,eAAe,CAAC;QACd,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,GAAG,OAAO,CAAC,OAAO,2BAA2B,OAAO,CAAC,WAAW,EAAE;QACzE,GAAG,EAAE,OAAO;KACb,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAUD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CACxB,OAAwB,EACxB,IAA+C;IAE/C,OAAO,KAAK,EAAE,GAAG,IAAU,EAAiB,EAAE;QAC5C,IAAI,OAA0C,CAAC;QAC/C,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/utils/output.d.ts
CHANGED
|
@@ -93,6 +93,15 @@ export declare function writeYamlOutput(data: unknown): void;
|
|
|
93
93
|
* @param data - Data to serialize as JSON
|
|
94
94
|
*/
|
|
95
95
|
export declare function writeJsonOutput(data: unknown): void;
|
|
96
|
+
/**
|
|
97
|
+
* Write one structured document in the format a `--format` option selected:
|
|
98
|
+
* `json` → {@link writeJsonOutput}; anything else (including an absent option)
|
|
99
|
+
* → {@link writeYamlOutput}, the CLI's default document format.
|
|
100
|
+
*
|
|
101
|
+
* @param data - The document
|
|
102
|
+
* @param format - The selected format (`json`, or anything else for YAML)
|
|
103
|
+
*/
|
|
104
|
+
export declare function writeStructuredOutput(data: unknown, format: string | undefined): void;
|
|
96
105
|
/**
|
|
97
106
|
* Write a test-format finding to stderr.
|
|
98
107
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKrD;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAoCpF,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,IAAI,CA+BN;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAWnD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAEnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,IAAI,CAEN"}
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKrD;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAoCpF,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,IAAI,CA+BN;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAWnD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAMrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,IAAI,CAEN"}
|
package/dist/utils/output.js
CHANGED
|
@@ -157,6 +157,22 @@ export function writeYamlOutput(data) {
|
|
|
157
157
|
export function writeJsonOutput(data) {
|
|
158
158
|
process.stdout.write(`${JSON.stringify(data, null, 2)}\n`);
|
|
159
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Write one structured document in the format a `--format` option selected:
|
|
162
|
+
* `json` → {@link writeJsonOutput}; anything else (including an absent option)
|
|
163
|
+
* → {@link writeYamlOutput}, the CLI's default document format.
|
|
164
|
+
*
|
|
165
|
+
* @param data - The document
|
|
166
|
+
* @param format - The selected format (`json`, or anything else for YAML)
|
|
167
|
+
*/
|
|
168
|
+
export function writeStructuredOutput(data, format) {
|
|
169
|
+
if (format === 'json') {
|
|
170
|
+
writeJsonOutput(data);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
writeYamlOutput(data);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
160
176
|
/**
|
|
161
177
|
* Write a test-format finding to stderr.
|
|
162
178
|
*
|
package/dist/utils/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One reading of a project's `package.json` for the lanes that want an
|
|
3
|
+
* OPTIONAL field out of it — a `version` to stamp, a `vat.skills` list, a
|
|
4
|
+
* `files` allowlist.
|
|
5
|
+
*
|
|
6
|
+
* Every one of those lanes used to spell the read as `existsSync` →
|
|
7
|
+
* `readFileSync` → `JSON.parse` inside one `try { … } catch { return <absent> }`,
|
|
8
|
+
* which made "there is no package.json" indistinguishable from "there is one
|
|
9
|
+
* and it is not JSON" and from "there is one and the OS refused it". The first
|
|
10
|
+
* is the sentinel's meaning; the other two were reported as it — a build
|
|
11
|
+
* stamped no version, a consistency check verified nothing, and neither said
|
|
12
|
+
* why. npm itself refuses a manifest it cannot parse, so a tree with one is
|
|
13
|
+
* already broken; the reader's job is to say so, not to proceed around it.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* The parsed manifest, or `undefined` when there is none at `pkgPath`.
|
|
17
|
+
*
|
|
18
|
+
* @throws {Error} naming the file when it exists but is not a JSON object;
|
|
19
|
+
* the parse error is the `cause`.
|
|
20
|
+
* @throws whatever the filesystem threw for anything that is not an absence
|
|
21
|
+
* (a refusal stays a refusal).
|
|
22
|
+
*/
|
|
23
|
+
export declare function readPackageJsonOrAbsent(pkgPath: string): Record<string, unknown> | undefined;
|
|
24
|
+
//# sourceMappingURL=package-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../src/utils/package-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAoB5F"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One reading of a project's `package.json` for the lanes that want an
|
|
3
|
+
* OPTIONAL field out of it — a `version` to stamp, a `vat.skills` list, a
|
|
4
|
+
* `files` allowlist.
|
|
5
|
+
*
|
|
6
|
+
* Every one of those lanes used to spell the read as `existsSync` →
|
|
7
|
+
* `readFileSync` → `JSON.parse` inside one `try { … } catch { return <absent> }`,
|
|
8
|
+
* which made "there is no package.json" indistinguishable from "there is one
|
|
9
|
+
* and it is not JSON" and from "there is one and the OS refused it". The first
|
|
10
|
+
* is the sentinel's meaning; the other two were reported as it — a build
|
|
11
|
+
* stamped no version, a consistency check verified nothing, and neither said
|
|
12
|
+
* why. npm itself refuses a manifest it cannot parse, so a tree with one is
|
|
13
|
+
* already broken; the reader's job is to say so, not to proceed around it.
|
|
14
|
+
*/
|
|
15
|
+
import { readFileSync } from 'node:fs';
|
|
16
|
+
import { isPathAbsentError } from '@vibe-agent-toolkit/utils';
|
|
17
|
+
/**
|
|
18
|
+
* The parsed manifest, or `undefined` when there is none at `pkgPath`.
|
|
19
|
+
*
|
|
20
|
+
* @throws {Error} naming the file when it exists but is not a JSON object;
|
|
21
|
+
* the parse error is the `cause`.
|
|
22
|
+
* @throws whatever the filesystem threw for anything that is not an absence
|
|
23
|
+
* (a refusal stays a refusal).
|
|
24
|
+
*/
|
|
25
|
+
export function readPackageJsonOrAbsent(pkgPath) {
|
|
26
|
+
let raw;
|
|
27
|
+
try {
|
|
28
|
+
raw = readFileSync(pkgPath, 'utf-8');
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
if (isPathAbsentError(error))
|
|
32
|
+
return undefined;
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
let parsed;
|
|
36
|
+
try {
|
|
37
|
+
parsed = JSON.parse(raw);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (!(error instanceof SyntaxError))
|
|
41
|
+
throw error;
|
|
42
|
+
throw new Error(`${pkgPath} is not valid JSON: ${error.message}`, { cause: error });
|
|
43
|
+
}
|
|
44
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
45
|
+
throw new Error(`${pkgPath} is not a JSON object, so it is not a package manifest`);
|
|
46
|
+
}
|
|
47
|
+
return parsed;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=package-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../src/utils/package-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,iBAAiB,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;YAAE,MAAM,KAAK,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,uBAAuB,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,wDAAwD,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-root-policy.d.ts","sourceRoot":"","sources":["../../src/utils/project-root-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAShF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"project-root-policy.d.ts","sourceRoot":"","sources":["../../src/utils/project-root-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAShF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS/D"}
|
|
@@ -68,11 +68,9 @@ export function projectRootOrNull(startDir) {
|
|
|
68
68
|
*/
|
|
69
69
|
export function assertDirectoryArgument(pathArg) {
|
|
70
70
|
const resolved = safePath.resolve(pathArg);
|
|
71
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI path argument, resolved above
|
|
72
71
|
if (!existsSync(resolved)) {
|
|
73
72
|
throw new Error(`Path does not exist: ${resolved}`);
|
|
74
73
|
}
|
|
75
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI path argument, existence checked above
|
|
76
74
|
if (!statSync(resolved).isDirectory()) {
|
|
77
75
|
throw new Error(`Path is not a directory: ${resolved}`);
|
|
78
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-root-policy.js","sourceRoot":"","sources":["../../src/utils/project-root-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAItE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,WAAmB;IACtE,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,gEAAgE;YAC5E,kDAAkD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,MAAc;IACnE,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,CACT,oEAAoE,GAAG,iBAAiB,CACzF,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,
|
|
1
|
+
{"version":3,"file":"project-root-policy.js","sourceRoot":"","sources":["../../src/utils/project-root-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAItE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,WAAmB;IACtE,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,gEAAgE;YAC5E,kDAAkD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,MAAc;IACnE,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,CACT,oEAAoE,GAAG,iBAAiB,CACzF,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which lenses a run evaluates, and when it does NOT — the selection that keeps
|
|
3
|
+
* the derived relations affordable.
|
|
4
|
+
*
|
|
5
|
+
* 🚨 **The selector over-selects on purpose: a FALSE NEGATIVE fails a run that
|
|
6
|
+
* had an answer.** A lens skipped when its relation is named leaves that
|
|
7
|
+
* relation ABSENT from the run's database, so the statement is refused with
|
|
8
|
+
* `no such table` — loud rather than wrong, because the refusal is SQLite's and
|
|
9
|
+
* does not depend on this scan. The cost that forced the selection, the rules
|
|
10
|
+
* that keep it fail-safe, and why the registry lives in the CLI rather than in a
|
|
11
|
+
* population are in
|
|
12
|
+
* `docs/architecture/zones.md` §2, "A lens is evaluated only when a statement
|
|
13
|
+
* names one of its relations".
|
|
14
|
+
*/
|
|
15
|
+
import { type DerivedTableName, type PopulationCache, type Projection } from '@vibe-agent-toolkit/resources';
|
|
16
|
+
import type { Logger } from './logger.js';
|
|
17
|
+
/**
|
|
18
|
+
* The rows one lens evaluation produced, keyed by `DERIVED_TABLES`' own keys.
|
|
19
|
+
*
|
|
20
|
+
* Structurally `projection-sqlite`'s `DerivedRows`, spelled here so every lens
|
|
21
|
+
* states its output in terms of the RELATION REGISTRY rather than of a storage
|
|
22
|
+
* backend. `writeDerived` accepts it unchanged.
|
|
23
|
+
*/
|
|
24
|
+
export type LensRows = {
|
|
25
|
+
readonly [Name in DerivedTableName]?: readonly Record<string, unknown>[];
|
|
26
|
+
};
|
|
27
|
+
/** Everything a lens may read while evaluating. */
|
|
28
|
+
export interface LensEvaluationInput {
|
|
29
|
+
/** The resources-lane projection the run already populated. */
|
|
30
|
+
readonly projection: Projection;
|
|
31
|
+
/** Absolute corpus root, for a lens that must populate a lane of its own. */
|
|
32
|
+
readonly root: string;
|
|
33
|
+
/** Where a lens's own blob-stage refusals go — stderr. */
|
|
34
|
+
readonly logger: Logger;
|
|
35
|
+
/** The run's projection store, so a lens's own population can hit it. */
|
|
36
|
+
readonly cache: PopulationCache | undefined;
|
|
37
|
+
}
|
|
38
|
+
/** One lens: the relations it owns, and how to produce their rows. */
|
|
39
|
+
export interface ProjectionLens {
|
|
40
|
+
/** How the lens names itself in `lensesEvaluated` and in a refusal. */
|
|
41
|
+
readonly name: string;
|
|
42
|
+
/**
|
|
43
|
+
* Every relation this lens produces, by registry key.
|
|
44
|
+
*
|
|
45
|
+
* ⛔ Disjoint from every other lens's. Two lenses claiming one relation would
|
|
46
|
+
* make "was it evaluated" unanswerable, and the second `writeDerived` would
|
|
47
|
+
* CLEAR the first's rows — `writeDerived` replaces a relation's contents.
|
|
48
|
+
*/
|
|
49
|
+
readonly relations: readonly DerivedTableName[];
|
|
50
|
+
/**
|
|
51
|
+
* Produce the rows.
|
|
52
|
+
*
|
|
53
|
+
* @param input - The projection, the root, and the run's oracles
|
|
54
|
+
* @returns Every relation this lens owns — all of them, every time, because
|
|
55
|
+
* omitting one leaves its previous contents in place
|
|
56
|
+
*/
|
|
57
|
+
readonly evaluate: (input: LensEvaluationInput) => Promise<LensRows> | LensRows;
|
|
58
|
+
}
|
|
59
|
+
/** The authored-link lens: `lens_contexts`, `edges`, `edge_resolutions`. */
|
|
60
|
+
export declare const AUTHORED_LINK_LENS: ProjectionLens;
|
|
61
|
+
/** The always-loaded context lens: `claude_context_chains`, `claude_context_loads`. */
|
|
62
|
+
export declare const CLAUDE_CONTEXT_LENS: ProjectionLens;
|
|
63
|
+
/** Every lens the query lane can evaluate, in evaluation order. */
|
|
64
|
+
export declare const PROJECTION_LENSES: readonly ProjectionLens[];
|
|
65
|
+
/**
|
|
66
|
+
* The SQL names of a lens's relations. Read off `DERIVED_TABLES` rather than
|
|
67
|
+
* restated: the SQL name and the registry key are deliberately different
|
|
68
|
+
* vocabularies (`edgeResolutions` is spelled `edge_resolutions`), so a second
|
|
69
|
+
* copy here would be a rename waiting to be missed.
|
|
70
|
+
*
|
|
71
|
+
* @param lens - The lens
|
|
72
|
+
* @returns Its relations as SQL spells them
|
|
73
|
+
*/
|
|
74
|
+
export declare function lensRelationNames(lens: ProjectionLens): readonly string[];
|
|
75
|
+
/**
|
|
76
|
+
* The lenses a run has to evaluate, given the statements it declared.
|
|
77
|
+
*
|
|
78
|
+
* @param statements - Every statement the run may ask, or `undefined` when the
|
|
79
|
+
* caller cannot enumerate them. ⛔ `undefined` selects EVERY lens — see the
|
|
80
|
+
* header on why the fail-safe direction is not negotiable
|
|
81
|
+
* @returns The lenses to evaluate, in {@link PROJECTION_LENSES} order
|
|
82
|
+
*/
|
|
83
|
+
export declare function lensesNamedBy(statements: readonly string[] | undefined): readonly ProjectionLens[];
|
|
84
|
+
/**
|
|
85
|
+
* Evaluate one lens and hand back its rows, refusing any that are not exactly
|
|
86
|
+
* the relations it declares.
|
|
87
|
+
*
|
|
88
|
+
* `LensRows` makes every relation optional, so a lens that forgot one compiles —
|
|
89
|
+
* and `writeDerived` would leave that relation empty, a table that reads as a
|
|
90
|
+
* healthy tree. Checked here because this is the one place every lens passes.
|
|
91
|
+
*
|
|
92
|
+
* @param lens - The lens
|
|
93
|
+
* @param input - What it may read
|
|
94
|
+
* @returns Its rows
|
|
95
|
+
* @throws Error When the rows omit a declared relation or carry an undeclared one
|
|
96
|
+
*/
|
|
97
|
+
export declare function evaluateLens(lens: ProjectionLens, input: LensEvaluationInput): Promise<LensRows>;
|
|
98
|
+
//# sourceMappingURL=projection-lenses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection-lenses.d.ts","sourceRoot":"","sources":["../../src/utils/projection-lenses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAkB,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI7H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;CACzE,CAAC;AAEF,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;CAC7C;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;CACjF;AAED,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,cAIhC,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,EAAE,cAIjC,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAGtD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,MAAM,EAAE,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,SAAS,cAAc,EAAE,CAMlG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,QAAQ,CAAC,CAYnB"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which lenses a run evaluates, and when it does NOT — the selection that keeps
|
|
3
|
+
* the derived relations affordable.
|
|
4
|
+
*
|
|
5
|
+
* 🚨 **The selector over-selects on purpose: a FALSE NEGATIVE fails a run that
|
|
6
|
+
* had an answer.** A lens skipped when its relation is named leaves that
|
|
7
|
+
* relation ABSENT from the run's database, so the statement is refused with
|
|
8
|
+
* `no such table` — loud rather than wrong, because the refusal is SQLite's and
|
|
9
|
+
* does not depend on this scan. The cost that forced the selection, the rules
|
|
10
|
+
* that keep it fail-safe, and why the registry lives in the CLI rather than in a
|
|
11
|
+
* population are in
|
|
12
|
+
* `docs/architecture/zones.md` §2, "A lens is evaluated only when a statement
|
|
13
|
+
* names one of its relations".
|
|
14
|
+
*/
|
|
15
|
+
import { DERIVED_TABLES } from '@vibe-agent-toolkit/resources';
|
|
16
|
+
import { evaluateClaudeContextLens } from './claude-context-lens.js';
|
|
17
|
+
import { evaluateAuthoredLenses } from './edge-lens-evaluation.js';
|
|
18
|
+
/** The authored-link lens: `lens_contexts`, `edges`, `edge_resolutions`. */
|
|
19
|
+
export const AUTHORED_LINK_LENS = {
|
|
20
|
+
name: 'authored-link',
|
|
21
|
+
relations: ['lensContexts', 'edges', 'edgeResolutions'],
|
|
22
|
+
evaluate: ({ projection }) => evaluateAuthoredLenses(projection),
|
|
23
|
+
};
|
|
24
|
+
/** The always-loaded context lens: `claude_context_chains`, `claude_context_loads`. */
|
|
25
|
+
export const CLAUDE_CONTEXT_LENS = {
|
|
26
|
+
name: 'claude-context',
|
|
27
|
+
relations: ['claudeContextChains', 'claudeContextLoads'],
|
|
28
|
+
evaluate: ({ root, logger, cache }) => evaluateClaudeContextLens({ root, logger, cache }),
|
|
29
|
+
};
|
|
30
|
+
/** Every lens the query lane can evaluate, in evaluation order. */
|
|
31
|
+
export const PROJECTION_LENSES = [
|
|
32
|
+
AUTHORED_LINK_LENS,
|
|
33
|
+
CLAUDE_CONTEXT_LENS,
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* The SQL names of a lens's relations. Read off `DERIVED_TABLES` rather than
|
|
37
|
+
* restated: the SQL name and the registry key are deliberately different
|
|
38
|
+
* vocabularies (`edgeResolutions` is spelled `edge_resolutions`), so a second
|
|
39
|
+
* copy here would be a rename waiting to be missed.
|
|
40
|
+
*
|
|
41
|
+
* @param lens - The lens
|
|
42
|
+
* @returns Its relations as SQL spells them
|
|
43
|
+
*/
|
|
44
|
+
export function lensRelationNames(lens) {
|
|
45
|
+
return lens.relations.map((name) => DERIVED_TABLES[name].name);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The lenses a run has to evaluate, given the statements it declared.
|
|
49
|
+
*
|
|
50
|
+
* @param statements - Every statement the run may ask, or `undefined` when the
|
|
51
|
+
* caller cannot enumerate them. ⛔ `undefined` selects EVERY lens — see the
|
|
52
|
+
* header on why the fail-safe direction is not negotiable
|
|
53
|
+
* @returns The lenses to evaluate, in {@link PROJECTION_LENSES} order
|
|
54
|
+
*/
|
|
55
|
+
export function lensesNamedBy(statements) {
|
|
56
|
+
if (statements === undefined)
|
|
57
|
+
return PROJECTION_LENSES;
|
|
58
|
+
const readable = statements.map((sql) => wordsIn(withoutCommentsAndLiterals(sql)));
|
|
59
|
+
return PROJECTION_LENSES.filter((lens) => lensRelationNames(lens).some((relation) => readable.some((words) => namesRelation(words, relation))));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Evaluate one lens and hand back its rows, refusing any that are not exactly
|
|
63
|
+
* the relations it declares.
|
|
64
|
+
*
|
|
65
|
+
* `LensRows` makes every relation optional, so a lens that forgot one compiles —
|
|
66
|
+
* and `writeDerived` would leave that relation empty, a table that reads as a
|
|
67
|
+
* healthy tree. Checked here because this is the one place every lens passes.
|
|
68
|
+
*
|
|
69
|
+
* @param lens - The lens
|
|
70
|
+
* @param input - What it may read
|
|
71
|
+
* @returns Its rows
|
|
72
|
+
* @throws Error When the rows omit a declared relation or carry an undeclared one
|
|
73
|
+
*/
|
|
74
|
+
export async function evaluateLens(lens, input) {
|
|
75
|
+
const rows = await lens.evaluate(input);
|
|
76
|
+
const declared = lens.relations;
|
|
77
|
+
const missing = declared.filter((name) => !Object.hasOwn(rows, name));
|
|
78
|
+
const undeclared = Object.keys(rows).filter((name) => !declared.includes(name));
|
|
79
|
+
if (missing.length > 0 || undeclared.length > 0) {
|
|
80
|
+
throw new Error(`Lens "${lens.name}" must produce exactly [${declared.join(', ')}];`
|
|
81
|
+
+ ` missing [${missing.join(', ')}], undeclared [${undeclared.join(', ')}]`);
|
|
82
|
+
}
|
|
83
|
+
return rows;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Blank out the parts of a statement that cannot name a table: line comments,
|
|
87
|
+
* block comments and single-quoted string literals. Quoted IDENTIFIERS
|
|
88
|
+
* (`"edges"`, `[edges]`, backticked) are deliberately left alone — those ARE
|
|
89
|
+
* table references, spelled differently. Replaced with spaces rather than
|
|
90
|
+
* removed, so a block comment between `FROM` and `edges` cannot let the two run
|
|
91
|
+
* together.
|
|
92
|
+
*
|
|
93
|
+
* @param sql - The statement
|
|
94
|
+
* @returns The statement with every non-code span blanked
|
|
95
|
+
*/
|
|
96
|
+
function withoutCommentsAndLiterals(sql) {
|
|
97
|
+
let out = '';
|
|
98
|
+
let index = 0;
|
|
99
|
+
while (index < sql.length) {
|
|
100
|
+
const end = spanEnd(sql, index);
|
|
101
|
+
if (end === undefined) {
|
|
102
|
+
out += sql.charAt(index);
|
|
103
|
+
index += 1;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const span = sql.slice(index, end);
|
|
107
|
+
out += QUOTED_IDENTIFIER_CLOSERS.has(span.charAt(0)) ? span : ' '.repeat(span.length);
|
|
108
|
+
index = end;
|
|
109
|
+
}
|
|
110
|
+
return out;
|
|
111
|
+
}
|
|
112
|
+
/** The characters that open a quoted identifier, and the one that closes each. */
|
|
113
|
+
const QUOTED_IDENTIFIER_CLOSERS = new Map([['"', '"'], ['[', ']'], ['`', '`']]);
|
|
114
|
+
/** Every quoted span's opener and closer: the identifiers, plus `'` for a literal. */
|
|
115
|
+
const QUOTE_CLOSERS = new Map([...QUOTED_IDENTIFIER_CLOSERS, ["'", "'"]]);
|
|
116
|
+
/**
|
|
117
|
+
* Where a span starting at `start` ends: a line comment, a block comment, a
|
|
118
|
+
* single-quoted literal — or a quoted IDENTIFIER, consumed only so it can be
|
|
119
|
+
* handed back unblanked.
|
|
120
|
+
*
|
|
121
|
+
* ⛔ Quoted identifiers MUST be consumed by this same scan even though their
|
|
122
|
+
* contents stay code, and the reason is the whole of this function. SQLite gives
|
|
123
|
+
* `'`, `--` and `/*` no meaning inside `"…"`, `[…]` or `` `…` ``. A scanner that
|
|
124
|
+
* skips those spans lets a character inside one open a literal or a comment that
|
|
125
|
+
* SQLite never opened, desynchronises, and blanks a span of REAL SQL — taking the
|
|
126
|
+
* relation name with it. The statement then reads an EMPTY relation and answers 0
|
|
127
|
+
* instead of being refused, which for a declared check is a silent exit 0: a gate
|
|
128
|
+
* that cannot fail.
|
|
129
|
+
*
|
|
130
|
+
* Scanning left to right is what keeps the spans mutually exclusive: a comment
|
|
131
|
+
* marker inside a literal is never looked at, nor a quote inside a comment.
|
|
132
|
+
*
|
|
133
|
+
* @param sql - The statement
|
|
134
|
+
* @param start - Where to look
|
|
135
|
+
* @returns The index just past the span, or undefined when none opens here
|
|
136
|
+
*/
|
|
137
|
+
function spanEnd(sql, start) {
|
|
138
|
+
const pair = sql.slice(start, start + 2);
|
|
139
|
+
if (pair === '--') {
|
|
140
|
+
const newline = sql.indexOf('\n', start);
|
|
141
|
+
return newline === -1 ? sql.length : newline;
|
|
142
|
+
}
|
|
143
|
+
if (pair === '/*') {
|
|
144
|
+
const close = sql.indexOf('*/', start + 2);
|
|
145
|
+
return close === -1 ? undefined : close + 2;
|
|
146
|
+
}
|
|
147
|
+
const closer = QUOTE_CLOSERS.get(sql.charAt(start));
|
|
148
|
+
return closer === undefined ? undefined : quotedEnd(sql, start, closer);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Where a quoted span ends. A doubled closer (`''`, `""`, two backticks) is an
|
|
152
|
+
* escaped one; `[…]` has no escape. Left unterminated, the span ends at the last
|
|
153
|
+
* doubled closer instead — what the single pattern this replaced did by
|
|
154
|
+
* backtracking.
|
|
155
|
+
*
|
|
156
|
+
* @param sql - The statement
|
|
157
|
+
* @param start - The opening quote
|
|
158
|
+
* @param closer - The character that closes it
|
|
159
|
+
* @returns The index just past the span, or undefined when it never closes
|
|
160
|
+
*/
|
|
161
|
+
function quotedEnd(sql, start, closer) {
|
|
162
|
+
let fallback;
|
|
163
|
+
let from = start + 1;
|
|
164
|
+
for (;;) {
|
|
165
|
+
const close = sql.indexOf(closer, from);
|
|
166
|
+
if (close === -1)
|
|
167
|
+
return fallback;
|
|
168
|
+
if (closer === ']' || sql.charAt(close + 1) !== closer)
|
|
169
|
+
return close + 1;
|
|
170
|
+
fallback = close + 1;
|
|
171
|
+
from = close + 2;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Every whole word in a statement, lowercased.
|
|
176
|
+
*
|
|
177
|
+
* Relation names are `[a-z_]` only and `_` is a word character, so membership in
|
|
178
|
+
* this set answers exactly what a `\b`-anchored search would: `my_edges`
|
|
179
|
+
* tokenizes whole and never answers for `edges`. One pass per statement, rather
|
|
180
|
+
* than one pattern per relation, and no `RegExp` built from a variable.
|
|
181
|
+
*
|
|
182
|
+
* @param sql - The statement, already stripped of comments and literals
|
|
183
|
+
* @returns Its identifier-character runs, lowercased
|
|
184
|
+
*/
|
|
185
|
+
function wordsIn(sql) {
|
|
186
|
+
return new Set((sql.match(IDENTIFIER_RUNS) ?? []).map((word) => word.toLowerCase()));
|
|
187
|
+
}
|
|
188
|
+
/** Runs of identifier characters — SQL's word boundaries, the `\b` equivalent. */
|
|
189
|
+
const IDENTIFIER_RUNS = /[a-z0-9_]+/gi;
|
|
190
|
+
/**
|
|
191
|
+
* Does a statement's word set name this relation?
|
|
192
|
+
*
|
|
193
|
+
* Case-folds the relation as well as the words: a registry name spelled with an
|
|
194
|
+
* uppercase letter would otherwise miss every statement silently.
|
|
195
|
+
*
|
|
196
|
+
* @param words - The statement's words, from {@link wordsIn}
|
|
197
|
+
* @param relation - The relation's SQL name
|
|
198
|
+
* @returns True when the statement could be reading that relation
|
|
199
|
+
*/
|
|
200
|
+
function namesRelation(words, relation) {
|
|
201
|
+
return words.has(relation.toLowerCase());
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=projection-lenses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection-lenses.js","sourceRoot":"","sources":["../../src/utils/projection-lenses.ts"],"names":[],"mappings":"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"}
|