@vibe-agent-toolkit/cli 0.1.41-rc.6 → 0.1.41-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/bin/vat +25 -2
- package/dist/bin/vat.js +25 -2
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +12 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/list.d.ts +11 -0
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +30 -11
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/audit/hierarchical-output.d.ts +6 -2
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js +93 -50
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit-settings.d.ts +35 -0
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +121 -51
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +97 -2
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +505 -231
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts +14 -0
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +126 -32
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts +39 -2
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +114 -68
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +5 -4
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts +97 -0
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +157 -49
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +11 -3
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +70 -20
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/org/stubs.d.ts +9 -1
- package/dist/commands/claude/org/stubs.d.ts.map +1 -1
- package/dist/commands/claude/org/stubs.js +11 -3
- package/dist/commands/claude/org/stubs.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts +116 -0
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +173 -40
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/marketplace-json.d.ts +36 -0
- package/dist/commands/claude/plugin/marketplace-json.d.ts.map +1 -0
- package/dist/commands/claude/plugin/marketplace-json.js +34 -0
- package/dist/commands/claude/plugin/marketplace-json.js.map +1 -0
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts +30 -1
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.js +107 -14
- package/dist/commands/claude/plugin/plugin-json-merge.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +0 -1
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/corpus/report.d.ts +22 -4
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -0
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts +16 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +55 -48
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/doctor.d.ts +57 -8
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +142 -67
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory.d.ts +2 -0
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +45 -4
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +240 -11
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +352 -15
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts +40 -0
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +47 -20
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +38 -13
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/scan.d.ts +37 -0
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +47 -32
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +136 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +121 -68
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +40 -23
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts +1 -1
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +8 -6
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +140 -0
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +348 -94
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/command-helpers.d.ts +6 -10
- package/dist/commands/skills/command-helpers.d.ts.map +1 -1
- package/dist/commands/skills/command-helpers.js +6 -22
- package/dist/commands/skills/command-helpers.js.map +1 -1
- package/dist/commands/skills/list.d.ts +18 -0
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +41 -15
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package.d.ts +17 -0
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +72 -43
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +9 -1
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +22 -6
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate.d.ts +79 -0
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +268 -79
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts +18 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +79 -66
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +38 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +247 -84
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/skill-resolution/index.d.ts +1 -1
- package/dist/skill-resolution/index.d.ts.map +1 -1
- package/dist/skill-resolution/index.js +1 -1
- package/dist/skill-resolution/index.js.map +1 -1
- package/dist/skill-resolution/packaging-config.d.ts +15 -2
- package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
- package/dist/skill-resolution/packaging-config.js +39 -2
- package/dist/skill-resolution/packaging-config.js.map +1 -1
- package/dist/utils/command-error.d.ts +34 -1
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +32 -1
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +0 -2
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/help-loader.d.ts +6 -2
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +9 -16
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/issue-anchor.d.ts +26 -0
- package/dist/utils/issue-anchor.d.ts.map +1 -0
- package/dist/utils/issue-anchor.js +39 -0
- package/dist/utils/issue-anchor.js.map +1 -0
- package/dist/utils/issue-rendering.d.ts +149 -0
- package/dist/utils/issue-rendering.d.ts.map +1 -0
- package/dist/utils/issue-rendering.js +229 -0
- package/dist/utils/issue-rendering.js.map +1 -0
- package/dist/utils/output.d.ts +80 -9
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +138 -23
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/project-root-policy.d.ts +2 -2
- package/dist/utils/project-root-policy.js +2 -2
- package/dist/utils/relativize-paths.d.ts +45 -0
- package/dist/utils/relativize-paths.d.ts.map +1 -0
- package/dist/utils/relativize-paths.js +67 -0
- package/dist/utils/relativize-paths.js.map +1 -0
- package/dist/utils/resource-loader.d.ts +21 -2
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +85 -11
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/skill-packaging-config.d.ts +22 -1
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +26 -0
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/validate-help-files.d.ts +3 -2
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +48 -5
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts +14 -5
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +19 -16
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/audit.md +40 -14
- package/docs/doctor.md +46 -10
- package/docs/index.md +1 -1
- package/docs/rag.md +9 -4
- package/docs/resources.md +54 -22
- package/docs/skills.md +11 -7
- package/package.json +12 -12
package/dist/commands/verify.js
CHANGED
|
@@ -5,26 +5,37 @@
|
|
|
5
5
|
* 1. vat resources validate (link integrity, collection schemas)
|
|
6
6
|
* 2. vat skills validate (SKILL.md frontmatter validation)
|
|
7
7
|
* 3. vat claude marketplace validate (strict marketplace validation, when configured)
|
|
8
|
-
* 4.
|
|
8
|
+
* 4. files-config-dests (in-process; every `files:` dest exists in the built output)
|
|
9
|
+
* 5. consistency check (in-process; skill distribution integrity — package.json, plugin assignment)
|
|
10
|
+
*
|
|
11
|
+
* 1–3 are subprocess phases chosen by {@link selectVerifyPhases}; 4–5 run here and
|
|
12
|
+
* are chosen by `selectInProcessVerifyPhases`. Both sets are config-gated, and both
|
|
13
|
+
* are announced on startup.
|
|
9
14
|
*/
|
|
10
15
|
import { existsSync } from 'node:fs';
|
|
11
16
|
import { basename } from 'node:path';
|
|
17
|
+
import { calculateValidationStatus, countBySeverity, } from '@vibe-agent-toolkit/agent-schema';
|
|
12
18
|
import { computeTreeCopiedSkillLocations, mergeFilesConfig } from '@vibe-agent-toolkit/agent-skills';
|
|
13
19
|
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
14
20
|
import { Command } from 'commander';
|
|
15
21
|
import { handleCommandError } from '../utils/command-error.js';
|
|
16
22
|
import { loadConfig } from '../utils/config-loader.js';
|
|
17
|
-
import { createLogger } from '../utils/logger.js';
|
|
18
23
|
import { writeYamlOutput } from '../utils/output.js';
|
|
19
24
|
import { requireProjectRoot } from '../utils/project-root-policy.js';
|
|
20
|
-
import { runConsistencyChecks } from './consistency-check.js';
|
|
21
|
-
import {
|
|
25
|
+
import { runConsistencyChecks, } from './consistency-check.js';
|
|
26
|
+
import { addRetiredOnlyOption, aggregatePhaseStatus, applyPhaseSelection, createPhaseContext, decidePhaseSelection, exitCodeForPhases, rejectRetiredOnly, runPhase, } from './phase-utils.js';
|
|
22
27
|
import { discoverSkillsFromConfig } from './skills/skill-discovery.js';
|
|
28
|
+
/**
|
|
29
|
+
* Measured full-run duration on the 90-skill / 1,041-document adopter, cited by
|
|
30
|
+
* the retired-`--only` message: resources 12.5s + skills 15.6s + marketplace
|
|
31
|
+
* 1.0s + consistency under a second.
|
|
32
|
+
*/
|
|
33
|
+
const VERIFY_FULL_RUN_SECONDS = 32;
|
|
23
34
|
export function createVerifyTopLevelCommand() {
|
|
24
35
|
const command = new Command('verify');
|
|
25
|
-
command
|
|
36
|
+
addRetiredOnlyOption(command)
|
|
26
37
|
.description('Verify built artifacts (resources + skills + marketplace + consistency); marketplace/consistency read dist/ — run after vat build')
|
|
27
|
-
.option('--
|
|
38
|
+
.option('-v, --verbose', 'Show all inspected resources, including those without issues')
|
|
28
39
|
.option('--debug', 'Enable debug logging')
|
|
29
40
|
.action(verifyTopLevelCommand)
|
|
30
41
|
.addHelpText('after', `
|
|
@@ -35,20 +46,51 @@ Description:
|
|
|
35
46
|
For source-only validation that needs no build (resources + skills,
|
|
36
47
|
suitable for pre-commit and CI-before-build), use 'vat validate'.
|
|
37
48
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
49
|
+
Config-driven, exactly like 'vat validate': a phase runs only when its
|
|
50
|
+
config block is present. There is no phase filter — the whole run takes
|
|
51
|
+
about as long as its slowest two phases, so a CI gate cannot lose coverage
|
|
52
|
+
by naming a phase whose config key was renamed out from under it.
|
|
53
|
+
|
|
54
|
+
Phases (subprocess):
|
|
55
|
+
resources → link integrity, collection frontmatter schemas (when 'resources:' configured)
|
|
56
|
+
skills → SKILL.md frontmatter and packaging validation (when 'skills:' configured)
|
|
57
|
+
marketplace → strict marketplace validation (when 'claude.marketplaces:' configured)
|
|
58
|
+
|
|
59
|
+
Phases (in-process, run after the above, when 'skills:' is configured):
|
|
60
|
+
files-config-dests → every 'files:' dest exists in the built output. Appears
|
|
61
|
+
in the document only when a dest is missing.
|
|
62
|
+
consistency → skill distribution integrity (package.json, plugin assignment)
|
|
63
|
+
|
|
64
|
+
A run with a 'skills:' block runs all three of skills, files-config-dests and
|
|
65
|
+
consistency: they read that same config block. Without it neither in-process
|
|
66
|
+
phase has anything to read, so neither runs.
|
|
67
|
+
|
|
68
|
+
The startup line on stderr names, in order, the phases that will inspect
|
|
69
|
+
something. A phase that would consult nothing is not listed; a phase that does
|
|
70
|
+
inspect its inputs is listed even when it finds nothing to report.
|
|
43
71
|
|
|
44
72
|
Output:
|
|
45
|
-
YAML
|
|
46
|
-
|
|
73
|
+
ONE YAML document → stdout
|
|
74
|
+
per phase: status (success | warning | error | system-error). A subprocess
|
|
75
|
+
phase's own report is captured and nested under 'report', so the whole run
|
|
76
|
+
is a single parseable document (a phase's stdout is never streamed
|
|
77
|
+
through). A phase's status comes from the child's REPORTED status, not
|
|
78
|
+
from its exit code — an exit code cannot express 'warning'. In-process
|
|
79
|
+
phases also publish issueCounts {errors, warnings, info}; 'consistency'
|
|
80
|
+
carries its findings into the document too, while 'files-config-dests'
|
|
81
|
+
publishes counts only and lists the missing dests on stderr.
|
|
82
|
+
Progress and validation errors → stderr (streamed live)
|
|
83
|
+
|
|
84
|
+
By default each subprocess phase reports a per-asset summary plus the assets
|
|
85
|
+
that have findings. '--verbose' is forwarded to every subprocess phase, which
|
|
86
|
+
then also lists the assets it inspected and found nothing to report.
|
|
47
87
|
|
|
48
88
|
Exit Codes:
|
|
49
|
-
0 - All phases passed
|
|
89
|
+
0 - All phases passed (a warning does not fail the run — read status/issueCounts)
|
|
50
90
|
1 - Validation errors found
|
|
51
|
-
2 - System error
|
|
91
|
+
2 - System error (this command's own, or propagated from a phase that could
|
|
92
|
+
not run: exited 2, was killed by a signal, was never spawned, or wrote
|
|
93
|
+
output that could not be parsed)
|
|
52
94
|
|
|
53
95
|
Requirements:
|
|
54
96
|
projectRoot: required (errors if no vibe-agent-toolkit.config.yaml or .git/ ancestor)
|
|
@@ -57,9 +99,7 @@ Requirements:
|
|
|
57
99
|
See docs/concepts/roots-and-config.md for terminology.
|
|
58
100
|
|
|
59
101
|
Example:
|
|
60
|
-
$ vat verify # Verify
|
|
61
|
-
$ vat verify --only skills # Verify skills only
|
|
62
|
-
$ vat verify --only marketplace # Verify marketplace only
|
|
102
|
+
$ vat verify # Verify every configured phase
|
|
63
103
|
`);
|
|
64
104
|
return command;
|
|
65
105
|
}
|
|
@@ -149,26 +189,27 @@ export function checkFilesConfigDests(cwd) {
|
|
|
149
189
|
}
|
|
150
190
|
}
|
|
151
191
|
/**
|
|
152
|
-
*
|
|
153
|
-
*
|
|
192
|
+
* Load the project config without letting a broken one abort the command.
|
|
193
|
+
*
|
|
194
|
+
* A config that exists but does not parse is reported as `error` rather than
|
|
195
|
+
* swallowed as "no config": `vat verify` must not answer "that phase is not
|
|
196
|
+
* configured" when it could not read the configuration at all.
|
|
154
197
|
*/
|
|
155
|
-
function
|
|
198
|
+
function loadConfigTolerant(cwd) {
|
|
156
199
|
try {
|
|
157
|
-
|
|
158
|
-
if (config?.claude?.marketplaces) {
|
|
159
|
-
return Object.keys(config.claude.marketplaces);
|
|
160
|
-
}
|
|
161
|
-
return [];
|
|
200
|
+
return { config: loadConfig(cwd) };
|
|
162
201
|
}
|
|
163
|
-
catch {
|
|
164
|
-
return
|
|
202
|
+
catch (error) {
|
|
203
|
+
return { config: undefined, error: error instanceof Error ? error.message : String(error) };
|
|
165
204
|
}
|
|
166
205
|
}
|
|
206
|
+
/** The in-process phase that checks `files:` dests against the built output. */
|
|
207
|
+
const FILES_CONFIG_DESTS = 'files-config-dests';
|
|
167
208
|
/**
|
|
168
209
|
* Log files-config-dests errors to stderr.
|
|
169
210
|
*/
|
|
170
211
|
function reportFilesDestErrors(results, logger) {
|
|
171
|
-
logger.error(
|
|
212
|
+
logger.error(`\n▶ Phase: ${FILES_CONFIG_DESTS}`);
|
|
172
213
|
for (const { skillName, outputDir, missing } of results) {
|
|
173
214
|
logger.error(` Skill '${skillName}': missing dest file(s) in ${outputDir}/:`);
|
|
174
215
|
for (const dest of missing) {
|
|
@@ -196,92 +237,214 @@ function reportConsistencyIssues(issues, logger) {
|
|
|
196
237
|
logger.info(` INFO [${issue.code}]: ${issue.message}`);
|
|
197
238
|
}
|
|
198
239
|
}
|
|
199
|
-
|
|
200
|
-
|
|
240
|
+
/**
|
|
241
|
+
* Phases `vat verify` knows how to run, in stable execution order.
|
|
242
|
+
*
|
|
243
|
+
* `PhaseVocabulary.validNames` is what `--only` was checked against; with
|
|
244
|
+
* `--only` retired from this command it is documentation only — the arm that
|
|
245
|
+
* reads it in {@link decidePhaseSelection} is unreachable from here.
|
|
246
|
+
*/
|
|
247
|
+
const VALID_PHASES = ['resources', 'skills', 'marketplace', 'consistency'];
|
|
248
|
+
const VERIFY_VOCABULARY = {
|
|
249
|
+
noun: 'Phase',
|
|
250
|
+
verb: 'verify',
|
|
251
|
+
validNames: VALID_PHASES,
|
|
252
|
+
noop: {
|
|
253
|
+
warning: 'No resources:, skills: or claude.marketplaces: block found in vibe-agent-toolkit.config.yaml — nothing to verify. If this is unexpected, check your config.',
|
|
254
|
+
note: 'No configured phases (no resources, skills or claude.marketplaces block in vibe-agent-toolkit.config.yaml).',
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
/**
|
|
258
|
+
* Decide which verification phases to run.
|
|
259
|
+
*
|
|
260
|
+
* Config-gated, exactly as `vat validate` is. It used to push `resources` and
|
|
261
|
+
* `skills` unconditionally, so `vat verify --only skills` in a project with no
|
|
262
|
+
* `skills:` block exited 0 while `vat validate --only skills` on the same
|
|
263
|
+
* project exited 1 — same question, opposite verdicts, and a CI gate pinned to
|
|
264
|
+
* the verify form stayed green forever the moment the config key was renamed.
|
|
265
|
+
*
|
|
266
|
+
* `--only` is gone from this command entirely. Measured on a 90-skill project a
|
|
267
|
+
* full `vat verify` is ~32s, of which the two slowest phases are ~28s — the
|
|
268
|
+
* filter bought at most ~18s and repeatedly bought a wrong answer with it. Every
|
|
269
|
+
* run is now a whole run, and `only` is passed to {@link decidePhaseSelection}
|
|
270
|
+
* as `undefined` (that helper still routes `--only` for `vat validate` and
|
|
271
|
+
* `vat build`).
|
|
272
|
+
*
|
|
273
|
+
* @param configError - The config-load failure, when the config could not be
|
|
274
|
+
* read. Every subprocess phase still runs so the CHILD reports the real
|
|
275
|
+
* config error (exit 2) instead of this command guessing.
|
|
276
|
+
* @param verbose - Forwarded to each subprocess phase as `--verbose`. The
|
|
277
|
+
* children own their own summarization; this command only relays the request.
|
|
278
|
+
*/
|
|
279
|
+
export function selectVerifyPhases(config, configError, verbose) {
|
|
201
280
|
const phases = [];
|
|
202
|
-
|
|
203
|
-
|
|
281
|
+
const unreadable = configError !== undefined;
|
|
282
|
+
const detail = verbose === true ? ['--verbose'] : [];
|
|
283
|
+
if (unreadable || config?.resources) {
|
|
284
|
+
phases.push({ name: 'resources', args: ['resources', 'validate', ...detail] });
|
|
204
285
|
}
|
|
205
|
-
if (
|
|
206
|
-
phases.push({ name: 'skills', args: ['skills', 'validate'] });
|
|
286
|
+
if (unreadable || config?.skills) {
|
|
287
|
+
phases.push({ name: 'skills', args: ['skills', 'validate', ...detail] });
|
|
207
288
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
289
|
+
for (const name of Object.keys(config?.claude?.marketplaces ?? {})) {
|
|
290
|
+
phases.push({
|
|
291
|
+
name: `marketplace:${name}`,
|
|
292
|
+
args: [
|
|
293
|
+
'claude',
|
|
294
|
+
'marketplace',
|
|
295
|
+
'validate',
|
|
296
|
+
`dist/.claude/plugins/marketplaces/${name}`,
|
|
297
|
+
...detail,
|
|
298
|
+
],
|
|
299
|
+
});
|
|
218
300
|
}
|
|
219
|
-
return phases
|
|
301
|
+
return decidePhaseSelection(undefined, phases, VERIFY_VOCABULARY, {
|
|
302
|
+
unreadableConfig: configError,
|
|
303
|
+
});
|
|
220
304
|
}
|
|
221
305
|
/**
|
|
222
|
-
*
|
|
306
|
+
* Which in-process phases this run performs, given the config.
|
|
307
|
+
*
|
|
308
|
+
* The SINGLE source for that question: {@link verifyTopLevelCommand} gates
|
|
309
|
+
* execution on this list and {@link formatVerifyAnnouncement} announces the same
|
|
310
|
+
* list, so the printed phase list cannot drift from the phases that run. It used
|
|
311
|
+
* to be announced from the subprocess phases alone while these two were gated by
|
|
312
|
+
* hand-written conditions further down, so a run printed '(phases: skills)' and
|
|
313
|
+
* then also ran `consistency`, which put a second entry in the emitted document.
|
|
314
|
+
* A status that under-reports what it did is the same defect class as
|
|
315
|
+
* {@link selectVerifyPhases}' silent exit-0 pass.
|
|
316
|
+
*
|
|
317
|
+
* The contract is **the phases that will inspect something** — not "code paths
|
|
318
|
+
* this run enters". An earlier fix traded the under-reporting for
|
|
319
|
+
* over-reporting: on a project with `resources:` and no `skills:`, a run
|
|
320
|
+
* announced 'resources → files-config-dests → consistency' and emitted a
|
|
321
|
+
* document holding `resources` and nothing else, so an operator read a claim
|
|
322
|
+
* that distribution consistency had been checked. Both in-process phases read
|
|
323
|
+
* the same input, the `skills:` block — without it {@link checkFilesConfigDests}
|
|
324
|
+
* has no `files:` entry to resolve (both `defaults.files` and
|
|
325
|
+
* `config.<skill>.files` live under `skills:`, so every merge is empty) and
|
|
326
|
+
* {@link runConsistencyPhase} returns before its first lookup. Neither can
|
|
327
|
+
* produce a finding, so neither is named.
|
|
328
|
+
*
|
|
329
|
+
* This is a truthfulness change, not a behaviour change: the condition here is
|
|
330
|
+
* the one the phases already applied internally, hoisted so the announcement can
|
|
331
|
+
* see it.
|
|
332
|
+
*
|
|
333
|
+
* Note "will inspect something" is not a prediction of the findings:
|
|
334
|
+
* `files-config-dests` is named whenever a `skills:` block engages it, even
|
|
335
|
+
* though a clean run reports nothing.
|
|
223
336
|
*/
|
|
224
|
-
|
|
225
|
-
|
|
337
|
+
function selectInProcessVerifyPhases(config) {
|
|
338
|
+
return config?.skills === undefined ? [] : [FILES_CONFIG_DESTS, 'consistency'];
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* The startup announcement: every phase this run will inspect something with,
|
|
342
|
+
* in order. A phase that would consult nothing is not named.
|
|
343
|
+
*/
|
|
344
|
+
export function formatVerifyAnnouncement(subprocessPhaseNames, config) {
|
|
345
|
+
const all = [...subprocessPhaseNames, ...selectInProcessVerifyPhases(config)];
|
|
346
|
+
return `🔍 vat verify (phases: ${all.join(' → ')})`;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* `ConsistencyIssue` speaks the same severity vocabulary as `ValidationIssue`
|
|
350
|
+
* but carries a free-form `code`, so it is counted through this projection —
|
|
351
|
+
* there must be exactly ONE issues→status/counts collapse in the codebase, and
|
|
352
|
+
* it lives in `@vibe-agent-toolkit/agent-schema`.
|
|
353
|
+
*/
|
|
354
|
+
function asValidationIssues(issues) {
|
|
355
|
+
return issues.map((issue) => ({
|
|
356
|
+
code: issue.code,
|
|
357
|
+
severity: issue.severity,
|
|
358
|
+
message: issue.message,
|
|
359
|
+
fix: issue.fix,
|
|
360
|
+
}));
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Run the in-process consistency check phase and record its outcome.
|
|
364
|
+
*
|
|
365
|
+
* The findings are published INTO the phase result, not merely logged: they used
|
|
366
|
+
* to go to stderr only, so the archived YAML — the artifact of record — said
|
|
367
|
+
* nothing happened. And a warning-only run reported `passed`, which is the
|
|
368
|
+
* reassuring answer to a question it could not represent.
|
|
369
|
+
*/
|
|
370
|
+
async function runConsistencyPhase(logger, phaseResults, config, projectRoot) {
|
|
226
371
|
if (!config?.skills) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
372
|
+
// Nothing to cross-reference, so nothing to report: a run without a
|
|
373
|
+
// `skills:` block is a genuine no-op, and {@link selectInProcessVerifyPhases}
|
|
374
|
+
// has already decided not to name this phase. There used to be a second arm
|
|
375
|
+
// here that pushed an ERROR result instead — because `--only consistency`
|
|
376
|
+
// had asked for THIS phase specifically, and answering an explicit request
|
|
377
|
+
// with an empty phase list and `success` is the same silent pass
|
|
378
|
+
// `vat validate --only <unconfigured surface>` refuses to give. With
|
|
379
|
+
// `--only` retired from `vat verify` there is no way to ask for this phase
|
|
380
|
+
// specifically, so that arm went with it. This guard remains reachable only
|
|
381
|
+
// defensively (and narrows `config.skills` for the call below).
|
|
382
|
+
return;
|
|
235
383
|
}
|
|
236
|
-
|
|
237
|
-
|
|
384
|
+
const discoveredSkills = await discoverSkillsFromConfig(config.skills, projectRoot);
|
|
385
|
+
const consistencyResult = runConsistencyChecks(discoveredSkills, config, projectRoot);
|
|
386
|
+
const issues = consistencyResult.issues;
|
|
387
|
+
if (issues.length > 0) {
|
|
388
|
+
reportConsistencyIssues(issues, logger);
|
|
238
389
|
}
|
|
239
|
-
|
|
240
|
-
|
|
390
|
+
const asValidation = asValidationIssues(issues);
|
|
391
|
+
const result = {
|
|
392
|
+
name: 'consistency',
|
|
393
|
+
status: calculateValidationStatus(asValidation),
|
|
394
|
+
issueCounts: countBySeverity(asValidation),
|
|
395
|
+
issues: issues.map(({ severity, code, message, fix }) => ({ severity, code, message, fix })),
|
|
396
|
+
};
|
|
397
|
+
phaseResults.push(result);
|
|
241
398
|
}
|
|
242
399
|
async function verifyTopLevelCommand(options) {
|
|
400
|
+
// Before requireProjectRoot: a retired flag is a usage error, and answering it
|
|
401
|
+
// with "no vibe-agent-toolkit.config.yaml found" would diagnose the wrong
|
|
402
|
+
// problem for anyone running the old invocation outside a project.
|
|
403
|
+
rejectRetiredOnly(options.only, 'vat verify', VERIFY_FULL_RUN_SECONDS);
|
|
243
404
|
// Spec §7: `vat verify` requires a projectRoot.
|
|
244
|
-
requireProjectRoot(process.cwd(), 'vat verify');
|
|
245
|
-
const
|
|
246
|
-
// Consistency is an in-process phase, not a subprocess. Allow --only consistency
|
|
247
|
-
// to produce an empty subprocess phase list without throwing.
|
|
248
|
-
if (phases.length === 0 && options.only !== 'consistency') {
|
|
249
|
-
throw new Error(`Unknown phase: ${options.only ?? ''}. Valid phases: resources, skills, marketplace, consistency`);
|
|
250
|
-
}
|
|
251
|
-
const logger = createLogger(options.debug ? { debug: true } : {});
|
|
252
|
-
const startTime = Date.now();
|
|
253
|
-
const binPath = resolveBinPath();
|
|
405
|
+
const projectRoot = requireProjectRoot(process.cwd(), 'vat verify');
|
|
406
|
+
const { logger, startTime, binPath } = createPhaseContext(options.debug);
|
|
254
407
|
try {
|
|
255
|
-
|
|
408
|
+
// Inside the try, deliberately: phase selection used to throw from out here
|
|
409
|
+
// (on an unroutable `--only`), so the user got a raw Node stack trace and
|
|
410
|
+
// zero bytes of the structured document a scripted caller parses.
|
|
411
|
+
const { config, error: configError } = loadConfigTolerant(projectRoot);
|
|
412
|
+
const phases = applyPhaseSelection(selectVerifyPhases(config, configError, options.verbose), logger, startTime);
|
|
413
|
+
// Announced from the same list the in-process gates below read, so the
|
|
414
|
+
// printed phases and the executed phases cannot disagree.
|
|
415
|
+
const inProcess = selectInProcessVerifyPhases(config);
|
|
416
|
+
logger.info(formatVerifyAnnouncement(phases.map((p) => p.name), config));
|
|
256
417
|
const phaseResults = [];
|
|
257
418
|
for (const phase of phases) {
|
|
258
419
|
logger.info(`\n▶ Phase: ${phase.name}`);
|
|
259
420
|
phaseResults.push(runPhase(binPath, phase));
|
|
260
421
|
}
|
|
261
|
-
let hasErrors = phaseResults.some((r) => r.status === 'failed');
|
|
262
422
|
// Post-build files config check: verify all dest paths exist in built output
|
|
263
|
-
if (
|
|
264
|
-
const filesDestResults = checkFilesConfigDests(
|
|
423
|
+
if (inProcess.includes(FILES_CONFIG_DESTS)) {
|
|
424
|
+
const filesDestResults = checkFilesConfigDests(projectRoot);
|
|
265
425
|
if (filesDestResults.length > 0) {
|
|
266
|
-
hasErrors = true;
|
|
267
426
|
reportFilesDestErrors(filesDestResults, logger);
|
|
268
|
-
phaseResults.push({
|
|
427
|
+
phaseResults.push({
|
|
428
|
+
name: FILES_CONFIG_DESTS,
|
|
429
|
+
status: 'error',
|
|
430
|
+
issueCounts: { errors: filesDestResults.length, warnings: 0, info: 0 },
|
|
431
|
+
});
|
|
269
432
|
}
|
|
270
433
|
}
|
|
271
434
|
// Consistency check: cross-reference discovered skills vs package.json and plugin assignments
|
|
272
|
-
if (
|
|
273
|
-
|
|
274
|
-
if (consistencyHasErrors) {
|
|
275
|
-
hasErrors = true;
|
|
276
|
-
}
|
|
435
|
+
if (inProcess.includes('consistency')) {
|
|
436
|
+
await runConsistencyPhase(logger, phaseResults, config, projectRoot);
|
|
277
437
|
}
|
|
278
438
|
const duration = Date.now() - startTime;
|
|
439
|
+
// Worst-wins across phases, with `system-error` outranking `error`: a phase
|
|
440
|
+
// that could not run exits 2, so a CI script can tell a broken config from
|
|
441
|
+
// a broken artifact.
|
|
279
442
|
writeYamlOutput({
|
|
280
|
-
status:
|
|
443
|
+
status: aggregatePhaseStatus(phaseResults),
|
|
281
444
|
phases: phaseResults,
|
|
282
445
|
duration: `${duration}ms`,
|
|
283
446
|
});
|
|
284
|
-
process.exit(
|
|
447
|
+
process.exit(exitCodeForPhases(phaseResults));
|
|
285
448
|
}
|
|
286
449
|
catch (error) {
|
|
287
450
|
handleCommandError(error, logger, startTime, 'Verify');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { version, getVersionString, type VersionContext } from './version.js';
|
|
8
8
|
export { createLogger, type Logger, type LoggerOptions } from './utils/logger.js';
|
|
9
|
-
export { writeYamlOutput,
|
|
9
|
+
export { writeYamlOutput, writeTestFormatError, writeStdoutSync, } from './utils/output.js';
|
|
10
10
|
export { loadConfig } from './utils/config-loader.js';
|
|
11
11
|
export { ProjectConfigSchema, type ProjectConfig, type ResourcesConfig, type CollectionConfig as ResourceCollection, } from '@vibe-agent-toolkit/resources';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOlF,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,IAAI,kBAAkB,GAC5C,MAAM,+BAA+B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,13 @@
|
|
|
8
8
|
export { version, getVersionString } from './version.js';
|
|
9
9
|
// Utilities (for programmatic use)
|
|
10
10
|
export { createLogger } from './utils/logger.js';
|
|
11
|
-
|
|
11
|
+
// A consumer that embeds these output helpers inherits the same `process.exit`
|
|
12
|
+
// truncation they were written to fix, and needs `makeStdioBlocking` to opt into
|
|
13
|
+
// the fix — it now lives in `@vibe-agent-toolkit/utils` (also reachable via the
|
|
14
|
+
// narrow `@vibe-agent-toolkit/utils/process` subpath), because the CLI sits at
|
|
15
|
+
// the top of the dependency chain and VAT's second published bin could not reach
|
|
16
|
+
// it here.
|
|
17
|
+
export { writeYamlOutput, writeTestFormatError, writeStdoutSync, } from './utils/output.js';
|
|
12
18
|
export { loadConfig } from './utils/config-loader.js';
|
|
13
19
|
export { ProjectConfigSchema, } from '@vibe-agent-toolkit/resources';
|
|
14
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAuB,MAAM,cAAc,CAAC;AAE9E,mCAAmC;AACnC,OAAO,EAAE,YAAY,EAAmC,MAAM,mBAAmB,CAAC;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4CAA4C;AAC5C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAuB,MAAM,cAAc,CAAC;AAE9E,mCAAmC;AACnC,OAAO,EAAE,YAAY,EAAmC,MAAM,mBAAmB,CAAC;AAClF,+EAA+E;AAC/E,iFAAiF;AACjF,gFAAgF;AAChF,+EAA+E;AAC/E,iFAAiF;AACjF,WAAW;AACX,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EACL,mBAAmB,GAIpB,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { findDeclaredSkillForPath, findDeclaredSkillForSourceDir, resolveSkillReference, } from './resolve-skill-reference.js';
|
|
2
2
|
export { classifyToken, parseSourceSpec } from './classify.js';
|
|
3
|
-
export { getDiscoveredSkillsByPath, resetSkillDiscoveryCache, resolveSkillPackagingConfig, stripValidationAllowForDisplay, } from './packaging-config.js';
|
|
3
|
+
export { getDiscoveredSkillsByPath, resetSkillDiscoveryCache, resolveProjectDeclaredEvalSuites, resolveSkillPackagingConfig, stripValidationAllowForDisplay, } from './packaging-config.js';
|
|
4
4
|
export type { BuildableReference, DeclaredSkillLink, SkillDistribution, SkillReference } from './types.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill-resolution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill-resolution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { findDeclaredSkillForPath, findDeclaredSkillForSourceDir, resolveSkillReference, } from './resolve-skill-reference.js';
|
|
2
2
|
export { classifyToken, parseSourceSpec } from './classify.js';
|
|
3
|
-
export { getDiscoveredSkillsByPath, resetSkillDiscoveryCache, resolveSkillPackagingConfig, stripValidationAllowForDisplay, } from './packaging-config.js';
|
|
3
|
+
export { getDiscoveredSkillsByPath, resetSkillDiscoveryCache, resolveProjectDeclaredEvalSuites, resolveSkillPackagingConfig, stripValidationAllowForDisplay, } from './packaging-config.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skill-resolution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skill-resolution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC"}
|
|
@@ -9,10 +9,23 @@
|
|
|
9
9
|
* Does NOT compose configs across VAT projects — only the nearest-ancestor
|
|
10
10
|
* `vibe-agent-toolkit.config.yaml` contributes.
|
|
11
11
|
*/
|
|
12
|
-
import type { SkillPackagingConfig } from '@vibe-agent-toolkit/agent-skills';
|
|
12
|
+
import type { DeclaredEvalSuite, SkillPackagingConfig } from '@vibe-agent-toolkit/agent-skills';
|
|
13
13
|
import { type loadConfig } from '../utils/config-loader.js';
|
|
14
|
-
/** Clear the per-root discovery
|
|
14
|
+
/** Clear the per-root discovery caches (call when fixtures mutate between in-process runs). */
|
|
15
15
|
export declare function resetSkillDiscoveryCache(): void;
|
|
16
|
+
/**
|
|
17
|
+
* The project's declared eval suites for the config root governing `skillPath`.
|
|
18
|
+
*
|
|
19
|
+
* The single-skill counterpart to `collectDeclaredEvalSuites`: commands that resolve one
|
|
20
|
+
* SKILL.md at a time (`vat audit`, `vat skill review`, `vat skill test`) still need the
|
|
21
|
+
* WHOLE project's declarations, because test input is a project-wide rule — another
|
|
22
|
+
* skill's eval suite is an answer key no matter whose bundle is being built.
|
|
23
|
+
*
|
|
24
|
+
* Memoized per config root so a run over N skills under one root pays for discovery
|
|
25
|
+
* once, not N times. Returns `[]` when there is no governing config or no skills
|
|
26
|
+
* section — wild mode, where there is no project to enumerate.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveProjectDeclaredEvalSuites(skillPath: string): Promise<DeclaredEvalSuite[]>;
|
|
16
29
|
export declare function getDiscoveredSkillsByPath(skillsSection: NonNullable<ReturnType<typeof loadConfig>>['skills'], configRoot: string): Promise<Map<string, string>>;
|
|
17
30
|
/**
|
|
18
31
|
* Resolve the merged packaging config for one SKILL.md by walking UP to its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packaging-config.d.ts","sourceRoot":"","sources":["../../src/skill-resolution/packaging-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"packaging-config.d.ts","sourceRoot":"","sources":["../../src/skill-resolution/packaging-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAIhG,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,2BAA2B,CAAC;AAS9E,+FAA+F;AAC/F,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gCAAgC,CACpD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsB9B;AAED,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EACnE,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAY9B;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAsBtC;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAYjG"}
|