@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.
Files changed (117) hide show
  1. package/dist/files-config.d.ts +12 -0
  2. package/dist/files-config.d.ts.map +1 -1
  3. package/dist/files-config.js +37 -16
  4. package/dist/files-config.js.map +1 -1
  5. package/dist/index.d.ts +4 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -4
  8. package/dist/index.js.map +1 -1
  9. package/dist/inventory/detectors/declared-but-missing.d.ts +1 -1
  10. package/dist/inventory/detectors/declared-but-missing.d.ts.map +1 -1
  11. package/dist/inventory/detectors/declared-but-missing.js +5 -2
  12. package/dist/inventory/detectors/declared-but-missing.js.map +1 -1
  13. package/dist/inventory/detectors/marketplace-source-missing.d.ts +1 -1
  14. package/dist/inventory/detectors/marketplace-source-missing.d.ts.map +1 -1
  15. package/dist/inventory/detectors/marketplace-source-missing.js +3 -2
  16. package/dist/inventory/detectors/marketplace-source-missing.js.map +1 -1
  17. package/dist/inventory/detectors/present-but-undeclared.d.ts +1 -1
  18. package/dist/inventory/detectors/present-but-undeclared.d.ts.map +1 -1
  19. package/dist/inventory/detectors/present-but-undeclared.js +14 -12
  20. package/dist/inventory/detectors/present-but-undeclared.js.map +1 -1
  21. package/dist/inventory/detectors/reference-target-missing.d.ts +1 -1
  22. package/dist/inventory/detectors/reference-target-missing.d.ts.map +1 -1
  23. package/dist/inventory/detectors/reference-target-missing.js +23 -8
  24. package/dist/inventory/detectors/reference-target-missing.js.map +1 -1
  25. package/dist/inventory/serialize.d.ts +28 -5
  26. package/dist/inventory/serialize.d.ts.map +1 -1
  27. package/dist/inventory/serialize.js +19 -16
  28. package/dist/inventory/serialize.js.map +1 -1
  29. package/dist/plugin-distribution-layout.d.ts.map +1 -1
  30. package/dist/plugin-distribution-layout.js +2 -3
  31. package/dist/plugin-distribution-layout.js.map +1 -1
  32. package/dist/post-build-checks.d.ts +16 -1
  33. package/dist/post-build-checks.d.ts.map +1 -1
  34. package/dist/post-build-checks.js +22 -2
  35. package/dist/post-build-checks.js.map +1 -1
  36. package/dist/schemas/index.d.ts +0 -1
  37. package/dist/schemas/index.d.ts.map +1 -1
  38. package/dist/schemas/index.js +0 -1
  39. package/dist/schemas/index.js.map +1 -1
  40. package/dist/skill-packager.d.ts +19 -0
  41. package/dist/skill-packager.d.ts.map +1 -1
  42. package/dist/skill-packager.js +35 -16
  43. package/dist/skill-packager.js.map +1 -1
  44. package/dist/test-input.d.ts +4 -3
  45. package/dist/test-input.d.ts.map +1 -1
  46. package/dist/test-input.js +6 -5
  47. package/dist/test-input.js.map +1 -1
  48. package/dist/validators/anchor-root.d.ts +35 -0
  49. package/dist/validators/anchor-root.d.ts.map +1 -0
  50. package/dist/validators/anchor-root.js +14 -0
  51. package/dist/validators/anchor-root.js.map +1 -0
  52. package/dist/validators/bundled-resource-link-detection.d.ts +2 -1
  53. package/dist/validators/bundled-resource-link-detection.d.ts.map +1 -1
  54. package/dist/validators/bundled-resource-link-detection.js +4 -3
  55. package/dist/validators/bundled-resource-link-detection.js.map +1 -1
  56. package/dist/validators/cross-skill-dependency-detection.d.ts +2 -1
  57. package/dist/validators/cross-skill-dependency-detection.d.ts.map +1 -1
  58. package/dist/validators/cross-skill-dependency-detection.js +8 -4
  59. package/dist/validators/cross-skill-dependency-detection.js.map +1 -1
  60. package/dist/validators/frontmatter-validation.d.ts +6 -2
  61. package/dist/validators/frontmatter-validation.d.ts.map +1 -1
  62. package/dist/validators/frontmatter-validation.js +36 -20
  63. package/dist/validators/frontmatter-validation.js.map +1 -1
  64. package/dist/validators/imperative-body-detection.d.ts +5 -0
  65. package/dist/validators/imperative-body-detection.d.ts.map +1 -1
  66. package/dist/validators/imperative-body-detection.js +7 -1
  67. package/dist/validators/imperative-body-detection.js.map +1 -1
  68. package/dist/validators/index.d.ts +1 -1
  69. package/dist/validators/index.d.ts.map +1 -1
  70. package/dist/validators/index.js +1 -1
  71. package/dist/validators/index.js.map +1 -1
  72. package/dist/validators/marketplace-validator.d.ts +3 -1
  73. package/dist/validators/marketplace-validator.d.ts.map +1 -1
  74. package/dist/validators/marketplace-validator.js +15 -6
  75. package/dist/validators/marketplace-validator.js.map +1 -1
  76. package/dist/validators/packaging-validator.d.ts +44 -3
  77. package/dist/validators/packaging-validator.d.ts.map +1 -1
  78. package/dist/validators/packaging-validator.js +130 -59
  79. package/dist/validators/packaging-validator.js.map +1 -1
  80. package/dist/validators/registry-validator.d.ts +5 -2
  81. package/dist/validators/registry-validator.d.ts.map +1 -1
  82. package/dist/validators/registry-validator.js +23 -9
  83. package/dist/validators/registry-validator.js.map +1 -1
  84. package/dist/validators/rule-engine/rule-engine.d.ts +15 -2
  85. package/dist/validators/rule-engine/rule-engine.d.ts.map +1 -1
  86. package/dist/validators/rule-engine/rule-engine.js +9 -0
  87. package/dist/validators/rule-engine/rule-engine.js.map +1 -1
  88. package/dist/validators/skill-validator.d.ts.map +1 -1
  89. package/dist/validators/skill-validator.js +50 -46
  90. package/dist/validators/skill-validator.js.map +1 -1
  91. package/dist/validators/types.d.ts +31 -1
  92. package/dist/validators/types.d.ts.map +1 -1
  93. package/dist/validators/unified-validator.d.ts +8 -3
  94. package/dist/validators/unified-validator.d.ts.map +1 -1
  95. package/dist/validators/unified-validator.js +44 -33
  96. package/dist/validators/unified-validator.js.map +1 -1
  97. package/dist/validators/validation-rules.d.ts +10 -0
  98. package/dist/validators/validation-rules.d.ts.map +1 -1
  99. package/dist/validators/validation-rules.js +14 -1
  100. package/dist/validators/validation-rules.js.map +1 -1
  101. package/dist/validators/validation-utils.d.ts +0 -8
  102. package/dist/validators/validation-utils.d.ts.map +1 -1
  103. package/dist/validators/validation-utils.js +0 -15
  104. package/dist/validators/validation-utils.js.map +1 -1
  105. package/dist/validators/walker-to-issues.d.ts +2 -2
  106. package/dist/validators/walker-to-issues.d.ts.map +1 -1
  107. package/dist/validators/walker-to-issues.js +15 -6
  108. package/dist/validators/walker-to-issues.js.map +1 -1
  109. package/dist/walk-link-graph.d.ts +12 -1
  110. package/dist/walk-link-graph.d.ts.map +1 -1
  111. package/dist/walk-link-graph.js +48 -23
  112. package/dist/walk-link-graph.js.map +1 -1
  113. package/package.json +5 -5
  114. package/dist/schemas/plugin-json.d.ts +0 -41
  115. package/dist/schemas/plugin-json.d.ts.map +0 -1
  116. package/dist/schemas/plugin-json.js +0 -18
  117. package/dist/schemas/plugin-json.js.map +0 -1
