@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
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Discovers skills from config yaml skills.include/exclude, validates each
|
|
5
5
|
* using validateSkillForPackaging with merged packaging config.
|
|
6
6
|
*/
|
|
7
|
+
import { type SeverityCounts, type ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
8
|
+
import { type PackagingValidationResult } from '@vibe-agent-toolkit/agent-skills';
|
|
7
9
|
/**
|
|
8
10
|
* Skills validate command options
|
|
9
11
|
*/
|
|
@@ -12,8 +14,85 @@ export interface SkillsValidateCommandOptions {
|
|
|
12
14
|
debug?: boolean;
|
|
13
15
|
verbose?: boolean;
|
|
14
16
|
}
|
|
17
|
+
/** The vocabulary of a validation verdict: worst ACTIONABLE severity. */
|
|
18
|
+
type ValidationStatus = 'success' | 'warning' | 'error';
|
|
19
|
+
/**
|
|
20
|
+
* Findings about the RUN rather than about any one skill — currently the
|
|
21
|
+
* `validation.allow` entries no skill in the batch matched (ALLOW_UNUSED).
|
|
22
|
+
*
|
|
23
|
+
* They are a separate parameter, not folded into a skill's result, because
|
|
24
|
+
* that is what they are: `validation.allow` is declared once per package, so
|
|
25
|
+
* attributing "nothing matched this entry" to whichever skill happened to be
|
|
26
|
+
* validated at the time is what produced 78 warnings from 3 real entries.
|
|
27
|
+
*/
|
|
28
|
+
type RunIssues = readonly ValidationIssue[];
|
|
29
|
+
/**
|
|
30
|
+
* Build the YAML summary object.
|
|
31
|
+
*
|
|
32
|
+
* `status` is the shared `issues → status` collapse over the WHOLE batch, so it
|
|
33
|
+
* can say `warning`. It previously read
|
|
34
|
+
* `results.some(r => r.status === 'error') ? 'error' : 'success'` — a two-value
|
|
35
|
+
* collapse that could never report the warning case, and so reported 33 active
|
|
36
|
+
* warnings as `success`.
|
|
37
|
+
*
|
|
38
|
+
* The header total counts BOTH the per-skill findings and the run-level ones,
|
|
39
|
+
* because the exit code does too — dropping run issues from the header would
|
|
40
|
+
* divorce the published verdict from the code the process actually returns.
|
|
41
|
+
* That is why `runIssueCounts` exists beside them: on a large real repo the
|
|
42
|
+
* header read 1814 warnings against a per-skill sum of 1800, and the missing 14
|
|
43
|
+
* were run-level ALLOW_UNUSED entries published only as a bare LIST. The
|
|
44
|
+
* identity `issueCounts === Σ results[].issueCounts + runIssueCounts` now holds
|
|
45
|
+
* by construction, so a consumer can reconcile the two numbers instead of
|
|
46
|
+
* hand-counting a list to find out whether anything went missing.
|
|
47
|
+
*
|
|
48
|
+
* That identity survives the default mode dropping every finding-free skill from
|
|
49
|
+
* `results[]`, because a dropped row contributes exactly zero to each bucket —
|
|
50
|
+
* and it survives the default row publishing its counts flat with zero buckets
|
|
51
|
+
* omitted, because an absent bucket reads as zero. Only the per-asset ROWS omit
|
|
52
|
+
* zeros: `issueCounts` and `runIssueCounts` keep their complete
|
|
53
|
+
* `{errors, warnings, info}` shape in both modes, because they are the
|
|
54
|
+
* reconciliation identity rather than something a reader scans.
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildValidateSummary(results: PackagingValidationResult[], duration: number, verbose: boolean, runIssues: RunIssues): {
|
|
57
|
+
status: ValidationStatus;
|
|
58
|
+
issueCounts: SeverityCounts;
|
|
59
|
+
runIssueCounts: SeverityCounts;
|
|
60
|
+
skillsValidated: number;
|
|
61
|
+
results: unknown[];
|
|
62
|
+
runIssues: ValidationIssue[];
|
|
63
|
+
durationSecs: number;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Human-readable report lines for the whole batch.
|
|
67
|
+
*
|
|
68
|
+
* Renders every skill with ANY emitted finding, not just the ones that failed
|
|
69
|
+
* the gate: a warning-only or info-only run used to print the success banner and
|
|
70
|
+
* nothing else, so the findings existed only in the YAML on stdout.
|
|
71
|
+
*
|
|
72
|
+
* Every skill with findings gets its summary row at every verbosity; `verbose`
|
|
73
|
+
* picks only which findings are ALSO rendered in full beneath that row, per
|
|
74
|
+
* {@link issuesToRenderAtVerbosity} — errors always, `warning`/`info` when
|
|
75
|
+
* asked, `ignore` never. `verbose` deliberately does NOT gate errors: a default
|
|
76
|
+
* run that collapsed the error it exited 1 on into a count line forced the reader
|
|
77
|
+
* to re-run with a flag to learn what broke.
|
|
78
|
+
*
|
|
79
|
+
* Run-level findings and the banner are printed in full either way — there are
|
|
80
|
+
* ~14 of the former, and they belong to the project config rather than to any
|
|
81
|
+
* asset, so there is no row for them to collapse into.
|
|
82
|
+
*/
|
|
83
|
+
export declare function formatValidationReportLines(results: PackagingValidationResult[], runIssues: RunIssues, verbose: boolean): string[];
|
|
84
|
+
/**
|
|
85
|
+
* Log validation progress for a single skill.
|
|
86
|
+
*
|
|
87
|
+
* The per-skill glyph follows the shared collapse (`⚠️` for a warning-only
|
|
88
|
+
* skill), and the severity breakdown is always spelled out. A skill with
|
|
89
|
+
* warnings used to print a bare `✅ <name>`, which is the same reassuring
|
|
90
|
+
* collapse as the batch banner, one line earlier.
|
|
91
|
+
*/
|
|
92
|
+
export declare function formatSkillProgressLine(skillName: string, result: PackagingValidationResult): string[];
|
|
15
93
|
/**
|
|
16
94
|
* Skills validate command implementation
|
|
17
95
|
*/
|
|
18
96
|
export declare function validateCommand(pathArg: string | undefined, options: SkillsValidateCommandOptions): Promise<void>;
|
|
97
|
+
export {};
|
|
19
98
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAGL,KAAK,yBAAyB,EAG/B,MAAM,kCAAkC,CAAC;AA8B1C;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,yEAAyE;AACzE,KAAK,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAaxD;;;;;;;;GAQG;AACH,KAAK,SAAS,GAAG,SAAS,eAAe,EAAE,CAAC;AA6D5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,yBAAyB,EAAE,EACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,cAAc,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,CAgBA;AAkGD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,yBAAyB,EAAE,EACpC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GACf,MAAM,EAAE,CAeV;AAkCD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,yBAAyB,GAChC,MAAM,EAAE,CAeV;AAkGD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA4Ff"}
|
|
@@ -4,87 +4,253 @@
|
|
|
4
4
|
* Discovers skills from config yaml skills.include/exclude, validates each
|
|
5
5
|
* using validateSkillForPackaging with merged packaging config.
|
|
6
6
|
*/
|
|
7
|
+
import { allowUnusedIssues, calculateValidationStatus, countBySeverity, createAllowUsageLedger, } from '@vibe-agent-toolkit/agent-schema';
|
|
7
8
|
import { validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
|
|
8
9
|
import { ResourceRegistry } from '@vibe-agent-toolkit/resources';
|
|
9
10
|
import { findProjectRoot, gitFindRoot, GitTracker, safePath } from '@vibe-agent-toolkit/utils';
|
|
10
11
|
import * as yaml from 'yaml';
|
|
12
|
+
import { handleCommandError } from '../../utils/command-error.js';
|
|
11
13
|
import { loadConfig } from '../../utils/config-loader.js';
|
|
12
14
|
import { formatDurationSecs } from '../../utils/duration.js';
|
|
15
|
+
import { formatIssueLines, formatRunIssueLines, formatSeverityBreakdown, issuesToRenderAtVerbosity, summarizeFindings, sumSeverityCounts, } from '../../utils/issue-rendering.js';
|
|
13
16
|
import { requireProjectRoot } from '../../utils/project-root-policy.js';
|
|
14
|
-
import { mergeSkillPackagingConfig } from '../../utils/skill-packaging-config.js';
|
|
17
|
+
import { collectDeclaredEvalSuites, mergeSkillPackagingConfig } from '../../utils/skill-packaging-config.js';
|
|
15
18
|
import { renderSkillQualityFooter } from '../../utils/skill-quality-footer.js';
|
|
16
19
|
import { applyConfigVerdicts } from '../../utils/verdict-helpers.js';
|
|
17
|
-
import { filterSkillsByName,
|
|
20
|
+
import { filterSkillsByName, setupCommandContext, } from './command-helpers.js';
|
|
18
21
|
import { discoverSkillsFromConfig } from './skill-discovery.js';
|
|
19
22
|
/**
|
|
20
|
-
*
|
|
23
|
+
* Every issue emitted across the batch, after severity resolution.
|
|
24
|
+
*
|
|
25
|
+
* `allErrors` is the full emitted set INCLUDING info despite the name (see the
|
|
26
|
+
* doc comment on `PackagingValidationResult`), and excluding issues suppressed
|
|
27
|
+
* by `validation.allow` — those live in `ignoredErrors`.
|
|
21
28
|
*/
|
|
22
|
-
function
|
|
23
|
-
return results.
|
|
24
|
-
const { skillLines, totalLines, fileCount, directFileCount, maxLinkDepth, excludedReferenceCount } = result.metadata;
|
|
25
|
-
return {
|
|
26
|
-
...result,
|
|
27
|
-
metadata: { skillLines, totalLines, fileCount, directFileCount, maxLinkDepth, excludedReferenceCount },
|
|
28
|
-
};
|
|
29
|
-
});
|
|
29
|
+
function batchIssues(results) {
|
|
30
|
+
return results.flatMap((r) => r.allErrors);
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
32
|
-
*
|
|
33
|
+
* One skill's VERBOSE YAML entry: the whole result plus the per-severity counts
|
|
34
|
+
* its two-valued `status` cannot express.
|
|
35
|
+
*
|
|
36
|
+
* The per-skill `status` stays the gate verdict (`error` iff an active error) —
|
|
37
|
+
* that is what the exit code is derived from. `issueCounts` beside it is what
|
|
38
|
+
* makes `success` readable: "nothing you must act on", not "nothing was found".
|
|
39
|
+
*
|
|
40
|
+
* This shape is optimized for `> file` then `grep`, not for reading: on a
|
|
41
|
+
* 90-skill repo it is 17,262 of the 22,156 stdout lines `vat verify` emits.
|
|
42
|
+
*/
|
|
43
|
+
function toVerboseYamlResult(result) {
|
|
44
|
+
return { ...result, issueCounts: countBySeverity(result.allErrors) };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Does this skill have anything to say? Emitted findings OR allow-suppressed
|
|
48
|
+
* ones — the same predicate the human report uses, so the two streams cannot
|
|
49
|
+
* disagree about which skills exist.
|
|
50
|
+
*/
|
|
51
|
+
function hasFindings(result) {
|
|
52
|
+
return result.allErrors.length > 0 || result.ignoredErrors.length > 0;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* One skill's DEFAULT YAML entry: which asset has problems, how many, of what
|
|
56
|
+
* code — and nothing else.
|
|
57
|
+
*
|
|
58
|
+
* Why the per-code tally is a summary rather than N findings: 1,728 of the 1,897
|
|
59
|
+
* findings on a real 90-skill repo are one code, LINK_DROPPED_BY_DEPTH, and the
|
|
60
|
+
* four remedies its `fix` hint proposes (`linkFollowDepth`, `files:`,
|
|
61
|
+
* `validation.allow`, `excludeReferencesFromBundle`) are all SKILL-level config
|
|
62
|
+
* edits — so 348 findings on one skill propose the same four edits 348 times.
|
|
63
|
+
* The skill is the unit the reader acts on, so the skill is the unit we publish.
|
|
64
|
+
* Aggregating at EMISSION instead would break `validation.allow`'s per-`paths:`
|
|
65
|
+
* matching and per-path severity overrides, both of which need one issue per
|
|
66
|
+
* link; the collapse therefore has to happen here, after allow-filtering.
|
|
67
|
+
* Downgrading the code to `info` was considered and rejected: it would delete
|
|
68
|
+
* the signal the code exists for (a depth-limited walk may silently omit content
|
|
69
|
+
* the author expected to ship) and would contradict PACKAGED_TEST_INPUT, which
|
|
70
|
+
* `docs/validation-codes.md` keeps at `warning` on identical "this is configured
|
|
71
|
+
* behaviour, here is your receipt" reasoning.
|
|
72
|
+
*
|
|
73
|
+
* `allowed` is a scalar, not a list: an allow-suppressed finding is a fact about
|
|
74
|
+
* the skill a reader must not lose, but it is deliberately NOT in `codes`, which
|
|
75
|
+
* summarizes the EMITTED set.
|
|
76
|
+
*/
|
|
77
|
+
function toSummaryYamlResult(result) {
|
|
78
|
+
const { codes, ...counts } = summarizeFindings(result.allErrors);
|
|
79
|
+
const allowedCount = result.ignoredErrors.length;
|
|
80
|
+
return {
|
|
81
|
+
skillName: result.skillName,
|
|
82
|
+
status: result.status,
|
|
83
|
+
...counts,
|
|
84
|
+
...(allowedCount > 0 ? { allowed: allowedCount } : {}),
|
|
85
|
+
codes,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Build the YAML summary object.
|
|
90
|
+
*
|
|
91
|
+
* `status` is the shared `issues → status` collapse over the WHOLE batch, so it
|
|
92
|
+
* can say `warning`. It previously read
|
|
93
|
+
* `results.some(r => r.status === 'error') ? 'error' : 'success'` — a two-value
|
|
94
|
+
* collapse that could never report the warning case, and so reported 33 active
|
|
95
|
+
* warnings as `success`.
|
|
96
|
+
*
|
|
97
|
+
* The header total counts BOTH the per-skill findings and the run-level ones,
|
|
98
|
+
* because the exit code does too — dropping run issues from the header would
|
|
99
|
+
* divorce the published verdict from the code the process actually returns.
|
|
100
|
+
* That is why `runIssueCounts` exists beside them: on a large real repo the
|
|
101
|
+
* header read 1814 warnings against a per-skill sum of 1800, and the missing 14
|
|
102
|
+
* were run-level ALLOW_UNUSED entries published only as a bare LIST. The
|
|
103
|
+
* identity `issueCounts === Σ results[].issueCounts + runIssueCounts` now holds
|
|
104
|
+
* by construction, so a consumer can reconcile the two numbers instead of
|
|
105
|
+
* hand-counting a list to find out whether anything went missing.
|
|
106
|
+
*
|
|
107
|
+
* That identity survives the default mode dropping every finding-free skill from
|
|
108
|
+
* `results[]`, because a dropped row contributes exactly zero to each bucket —
|
|
109
|
+
* and it survives the default row publishing its counts flat with zero buckets
|
|
110
|
+
* omitted, because an absent bucket reads as zero. Only the per-asset ROWS omit
|
|
111
|
+
* zeros: `issueCounts` and `runIssueCounts` keep their complete
|
|
112
|
+
* `{errors, warnings, info}` shape in both modes, because they are the
|
|
113
|
+
* reconciliation identity rather than something a reader scans.
|
|
33
114
|
*/
|
|
34
|
-
function
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
|
|
115
|
+
export function buildValidateSummary(results, duration, verbose, runIssues) {
|
|
116
|
+
const skillIssues = batchIssues(results);
|
|
117
|
+
const runIssueCounts = countBySeverity(runIssues);
|
|
118
|
+
return {
|
|
119
|
+
status: calculateValidationStatus([...skillIssues, ...runIssues]),
|
|
120
|
+
issueCounts: sumSeverityCounts([countBySeverity(skillIssues), runIssueCounts]),
|
|
121
|
+
runIssueCounts,
|
|
122
|
+
// `skillsValidated` stays the true denominator even though the default
|
|
123
|
+
// `results[]` lists only the skills with something to say.
|
|
38
124
|
skillsValidated: results.length,
|
|
39
|
-
results:
|
|
125
|
+
results: verbose
|
|
126
|
+
? results.map((r) => toVerboseYamlResult(r))
|
|
127
|
+
: results.filter((r) => hasFindings(r)).map((r) => toSummaryYamlResult(r)),
|
|
128
|
+
runIssues: [...runIssues],
|
|
40
129
|
durationSecs: formatDurationSecs(duration),
|
|
41
130
|
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Output YAML summary to stdout
|
|
134
|
+
*/
|
|
135
|
+
function outputYamlSummary(results, duration, verbose, runIssues) {
|
|
136
|
+
const output = buildValidateSummary(results, duration, verbose, runIssues);
|
|
42
137
|
console.log(yaml.stringify(output, { indent: 2, lineWidth: 0, aliasDuplicateObjects: false }));
|
|
43
138
|
}
|
|
44
139
|
/**
|
|
45
|
-
*
|
|
140
|
+
* ONE line for one skill: its severity breakdown, its allowed count, and the
|
|
141
|
+
* codes behind it, dominant first.
|
|
142
|
+
*
|
|
143
|
+
* The stderr counterpart of {@link toSummaryYamlResult} — same unit (the asset),
|
|
144
|
+
* same reason (see that function's comment). The per-issue blocks below are what
|
|
145
|
+
* made this stream 6,261 lines on a 90-skill repo.
|
|
46
146
|
*/
|
|
47
|
-
function
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
147
|
+
function skillSummaryLine(result) {
|
|
148
|
+
const { codes } = summarizeFindings(result.allErrors);
|
|
149
|
+
const breakdown = formatSeverityBreakdown(countBySeverity(result.allErrors));
|
|
150
|
+
const allowed = result.ignoredErrors.length > 0
|
|
151
|
+
? ` (+${result.ignoredErrors.length} allowed by config)`
|
|
152
|
+
: '';
|
|
153
|
+
const tally = Object.entries(codes).map(([code, count]) => `${code}: ${count}`).join(', ');
|
|
154
|
+
const codeSuffix = tally === '' ? '' : ` — ${tally}`;
|
|
155
|
+
return ` ${result.skillName}: ${breakdown}${allowed}${codeSuffix}`;
|
|
55
156
|
}
|
|
56
157
|
/**
|
|
57
|
-
*
|
|
158
|
+
* Lines for ONE skill: its summary row, then the findings that render in full
|
|
159
|
+
* beneath it at this verbosity.
|
|
160
|
+
*
|
|
161
|
+
* The row is unconditional — it is the only place a collapsed finding is
|
|
162
|
+
* counted, so a mode that replaced it with per-issue blocks would lose the
|
|
163
|
+
* allowed count and the per-code tally. What varies is what hangs below it, and
|
|
164
|
+
* that choice belongs to {@link issuesToRenderAtVerbosity}, not to this lane:
|
|
165
|
+
* an `error` renders in full at every verbosity (the reader must never have to
|
|
166
|
+
* re-run with `-v` to learn what failed the gate), while `warning`/`info`
|
|
167
|
+
* collapse into the row unless asked for.
|
|
168
|
+
*
|
|
169
|
+
* The allow-suppressed records are listed only under `verbose`; by default the
|
|
170
|
+
* row's `(+N allowed by config)` is their receipt.
|
|
58
171
|
*/
|
|
59
|
-
function
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
outputSingleError(error);
|
|
65
|
-
}
|
|
172
|
+
function skillReportLines(result, verbose) {
|
|
173
|
+
const lines = [skillSummaryLine(result)];
|
|
174
|
+
const rendered = issuesToRenderAtVerbosity(result.allErrors, verbose);
|
|
175
|
+
for (const issue of rendered) {
|
|
176
|
+
lines.push(...formatIssueLines(issue, ' '));
|
|
66
177
|
}
|
|
67
|
-
|
|
68
|
-
|
|
178
|
+
const listAllowed = verbose && result.ignoredErrors.length > 0;
|
|
179
|
+
if (listAllowed) {
|
|
180
|
+
lines.push(` Allowed issues (${result.ignoredErrors.length}):`);
|
|
69
181
|
for (const record of result.ignoredErrors) {
|
|
70
|
-
|
|
182
|
+
lines.push(` [${String(record.code)}] ${String(record.location)} (allowed: ${record.reason})`);
|
|
71
183
|
}
|
|
72
184
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
185
|
+
// A trailing blank line only when something was rendered beneath the row —
|
|
186
|
+
// otherwise consecutive one-line rows would be double-spaced.
|
|
187
|
+
if (rendered.length > 0 || listAllowed) {
|
|
188
|
+
lines.push('');
|
|
189
|
+
}
|
|
190
|
+
return lines;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* One glyph per status value — total, so a status this renderer has not thought
|
|
194
|
+
* about cannot fall through to the reassuring `✅`.
|
|
195
|
+
*/
|
|
196
|
+
const STATUS_GLYPHS = {
|
|
197
|
+
error: '❌',
|
|
198
|
+
warning: '⚠️ ',
|
|
199
|
+
success: '✅',
|
|
200
|
+
};
|
|
201
|
+
/** Banner naming what the run actually found. */
|
|
202
|
+
function reportBanner(status, counts) {
|
|
203
|
+
if (status === 'error') {
|
|
204
|
+
return `\n❌ Validation failed — ${formatSeverityBreakdown(counts)}:\n`;
|
|
205
|
+
}
|
|
206
|
+
if (status === 'warning') {
|
|
207
|
+
// Non-blocking (exit 0), which is exactly why this used to print
|
|
208
|
+
// "All validations passed" over the warnings.
|
|
209
|
+
return `\n⚠️ Validation passed with findings — ${formatSeverityBreakdown(counts)}:\n`;
|
|
210
|
+
}
|
|
211
|
+
return counts.info > 0
|
|
212
|
+
? `\n✅ All validations passed — ${formatSeverityBreakdown(counts)}, nothing to act on:\n`
|
|
213
|
+
: '\n✅ All validations passed';
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Human-readable report lines for the whole batch.
|
|
217
|
+
*
|
|
218
|
+
* Renders every skill with ANY emitted finding, not just the ones that failed
|
|
219
|
+
* the gate: a warning-only or info-only run used to print the success banner and
|
|
220
|
+
* nothing else, so the findings existed only in the YAML on stdout.
|
|
221
|
+
*
|
|
222
|
+
* Every skill with findings gets its summary row at every verbosity; `verbose`
|
|
223
|
+
* picks only which findings are ALSO rendered in full beneath that row, per
|
|
224
|
+
* {@link issuesToRenderAtVerbosity} — errors always, `warning`/`info` when
|
|
225
|
+
* asked, `ignore` never. `verbose` deliberately does NOT gate errors: a default
|
|
226
|
+
* run that collapsed the error it exited 1 on into a count line forced the reader
|
|
227
|
+
* to re-run with a flag to learn what broke.
|
|
228
|
+
*
|
|
229
|
+
* Run-level findings and the banner are printed in full either way — there are
|
|
230
|
+
* ~14 of the former, and they belong to the project config rather than to any
|
|
231
|
+
* asset, so there is no row for them to collapse into.
|
|
232
|
+
*/
|
|
233
|
+
export function formatValidationReportLines(results, runIssues, verbose) {
|
|
234
|
+
const issues = [...batchIssues(results), ...runIssues];
|
|
235
|
+
const counts = countBySeverity(issues);
|
|
236
|
+
const status = calculateValidationStatus(issues);
|
|
237
|
+
const lines = [reportBanner(status, counts)];
|
|
238
|
+
for (const result of results) {
|
|
239
|
+
if (!hasFindings(result))
|
|
240
|
+
continue;
|
|
241
|
+
lines.push(...skillReportLines(result, verbose));
|
|
79
242
|
}
|
|
80
|
-
|
|
243
|
+
const runLines = formatRunIssueLines(runIssues);
|
|
244
|
+
if (runLines.length > 0) {
|
|
245
|
+
lines.push(...runLines, '');
|
|
246
|
+
}
|
|
247
|
+
return lines;
|
|
81
248
|
}
|
|
82
249
|
/**
|
|
83
250
|
* Output validation report to stdout (YAML) and stderr (human-readable)
|
|
84
251
|
*/
|
|
85
|
-
function outputValidationReport(results, duration, logger, verbose) {
|
|
86
|
-
outputYamlSummary(results, duration, verbose);
|
|
87
|
-
const failedSkills = results.filter((r) => r.status === 'error');
|
|
252
|
+
function outputValidationReport(results, duration, logger, verbose, runIssues) {
|
|
253
|
+
outputYamlSummary(results, duration, verbose, runIssues);
|
|
88
254
|
// Collect all emitted codes across skills (both errors and warnings) to drive the footer
|
|
89
255
|
const emittedCodes = new Set();
|
|
90
256
|
for (const r of results) {
|
|
@@ -92,39 +258,41 @@ function outputValidationReport(results, duration, logger, verbose) {
|
|
|
92
258
|
emittedCodes.add(issue.code);
|
|
93
259
|
}
|
|
94
260
|
}
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
logger.info('\n✅ All validations passed');
|
|
98
|
-
renderSkillQualityFooter(logger, hasSkillFindings, emittedCodes);
|
|
99
|
-
return;
|
|
261
|
+
for (const issue of runIssues) {
|
|
262
|
+
emittedCodes.add(issue.code);
|
|
100
263
|
}
|
|
101
|
-
|
|
102
|
-
for (const
|
|
103
|
-
|
|
264
|
+
const hasSkillFindings = results.some((r) => calculateValidationStatus(r.allErrors) !== 'success');
|
|
265
|
+
for (const line of formatValidationReportLines(results, runIssues, verbose)) {
|
|
266
|
+
logger.info(line);
|
|
104
267
|
}
|
|
105
268
|
renderSkillQualityFooter(logger, hasSkillFindings, emittedCodes);
|
|
106
269
|
}
|
|
107
270
|
/**
|
|
108
|
-
* Log validation progress for a single skill
|
|
271
|
+
* Log validation progress for a single skill.
|
|
272
|
+
*
|
|
273
|
+
* The per-skill glyph follows the shared collapse (`⚠️` for a warning-only
|
|
274
|
+
* skill), and the severity breakdown is always spelled out. A skill with
|
|
275
|
+
* warnings used to print a bare `✅ <name>`, which is the same reassuring
|
|
276
|
+
* collapse as the batch banner, one line earlier.
|
|
109
277
|
*/
|
|
110
|
-
function
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
if (expiredCount > 0) {
|
|
120
|
-
logger.error(` (${expiredCount} expired allow entr${expiredCount === 1 ? 'y' : 'ies'})`);
|
|
121
|
-
}
|
|
278
|
+
export function formatSkillProgressLine(skillName, result) {
|
|
279
|
+
const counts = countBySeverity(result.allErrors);
|
|
280
|
+
const status = calculateValidationStatus(result.allErrors);
|
|
281
|
+
const glyph = STATUS_GLYPHS[status];
|
|
282
|
+
const detail = result.allErrors.length > 0 ? `: ${formatSeverityBreakdown(counts)}` : '';
|
|
283
|
+
const lines = [` ${glyph} ${skillName}${detail}`];
|
|
284
|
+
if (result.ignoredErrors.length > 0) {
|
|
285
|
+
lines.push(` (${result.ignoredErrors.length} allowed by config)`);
|
|
122
286
|
}
|
|
123
|
-
|
|
124
|
-
|
|
287
|
+
const expiredCount = result.allErrors.filter(w => w.code === 'ALLOW_EXPIRED').length;
|
|
288
|
+
if (expiredCount > 0) {
|
|
289
|
+
lines.push(` (${expiredCount} expired allow entr${expiredCount === 1 ? 'y' : 'ies'})`);
|
|
125
290
|
}
|
|
126
|
-
|
|
127
|
-
|
|
291
|
+
return lines;
|
|
292
|
+
}
|
|
293
|
+
function logSkillProgress(skillName, result, logger) {
|
|
294
|
+
for (const line of formatSkillProgressLine(skillName, result)) {
|
|
295
|
+
logger.info(line);
|
|
128
296
|
}
|
|
129
297
|
}
|
|
130
298
|
/**
|
|
@@ -141,9 +309,17 @@ function logSkillProgress(skillName, result, logger) {
|
|
|
141
309
|
* returns an empty context and validators transparently fall back to their
|
|
142
310
|
* legacy per-skill setup — correctness first, perf second.
|
|
143
311
|
*/
|
|
144
|
-
async function buildSharedValidationContext(skills, logger) {
|
|
312
|
+
async function buildSharedValidationContext(skills, projectSkills, logger) {
|
|
313
|
+
// The allow-entry ledger is not an optimization like the two below — it is
|
|
314
|
+
// what makes ALLOW_UNUSED true. `validation.allow` is declared once for the
|
|
315
|
+
// package and matched per skill, so only the batch can say an entry matched
|
|
316
|
+
// nothing. Always present, so no early return can drop it.
|
|
317
|
+
const allowLedger = createAllowUsageLedger();
|
|
318
|
+
// Likewise not an optimization: the test-input rule is project-wide, so this
|
|
319
|
+
// lane must model a bundle that excludes EVERY declared suite, not just the
|
|
320
|
+
// subject's. Present even for an empty batch, so no early return can drop it.
|
|
145
321
|
if (skills.length === 0) {
|
|
146
|
-
return {};
|
|
322
|
+
return { allowLedger, projectSkills };
|
|
147
323
|
}
|
|
148
324
|
const projectRoots = new Set();
|
|
149
325
|
const gitRoots = new Set();
|
|
@@ -161,7 +337,7 @@ async function buildSharedValidationContext(skills, logger) {
|
|
|
161
337
|
gitRoots.add(safePath.resolve(gitRoot));
|
|
162
338
|
}
|
|
163
339
|
}
|
|
164
|
-
const context = {};
|
|
340
|
+
const context = { allowLedger, projectSkills };
|
|
165
341
|
// Only reuse a single registry when every skill shares the same project
|
|
166
342
|
// root. Otherwise the per-skill fallback path is correct and the cost is
|
|
167
343
|
// unchanged from the pre-refactor baseline.
|
|
@@ -232,22 +408,35 @@ export async function validateCommand(pathArg, options) {
|
|
|
232
408
|
// (for markdown parses) and the git tracker (for gitignore checks) can be
|
|
233
409
|
// shared across every skill whose projectRoot + gitRoot match the derived
|
|
234
410
|
// values, which is the common case for a single-repo `vat skills validate`.
|
|
235
|
-
|
|
411
|
+
// Every declared skill, not just `skillsToValidate`: `--skill x` narrows what is
|
|
412
|
+
// REPORTED on, never what counts as some skill's declared test input.
|
|
413
|
+
const projectSkills = collectDeclaredEvalSuites(config.skills, discovered);
|
|
414
|
+
const sharedContext = await buildSharedValidationContext(skillsToValidate, projectSkills, logger);
|
|
236
415
|
// Validate each skill
|
|
237
416
|
const results = [];
|
|
238
417
|
for (const skill of skillsToValidate) {
|
|
239
418
|
logger.info(` Validating: ${skill.name}`);
|
|
240
419
|
logger.debug(` Source: ${skill.sourcePath}`);
|
|
241
420
|
const result = await validateSkillForPackaging(skill.sourcePath, skill.packagingConfig, 'source', sharedContext);
|
|
242
|
-
|
|
421
|
+
// `cwd` is the anchor root: config is read from it and discovery globs
|
|
422
|
+
// resolve against it, so every other location in this report is already
|
|
423
|
+
// relative to it.
|
|
424
|
+
applyConfigVerdicts(result, skill.packagingConfig.targets, skill.sourcePath, cwd);
|
|
243
425
|
logSkillProgress(skill.name, result, logger);
|
|
244
426
|
results.push(result);
|
|
245
427
|
}
|
|
428
|
+
// Drain the run's allow ledger AFTER the last skill — an entry matched by
|
|
429
|
+
// any skill in the batch is used, so this is the first point at which
|
|
430
|
+
// "matched nothing" is answerable.
|
|
431
|
+
const runIssues = sharedContext.allowLedger === undefined
|
|
432
|
+
? []
|
|
433
|
+
: allowUnusedIssues(sharedContext.allowLedger);
|
|
246
434
|
// Output report and exit
|
|
247
435
|
const duration = Date.now() - startTime;
|
|
248
436
|
const verbose = options.verbose === true;
|
|
249
|
-
outputValidationReport(results, duration, logger, verbose);
|
|
250
|
-
const hasErrors = results.some(r => r.status === 'error')
|
|
437
|
+
outputValidationReport(results, duration, logger, verbose, runIssues);
|
|
438
|
+
const hasErrors = results.some(r => r.status === 'error')
|
|
439
|
+
|| runIssues.some(i => i.severity === 'error');
|
|
251
440
|
process.exit(hasErrors ? 1 : 0);
|
|
252
441
|
}
|
|
253
442
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,10 +22,28 @@
|
|
|
22
22
|
* build. If a single "validate the whole shippable thing" command is later
|
|
23
23
|
* wanted, fold the marketplace phase in here (mirror verify.ts) — see #128.
|
|
24
24
|
*/
|
|
25
|
+
import { type ProjectConfig } from '@vibe-agent-toolkit/resources';
|
|
25
26
|
import { Command } from 'commander';
|
|
27
|
+
import { type PhaseSelection } from './phase-utils.js';
|
|
26
28
|
export interface ValidateCommandOptions {
|
|
29
|
+
/** Retired; declared only so {@link rejectRetiredOnly} can explain the removal. */
|
|
27
30
|
only?: string;
|
|
28
31
|
debug?: boolean;
|
|
32
|
+
verbose?: boolean;
|
|
29
33
|
}
|
|
30
34
|
export declare function createValidateTopLevelCommand(): Command;
|
|
35
|
+
/**
|
|
36
|
+
* Decide which validation surfaces to run.
|
|
37
|
+
*
|
|
38
|
+
* A surface is included only when its config block is present, so coverage is
|
|
39
|
+
* discovered rather than hand-composed — and with `--only` retired, config
|
|
40
|
+
* presence is now the ONLY input. There is no longer a way for a caller to
|
|
41
|
+
* narrow the run, so there is no longer a way for a CI gate to ask for coverage
|
|
42
|
+
* it cannot get; the class of silent-coverage-loss bug the `--only` failure arms
|
|
43
|
+
* existed to catch is now unreachable by construction rather than guarded.
|
|
44
|
+
*
|
|
45
|
+
* `only` is still passed to {@link decidePhaseSelection} as `undefined`: that
|
|
46
|
+
* helper is shared with `vat build`, which keeps its own `--only`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function selectValidateSurfaces(config: ProjectConfig | undefined, verbose?: boolean): PhaseSelection;
|
|
31
49
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,EAYL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAqB1B,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,6BAA6B,IAAI,OAAO,CA0DvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,OAAO,UAAQ,GACd,cAAc,CAiBhB"}
|