@vibe-agent-toolkit/agent-skills 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/dist/files-config.d.ts +12 -0
- package/dist/files-config.d.ts.map +1 -1
- package/dist/files-config.js +37 -16
- package/dist/files-config.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/inventory/detectors/declared-but-missing.d.ts +1 -1
- package/dist/inventory/detectors/declared-but-missing.d.ts.map +1 -1
- package/dist/inventory/detectors/declared-but-missing.js +5 -2
- package/dist/inventory/detectors/declared-but-missing.js.map +1 -1
- package/dist/inventory/detectors/marketplace-source-missing.d.ts +1 -1
- package/dist/inventory/detectors/marketplace-source-missing.d.ts.map +1 -1
- package/dist/inventory/detectors/marketplace-source-missing.js +3 -2
- package/dist/inventory/detectors/marketplace-source-missing.js.map +1 -1
- package/dist/inventory/detectors/present-but-undeclared.d.ts +1 -1
- package/dist/inventory/detectors/present-but-undeclared.d.ts.map +1 -1
- package/dist/inventory/detectors/present-but-undeclared.js +14 -12
- package/dist/inventory/detectors/present-but-undeclared.js.map +1 -1
- package/dist/inventory/detectors/reference-target-missing.d.ts +1 -1
- package/dist/inventory/detectors/reference-target-missing.d.ts.map +1 -1
- package/dist/inventory/detectors/reference-target-missing.js +23 -8
- package/dist/inventory/detectors/reference-target-missing.js.map +1 -1
- package/dist/inventory/serialize.d.ts +28 -5
- package/dist/inventory/serialize.d.ts.map +1 -1
- package/dist/inventory/serialize.js +19 -16
- package/dist/inventory/serialize.js.map +1 -1
- package/dist/plugin-distribution-layout.d.ts.map +1 -1
- package/dist/plugin-distribution-layout.js +2 -3
- package/dist/plugin-distribution-layout.js.map +1 -1
- package/dist/post-build-checks.d.ts +16 -1
- package/dist/post-build-checks.d.ts.map +1 -1
- package/dist/post-build-checks.js +22 -2
- package/dist/post-build-checks.js.map +1 -1
- package/dist/schemas/index.d.ts +0 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +0 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/skill-packager.d.ts +19 -0
- package/dist/skill-packager.d.ts.map +1 -1
- package/dist/skill-packager.js +35 -16
- package/dist/skill-packager.js.map +1 -1
- package/dist/test-input.d.ts +4 -3
- package/dist/test-input.d.ts.map +1 -1
- package/dist/test-input.js +6 -5
- package/dist/test-input.js.map +1 -1
- package/dist/validators/anchor-root.d.ts +35 -0
- package/dist/validators/anchor-root.d.ts.map +1 -0
- package/dist/validators/anchor-root.js +14 -0
- package/dist/validators/anchor-root.js.map +1 -0
- package/dist/validators/bundled-resource-link-detection.d.ts +2 -1
- package/dist/validators/bundled-resource-link-detection.d.ts.map +1 -1
- package/dist/validators/bundled-resource-link-detection.js +4 -3
- package/dist/validators/bundled-resource-link-detection.js.map +1 -1
- package/dist/validators/cross-skill-dependency-detection.d.ts +2 -1
- package/dist/validators/cross-skill-dependency-detection.d.ts.map +1 -1
- package/dist/validators/cross-skill-dependency-detection.js +8 -4
- package/dist/validators/cross-skill-dependency-detection.js.map +1 -1
- package/dist/validators/frontmatter-validation.d.ts +6 -2
- package/dist/validators/frontmatter-validation.d.ts.map +1 -1
- package/dist/validators/frontmatter-validation.js +36 -20
- package/dist/validators/frontmatter-validation.js.map +1 -1
- package/dist/validators/imperative-body-detection.d.ts +5 -0
- package/dist/validators/imperative-body-detection.d.ts.map +1 -1
- package/dist/validators/imperative-body-detection.js +7 -1
- package/dist/validators/imperative-body-detection.js.map +1 -1
- package/dist/validators/index.d.ts +1 -1
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +1 -1
- package/dist/validators/index.js.map +1 -1
- package/dist/validators/marketplace-validator.d.ts +3 -1
- package/dist/validators/marketplace-validator.d.ts.map +1 -1
- package/dist/validators/marketplace-validator.js +15 -6
- package/dist/validators/marketplace-validator.js.map +1 -1
- package/dist/validators/packaging-validator.d.ts +44 -3
- package/dist/validators/packaging-validator.d.ts.map +1 -1
- package/dist/validators/packaging-validator.js +130 -59
- package/dist/validators/packaging-validator.js.map +1 -1
- package/dist/validators/registry-validator.d.ts +5 -2
- package/dist/validators/registry-validator.d.ts.map +1 -1
- package/dist/validators/registry-validator.js +23 -9
- package/dist/validators/registry-validator.js.map +1 -1
- package/dist/validators/rule-engine/rule-engine.d.ts +15 -2
- package/dist/validators/rule-engine/rule-engine.d.ts.map +1 -1
- package/dist/validators/rule-engine/rule-engine.js +9 -0
- package/dist/validators/rule-engine/rule-engine.js.map +1 -1
- package/dist/validators/skill-validator.d.ts.map +1 -1
- package/dist/validators/skill-validator.js +50 -46
- package/dist/validators/skill-validator.js.map +1 -1
- package/dist/validators/types.d.ts +31 -1
- package/dist/validators/types.d.ts.map +1 -1
- package/dist/validators/unified-validator.d.ts +8 -3
- package/dist/validators/unified-validator.d.ts.map +1 -1
- package/dist/validators/unified-validator.js +44 -33
- package/dist/validators/unified-validator.js.map +1 -1
- package/dist/validators/validation-rules.d.ts +10 -0
- package/dist/validators/validation-rules.d.ts.map +1 -1
- package/dist/validators/validation-rules.js +14 -1
- package/dist/validators/validation-rules.js.map +1 -1
- package/dist/validators/validation-utils.d.ts +0 -8
- package/dist/validators/validation-utils.d.ts.map +1 -1
- package/dist/validators/validation-utils.js +0 -15
- package/dist/validators/validation-utils.js.map +1 -1
- package/dist/validators/walker-to-issues.d.ts +2 -2
- package/dist/validators/walker-to-issues.d.ts.map +1 -1
- package/dist/validators/walker-to-issues.js +15 -6
- package/dist/validators/walker-to-issues.js.map +1 -1
- package/dist/walk-link-graph.d.ts +12 -1
- package/dist/walk-link-graph.d.ts.map +1 -1
- package/dist/walk-link-graph.js +48 -23
- package/dist/walk-link-graph.js.map +1 -1
- package/package.json +5 -5
- package/dist/schemas/plugin-json.d.ts +0 -41
- package/dist/schemas/plugin-json.d.ts.map +0 -1
- package/dist/schemas/plugin-json.js +0 -18
- package/dist/schemas/plugin-json.js.map +0 -1
package/dist/files-config.d.ts
CHANGED
|
@@ -17,6 +17,18 @@ export interface FilesMatchResult {
|
|
|
17
17
|
/** The matching files entry */
|
|
18
18
|
entry: SkillFileEntry;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Normalize a relative path for comparison: forward slashes, no leading `./`.
|
|
22
|
+
* The path's ROOT is the caller's business; this only fixes the spelling.
|
|
23
|
+
*
|
|
24
|
+
* Exported because it is the spelling every `files:` dest returned by
|
|
25
|
+
* {@link applyFilesConfig} is normalized to, and that spelling must equal the one
|
|
26
|
+
* `checkUnreferencedFiles` computes for a packaged file
|
|
27
|
+
* (`toForwardSlash(safePath.relative(outputDir, file))`) — both are
|
|
28
|
+
* skill-output-relative. A silent mismatch there reads as "not declared in
|
|
29
|
+
* `files:` config" about a copy VAT performed itself.
|
|
30
|
+
*/
|
|
31
|
+
export declare function normalizeRelPath(p: string): string;
|
|
20
32
|
/**
|
|
21
33
|
* Merge defaults and per-skill files entries.
|
|
22
34
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files-config.d.ts","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAYpE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAapE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,+BAA+B;IAC/B,KAAK,EAAE,cAAc,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"files-config.d.ts","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAYpE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAapE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,+BAA+B;IAC/B,KAAK,EAAE,cAAc,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EAAE,GAAG,SAAS,EACtC,QAAQ,EAAE,cAAc,EAAE,GAAG,SAAS,GACrC,cAAc,EAAE,CA6ClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,cAAc,EAAE,GACtB,gBAAgB,GAAG,IAAI,CAiCzB;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9C,IAAI,CAgBN;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAyBf;AAwLD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYvF"}
|
package/dist/files-config.js
CHANGED
|
@@ -33,9 +33,17 @@ export function buildArtifactHint(source) {
|
|
|
33
33
|
return '';
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
* Normalize a path for comparison:
|
|
36
|
+
* Normalize a relative path for comparison: forward slashes, no leading `./`.
|
|
37
|
+
* The path's ROOT is the caller's business; this only fixes the spelling.
|
|
38
|
+
*
|
|
39
|
+
* Exported because it is the spelling every `files:` dest returned by
|
|
40
|
+
* {@link applyFilesConfig} is normalized to, and that spelling must equal the one
|
|
41
|
+
* `checkUnreferencedFiles` computes for a packaged file
|
|
42
|
+
* (`toForwardSlash(safePath.relative(outputDir, file))`) — both are
|
|
43
|
+
* skill-output-relative. A silent mismatch there reads as "not declared in
|
|
44
|
+
* `files:` config" about a copy VAT performed itself.
|
|
37
45
|
*/
|
|
38
|
-
function
|
|
46
|
+
export function normalizeRelPath(p) {
|
|
39
47
|
let normalized = toForwardSlash(p);
|
|
40
48
|
if (normalized.startsWith('./')) {
|
|
41
49
|
normalized = normalized.slice(2);
|
|
@@ -55,7 +63,7 @@ export function mergeFilesConfig(defaults, perSkill) {
|
|
|
55
63
|
if (perSkill) {
|
|
56
64
|
const destSet = new Set();
|
|
57
65
|
for (const entry of perSkill) {
|
|
58
|
-
const normalized =
|
|
66
|
+
const normalized = normalizeRelPath(entry.dest);
|
|
59
67
|
if (destSet.has(normalized)) {
|
|
60
68
|
throw new Error(`Duplicate dest in per-skill files config: '${entry.dest}'. ` +
|
|
61
69
|
`Each dest must be unique within a skill's files configuration.`);
|
|
@@ -75,12 +83,12 @@ export function mergeFilesConfig(defaults, perSkill) {
|
|
|
75
83
|
// Build a map of dest → entry from per-skill (these win)
|
|
76
84
|
const perSkillByDest = new Map();
|
|
77
85
|
for (const entry of perSkill) {
|
|
78
|
-
perSkillByDest.set(
|
|
86
|
+
perSkillByDest.set(normalizeRelPath(entry.dest), entry);
|
|
79
87
|
}
|
|
80
88
|
// Start with defaults that aren't overridden
|
|
81
89
|
const merged = [];
|
|
82
90
|
for (const defaultEntry of defaults) {
|
|
83
|
-
const normalizedDest =
|
|
91
|
+
const normalizedDest = normalizeRelPath(defaultEntry.dest);
|
|
84
92
|
if (!perSkillByDest.has(normalizedDest)) {
|
|
85
93
|
merged.push(defaultEntry);
|
|
86
94
|
}
|
|
@@ -106,7 +114,7 @@ export function mergeFilesConfig(defaults, perSkill) {
|
|
|
106
114
|
* @returns Match result or null if no match
|
|
107
115
|
*/
|
|
108
116
|
export function matchLinkToFiles(linkTarget, files) {
|
|
109
|
-
const normalized =
|
|
117
|
+
const normalized = normalizeRelPath(linkTarget);
|
|
110
118
|
/** True when `candidate` equals `normalized` or is a path-prefix of it. */
|
|
111
119
|
function isPrefixMatch(candidate) {
|
|
112
120
|
return normalized === candidate || normalized.startsWith(candidate + '/');
|
|
@@ -114,24 +122,24 @@ export function matchLinkToFiles(linkTarget, files) {
|
|
|
114
122
|
// Source match has priority (checked before dest across all entries)
|
|
115
123
|
for (const entry of files) {
|
|
116
124
|
if (isGlob(entry.source)) {
|
|
117
|
-
const base =
|
|
125
|
+
const base = normalizeRelPath(staticGlobBase(entry.source));
|
|
118
126
|
if (isPrefixMatch(base)) {
|
|
119
127
|
return { match: 'source', entry };
|
|
120
128
|
}
|
|
121
129
|
}
|
|
122
|
-
else if (
|
|
130
|
+
else if (normalizeRelPath(entry.source) === normalized) {
|
|
123
131
|
return { match: 'source', entry };
|
|
124
132
|
}
|
|
125
133
|
}
|
|
126
134
|
// Then check dest match
|
|
127
135
|
for (const entry of files) {
|
|
128
136
|
if (isGlob(entry.source)) {
|
|
129
|
-
const destBase =
|
|
137
|
+
const destBase = normalizeRelPath(entry.dest);
|
|
130
138
|
if (isPrefixMatch(destBase)) {
|
|
131
139
|
return { match: 'dest', entry };
|
|
132
140
|
}
|
|
133
141
|
}
|
|
134
|
-
else if (
|
|
142
|
+
else if (normalizeRelPath(entry.dest) === normalized) {
|
|
135
143
|
return { match: 'dest', entry };
|
|
136
144
|
}
|
|
137
145
|
}
|
|
@@ -224,7 +232,7 @@ async function copyNonGlobEntry(entry, absoluteSource, skillOutputDir) {
|
|
|
224
232
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- dest path from validated config
|
|
225
233
|
await mkdir(dirname(absoluteDest), { recursive: true });
|
|
226
234
|
await copyFile(absoluteSource, absoluteDest);
|
|
227
|
-
return { relDest: entry.dest, absSource: absoluteSource, absDest: absoluteDest };
|
|
235
|
+
return { relDest: normalizeRelPath(entry.dest), absSource: absoluteSource, absDest: absoluteDest };
|
|
228
236
|
}
|
|
229
237
|
/**
|
|
230
238
|
* Expand a glob entry, copy all matched files, and return copied rel-dest paths
|
|
@@ -261,7 +269,7 @@ async function copyGlobEntry(entry, projectRoot, skillOutputDir, bundledFileSet)
|
|
|
261
269
|
const absSource = safePath.joinUnderRoot(absoluteBase, rel);
|
|
262
270
|
if (bundledFileSet.has(toForwardSlash(absSource)))
|
|
263
271
|
continue;
|
|
264
|
-
const relDest =
|
|
272
|
+
const relDest = normalizeRelPath(safePath.join(entry.dest, rel));
|
|
265
273
|
const absDest = safePath.joinUnderRoot(skillOutputDir, entry.dest, rel);
|
|
266
274
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- dest path from validated config
|
|
267
275
|
await mkdir(dirname(absDest), { recursive: true });
|
|
@@ -281,7 +289,16 @@ async function copyGlobEntry(entry, projectRoot, skillOutputDir, bundledFileSet)
|
|
|
281
289
|
* Claude plugin marketplace build both call it, instead of the latter relying on
|
|
282
290
|
* an external inject script VAT can't see. `source` is resolved the same way the
|
|
283
291
|
* packager does (`resolve(join(projectRoot, source))`, so an absolute-looking
|
|
284
|
-
* source roots UNDER the project).
|
|
292
|
+
* source roots UNDER the project).
|
|
293
|
+
*
|
|
294
|
+
* Returns every skill-output-relative dest path this config accounts for, one per
|
|
295
|
+
* FILE (glob entries expanded), normalized via {@link normalizeRelPath} so each
|
|
296
|
+
* value compares equal to the path `checkUnreferencedFiles` computes for the
|
|
297
|
+
* packaged file. Callers must pass this to the post-build orphan check: a dest
|
|
298
|
+
* declared in `files:` is proof of intent, and a lane that doesn't know the list
|
|
299
|
+
* flags VAT's own copies as files the author forgot to document. An entry whose
|
|
300
|
+
* source was already materialized by link traversal is reported too — it is
|
|
301
|
+
* declared either way.
|
|
285
302
|
*
|
|
286
303
|
* Glob entries (`source` containing `*`, `?`, or `[`) expand late-bound at
|
|
287
304
|
* copy time: all matched files are rebased under `dest` preserving their
|
|
@@ -296,7 +313,7 @@ async function copyGlobEntry(entry, projectRoot, skillOutputDir, bundledFileSet)
|
|
|
296
313
|
* @throws if a declared `source` does not exist — a declared build artifact must
|
|
297
314
|
* be present at copy time (callers that defer existence validate it upstream).
|
|
298
315
|
*/
|
|
299
|
-
/** Copy + optionally integrity-check one GLOB `files:` entry; returns
|
|
316
|
+
/** Copy + optionally integrity-check one GLOB `files:` entry; returns its declared rel-dests. */
|
|
300
317
|
async function applyGlobFileEntry(fileEntry, opts, bundledFileSet) {
|
|
301
318
|
const { copied, pairs, rels } = await copyGlobEntry(fileEntry, opts.projectRoot, opts.skillOutputDir, bundledFileSet);
|
|
302
319
|
if (fileEntry.integrity === true) {
|
|
@@ -308,7 +325,7 @@ async function applyGlobFileEntry(fileEntry, opts, bundledFileSet) {
|
|
|
308
325
|
}
|
|
309
326
|
return copied;
|
|
310
327
|
}
|
|
311
|
-
/** Copy + optionally integrity-check one NON-GLOB `files:` entry; returns
|
|
328
|
+
/** Copy + optionally integrity-check one NON-GLOB `files:` entry; returns its declared rel-dests. */
|
|
312
329
|
async function applyNonGlobFileEntry(fileEntry, opts, bundledFileSet) {
|
|
313
330
|
const absoluteSource = safePath.resolve(safePath.join(opts.projectRoot, fileEntry.source));
|
|
314
331
|
if (bundledFileSet.has(toForwardSlash(absoluteSource))) {
|
|
@@ -322,7 +339,11 @@ async function applyNonGlobFileEntry(fileEntry, opts, bundledFileSet) {
|
|
|
322
339
|
const absDest = safePath.joinUnderRoot(opts.skillOutputDir, fileEntry.dest);
|
|
323
340
|
verifyFilesIntegrity([{ absSource: absoluteSource, absDest }]);
|
|
324
341
|
}
|
|
325
|
-
|
|
342
|
+
// The dest is still reported: this function answers "which output paths does
|
|
343
|
+
// `files:` account for," not "which bytes did I move." Whether link traversal
|
|
344
|
+
// or this copy put the file there is an ordering accident, and callers that
|
|
345
|
+
// ask "is this packaged file declared?" must not get a different answer for it.
|
|
346
|
+
return [normalizeRelPath(fileEntry.dest)];
|
|
326
347
|
}
|
|
327
348
|
const { relDest, absSource, absDest } = await copyNonGlobEntry(fileEntry, absoluteSource, opts.skillOutputDir);
|
|
328
349
|
if (fileEntry.integrity === true) {
|
package/dist/files-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files-config.js","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEzD,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,MAAM,oBAAoB,GACxB,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7E,IAAI,kBAAkB,IAAI,oBAAoB,EAAE,CAAC;QAC/C,OAAO,6FAA6F,CAAC;IACvG,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAUD
|
|
1
|
+
{"version":3,"file":"files-config.js","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
* Build, validate, and package agent skills in the Agent Skills format
|
|
4
4
|
*/
|
|
5
5
|
export { buildAgentSkill, type BuildOptions, type BuildResult } from './builder.js';
|
|
6
|
-
export { extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type PackagingTarget, type SkillBuildSpec, type SkillMetadata, } from './skill-packager.js';
|
|
6
|
+
export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type PackagingTarget, type SkillBuildSpec, type SkillMetadata, } from './skill-packager.js';
|
|
7
7
|
export { walkLinkGraph, type ExcludeRule, type LinkGraphResult, type LinkResolution, type WalkableRegistry, type WalkLinkGraphOptions, } from './walk-link-graph.js';
|
|
8
8
|
export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type TargetSubdirCategory, } from './content-type-routing.js';
|
|
9
9
|
export { applyFilesConfig, mergeFilesConfig, matchLinkToFiles, type ApplyFilesConfigOptions, type FilesMatchResult, } from './files-config.js';
|
|
10
10
|
export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, type AgentSkillFrontmatter, type VATAgentSkillFrontmatter, } from './schemas/agent-skill-frontmatter.js';
|
|
11
11
|
export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema, type MarketplaceManifest } from './schemas/marketplace-manifest.js';
|
|
12
|
-
export { PluginJsonSchema, type PluginJson } from './schemas/plugin-json.js';
|
|
13
12
|
export { parseFrontmatter, type FrontmatterResult, } from './parsers/frontmatter-parser.js';
|
|
14
13
|
export { readDeclaredSkillName } from './skill-identity.js';
|
|
15
|
-
export {
|
|
14
|
+
export { type AnchorRootOptions, resolveAnchorRoot } from './validators/anchor-root.js';
|
|
15
|
+
export { generateFixSuggestion } from './validators/validation-utils.js';
|
|
16
16
|
export { detectKebabCaseViolation, type KebabCaseSurface } from './validators/kebab-case-detection.js';
|
|
17
17
|
export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
|
|
18
18
|
export { deriveObservations, observationToIssue, runCompatDetectors, type DetectorOutput, } from './validators/compat-detectors.js';
|
|
@@ -20,7 +20,7 @@ export { validateMarketplace } from './validators/marketplace-validator.js';
|
|
|
20
20
|
export { validateSkill } from './validators/skill-validator.js';
|
|
21
21
|
export { validate, type UnifiedValidateOptions } from './validators/unified-validator.js';
|
|
22
22
|
export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
|
|
23
|
-
export { crawlAndResolveRegistry, validateSkillForPackaging, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, } from './validators/packaging-validator.js';
|
|
23
|
+
export { crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, } from './validators/packaging-validator.js';
|
|
24
24
|
export { createIssue, NAVIGATION_FILE_PATTERNS, VALIDATION_RULES, VALIDATION_THRESHOLDS, type RuleCategory, type ValidationRule, type ValidationRuleCode, } from './validators/validation-rules.js';
|
|
25
25
|
export type { ValidationResult, ValidateOptions, ResourceFormat, Surface, } from './validators/types.js';
|
|
26
26
|
export { importSkillToAgent, type ImportOptions, type ImportResult, } from './import.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,+BAA+B,EAC/B,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAEvI,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,+BAA+B,EAC/B,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAEvI,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,GAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,OAAO,GACR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAC5G,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxF,YAAY,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,UAAU,IAAI,mBAAmB,EACjC,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,iCAAiC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
* Build, validate, and package agent skills in the Agent Skills format
|
|
4
4
|
*/
|
|
5
5
|
export { buildAgentSkill } from './builder.js';
|
|
6
|
-
export { extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, } from './skill-packager.js';
|
|
6
|
+
export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, } from './skill-packager.js';
|
|
7
7
|
export { walkLinkGraph, } from './walk-link-graph.js';
|
|
8
8
|
export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
|
|
9
9
|
export { applyFilesConfig, mergeFilesConfig, matchLinkToFiles, } from './files-config.js';
|
|
10
10
|
export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, } from './schemas/agent-skill-frontmatter.js';
|
|
11
11
|
export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema } from './schemas/marketplace-manifest.js';
|
|
12
|
-
export { PluginJsonSchema } from './schemas/plugin-json.js';
|
|
13
12
|
export { parseFrontmatter, } from './parsers/frontmatter-parser.js';
|
|
14
13
|
export { readDeclaredSkillName } from './skill-identity.js';
|
|
15
|
-
export {
|
|
14
|
+
export { resolveAnchorRoot } from './validators/anchor-root.js';
|
|
15
|
+
export { generateFixSuggestion } from './validators/validation-utils.js';
|
|
16
16
|
export { detectKebabCaseViolation } from './validators/kebab-case-detection.js';
|
|
17
17
|
export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
|
|
18
18
|
export { deriveObservations, observationToIssue, runCompatDetectors, } from './validators/compat-detectors.js';
|
|
@@ -20,7 +20,7 @@ export { validateMarketplace } from './validators/marketplace-validator.js';
|
|
|
20
20
|
export { validateSkill } from './validators/skill-validator.js';
|
|
21
21
|
export { validate } from './validators/unified-validator.js';
|
|
22
22
|
export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
|
|
23
|
-
export { crawlAndResolveRegistry, validateSkillForPackaging, } from './validators/packaging-validator.js';
|
|
23
|
+
export { crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, } from './validators/packaging-validator.js';
|
|
24
24
|
export { createIssue, NAVIGATION_FILE_PATTERNS, VALIDATION_RULES, VALIDATION_THRESHOLDS, } from './validators/validation-rules.js';
|
|
25
25
|
export { importSkillToAgent, } from './import.js';
|
|
26
26
|
// Skill source primitives
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAuC,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,+BAA+B,EAC/B,iBAAiB,GAMlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,GAMd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAA4B,MAAM,mCAAmC,CAAC;AAEvI,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAuC,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,+BAA+B,EAC/B,iBAAiB,GAMlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,GAMd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAA4B,MAAM,mCAAmC,CAAC;AAEvI,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAA0B,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAyB,MAAM,sCAAsC,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAA+B,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GAK1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GAItB,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,EACL,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AAErB,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAuB,MAAM,6BAA6B,CAAC;AAElF,8CAA8C;AAC9C,OAAO,EAAE,kBAAkB,EAAkC,MAAM,wCAAwC,CAAC;AAgB5G,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAoB7B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,GAElB,MAAM,iCAAiC,CAAC"}
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
9
9
|
import type { PluginInventory } from '../types.js';
|
|
10
|
-
export declare function detectDeclaredButMissing(inv: PluginInventory): ValidationIssue[];
|
|
10
|
+
export declare function detectDeclaredButMissing(inv: PluginInventory, locationRoot: string): ValidationIssue[];
|
|
11
11
|
//# sourceMappingURL=declared-but-missing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declared-but-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/declared-but-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"declared-but-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/declared-but-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAoBtG"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* ValidationIssue for each declared component path that does not exist on
|
|
6
6
|
* disk. Covers all seven component fields in the manifest.
|
|
7
7
|
*/
|
|
8
|
+
import { issueLocation, safePath } from '@vibe-agent-toolkit/utils';
|
|
8
9
|
const FIELDS = [
|
|
9
10
|
'skills',
|
|
10
11
|
'commands',
|
|
@@ -14,8 +15,10 @@ const FIELDS = [
|
|
|
14
15
|
'outputStyles',
|
|
15
16
|
'lspServers',
|
|
16
17
|
];
|
|
17
|
-
export function detectDeclaredButMissing(inv) {
|
|
18
|
+
export function detectDeclaredButMissing(inv, locationRoot) {
|
|
18
19
|
const issues = [];
|
|
20
|
+
// Anchor contract: `location` is a project-relative POSIX path.
|
|
21
|
+
const manifestLocation = issueLocation(safePath.join(inv.path, '.claude-plugin', 'plugin.json'), locationRoot);
|
|
19
22
|
for (const field of FIELDS) {
|
|
20
23
|
const list = inv.declared[field];
|
|
21
24
|
if (list === null)
|
|
@@ -26,7 +29,7 @@ export function detectDeclaredButMissing(inv) {
|
|
|
26
29
|
severity: 'warning',
|
|
27
30
|
code: 'COMPONENT_DECLARED_BUT_MISSING',
|
|
28
31
|
message: `Manifest declares ${field}: "${ref.manifestPath}" but the path does not exist on disk.`,
|
|
29
|
-
location:
|
|
32
|
+
location: manifestLocation,
|
|
30
33
|
fix: 'Add the missing file, remove the declaration, or correct the path.',
|
|
31
34
|
});
|
|
32
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declared-but-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/declared-but-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"declared-but-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/declared-but-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKpE,MAAM,MAAM,GAAqB;IAChC,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,cAAc;IACd,YAAY;CACZ,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,GAAoB,EAAE,YAAoB;IAClF,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,YAAY,CAAC,CAAC;IAC/G,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,gCAAgC;oBACtC,OAAO,EAAE,qBAAqB,KAAK,MAAM,GAAG,CAAC,YAAY,wCAAwC;oBACjG,QAAQ,EAAE,gBAAgB;oBAC1B,GAAG,EAAE,oEAAoE;iBACzE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
10
10
|
import type { MarketplaceInventory } from '../types.js';
|
|
11
|
-
export declare function detectMarketplacePluginSourceMissing(inv: MarketplaceInventory): ValidationIssue[];
|
|
11
|
+
export declare function detectMarketplacePluginSourceMissing(inv: MarketplaceInventory, locationRoot: string): ValidationIssue[];
|
|
12
12
|
//# sourceMappingURL=marketplace-source-missing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace-source-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/marketplace-source-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"marketplace-source-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/marketplace-source-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAUvH"}
|
|
@@ -6,14 +6,15 @@
|
|
|
6
6
|
* path does not exist on disk. Git/npm/unknown source types are out of scope
|
|
7
7
|
* and are silently skipped.
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
import { issueLocation } from '@vibe-agent-toolkit/utils';
|
|
10
|
+
export function detectMarketplacePluginSourceMissing(inv, locationRoot) {
|
|
10
11
|
return inv.declared.plugins
|
|
11
12
|
.filter(p => p.source === 'path' && !p.exists)
|
|
12
13
|
.map(p => ({
|
|
13
14
|
severity: 'error',
|
|
14
15
|
code: 'MARKETPLACE_PLUGIN_SOURCE_MISSING',
|
|
15
16
|
message: `Marketplace declares plugin with source "${p.manifestPath}" but the path does not exist.`,
|
|
16
|
-
location: p.resolvedPath,
|
|
17
|
+
location: issueLocation(p.resolvedPath, locationRoot),
|
|
17
18
|
fix: 'Correct the source path or remove the entry from marketplace.plugins[].',
|
|
18
19
|
}));
|
|
19
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace-source-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/marketplace-source-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"marketplace-source-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/marketplace-source-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,MAAM,UAAU,oCAAoC,CAAC,GAAyB,EAAE,YAAoB;IACnG,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACV,QAAQ,EAAE,OAAgB;QAC1B,IAAI,EAAE,mCAA4C;QAClD,OAAO,EAAE,4CAA4C,CAAC,CAAC,YAAY,gCAAgC;QACnG,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC;QACrD,GAAG,EAAE,yEAAyE;KAC9E,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
11
11
|
import type { PluginInventory } from '../types.js';
|
|
12
|
-
export declare function detectPresentButUndeclared(inv: PluginInventory): ValidationIssue[];
|
|
12
|
+
export declare function detectPresentButUndeclared(inv: PluginInventory, locationRoot: string): ValidationIssue[];
|
|
13
13
|
//# sourceMappingURL=present-but-undeclared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present-but-undeclared.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/present-but-undeclared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"present-but-undeclared.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/present-but-undeclared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,aAAa,CAAC;AAEjE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAMxG"}
|
|
@@ -7,41 +7,43 @@
|
|
|
7
7
|
* declares an explicit list (including []) — omitting the field entirely
|
|
8
8
|
* means auto-discovery is intentional and this detector is silent.
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
import { issueLocation } from '@vibe-agent-toolkit/utils';
|
|
11
|
+
export function detectPresentButUndeclared(inv, locationRoot) {
|
|
11
12
|
const issues = [];
|
|
12
|
-
checkSkills(inv, issues);
|
|
13
|
-
checkRefList('commands', inv.discovered.commands, inv.declared.commands, issues);
|
|
14
|
-
checkRefList('agents', inv.discovered.agents, inv.declared.agents, issues);
|
|
13
|
+
checkSkills(inv, locationRoot, issues);
|
|
14
|
+
checkRefList('commands', inv.discovered.commands, inv.declared.commands, locationRoot, issues);
|
|
15
|
+
checkRefList('agents', inv.discovered.agents, inv.declared.agents, locationRoot, issues);
|
|
15
16
|
return issues;
|
|
16
17
|
}
|
|
17
|
-
function checkSkills(inv, issues) {
|
|
18
|
+
function checkSkills(inv, locationRoot, issues) {
|
|
18
19
|
const declared = inv.declared.skills;
|
|
19
20
|
if (declared === null)
|
|
20
21
|
return; // auto-discovery intentional
|
|
21
22
|
const declaredResolved = new Set(declared.map(d => d.resolvedPath));
|
|
22
23
|
for (const skill of inv.discovered.skills) {
|
|
23
24
|
if (!declaredResolved.has(skill.path)) {
|
|
24
|
-
issues.push(makeIssue('skills', skill.path));
|
|
25
|
+
issues.push(makeIssue('skills', skill.path, locationRoot));
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
function checkRefList(field, discovered, declared, issues) {
|
|
29
|
+
function checkRefList(field, discovered, declared, locationRoot, issues) {
|
|
29
30
|
if (declared === null)
|
|
30
31
|
return;
|
|
31
32
|
const declaredResolved = new Set(declared.map(d => d.resolvedPath));
|
|
32
33
|
for (const ref of discovered) {
|
|
33
34
|
if (!declaredResolved.has(ref.resolvedPath)) {
|
|
34
|
-
issues.push(makeIssue(field, ref.resolvedPath));
|
|
35
|
+
issues.push(makeIssue(field, ref.resolvedPath, locationRoot));
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
function makeIssue(field, filePath) {
|
|
39
|
+
function makeIssue(field, filePath, locationRoot) {
|
|
40
|
+
const location = issueLocation(filePath, locationRoot);
|
|
39
41
|
return {
|
|
40
42
|
severity: 'info',
|
|
41
43
|
code: 'COMPONENT_PRESENT_BUT_UNDECLARED',
|
|
42
|
-
message: `${field}: "${
|
|
43
|
-
location
|
|
44
|
-
fix: `Add ${
|
|
44
|
+
message: `${field}: "${location}" is on disk but the manifest declares an explicit ${field} list that omits it.`,
|
|
45
|
+
location,
|
|
46
|
+
fix: `Add ${location} to the manifest's "${field}" field, or remove the file.`,
|
|
45
47
|
};
|
|
46
48
|
}
|
|
47
49
|
//# sourceMappingURL=present-but-undeclared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present-but-undeclared.js","sourceRoot":"","sources":["../../../src/inventory/detectors/present-but-undeclared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"present-but-undeclared.js","sourceRoot":"","sources":["../../../src/inventory/detectors/present-but-undeclared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,MAAM,UAAU,0BAA0B,CAAC,GAAoB,EAAE,YAAoB;IACpF,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACvC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC/F,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACzF,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB,EAAE,YAAoB,EAAE,MAAyB;IACzF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;IACrC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,6BAA6B;IAC5D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CACpB,KAA4B,EAC5B,UAA0B,EAC1B,QAA+B,EAC/B,YAAoB,EACpB,MAAyB;IAEzB,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB,EAAE,YAAoB;IACvE,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO;QACN,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,GAAG,KAAK,MAAM,QAAQ,sDAAsD,KAAK,sBAAsB;QAChH,QAAQ;QACR,GAAG,EAAE,OAAO,QAAQ,uBAAuB,KAAK,8BAA8B;KAC9E,CAAC;AACH,CAAC"}
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
9
9
|
import type { PluginInventory } from '../types.js';
|
|
10
|
-
export declare function detectReferenceTargetMissing(inv: PluginInventory): ValidationIssue[];
|
|
10
|
+
export declare function detectReferenceTargetMissing(inv: PluginInventory, locationRoot: string): ValidationIssue[];
|
|
11
11
|
//# sourceMappingURL=reference-target-missing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-target-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/reference-target-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"reference-target-missing.d.ts","sourceRoot":"","sources":["../../../src/inventory/detectors/reference-target-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,eAAe,EACpB,YAAY,EAAE,MAAM,GAClB,eAAe,EAAE,CA2BnB"}
|
|
@@ -5,15 +5,30 @@
|
|
|
5
5
|
* ValidationIssue for each cross-component reference in the manifest that
|
|
6
6
|
* resolves to a path that does not exist on disk.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
import { issueLocation, safePath } from '@vibe-agent-toolkit/utils';
|
|
9
|
+
export function detectReferenceTargetMissing(inv, locationRoot) {
|
|
10
|
+
// Three anchors, three genuinely different things — packing any two of them
|
|
11
|
+
// into one string is what this detector used to do:
|
|
12
|
+
// location — the manifest you open to fix it
|
|
13
|
+
// field — `ResolvedReference.from`, which is ALREADY a dotted manifest
|
|
14
|
+
// pointer ("hooks[0].script"), never a filesystem path
|
|
15
|
+
// link — the target that does not exist, so emphatically NOT the
|
|
16
|
+
// location: naming a nonexistent path as "where to look" is
|
|
17
|
+
// advice you cannot follow
|
|
18
|
+
const manifestLocation = issueLocation(safePath.join(inv.path, '.claude-plugin', 'plugin.json'), locationRoot);
|
|
9
19
|
return inv.references
|
|
10
20
|
.filter(ref => !ref.exists)
|
|
11
|
-
.map(ref =>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
.map(ref => {
|
|
22
|
+
const target = issueLocation(ref.to, locationRoot);
|
|
23
|
+
return {
|
|
24
|
+
severity: 'error',
|
|
25
|
+
code: 'REFERENCE_TARGET_MISSING',
|
|
26
|
+
message: `Reference at ${ref.from} resolves to "${target}" which does not exist.`,
|
|
27
|
+
location: manifestLocation,
|
|
28
|
+
field: ref.from,
|
|
29
|
+
link: target,
|
|
30
|
+
fix: 'Add the referenced file or correct the path in the manifest.',
|
|
31
|
+
};
|
|
32
|
+
});
|
|
18
33
|
}
|
|
19
34
|
//# sourceMappingURL=reference-target-missing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-target-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/reference-target-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"reference-target-missing.js","sourceRoot":"","sources":["../../../src/inventory/detectors/reference-target-missing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAIpE,MAAM,UAAU,4BAA4B,CAC3C,GAAoB,EACpB,YAAoB;IAEpB,4EAA4E;IAC5E,oDAAoD;IACpD,+CAA+C;IAC/C,4EAA4E;IAC5E,oEAAoE;IACpE,uEAAuE;IACvE,yEAAyE;IACzE,wCAAwC;IACxC,MAAM,gBAAgB,GAAG,aAAa,CACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACxD,YAAY,CACZ,CAAC;IACF,OAAO,GAAG,CAAC,UAAU;SACnB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;SAC1B,GAAG,CAAC,GAAG,CAAC,EAAE;QACV,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACnD,OAAO;YACN,QAAQ,EAAE,OAAgB;YAC1B,IAAI,EAAE,0BAAmC;YACzC,OAAO,EAAE,gBAAgB,GAAG,CAAC,IAAI,iBAAiB,MAAM,yBAAyB;YACjF,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,GAAG,CAAC,IAAI;YACf,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,8DAA8D;SACnE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
|
-
import type { AnyInventory } from './types.js';
|
|
1
|
+
import type { AnyInventory, InstallInventory, MarketplaceInventory, PluginInventory } from './types.js';
|
|
2
2
|
export declare const INVENTORY_SCHEMA_VERSION = "vat.inventory/v1alpha";
|
|
3
3
|
type Format = 'yaml' | 'json';
|
|
4
|
+
type ShallowPluginInventory = Omit<PluginInventory, 'discovered'> & {
|
|
5
|
+
discovered: Omit<PluginInventory['discovered'], 'skills'> & {
|
|
6
|
+
skills: null;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
type ShallowMarketplaceInventory = Omit<MarketplaceInventory, 'discovered'> & {
|
|
10
|
+
discovered: {
|
|
11
|
+
plugins: null;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
type ShallowInstallInventory = Omit<InstallInventory, 'marketplaces' | 'plugins'> & {
|
|
15
|
+
marketplaces: ShallowMarketplaceInventory[];
|
|
16
|
+
plugins: ShallowPluginInventory[];
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* An inventory as projected for serialization. Structurally an inventory, except
|
|
20
|
+
* that lists the projection skipped are {@link NotWalked} rather than empty.
|
|
21
|
+
*/
|
|
22
|
+
export type ShallowInventory = ShallowMarketplaceInventory | ShallowPluginInventory | ShallowInstallInventory | AnyInventory;
|
|
4
23
|
/**
|
|
5
24
|
* Serialize an inventory with a top-level schema discriminator.
|
|
6
25
|
*
|
|
@@ -11,11 +30,15 @@ export declare function serializeInventory(inv: AnyInventory, format?: Format):
|
|
|
11
30
|
/**
|
|
12
31
|
* Shallow projection: keep top-level structure but drop transitive nesting.
|
|
13
32
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
33
|
+
* Every list the projection skips is emitted as `null` — NOT as `[]` — and the
|
|
34
|
+
* document carries a top-level `projection: shallow` marker, so a consumer can
|
|
35
|
+
* tell an unwalked list from an empty one both per-field and document-wide.
|
|
36
|
+
*
|
|
37
|
+
* - Plugin → `discovered.skills: null` (the skills list is preserved as
|
|
38
|
+
* ComponentRefs in `declared.skills` if the manifest declared them).
|
|
39
|
+
* - Marketplace → `discovered.plugins: null`.
|
|
17
40
|
* - Install → each marketplace and plugin shallow-projected (their own
|
|
18
|
-
* discovered children
|
|
41
|
+
* discovered children unwalked, but path/manifest/declared kept).
|
|
19
42
|
*
|
|
20
43
|
* Use case: tooling that wants top-level structure without the bulk.
|
|
21
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/inventory/serialize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/inventory/serialize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExG,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAa9B,KAAK,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;IACnE,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF,KAAK,2BAA2B,GAAG,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,GAAG;IAC7E,UAAU,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;CAC9B,CAAC;AAEF,KAAK,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,SAAS,CAAC,GAAG;IACnF,YAAY,EAAE,2BAA2B,EAAE,CAAC;IAC5C,OAAO,EAAE,sBAAsB,EAAE,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACzB,2BAA2B,GAC3B,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,CAAC;AAEhB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,GAAE,MAAe,GAAG,MAAM,CAErF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,GAAE,MAAe,GAAG,MAAM,CAK5F"}
|