@vibe-agent-toolkit/cli 0.1.41-rc.6 → 0.1.41-rc.7
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 +1 -1
- package/dist/bin/vat.js +1 -1
- package/dist/bin/vat.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 +63 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +329 -187
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +47 -18
- 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.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +13 -19
- 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/plugin/build.d.ts +93 -0
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +83 -39
- 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 +92 -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/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +15 -26
- 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/phase-utils.d.ts +62 -2
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +74 -2
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +13 -6
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +38 -24
- 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 +33 -20
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skills/build.d.ts +51 -0
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +91 -54
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/package.d.ts +2 -0
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +61 -42
- 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.d.ts +38 -0
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +125 -70
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +11 -5
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +69 -26
- package/dist/commands/verify.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/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 +61 -0
- package/dist/utils/issue-rendering.d.ts.map +1 -0
- package/dist/utils/issue-rendering.js +135 -0
- package/dist/utils/issue-rendering.js.map +1 -0
- package/dist/utils/output.d.ts +26 -4
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +27 -6
- 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/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 +10 -2
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +13 -3
- 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/resources.md +24 -8
- package/docs/skills.md +2 -2
- package/package.json +12 -12
|
@@ -2,10 +2,30 @@
|
|
|
2
2
|
* plugin.json merge.
|
|
3
3
|
*
|
|
4
4
|
* Precedence (spec section Design -> plugin.json merge):
|
|
5
|
-
* -
|
|
5
|
+
* - CONFIG wins on: name, version, and the author subfields config can express
|
|
6
6
|
* - Author wins on: all other keys (keywords, repository, homepage, license, ...)
|
|
7
|
+
* AND every author subfield config CANNOT express (url, ...)
|
|
7
8
|
* - description: config.description ?? author.description ?? `${name} plugin`
|
|
8
9
|
*
|
|
10
|
+
* "VAT wins" is a misleading way to say this and the warnings below used to say
|
|
11
|
+
* it: VAT invents nothing. `name` is the marketplace plugin entry's name and
|
|
12
|
+
* the author's `name`/`email` are the marketplace `owner`, both straight out of
|
|
13
|
+
* `vibe-agent-toolkit.config.yaml`. The config is the source of truth for plugin
|
|
14
|
+
* identity precisely so a marketplace cannot ship plugins that disagree with it
|
|
15
|
+
* about who published them. The warnings therefore name the winning value and
|
|
16
|
+
* where it came from, so the reader can act on it.
|
|
17
|
+
*
|
|
18
|
+
* `author` is merged per SUBFIELD, not replaced wholesale, and the line is drawn
|
|
19
|
+
* by what the config schema can express: marketplace `owner` has `name` and
|
|
20
|
+
* `email`, so those two are config-owned — omitting `owner.email` publishes an
|
|
21
|
+
* author with no email, deliberately. Every other subfield passes through from
|
|
22
|
+
* the author's plugin.json. `author.url` is the case that forced this: Claude's
|
|
23
|
+
* plugin.json spec supports it, VAT's config has no field for it, so overwriting
|
|
24
|
+
* `author` wholesale DESTROYED the adopter's URL with no way to restore it. That
|
|
25
|
+
* is data loss, not a precedence policy. A non-object `author` (npm's
|
|
26
|
+
* "Name <email> (url)" string form, say) has no subfields to merge, so it is
|
|
27
|
+
* replaced wholesale and warned about.
|
|
28
|
+
*
|
|
9
29
|
* Version resolution lives in `resolveVersion` (config > plugin.json > root) and
|
|
10
30
|
* happens at the caller in `build.ts`. By the time `mergePluginJson` runs, the
|
|
11
31
|
* value passed in `vat.version` IS the resolved answer — this function does no
|
|
@@ -34,6 +54,15 @@ export interface MergePluginJsonArgs {
|
|
|
34
54
|
}
|
|
35
55
|
export interface MergePluginJsonResult {
|
|
36
56
|
merged: Record<string, unknown>;
|
|
57
|
+
/**
|
|
58
|
+
* The merged `author` object — the same value as `merged.author`, surfaced
|
|
59
|
+
* separately because it is ALSO what `marketplace.json`'s `plugins[].author`
|
|
60
|
+
* publishes for this plugin. Regenerating that entry from the config `owner`
|
|
61
|
+
* instead re-introduced the exact data loss this merge exists to prevent: the
|
|
62
|
+
* passed-through subfields (`url`, ...) reached plugin.json but not the
|
|
63
|
+
* marketplace listing, so the two manifests disagreed about the same author.
|
|
64
|
+
*/
|
|
65
|
+
author: Record<string, unknown>;
|
|
37
66
|
warnings: string[];
|
|
38
67
|
}
|
|
39
68
|
export interface ResolveVersionLogger {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-json-merge.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/plugin-json-merge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin-json-merge.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/plugin-json-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,kBAAkB,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAmHD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,EACzD,UAAU,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,EACxD,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,GAAE,oBAA8B,GACrC,MAAM,GAAG,SAAS,CAYpB;AAcD,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,qBAAqB,CAkBhF"}
|
|
@@ -2,10 +2,30 @@
|
|
|
2
2
|
* plugin.json merge.
|
|
3
3
|
*
|
|
4
4
|
* Precedence (spec section Design -> plugin.json merge):
|
|
5
|
-
* -
|
|
5
|
+
* - CONFIG wins on: name, version, and the author subfields config can express
|
|
6
6
|
* - Author wins on: all other keys (keywords, repository, homepage, license, ...)
|
|
7
|
+
* AND every author subfield config CANNOT express (url, ...)
|
|
7
8
|
* - description: config.description ?? author.description ?? `${name} plugin`
|
|
8
9
|
*
|
|
10
|
+
* "VAT wins" is a misleading way to say this and the warnings below used to say
|
|
11
|
+
* it: VAT invents nothing. `name` is the marketplace plugin entry's name and
|
|
12
|
+
* the author's `name`/`email` are the marketplace `owner`, both straight out of
|
|
13
|
+
* `vibe-agent-toolkit.config.yaml`. The config is the source of truth for plugin
|
|
14
|
+
* identity precisely so a marketplace cannot ship plugins that disagree with it
|
|
15
|
+
* about who published them. The warnings therefore name the winning value and
|
|
16
|
+
* where it came from, so the reader can act on it.
|
|
17
|
+
*
|
|
18
|
+
* `author` is merged per SUBFIELD, not replaced wholesale, and the line is drawn
|
|
19
|
+
* by what the config schema can express: marketplace `owner` has `name` and
|
|
20
|
+
* `email`, so those two are config-owned — omitting `owner.email` publishes an
|
|
21
|
+
* author with no email, deliberately. Every other subfield passes through from
|
|
22
|
+
* the author's plugin.json. `author.url` is the case that forced this: Claude's
|
|
23
|
+
* plugin.json spec supports it, VAT's config has no field for it, so overwriting
|
|
24
|
+
* `author` wholesale DESTROYED the adopter's URL with no way to restore it. That
|
|
25
|
+
* is data loss, not a precedence policy. A non-object `author` (npm's
|
|
26
|
+
* "Name <email> (url)" string form, say) has no subfields to merge, so it is
|
|
27
|
+
* replaced wholesale and warned about.
|
|
28
|
+
*
|
|
9
29
|
* Version resolution lives in `resolveVersion` (config > plugin.json > root) and
|
|
10
30
|
* happens at the caller in `build.ts`. By the time `mergePluginJson` runs, the
|
|
11
31
|
* value passed in `vat.version` IS the resolved answer — this function does no
|
|
@@ -14,13 +34,42 @@
|
|
|
14
34
|
* Mismatches on VAT-winning fields produce warnings — never errors.
|
|
15
35
|
*/
|
|
16
36
|
const VAT_OWNED_KEYS = new Set(['name', 'version', 'author']);
|
|
17
|
-
|
|
18
|
-
|
|
37
|
+
/**
|
|
38
|
+
* The `author` subfields VAT's config can express (marketplace `owner`) and
|
|
39
|
+
* therefore owns. Ownership is by SCHEMA, not by presence: `owner.email` being
|
|
40
|
+
* omitted means "this author publishes no email", so an email in plugin.json is
|
|
41
|
+
* still overridden (and warned about) — the adopter has a config field for it.
|
|
42
|
+
* Anything NOT listed here has no config field at all, so config cannot own it
|
|
43
|
+
* and it passes through from plugin.json.
|
|
44
|
+
*/
|
|
45
|
+
const VAT_OWNED_AUTHOR_SUBFIELDS = new Set(['name', 'email']);
|
|
46
|
+
/** The value if it is a plain (non-null, non-array) object, else undefined. */
|
|
47
|
+
function asPlainObject(value) {
|
|
48
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value)
|
|
49
|
+
? value
|
|
50
|
+
: undefined;
|
|
19
51
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
52
|
+
/** The author's `author` object from plugin.json, when it is a mergeable object. */
|
|
53
|
+
function authoredAuthorObject(authorJson) {
|
|
54
|
+
return authorJson ? asPlainObject(authorJson['author']) : undefined;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Config-owned subfields from `owner`, plus every other subfield the author
|
|
58
|
+
* declared. Config-owned keys are listed first so the published object reads
|
|
59
|
+
* name/email-then-extras regardless of plugin.json's key order.
|
|
60
|
+
*/
|
|
61
|
+
function buildAuthorObject(vat, authorJson) {
|
|
62
|
+
const passthrough = {};
|
|
63
|
+
for (const [k, v] of Object.entries(authoredAuthorObject(authorJson) ?? {})) {
|
|
64
|
+
if (VAT_OWNED_AUTHOR_SUBFIELDS.has(k))
|
|
65
|
+
continue;
|
|
66
|
+
passthrough[k] = v;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
name: vat.author.name,
|
|
70
|
+
...(vat.author.email ? { email: vat.author.email } : {}),
|
|
71
|
+
...passthrough,
|
|
72
|
+
};
|
|
24
73
|
}
|
|
25
74
|
function collectAuthorPassthrough(authorJson) {
|
|
26
75
|
const out = {};
|
|
@@ -40,13 +89,41 @@ function collectWarnings(vat, authorJson, mergedAuthor) {
|
|
|
40
89
|
return [];
|
|
41
90
|
const warnings = [];
|
|
42
91
|
if ('name' in authorJson && authorJson['name'] !== vat.name) {
|
|
43
|
-
warnings.push(`plugin.json "name"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
warnings.push(`plugin.json "author" mismatch: author-supplied value discarded; using VAT-generated author object.`);
|
|
92
|
+
warnings.push(`plugin.json "name" (${JSON.stringify(authorJson['name'])}) disagrees with the marketplace config, ` +
|
|
93
|
+
`which declares "${vat.name}". Using the config value. ` +
|
|
94
|
+
`Align plugin.json, or drop its "name" field — the config owns plugin identity.`);
|
|
47
95
|
}
|
|
96
|
+
const authorWarning = authorFieldWarning(authorJson, mergedAuthor);
|
|
97
|
+
if (authorWarning)
|
|
98
|
+
warnings.push(authorWarning);
|
|
48
99
|
return warnings;
|
|
49
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Warn only about author subfields CONFIG OWNS and the author disagreed on — the
|
|
103
|
+
* passed-through ones are not a disagreement, they are the author's to set. Key
|
|
104
|
+
* order is irrelevant, so reordering plugin.json cannot manufacture a warning.
|
|
105
|
+
*/
|
|
106
|
+
function authorFieldWarning(authorJson, mergedAuthor) {
|
|
107
|
+
if (!('author' in authorJson))
|
|
108
|
+
return undefined;
|
|
109
|
+
const authored = asPlainObject(authorJson['author']);
|
|
110
|
+
if (!authored) {
|
|
111
|
+
return (`plugin.json "author" (${JSON.stringify(authorJson['author'])}) is not an object, so VAT cannot ` +
|
|
112
|
+
`merge it — publishing ${JSON.stringify(mergedAuthor)} from the marketplace \`owner\` in ` +
|
|
113
|
+
`vibe-agent-toolkit.config.yaml instead. Use the object form ` +
|
|
114
|
+
`({ "name": ..., "email": ..., "url": ... }) to keep fields like "url": the config owns name/email, ` +
|
|
115
|
+
`every other author field passes through.`);
|
|
116
|
+
}
|
|
117
|
+
const overridden = [...VAT_OWNED_AUTHOR_SUBFIELDS].filter((key) => key in authored && authored[key] !== mergedAuthor[key]);
|
|
118
|
+
if (overridden.length === 0)
|
|
119
|
+
return undefined;
|
|
120
|
+
const overriddenList = overridden.map((key) => JSON.stringify(key)).join(', ');
|
|
121
|
+
return (`plugin.json "author" disagrees with the marketplace \`owner\` in vibe-agent-toolkit.config.yaml on ` +
|
|
122
|
+
`${overriddenList} — publishing ${JSON.stringify(mergedAuthor)}. ` +
|
|
123
|
+
`The config owns the author's name/email for every plugin in the marketplace; align plugin.json, or ` +
|
|
124
|
+
`drop those fields from it. (Author fields the config cannot express, like "url", pass through ` +
|
|
125
|
+
`untouched.)`);
|
|
126
|
+
}
|
|
50
127
|
/**
|
|
51
128
|
* Resolve the effective plugin version using the precedence chain:
|
|
52
129
|
* marketplace-config-supplied version > plugin.json:version > root package.json version
|
|
@@ -82,9 +159,10 @@ export function mergePluginJson(args) {
|
|
|
82
159
|
if (vat.version !== undefined) {
|
|
83
160
|
merged['version'] = vat.version;
|
|
84
161
|
}
|
|
85
|
-
|
|
162
|
+
const author = buildAuthorObject(vat, authorJson);
|
|
163
|
+
merged['author'] = author;
|
|
86
164
|
merged['description'] = resolveDescription(vat, configDescription, authorJson);
|
|
87
|
-
const warnings = collectWarnings(vat, authorJson,
|
|
88
|
-
return { merged, warnings };
|
|
165
|
+
const warnings = collectWarnings(vat, authorJson, author);
|
|
166
|
+
return { merged, author, warnings };
|
|
89
167
|
}
|
|
90
168
|
//# sourceMappingURL=plugin-json-merge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-json-merge.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/plugin-json-merge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin-json-merge.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/plugin-json-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAsCH,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnF,+EAA+E;AAC/E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,oFAAoF;AACpF,SAAS,oBAAoB,CAC3B,UAA+C;IAE/C,OAAO,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,GAAuB,EACvB,UAA+C;IAE/C,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5E,IAAI,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAChD,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;QACrB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,WAAW;KACf,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAA+C;IAE/C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,IAAI,CAAC,UAAU;QAAE,OAAO,GAAG,CAAC;IAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,KAAK,aAAa;YAAE,SAAS;QAClC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CACtB,GAAuB,EACvB,UAA+C,EAC/C,YAAqC;IAErC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5D,QAAQ,CAAC,IAAI,CACX,uBAAuB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,2CAA2C;YAClG,mBAAmB,GAAG,CAAC,IAAI,6BAA6B;YACxD,gFAAgF,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,IAAI,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,UAAmC,EACnC,YAAqC;IAErC,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,yBAAyB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,oCAAoC;YACjG,yBAAyB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,qCAAqC;YAC1F,8DAA8D;YAC9D,qGAAqG;YACrG,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,0BAA0B,CAAC,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,CAChE,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,CACL,qGAAqG;QACrG,GAAG,cAAc,iBAAiB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI;QAClE,qGAAqG;QACrG,gGAAgG;QAChG,aAAa,CACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAyD,EACzD,UAAwD,EACxD,WAA+B,EAC/B,SAA+B,OAAO;IAEtC,MAAM,MAAM,GAAG,WAAW,EAAE,OAAO,CAAC;IACpC,MAAM,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC;IAEnC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT,wDAAwD,MAAM,IAAI;YAChE,wBAAwB,MAAM,mBAAmB,MAAM,KAAK;YAC5D,yCAAyC,CAC5C,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,IAAI,MAAM,IAAI,WAAW,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAuB,EACvB,iBAAqC,EACrC,UAA+C;IAE/C,MAAM,iBAAiB,GACrB,UAAU,IAAI,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,QAAQ;QACzD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;QAC3B,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,iBAAiB,IAAI,iBAAiB,IAAI,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAyB;IACvD,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEpD,MAAM,MAAM,GAA4B,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IAE1B,gEAAgE;IAChE,iDAAiD;IACjD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,aAAa,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-copy.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/tree-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAYD,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"tree-copy.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/tree-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAYD,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAqDtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-copy.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/tree-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA6BrF,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE/C,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACzD,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC;IACnD,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,cAAc,CAAC;IACrD,IAAI,GAAG,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAwB;IAC3D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACpE,MAAM,MAAM,GAAmB;QAC7B,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,qGAAqG;IACrG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC7F,sFAAsF;IACtF,IAAI,UAAU,CAAC,qBAAqB,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9C,IAAI,CACF,YAAY,cAAc,CAAC,qBAAqB,CAAC,sCAAsC;YACrF,6DAA6D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG;QACd,GAAG,gBAAgB;QACnB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,KAAK,CAAC;KACvD,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;QACjC,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,OAAO;QACP,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"tree-copy.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/tree-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA6BrF,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE/C,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACzD,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC;IACnD,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,cAAc,CAAC;IACrD,IAAI,GAAG,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAwB;IAC3D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACpE,MAAM,MAAM,GAAmB;QAC7B,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,qGAAqG;IACrG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC7F,sFAAsF;IACtF,IAAI,UAAU,CAAC,qBAAqB,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9C,IAAI,CACF,YAAY,cAAc,CAAC,qBAAqB,CAAC,sCAAsC;YACrF,6DAA6D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG;QACd,GAAG,gBAAgB;QACnB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,KAAK,CAAC;KACvD,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;QACjC,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,OAAO;QACP,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3C,4GAA4G;QAC5G,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,OAAO,KAAK,EAA8B,SAAS,EAAiB,MAAM,aAAa,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAqB7C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAcD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,SAAS,CAAC,CAKpB"}
|
|
@@ -14,12 +14,13 @@ import { spawnSync } from 'node:child_process';
|
|
|
14
14
|
import { existsSync, writeFileSync } from 'node:fs';
|
|
15
15
|
import { dirname } from 'node:path';
|
|
16
16
|
import { fileURLToPath } from 'node:url';
|
|
17
|
+
import { calculateValidationStatus, countBySeverity } from '@vibe-agent-toolkit/agent-schema';
|
|
17
18
|
import { scan } from '@vibe-agent-toolkit/discovery';
|
|
18
19
|
import { isGitUrl, parseGitUrl, safePath } from '@vibe-agent-toolkit/utils';
|
|
19
20
|
import * as yaml from 'yaml';
|
|
20
21
|
import { createLogger } from '../../utils/logger.js';
|
|
21
22
|
import { withClonedRepo } from '../audit/git-url-clone.js';
|
|
22
|
-
import { getValidationResults } from '../audit.js';
|
|
23
|
+
import { deriveScanRoot, getValidationResults } from '../audit.js';
|
|
23
24
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
24
25
|
/**
|
|
25
26
|
* Resolve the path to the built vat CLI entry. Works whether the runner is
|
|
@@ -39,28 +40,14 @@ function resolveVatBinPath() {
|
|
|
39
40
|
return safePath.resolve(__dirname, '../../../dist/bin.js');
|
|
40
41
|
}
|
|
41
42
|
const SKIPPED_REVIEW = { status: 'skipped', duration_ms: 0 };
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
let errors = 0;
|
|
51
|
-
let warnings = 0;
|
|
52
|
-
let info = 0;
|
|
53
|
-
for (const r of results) {
|
|
54
|
-
for (const issue of r.issues ?? []) {
|
|
55
|
-
if (issue.severity === 'error')
|
|
56
|
-
errors += 1;
|
|
57
|
-
else if (issue.severity === 'warning')
|
|
58
|
-
warnings += 1;
|
|
59
|
-
else if (issue.severity === 'info')
|
|
60
|
-
info += 1;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return { errors, warnings, info, files_scanned: results.length };
|
|
43
|
+
/**
|
|
44
|
+
* Roll a run's per-file results up into one corpus row.
|
|
45
|
+
*
|
|
46
|
+
* `files_scanned` counts FILES; the severity buckets count FINDINGS — two
|
|
47
|
+
* different denominators, so they are named differently on purpose.
|
|
48
|
+
*/
|
|
49
|
+
function summarizeRun(allIssues, filesScanned) {
|
|
50
|
+
return { ...countBySeverity(allIssues), files_scanned: filesScanned };
|
|
64
51
|
}
|
|
65
52
|
/**
|
|
66
53
|
* Run audit + optional review against one plugin entry.
|
|
@@ -92,9 +79,11 @@ async function auditAndRecord(entry, scanPath, opts) {
|
|
|
92
79
|
const validationApplied = applyValidationOverlay(entry, scanPath);
|
|
93
80
|
let audit;
|
|
94
81
|
try {
|
|
95
|
-
|
|
96
|
-
const
|
|
97
|
-
const
|
|
82
|
+
// The corpus run root is the scanned plugin itself — one root per row.
|
|
83
|
+
const results = await getValidationResults(scanPath, true, {}, logger, deriveScanRoot(scanPath));
|
|
84
|
+
const allIssues = results.flatMap(r => r.issues);
|
|
85
|
+
const summary = summarizeRun(allIssues, results.length);
|
|
86
|
+
const status = calculateValidationStatus(allIssues);
|
|
98
87
|
const auditYamlPath = safePath.join(opts.runDir, `${entry.name}-audit.yaml`);
|
|
99
88
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- composed under run dir
|
|
100
89
|
writeFileSync(auditYamlPath, yaml.stringify({ results }, { lineWidth: 0, aliasDuplicateObjects: false }), 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,19 +7,44 @@
|
|
|
7
7
|
* - Version checks
|
|
8
8
|
*/
|
|
9
9
|
import type { Command } from 'commander';
|
|
10
|
+
/**
|
|
11
|
+
* What a single check concluded.
|
|
12
|
+
*
|
|
13
|
+
* Four values, because a check has four possible answers and a boolean has two.
|
|
14
|
+
* `passed: boolean` forced "I could not tell" and "it does not apply" to be
|
|
15
|
+
* spelled as `true` — the reassuring value — so a swallowed EACCES and a healthy
|
|
16
|
+
* build rendered identically, both as `✅`, and both counted toward
|
|
17
|
+
* "7/7 checks passed".
|
|
18
|
+
*
|
|
19
|
+
* - `pass` — the check ran and the thing is fine.
|
|
20
|
+
* - `fail` — the check ran and the thing is wrong. The only outcome that
|
|
21
|
+
* affects the exit code.
|
|
22
|
+
* - `undetermined` — the check could not reach an answer (network down, file
|
|
23
|
+
* unreadable). NOT a pass: nothing was verified.
|
|
24
|
+
* - `skipped` — the check does not apply here (e.g. a VAT-source-tree-only
|
|
25
|
+
* check outside the source tree). Determinate, but not a pass.
|
|
26
|
+
*/
|
|
27
|
+
export type DoctorOutcome = 'pass' | 'fail' | 'undetermined' | 'skipped';
|
|
10
28
|
/**
|
|
11
29
|
* Result of a single doctor check
|
|
12
30
|
*/
|
|
13
31
|
export interface DoctorCheckResult {
|
|
14
32
|
/** Name of the check */
|
|
15
33
|
name: string;
|
|
16
|
-
/**
|
|
17
|
-
|
|
34
|
+
/** What the check concluded */
|
|
35
|
+
outcome: DoctorOutcome;
|
|
18
36
|
/** Message describing the result */
|
|
19
37
|
message: string;
|
|
20
38
|
/** Optional suggestion for fixing the issue */
|
|
21
39
|
suggestion?: string;
|
|
22
40
|
}
|
|
41
|
+
/** How many checks landed in each outcome. Published beside the verdict, never folded into it. */
|
|
42
|
+
export interface DoctorOutcomeCounts {
|
|
43
|
+
pass: number;
|
|
44
|
+
fail: number;
|
|
45
|
+
undetermined: number;
|
|
46
|
+
skipped: number;
|
|
47
|
+
}
|
|
23
48
|
/**
|
|
24
49
|
* Project context information
|
|
25
50
|
*/
|
|
@@ -33,16 +58,18 @@ export interface ProjectContext {
|
|
|
33
58
|
}
|
|
34
59
|
/**
|
|
35
60
|
* Overall doctor diagnostic result
|
|
61
|
+
*
|
|
62
|
+
* `checks` holds EVERY check that ran — the display filter belongs to the
|
|
63
|
+
* renderer, not the data. Returning only the displayed subset while counting all
|
|
64
|
+
* of them is what let doctor print "7/7 checks passed" above an empty list.
|
|
36
65
|
*/
|
|
37
66
|
export interface DoctorResult {
|
|
38
|
-
/**
|
|
39
|
-
allPassed: boolean;
|
|
40
|
-
/** Individual check results */
|
|
67
|
+
/** Every check that ran, unfiltered */
|
|
41
68
|
checks: DoctorCheckResult[];
|
|
42
|
-
/** Total number of checks run */
|
|
69
|
+
/** Total number of checks run (always `checks.length`) */
|
|
43
70
|
totalChecks: number;
|
|
44
|
-
/**
|
|
45
|
-
|
|
71
|
+
/** Distribution across outcomes; sums to `totalChecks` */
|
|
72
|
+
outcomeCounts: DoctorOutcomeCounts;
|
|
46
73
|
/** Project context information */
|
|
47
74
|
projectContext: ProjectContext;
|
|
48
75
|
}
|
|
@@ -101,6 +128,28 @@ export declare function checkCliBuildSync(projectRoot: string | null): DoctorChe
|
|
|
101
128
|
* @returns Doctor result
|
|
102
129
|
*/
|
|
103
130
|
export declare function runDoctor(options?: DoctorOptions): Promise<DoctorResult>;
|
|
131
|
+
/** Tally checks by outcome. The four buckets always sum to `checks.length`. */
|
|
132
|
+
export declare function countByOutcome(checks: readonly DoctorCheckResult[]): DoctorOutcomeCounts;
|
|
133
|
+
/**
|
|
134
|
+
* Which checks the renderer prints.
|
|
135
|
+
*
|
|
136
|
+
* Verbose prints all of them. Concise hides only the checks with nothing to say:
|
|
137
|
+
* a clean `pass` with no suggestion, and a `skipped` check that does not apply
|
|
138
|
+
* here. `fail` and `undetermined` are ALWAYS printed — an undetermined check is
|
|
139
|
+
* the one a concise view must never swallow.
|
|
140
|
+
*
|
|
141
|
+
* Whatever this hides, {@link formatDoctorSummary} states the number of hidden
|
|
142
|
+
* checks, so the printed list and the printed counts cannot disagree.
|
|
143
|
+
*/
|
|
144
|
+
export declare function selectDisplayChecks(checks: readonly DoctorCheckResult[], verbose: boolean): DoctorCheckResult[];
|
|
145
|
+
/**
|
|
146
|
+
* The summary block: the distribution, how many checks were not rendered, and
|
|
147
|
+
* the verdict.
|
|
148
|
+
*
|
|
149
|
+
* `displayedCount` is required precisely so the block can never claim more
|
|
150
|
+
* checks than the reader was shown without saying so.
|
|
151
|
+
*/
|
|
152
|
+
export declare function formatDoctorSummary(counts: DoctorOutcomeCounts, displayedCount: number): string[];
|
|
104
153
|
/**
|
|
105
154
|
* Main command handler for Commander.js
|
|
106
155
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kGAAkG;AAClG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oDAAoD;IACpD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,aAAa,EAAE,mBAAmB,CAAC;IACnC,kCAAkC;IAClC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAcD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CA6CpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CA2BrD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CAmCtD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CA2BnD;AAmCD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CA6EpD;AAgBD;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,GAAE,cAAsC,GACrD,OAAO,CAAC,iBAAiB,CAAC,CAoD5B;AA+BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,iBAAiB,CA+D/E;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAkClF;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,mBAAmB,CAMxF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,iBAAiB,EAAE,EACpC,OAAO,EAAE,OAAO,GACf,iBAAiB,EAAE,CAKrB;AASD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE,CA4BV;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoDpD"}
|