@@ -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;AAaD;;;;;;;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;AA2KD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYvF"}
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"}
@@ -33,9 +33,17 @@ export function buildArtifactHint(source) {
33
33
  return '';
34
34
  }
35
35
  /**
36
- * Normalize a path for comparison: strip leading ./ and normalize slashes.
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 normalizePath(p) {
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 = normalizePath(entry.dest);
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(normalizePath(entry.dest), entry);
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 = normalizePath(defaultEntry.dest);
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 = normalizePath(linkTarget);
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 = normalizePath(staticGlobBase(entry.source));
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 (normalizePath(entry.source) === normalized) {
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 = normalizePath(entry.dest);
137
+ const destBase = normalizeRelPath(entry.dest);
130
138
  if (isPrefixMatch(destBase)) {
131
139
  return { match: 'dest', entry };
132
140
  }
133
141
  }
134
- else if (normalizePath(entry.dest) === normalized) {
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 = toForwardSlash(safePath.join(entry.dest, rel));
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). Returns the dest paths actually copied.
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 the copied rel-dests. */
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 the copied rel-dests. */
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
- return [];
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"files-config.js","sourceRoot":"","sources":["../src/files-config.ts"],"names":[],"mappings":"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"}
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;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,IAAI,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAsC,EACtC,QAAsC;IAEtC,wCAAwC;IACxC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,8CAA8C,KAAK,CAAC,IAAI,KAAK;oBAC7D,gEAAgE,CACjE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,QAAQ,IAAI,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,yDAAyD;IACzD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,6CAA6C;IAC7C,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAEzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAkB,EAClB,KAAuB;IAEvB,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEhD,2EAA2E;IAC3E,SAAS,aAAa,CAAC,SAAiB;QACtC,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,qEAAqE;IACrE,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACzD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACvD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA+C;IAE/C,KAAK,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;QAC3C,kGAAkG;QAClG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,sDAAsD,cAAc,CAAC,OAAO,CAAC,EAAE,CAChF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,6DAA6D,cAAc,CAAC,OAAO,CAAC,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,WAAqB,EACrB,MAAc;IAEd,6EAA6E;IAC7E,wEAAwE;IACxE,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,4BAA4B,GAAG,iBAAiB,cAAc,CAAC,OAAO,CAAC,GAAG,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,4BAA4B,GAAG,iBAAiB,cAAc,CAAC,OAAO,CAAC,GAAG,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAC7B,KAAqB,EACrB,cAAsB,EACtB,cAAsB;IAEtB,wGAAwG;IACxG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,CAAC,MAAM,iCAAiC,cAAc,KAAK,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CACpH,CAAC;IACJ,CAAC;IACD,wGAAwG;IACxG,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,CAAC,MAAM,sCAAsC,KAAK,CAAC,MAAM,8BAA8B,CAC/G,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,sGAAsG;IACtG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACrG,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAC1B,KAAqB,EACrB,WAAmB,EACnB,cAAsB,EACtB,cAA2B;IAE3B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,4EAA4E;IAC5E,+EAA+E;IAC/E,4EAA4E;IAC5E,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,CAAC,MAAM,qDAAqD,SAAS,MAAM;YAClG,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAExE,8EAA8E;IAC9E,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,CAAC,MAAM,mCAAmC,YAAY,wBAAwB,CACtG,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAA6C,EAAE,CAAC;IAC3D,4EAA4E;IAC5E,8EAA8E;IAC9E,mDAAmD;IACnD,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,8EAA8E;QAC9E,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAAE,SAAS;QAE5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAExE,sGAAsG;QACtG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,iGAAiG;AACjG,KAAK,UAAU,kBAAkB,CAC/B,SAAyB,EACzB,IAA6B,EAC7B,cAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CACjD,SAAS,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,cAAc,CACf,CAAC;IACF,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QACjC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,6EAA6E;QAC7E,8EAA8E;QAC9E,4DAA4D;QAC5D,MAAM,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qGAAqG;AACrG,KAAK,UAAU,qBAAqB,CAClC,SAAyB,EACzB,IAA6B,EAC7B,cAA2B;IAE3B,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,IAAI,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACvD,4EAA4E;QAC5E,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,sBAAsB;QACtB,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5E,oBAAoB,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,gFAAgF;QAChF,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/G,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QACjC,oBAAoB,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA6B;IAClE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC;YAC3D,CAAC,CAAC,MAAM,qBAAqB,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
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 { calculateValidationStatus, generateFixSuggestion } from './validators/validation-utils.js';
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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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 { calculateValidationStatus, generateFixSuggestion } from './validators/validation-utils.js';
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,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACpG,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,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"}
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;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,EAAE,CAkBhF"}
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: `${inv.path}/.claude-plugin/plugin.json`,
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;AAOH,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;IAC5D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,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,GAAG,GAAG,CAAC,IAAI,6BAA6B;oBAClD,GAAG,EAAE,oEAAoE;iBACzE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
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;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,oBAAoB,GAAG,eAAe,EAAE,CAUjG"}
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
- export function detectMarketplacePluginSourceMissing(inv) {
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;AAMH,MAAM,UAAU,oCAAoC,CAAC,GAAyB;IAC7E,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,CAAC,CAAC,YAAY;QACxB,GAAG,EAAE,yEAAyE;KAC9E,CAAC,CAAC,CAAC;AACN,CAAC"}
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;AAExE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,aAAa,CAAC;AAEjE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,EAAE,CAMlF"}
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
- export function detectPresentButUndeclared(inv) {
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}: "${filePath}" is on disk but the manifest declares an explicit ${field} list that omits it.`,
43
- location: filePath,
44
- fix: `Add ${filePath} to the manifest's "${field}" field, or remove the file.`,
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;AAMH,MAAM,UAAU,0BAA0B,CAAC,GAAoB;IAC9D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACzB,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjF,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB,EAAE,MAAyB;IACnE,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,CAAC,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CACpB,KAA4B,EAC5B,UAA0B,EAC1B,QAA+B,EAC/B,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,CAAC,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB;IACjD,OAAO;QACN,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,GAAG,KAAK,MAAM,QAAQ,sDAAsD,KAAK,sBAAsB;QAChH,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,OAAO,QAAQ,uBAAuB,KAAK,8BAA8B;KAC9E,CAAC;AACH,CAAC"}
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;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,EAAE,CAUpF"}
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
- export function detectReferenceTargetMissing(inv) {
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
- severity: 'error',
13
- code: 'REFERENCE_TARGET_MISSING',
14
- message: `Reference at ${ref.from} resolves to "${ref.to}" which does not exist.`,
15
- location: ref.to,
16
- fix: 'Add the referenced file or correct the path in the manifest.',
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;AAMH,MAAM,UAAU,4BAA4B,CAAC,GAAoB;IAChE,OAAO,GAAG,CAAC,UAAU;SACnB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;SAC1B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,QAAQ,EAAE,OAAgB;QAC1B,IAAI,EAAE,0BAAmC;QACzC,OAAO,EAAE,gBAAgB,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,EAAE,yBAAyB;QACjF,QAAQ,EAAE,GAAG,CAAC,EAAE;QAChB,GAAG,EAAE,8DAA8D;KACnE,CAAC,CAAC,CAAC;AACN,CAAC"}
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
- * - Plugin → discovered.skills replaced with [] (the skills list is preserved
15
- * as ComponentRefs in declared.skills if the manifest declared them).
16
- * - Marketplace → discovered.plugins replaced with [].
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 dropped, but path/manifest/declared kept).
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,EAA2D,MAAM,YAAY,CAAC;AAExG,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9B;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,GAAE,MAAe,GAAG,MAAM,CAMrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,GAAE,MAAe,GAAG,MAAM,CAE5F"}
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"}