@vibe-agent-toolkit/agent-skills 0.1.42 → 0.2.0-rc.10

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 (322) hide show
  1. package/README.md +5 -5
  2. package/dist/builder.d.ts.map +1 -1
  3. package/dist/builder.js +7 -17
  4. package/dist/builder.js.map +1 -1
  5. package/dist/content-type-routing.d.ts +32 -0
  6. package/dist/content-type-routing.d.ts.map +1 -1
  7. package/dist/content-type-routing.js +23 -0
  8. package/dist/content-type-routing.js.map +1 -1
  9. package/dist/files-config.d.ts +34 -1
  10. package/dist/files-config.d.ts.map +1 -1
  11. package/dist/files-config.js +277 -39
  12. package/dist/files-config.js.map +1 -1
  13. package/dist/fs-attribution.d.ts +45 -0
  14. package/dist/fs-attribution.d.ts.map +1 -0
  15. package/dist/fs-attribution.js +57 -0
  16. package/dist/fs-attribution.js.map +1 -0
  17. package/dist/import.d.ts.map +1 -1
  18. package/dist/import.js +0 -4
  19. package/dist/import.js.map +1 -1
  20. package/dist/index.d.ts +13 -8
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +25 -7
  23. package/dist/index.js.map +1 -1
  24. package/dist/inventory/detectors/declared-but-missing.d.ts +1 -1
  25. package/dist/inventory/detectors/declared-but-missing.d.ts.map +1 -1
  26. package/dist/inventory/detectors/marketplace-source-missing.d.ts +1 -1
  27. package/dist/inventory/detectors/marketplace-source-missing.d.ts.map +1 -1
  28. package/dist/inventory/detectors/present-but-undeclared.d.ts +1 -1
  29. package/dist/inventory/detectors/present-but-undeclared.d.ts.map +1 -1
  30. package/dist/inventory/detectors/reference-target-missing.d.ts +1 -1
  31. package/dist/inventory/detectors/reference-target-missing.d.ts.map +1 -1
  32. package/dist/inventory/index.d.ts +1 -1
  33. package/dist/inventory/index.d.ts.map +1 -1
  34. package/dist/inventory/index.js +1 -1
  35. package/dist/inventory/index.js.map +1 -1
  36. package/dist/inventory/serialize.d.ts +4 -4
  37. package/dist/inventory/serialize.d.ts.map +1 -1
  38. package/dist/inventory/serialize.js +6 -6
  39. package/dist/inventory/serialize.js.map +1 -1
  40. package/dist/inventory/types.d.ts +8 -0
  41. package/dist/inventory/types.d.ts.map +1 -1
  42. package/dist/inventory/types.js.map +1 -1
  43. package/dist/link-graph-members.d.ts +18 -0
  44. package/dist/link-graph-members.d.ts.map +1 -0
  45. package/dist/link-graph-members.js +18 -0
  46. package/dist/link-graph-members.js.map +1 -0
  47. package/dist/parsers/frontmatter-parser.d.ts.map +1 -1
  48. package/dist/parsers/frontmatter-parser.js +30 -6
  49. package/dist/parsers/frontmatter-parser.js.map +1 -1
  50. package/dist/plugin-distribution-layout.d.ts +70 -6
  51. package/dist/plugin-distribution-layout.d.ts.map +1 -1
  52. package/dist/plugin-distribution-layout.js +84 -11
  53. package/dist/plugin-distribution-layout.js.map +1 -1
  54. package/dist/post-build-checks.d.ts +38 -1
  55. package/dist/post-build-checks.d.ts.map +1 -1
  56. package/dist/post-build-checks.js +68 -17
  57. package/dist/post-build-checks.js.map +1 -1
  58. package/dist/projection/skill-extent.d.ts +247 -0
  59. package/dist/projection/skill-extent.d.ts.map +1 -0
  60. package/dist/projection/skill-extent.js +560 -0
  61. package/dist/projection/skill-extent.js.map +1 -0
  62. package/dist/schemas/agent-skill-frontmatter.js +1 -1
  63. package/dist/schemas/agent-skill-frontmatter.js.map +1 -1
  64. package/dist/schemas/allowed-tools.d.ts +31 -0
  65. package/dist/schemas/allowed-tools.d.ts.map +1 -0
  66. package/dist/schemas/allowed-tools.js +88 -0
  67. package/dist/schemas/allowed-tools.js.map +1 -0
  68. package/dist/schemas/index.d.ts +1 -0
  69. package/dist/schemas/index.d.ts.map +1 -1
  70. package/dist/schemas/index.js +1 -0
  71. package/dist/schemas/index.js.map +1 -1
  72. package/dist/schemas/installed-plugins-registry.d.ts.map +1 -1
  73. package/dist/schemas/installed-plugins-registry.js +7 -1
  74. package/dist/schemas/installed-plugins-registry.js.map +1 -1
  75. package/dist/schemas/marketplace-manifest.d.ts.map +1 -1
  76. package/dist/schemas/marketplace-manifest.js +17 -6
  77. package/dist/schemas/marketplace-manifest.js.map +1 -1
  78. package/dist/skill-identity.d.ts +18 -3
  79. package/dist/skill-identity.d.ts.map +1 -1
  80. package/dist/skill-identity.js +25 -6
  81. package/dist/skill-identity.js.map +1 -1
  82. package/dist/skill-packager.d.ts +144 -20
  83. package/dist/skill-packager.d.ts.map +1 -1
  84. package/dist/skill-packager.js +447 -105
  85. package/dist/skill-packager.js.map +1 -1
  86. package/dist/skill-source/content-hash.d.ts.map +1 -1
  87. package/dist/skill-source/content-hash.js +21 -10
  88. package/dist/skill-source/content-hash.js.map +1 -1
  89. package/dist/skill-source/fetch-cache.d.ts.map +1 -1
  90. package/dist/skill-source/fetch-cache.js +0 -5
  91. package/dist/skill-source/fetch-cache.js.map +1 -1
  92. package/dist/skill-source/git-clone.d.ts +1 -1
  93. package/dist/skill-source/git-clone.d.ts.map +1 -1
  94. package/dist/skill-source/git-clone.js +10 -10
  95. package/dist/skill-source/git-clone.js.map +1 -1
  96. package/dist/skill-source/sources/url-source.d.ts.map +1 -1
  97. package/dist/skill-source/sources/url-source.js +2 -2
  98. package/dist/skill-source/sources/url-source.js.map +1 -1
  99. package/dist/skill-source/stage.d.ts.map +1 -1
  100. package/dist/skill-source/stage.js +0 -6
  101. package/dist/skill-source/stage.js.map +1 -1
  102. package/dist/skill-test/baseline-delta.d.ts +1575 -0
  103. package/dist/skill-test/baseline-delta.d.ts.map +1 -0
  104. package/dist/skill-test/baseline-delta.js +272 -0
  105. package/dist/skill-test/baseline-delta.js.map +1 -0
  106. package/dist/skill-test/baseline-integrity.d.ts +944 -0
  107. package/dist/skill-test/baseline-integrity.d.ts.map +1 -0
  108. package/dist/skill-test/baseline-integrity.js +3090 -0
  109. package/dist/skill-test/baseline-integrity.js.map +1 -0
  110. package/dist/skill-test/build-hook.d.ts +3 -2
  111. package/dist/skill-test/build-hook.d.ts.map +1 -1
  112. package/dist/skill-test/build-hook.js +4 -5
  113. package/dist/skill-test/build-hook.js.map +1 -1
  114. package/dist/skill-test/configure-writer.js +1 -1
  115. package/dist/skill-test/configure-writer.js.map +1 -1
  116. package/dist/skill-test/declared-env.d.ts +5 -4
  117. package/dist/skill-test/declared-env.d.ts.map +1 -1
  118. package/dist/skill-test/declared-env.js +8 -9
  119. package/dist/skill-test/declared-env.js.map +1 -1
  120. package/dist/skill-test/eval-executor.d.ts +21 -5
  121. package/dist/skill-test/eval-executor.d.ts.map +1 -1
  122. package/dist/skill-test/eval-executor.js +6 -6
  123. package/dist/skill-test/eval-executor.js.map +1 -1
  124. package/dist/skill-test/eval-fragment.d.ts +106 -28
  125. package/dist/skill-test/eval-fragment.d.ts.map +1 -1
  126. package/dist/skill-test/eval-fragment.js +78 -16
  127. package/dist/skill-test/eval-fragment.js.map +1 -1
  128. package/dist/skill-test/eval-grader.d.ts +65 -7
  129. package/dist/skill-test/eval-grader.d.ts.map +1 -1
  130. package/dist/skill-test/eval-grader.js +263 -64
  131. package/dist/skill-test/eval-grader.js.map +1 -1
  132. package/dist/skill-test/eval-inputs.d.ts +110 -8
  133. package/dist/skill-test/eval-inputs.d.ts.map +1 -1
  134. package/dist/skill-test/eval-inputs.js +177 -22
  135. package/dist/skill-test/eval-inputs.js.map +1 -1
  136. package/dist/skill-test/eval-lint.d.ts +17 -4
  137. package/dist/skill-test/eval-lint.d.ts.map +1 -1
  138. package/dist/skill-test/eval-lint.js +22 -9
  139. package/dist/skill-test/eval-lint.js.map +1 -1
  140. package/dist/skill-test/eval-suite-isolation.d.ts.map +1 -1
  141. package/dist/skill-test/eval-suite-isolation.js +8 -5
  142. package/dist/skill-test/eval-suite-isolation.js.map +1 -1
  143. package/dist/skill-test/evals-template.d.ts +1 -1
  144. package/dist/skill-test/evals-template.d.ts.map +1 -1
  145. package/dist/skill-test/evals-template.js +1 -3
  146. package/dist/skill-test/evals-template.js.map +1 -1
  147. package/dist/skill-test/executor-prompt.d.ts +15 -7
  148. package/dist/skill-test/executor-prompt.d.ts.map +1 -1
  149. package/dist/skill-test/executor-prompt.js +10 -7
  150. package/dist/skill-test/executor-prompt.js.map +1 -1
  151. package/dist/skill-test/failure-reason.d.ts +113 -0
  152. package/dist/skill-test/failure-reason.d.ts.map +1 -0
  153. package/dist/skill-test/failure-reason.js +124 -0
  154. package/dist/skill-test/failure-reason.js.map +1 -0
  155. package/dist/skill-test/fragment-merge.d.ts +3 -20
  156. package/dist/skill-test/fragment-merge.d.ts.map +1 -1
  157. package/dist/skill-test/fragment-merge.js +67 -8
  158. package/dist/skill-test/fragment-merge.js.map +1 -1
  159. package/dist/skill-test/grader-prompt.d.ts +29 -9
  160. package/dist/skill-test/grader-prompt.d.ts.map +1 -1
  161. package/dist/skill-test/grader-prompt.js +264 -68
  162. package/dist/skill-test/grader-prompt.js.map +1 -1
  163. package/dist/skill-test/grader-text.d.ts +145 -0
  164. package/dist/skill-test/grader-text.d.ts.map +1 -0
  165. package/dist/skill-test/grader-text.js +410 -0
  166. package/dist/skill-test/grader-text.js.map +1 -0
  167. package/dist/skill-test/grading-adapter.d.ts +38 -2
  168. package/dist/skill-test/grading-adapter.d.ts.map +1 -1
  169. package/dist/skill-test/grading-adapter.js +57 -9
  170. package/dist/skill-test/grading-adapter.js.map +1 -1
  171. package/dist/skill-test/grading-schema.d.ts +160 -5
  172. package/dist/skill-test/grading-schema.d.ts.map +1 -1
  173. package/dist/skill-test/grading-schema.js +66 -7
  174. package/dist/skill-test/grading-schema.js.map +1 -1
  175. package/dist/skill-test/harness-location.d.ts +3 -2
  176. package/dist/skill-test/harness-location.d.ts.map +1 -1
  177. package/dist/skill-test/harness-location.js +5 -16
  178. package/dist/skill-test/harness-location.js.map +1 -1
  179. package/dist/skill-test/index.d.ts +2 -2
  180. package/dist/skill-test/index.d.ts.map +1 -1
  181. package/dist/skill-test/index.js +2 -2
  182. package/dist/skill-test/index.js.map +1 -1
  183. package/dist/skill-test/lock.d.ts +58 -1
  184. package/dist/skill-test/lock.d.ts.map +1 -1
  185. package/dist/skill-test/lock.js +78 -6
  186. package/dist/skill-test/lock.js.map +1 -1
  187. package/dist/skill-test/pipeline.d.ts +19 -1
  188. package/dist/skill-test/pipeline.d.ts.map +1 -1
  189. package/dist/skill-test/pipeline.js +21 -10
  190. package/dist/skill-test/pipeline.js.map +1 -1
  191. package/dist/skill-test/preflight.d.ts +1 -1
  192. package/dist/skill-test/preflight.d.ts.map +1 -1
  193. package/dist/skill-test/preflight.js +59 -16
  194. package/dist/skill-test/preflight.js.map +1 -1
  195. package/dist/skill-test/prompt-invariants.d.ts +4 -2
  196. package/dist/skill-test/prompt-invariants.d.ts.map +1 -1
  197. package/dist/skill-test/prompt-invariants.js +5 -4
  198. package/dist/skill-test/prompt-invariants.js.map +1 -1
  199. package/dist/skill-test/run-harness.d.ts +665 -85
  200. package/dist/skill-test/run-harness.d.ts.map +1 -1
  201. package/dist/skill-test/run-harness.js +1522 -237
  202. package/dist/skill-test/run-harness.js.map +1 -1
  203. package/dist/skill-test/staging.d.ts +20 -8
  204. package/dist/skill-test/staging.d.ts.map +1 -1
  205. package/dist/skill-test/staging.js +25 -18
  206. package/dist/skill-test/staging.js.map +1 -1
  207. package/dist/skill-test/tier-plan.d.ts +1 -1
  208. package/dist/skill-test/tier-plan.js +1 -1
  209. package/dist/skill-test/tool-eval-schema.d.ts +6 -6
  210. package/dist/skill-test/tool-eval-schema.js +2 -2
  211. package/dist/skill-test/vendor-manifest.d.ts +2 -1
  212. package/dist/skill-test/vendor-manifest.d.ts.map +1 -1
  213. package/dist/skill-test/vendor-manifest.js +10 -10
  214. package/dist/skill-test/vendor-manifest.js.map +1 -1
  215. package/dist/test-input.d.ts +59 -8
  216. package/dist/test-input.d.ts.map +1 -1
  217. package/dist/test-input.js +64 -19
  218. package/dist/test-input.js.map +1 -1
  219. package/dist/validators/agent-instruction-presence.d.ts +1 -1
  220. package/dist/validators/agent-instruction-presence.d.ts.map +1 -1
  221. package/dist/validators/agent-instruction-presence.js +45 -2
  222. package/dist/validators/agent-instruction-presence.js.map +1 -1
  223. package/dist/validators/bundled-resource-link-detection.d.ts +6 -4
  224. package/dist/validators/bundled-resource-link-detection.d.ts.map +1 -1
  225. package/dist/validators/bundled-resource-link-detection.js +39 -39
  226. package/dist/validators/bundled-resource-link-detection.js.map +1 -1
  227. package/dist/validators/compat-detectors.d.ts +18 -1
  228. package/dist/validators/compat-detectors.d.ts.map +1 -1
  229. package/dist/validators/compat-detectors.js +47 -20
  230. package/dist/validators/compat-detectors.js.map +1 -1
  231. package/dist/validators/cross-skill-dependency-detection.d.ts +1 -1
  232. package/dist/validators/cross-skill-dependency-detection.d.ts.map +1 -1
  233. package/dist/validators/cross-skill-dependency-detection.js +1 -1
  234. package/dist/validators/cross-skill-dependency-detection.js.map +1 -1
  235. package/dist/validators/description-style-detection.d.ts +1 -1
  236. package/dist/validators/description-style-detection.d.ts.map +1 -1
  237. package/dist/validators/description-style-detection.js +1 -1
  238. package/dist/validators/description-style-detection.js.map +1 -1
  239. package/dist/validators/format-detection.d.ts +3 -0
  240. package/dist/validators/format-detection.d.ts.map +1 -1
  241. package/dist/validators/format-detection.js +41 -26
  242. package/dist/validators/format-detection.js.map +1 -1
  243. package/dist/validators/frontmatter-validation.d.ts +1 -1
  244. package/dist/validators/frontmatter-validation.d.ts.map +1 -1
  245. package/dist/validators/frontmatter-validation.js +2 -2
  246. package/dist/validators/frontmatter-validation.js.map +1 -1
  247. package/dist/validators/imperative-body-detection.d.ts +1 -1
  248. package/dist/validators/imperative-body-detection.d.ts.map +1 -1
  249. package/dist/validators/imperative-body-detection.js +1 -1
  250. package/dist/validators/imperative-body-detection.js.map +1 -1
  251. package/dist/validators/index.d.ts +1 -1
  252. package/dist/validators/index.d.ts.map +1 -1
  253. package/dist/validators/kebab-case-detection.d.ts +1 -1
  254. package/dist/validators/kebab-case-detection.d.ts.map +1 -1
  255. package/dist/validators/kebab-case-detection.js +1 -1
  256. package/dist/validators/kebab-case-detection.js.map +1 -1
  257. package/dist/validators/marketplace-validator.d.ts.map +1 -1
  258. package/dist/validators/marketplace-validator.js +7 -2
  259. package/dist/validators/marketplace-validator.js.map +1 -1
  260. package/dist/validators/mcp-tool-qualification.d.ts +158 -0
  261. package/dist/validators/mcp-tool-qualification.d.ts.map +1 -0
  262. package/dist/validators/mcp-tool-qualification.js +467 -0
  263. package/dist/validators/mcp-tool-qualification.js.map +1 -0
  264. package/dist/validators/packaged-size-limit.d.ts +296 -0
  265. package/dist/validators/packaged-size-limit.d.ts.map +1 -0
  266. package/dist/validators/packaged-size-limit.js +492 -0
  267. package/dist/validators/packaged-size-limit.js.map +1 -0
  268. package/dist/validators/packaging-validator.d.ts +149 -10
  269. package/dist/validators/packaging-validator.d.ts.map +1 -1
  270. package/dist/validators/packaging-validator.js +371 -55
  271. package/dist/validators/packaging-validator.js.map +1 -1
  272. package/dist/validators/plugin-hosted-shape.d.ts +4 -2
  273. package/dist/validators/plugin-hosted-shape.d.ts.map +1 -1
  274. package/dist/validators/plugin-hosted-shape.js +6 -7
  275. package/dist/validators/plugin-hosted-shape.js.map +1 -1
  276. package/dist/validators/plugin-recommended-fields.d.ts +1 -1
  277. package/dist/validators/plugin-recommended-fields.d.ts.map +1 -1
  278. package/dist/validators/plugin-recommended-fields.js +1 -1
  279. package/dist/validators/plugin-recommended-fields.js.map +1 -1
  280. package/dist/validators/referenced-path-missing.d.ts +211 -0
  281. package/dist/validators/referenced-path-missing.d.ts.map +1 -0
  282. package/dist/validators/referenced-path-missing.js +378 -0
  283. package/dist/validators/referenced-path-missing.js.map +1 -0
  284. package/dist/validators/registry-validator.d.ts.map +1 -1
  285. package/dist/validators/registry-validator.js +1 -2
  286. package/dist/validators/registry-validator.js.map +1 -1
  287. package/dist/validators/rule-engine/index.d.ts +1 -1
  288. package/dist/validators/rule-engine/rule-context.d.ts +20 -3
  289. package/dist/validators/rule-engine/rule-context.d.ts.map +1 -1
  290. package/dist/validators/rule-engine/rule-context.js +3 -1
  291. package/dist/validators/rule-engine/rule-context.js.map +1 -1
  292. package/dist/validators/rule-engine/rule-engine.d.ts +2 -2
  293. package/dist/validators/rule-engine/rule-engine.d.ts.map +1 -1
  294. package/dist/validators/rule-engine/rule-engine.js +52 -13
  295. package/dist/validators/rule-engine/rule-engine.js.map +1 -1
  296. package/dist/validators/skill-validator.d.ts.map +1 -1
  297. package/dist/validators/skill-validator.js +91 -54
  298. package/dist/validators/skill-validator.js.map +1 -1
  299. package/dist/validators/source-only-codes.js +1 -1
  300. package/dist/validators/source-only-codes.js.map +1 -1
  301. package/dist/validators/types.d.ts +21 -1
  302. package/dist/validators/types.d.ts.map +1 -1
  303. package/dist/validators/unified-validator.d.ts.map +1 -1
  304. package/dist/validators/unified-validator.js +4 -5
  305. package/dist/validators/unified-validator.js.map +1 -1
  306. package/dist/validators/validation-rules.d.ts +4 -4
  307. package/dist/validators/validation-rules.d.ts.map +1 -1
  308. package/dist/validators/validation-rules.js +9 -38
  309. package/dist/validators/validation-rules.js.map +1 -1
  310. package/dist/validators/walker-to-issues.d.ts +9 -3
  311. package/dist/validators/walker-to-issues.d.ts.map +1 -1
  312. package/dist/validators/walker-to-issues.js +64 -19
  313. package/dist/validators/walker-to-issues.js.map +1 -1
  314. package/dist/walk-link-graph.d.ts +64 -5
  315. package/dist/walk-link-graph.d.ts.map +1 -1
  316. package/dist/walk-link-graph.js +376 -92
  317. package/dist/walk-link-graph.js.map +1 -1
  318. package/package.json +14 -22
  319. package/dist/skill-test/exit-codes.d.ts +0 -97
  320. package/dist/skill-test/exit-codes.d.ts.map +0 -1
  321. package/dist/skill-test/exit-codes.js +0 -141
  322. package/dist/skill-test/exit-codes.js.map +0 -1
@@ -0,0 +1,57 @@
1
+ /**
2
+ * One home for "the filesystem refused this, and here is what you were doing".
3
+ *
4
+ * A build moves files for several different reasons — a `files:` entry, a link
5
+ * the walker followed, an integrity re-read — and each of those used to let a raw
6
+ * errno escape as the whole explanation. `EACCES: permission denied, open
7
+ * '/abs/path'` names a path and nothing else: not which line of config asked for
8
+ * it, not which skill was being built, not what to do next.
9
+ *
10
+ * That defect was fixed five times in a row, one call site at a time, and each
11
+ * fix was correct and none of them was the class. The lesson is not "add a
12
+ * try/catch here too" — it is that the message format has to have exactly one
13
+ * home, so a new copier inherits it by calling this rather than by remembering to
14
+ * reproduce it.
15
+ *
16
+ * Deliberately NOT in `files-config.ts`: this is not about `files:` config. That
17
+ * module wraps this with its own subject phrasing, as does the link-copy path in
18
+ * the packager, and both get identical structure with a subject that fits.
19
+ */
20
+ import { isFilesystemAccessError } from '@vibe-agent-toolkit/utils';
21
+ /** For a failure that moved bytes INTO the bundle. */
22
+ export const WRITE_REMEDY = "Check the file's permissions and ownership, that the output directory is writable, "
23
+ + 'and that there is space on the device.';
24
+ /** For a failure that only tried to READ the author's own tree. */
25
+ export const READ_REMEDY = "Check the file's permissions and ownership, and that every directory above it is traversable.";
26
+ /**
27
+ * Run filesystem work, and if the OS refuses it, say what was being attempted.
28
+ *
29
+ * @param subject What the build was doing, phrased so it names something the
30
+ * author can locate — a `files:` entry, a linked file, a skill. This is the
31
+ * whole point: the errno already has the path.
32
+ * @param action What was being done to it, completing "it could not be …".
33
+ * Defaults to the copy case; the integrity lane passes its own, because telling
34
+ * an author a file "could not be copied" when the copy SUCCEEDED and the
35
+ * verification failed sends them to look at the wrong step.
36
+ * @param remedy What to check. Split from `action` because the two do not track
37
+ * each other: a failed READ has nothing to do with whether the output directory
38
+ * is writable or the disk is full, and padding a message with checks that
39
+ * cannot apply teaches people to stop reading the message.
40
+ *
41
+ * A non-filesystem throw is rethrown untouched. Re-wrapping a defect in our own
42
+ * code as "check your permissions" would send the author to fix something that is
43
+ * not theirs to fix — and it is the same "make the tool quietest when it is most
44
+ * wrong" shape the audit walk's guard exists to avoid.
45
+ */
46
+ export async function withFsAttribution(subject, work, action = 'copied into the bundle', remedy = WRITE_REMEDY) {
47
+ try {
48
+ return await work();
49
+ }
50
+ catch (error) {
51
+ if (!isFilesystemAccessError(error))
52
+ throw error;
53
+ const reason = error instanceof Error ? error.message : String(error);
54
+ throw new Error(`${subject}, but it could not be ${action}: ${reason}. ${remedy}`);
55
+ }
56
+ }
57
+ //# sourceMappingURL=fs-attribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-attribution.js","sourceRoot":"","sources":["../src/fs-attribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,sDAAsD;AACtD,MAAM,CAAC,MAAM,YAAY,GACvB,qFAAqF;MACnF,wCAAwC,CAAC;AAE7C,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GACtB,+FAA+F,CAAC;AAElG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,IAAsB,EACtB,MAAM,GAAG,wBAAwB,EACjC,MAAM,GAAG,YAAY;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QACjD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,yBAAyB,MAAM,KAAK,MAAM,KAAK,MAAM,EAAE,CAClE,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,WAAW,CAAC;AAEvD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAgFtF"}
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,WAAW,CAAC;AAEvD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA4EtF"}
package/dist/import.js CHANGED
@@ -13,7 +13,6 @@ import { AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema } from './s
13
13
  export async function importSkillToAgent(options) {
14
14
  const { skillPath, outputPath, force = false } = options;
15
15
  // Check if SKILL.md exists
16
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- skillPath is user input but validated
17
16
  if (!fs.existsSync(skillPath)) {
18
17
  return {
19
18
  success: false,
@@ -21,7 +20,6 @@ export async function importSkillToAgent(options) {
21
20
  };
22
21
  }
23
22
  // Read SKILL.md content
24
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- validated above
25
23
  const content = fs.readFileSync(skillPath, 'utf-8');
26
24
  // Parse frontmatter
27
25
  const parseResult = parseFrontmatter(content);
@@ -49,7 +47,6 @@ export async function importSkillToAgent(options) {
49
47
  // Determine output path
50
48
  const agentPath = outputPath ?? safePath.join(path.dirname(skillPath), 'agent.yaml');
51
49
  // Check if output already exists
52
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- constructed from validated skillPath
53
50
  if (fs.existsSync(agentPath) && !force) {
54
51
  return {
55
52
  success: false,
@@ -64,7 +61,6 @@ export async function importSkillToAgent(options) {
64
61
  indent: 2,
65
62
  lineWidth: 100,
66
63
  });
67
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- constructed from validated skillPath
68
64
  fs.writeFileSync(agentPath, yamlContent, 'utf-8');
69
65
  return {
70
66
  success: true,
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAiCnH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAsB;IAC7D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEzD,2BAA2B;IAC3B,4GAA4G;IAC5G,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B,SAAS,EAAE;SAC/C,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,sFAAsF;IACtF,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEpD,oBAAoB;IACpB,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gCAAgC,WAAW,CAAC,KAAK,EAAE;SAC3D,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;IAEpC,mFAAmF;IACnF,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAClF,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAElF,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACpE,0CAA0C;QAC1C,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,UAAU;YAC7B,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,OAAO,EAAE;YACvD,CAAC,CAAC,0BAA0B,CAAC;QAE/B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,kCAAkC,YAAY,EAAE;SACxD,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,SAAS,GAAG,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;IAErF,iCAAiC;IACjC,2GAA2G;IAC3G,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gCAAgC,SAAS,6BAA6B;SAC9E,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAEtD,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,EAAE;YAC/C,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,2GAA2G;QAC3G,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAElD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SAC/F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,WAAoC;IAC9D,sBAAsB;IACtB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAW,CAAC;IAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAW,CAAC;IAEzD,0BAA0B;IAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAuB,CAAC;IAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAAuB,CAAC;IACzE,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAwC,CAAC;IAEhF,+CAA+C;IAC/C,MAAM,OAAO,GAAI,QAAQ,EAAE,CAAC,SAAS,CAAY,IAAI,OAAO,CAAC;IAE7D,uBAAuB;IACvB,MAAM,aAAa,GAA4B;QAC7C,IAAI;QACJ,WAAW;QACX,OAAO;KACR,CAAC;IAEF,kCAAkC;IAClC,IAAI,OAAO,EAAE,CAAC;QACZ,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IACrC,CAAC;IAED,oCAAoC;IACpC,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,uBAAuB;IACvB,MAAM,aAAa,GAA4B;QAC7C,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;SACxB;KACF,CAAC;IAEF,yDAAyD;IACzD,IAAI,aAAa,EAAE,CAAC;QAClB,4CAA4C;QAC3C,aAAa,CAAC,MAAM,CAA6B,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;IACtF,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,19 +3,22 @@
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 { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type PackagingTarget, type SkillBuildSpec, type SkillMetadata, type SkillPackageOutcome, } from './skill-packager.js';
6
+ export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type ProjectRegistryOptions, type SkillBuildSpec, type SkillMetadata, type SkillPackageOutcome, } from './skill-packager.js';
7
7
  export { walkLinkGraph, type ExcludeRule, type LinkGraphResult, type LinkResolution, type WalkableRegistry, type WalkLinkGraphOptions, } from './walk-link-graph.js';
8
- export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type TargetSubdirCategory, } from './content-type-routing.js';
9
- export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, type AllRefusedGlobEntry, type AppliedFilesConfig, type ApplyFilesConfigOptions, type DroppedGlobMatch, type PreBuildGlobFindings, type UnmatchedGlobEntry, } from './files-config.js';
8
+ export { SKILL_EXTENT_CONTRIBUTOR_ID_PREFIX, skillExtentContributorId, SKILL_EXTENT_KIND, SKILL_REFUSED_AGENT_INSTRUCTION_FILE, SKILL_REFUSED_DIRECTORY_TARGET, SKILL_REFUSED_GITIGNORED, SKILL_REFUSED_NAVIGATION_FILE, SKILL_REFUSED_PATTERN_MATCHED, SKILL_REFUSED_SKILL_DEFINITION, SkillExtentContributor, skillExtentDeclaration, } from './projection/skill-extent.js';
9
+ export { getResourceSubdirForFile, getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type PackagingTarget, type TargetSubdirCategory, } from './content-type-routing.js';
10
+ export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, skippedGlobMatchesToIssues, type AllRefusedGlobEntry, type AppliedFilesConfig, type ApplyFilesConfigOptions, type DroppedGlobMatch, type PreBuildGlobFindings, type UnmatchedGlobEntry, } from './files-config.js';
10
11
  export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, type AgentSkillFrontmatter, type VATAgentSkillFrontmatter, } from './schemas/agent-skill-frontmatter.js';
12
+ export { allowedToolsOf, splitAllowedToolsList } from './schemas/allowed-tools.js';
11
13
  export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema, type MarketplaceManifest } from './schemas/marketplace-manifest.js';
12
14
  export { parseFrontmatter, type FrontmatterResult, } from './parsers/frontmatter-parser.js';
13
- export { readDeclaredSkillName } from './skill-identity.js';
15
+ export { declaredSkillNameIn, readDeclaredSkillName } from './skill-identity.js';
14
16
  export { type AnchorRootOptions, resolveAnchorRoot } from './validators/anchor-root.js';
15
17
  export { generateFixSuggestion } from './validators/validation-utils.js';
16
18
  export { detectKebabCaseViolation, type KebabCaseSurface } from './validators/kebab-case-detection.js';
17
19
  export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
18
20
  export { detectPackagedAgentInstructionFiles } from './validators/agent-instruction-presence.js';
21
+ export { API_SKILL_MAX_UPLOAD_BYTES, describeOversizeBundle, formatBytes, NEVER_UPLOADED_DIR_NAMES, type SizedFile, } from './validators/packaged-size-limit.js';
19
22
  export { materializeIssue, type MaterializeOpts } from './validators/rule-engine/index.js';
20
23
  export { detectHostedIncompatibleShape } from './validators/plugin-hosted-shape.js';
21
24
  export { deriveObservations, observationToIssue, runCompatDetectors, type DetectorOutput, } from './validators/compat-detectors.js';
@@ -23,7 +26,8 @@ export { validateMarketplace } from './validators/marketplace-validator.js';
23
26
  export { validateSkill } from './validators/skill-validator.js';
24
27
  export { validate, type UnifiedValidateOptions } from './validators/unified-validator.js';
25
28
  export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
26
- export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, } from './validators/packaging-validator.js';
29
+ export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, type CrawlRegistryOptions, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, collectNonPortableAssetReferenceIssues, collectNonPortableCommandIssues, } from './validators/packaging-validator.js';
30
+ export { collectUnqualifiedMcpToolIssues } from './validators/mcp-tool-qualification.js';
27
31
  export { AGENT_INSTRUCTION_FILE_PATTERNS, createIssue, isAgentInstructionBasename, isNavigationBasename, isNeverPackagedBasename, NAVIGATION_FILE_PATTERNS, NEVER_PACKAGE_IN_SKILL_BUNDLE, toAnyDepthGlobs, VALIDATION_RULES, VALIDATION_THRESHOLDS, type RuleCategory, type ValidationRule, type ValidationRuleCode, } from './validators/validation-rules.js';
28
32
  export type { ValidationResult, ValidateOptions, ResourceFormat, Surface, } from './validators/types.js';
29
33
  export { importSkillToAgent, type ImportOptions, type ImportResult, } from './import.js';
@@ -34,9 +38,10 @@ export type { EvidenceRecord, EvidenceSource, EvidenceConfidence, EvidenceLocati
34
38
  export { PATTERN_REGISTRY, anchorEvidencePath, buildEvidence, getPatternDefinition, assertPatternRegistered, deriveObservationsFromEvidence, } from './evidence/index.js';
35
39
  export type { DeriveObservationsOptions, DerivationSubject } from './evidence/index.js';
36
40
  export type { AnyInventory, BaseInventory, ComponentRef, DeclaredList, HookRef, InstallInventory, LspRef, MarketplaceInventory, McpRef, ParseError as InventoryParseError, PluginInventory, PluginRef, ResolvedReference, SkillInventory, } from './inventory/index.js';
37
- export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow, INVENTORY_SCHEMA_VERSION, detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './inventory/index.js';
41
+ export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow, detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './inventory/index.js';
38
42
  export * from './skill-test/index.js';
39
43
  export { checkBrokenPackagedLinks } from './post-build-checks.js';
40
- export { checkPackagedTestInput, packagedFileEntries, resolveTestInputDirs, testInputExcludeRules, type CheckPackagedTestInputInput, type DeclaredEvalSuite, } from './test-input.js';
41
- export { computeTreeCopiedSkillLocations, findDistributedSkillLocationBySource, getPluginOutputDir, getPluginSourceDir, listPluginSourceSkillDirs, listUntrackedPluginSkillDirs, skillNameToFsPath, type DistributedSkillLocation, } from './plugin-distribution-layout.js';
44
+ export { checkPackagedTestInput, conventionalSuiteProbe, packagedFileEntries, resolveTestInputDirs, testInputExcludeRules, type CheckPackagedTestInputInput, type ConventionalSuiteProbe, type DeclaredEvalSuite, } from './test-input.js';
45
+ export { computeTreeCopiedSkillLocations, getPluginOutputDir, getPluginSourceDir, indexPluginLocalSkills, listPluginSourceSkillDirs, listUntrackedPluginSkillDirs, skillNameToFsPath, type DistributedSkillLocation, type PluginLocalSkillIndex, type PluginSkillExclusion, } from './plugin-distribution-layout.js';
46
+ export { LINK_GRAPH_MEMBER_GLOBS } from './link-graph-members.js';
42
47
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -5,17 +5,33 @@
5
5
  export { buildAgentSkill } from './builder.js';
6
6
  export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, } from './skill-packager.js';
7
7
  export { walkLinkGraph, } from './walk-link-graph.js';
8
- export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
9
- export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, } from './files-config.js';
8
+ // The skill extent (zones §7.3): the closure primitive under a skill's name,
9
+ // plus the translation of `SkillPackagingConfig` into the declaration that
10
+ // shapes it. Deliberately NOT a second walker — see the module note for the
11
+ // measured boundary between what the declaration expresses and what only
12
+ // `walkLinkGraph`'s ordered cascade can.
13
+ export { SKILL_EXTENT_CONTRIBUTOR_ID_PREFIX, skillExtentContributorId, SKILL_EXTENT_KIND, SKILL_REFUSED_AGENT_INSTRUCTION_FILE, SKILL_REFUSED_DIRECTORY_TARGET, SKILL_REFUSED_GITIGNORED, SKILL_REFUSED_NAVIGATION_FILE, SKILL_REFUSED_PATTERN_MATCHED, SKILL_REFUSED_SKILL_DEFINITION, SkillExtentContributor, skillExtentDeclaration, } from './projection/skill-extent.js';
14
+ export { getResourceSubdirForFile, getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
15
+ export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, skippedGlobMatchesToIssues, } from './files-config.js';
10
16
  export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, } from './schemas/agent-skill-frontmatter.js';
17
+ // The one reader of an `allowed-tools:` value. The settings-compat checker in
18
+ // claude-marketplace imports it from here so it cannot drift from the compat
19
+ // detectors' reading of the same field.
20
+ export { allowedToolsOf, splitAllowedToolsList } from './schemas/allowed-tools.js';
11
21
  export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema } from './schemas/marketplace-manifest.js';
12
22
  export { parseFrontmatter, } from './parsers/frontmatter-parser.js';
13
- export { readDeclaredSkillName } from './skill-identity.js';
23
+ export { declaredSkillNameIn, readDeclaredSkillName } from './skill-identity.js';
14
24
  export { resolveAnchorRoot } from './validators/anchor-root.js';
15
25
  export { generateFixSuggestion } from './validators/validation-utils.js';
16
26
  export { detectKebabCaseViolation } from './validators/kebab-case-detection.js';
17
27
  export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
18
28
  export { detectPackagedAgentInstructionFiles } from './validators/agent-instruction-presence.js';
29
+ export { API_SKILL_MAX_UPLOAD_BYTES, describeOversizeBundle, formatBytes,
30
+ // The uploader applies this same set, so both lanes weigh and send the same
31
+ // file set. It lived here and as a matching literal in the CLI's uploader,
32
+ // agreeing only by coincidence — which is the drift the constant's own doc
33
+ // comment exists to prevent.
34
+ NEVER_UPLOADED_DIR_NAMES, } from './validators/packaged-size-limit.js';
19
35
  // The single construction site for a coded finding. Exported so a CLI lane that
20
36
  // discovers a finding of its own builds it from CODE_REGISTRY like every other
21
37
  // producer — a hand-rolled `{severity, code, message, fix, reference}` literal is
@@ -27,7 +43,8 @@ export { validateMarketplace } from './validators/marketplace-validator.js';
27
43
  export { validateSkill } from './validators/skill-validator.js';
28
44
  export { validate } from './validators/unified-validator.js';
29
45
  export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
30
- export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, } from './validators/packaging-validator.js';
46
+ export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, collectNonPortableAssetReferenceIssues, collectNonPortableCommandIssues, } from './validators/packaging-validator.js';
47
+ export { collectUnqualifiedMcpToolIssues } from './validators/mcp-tool-qualification.js';
31
48
  export { AGENT_INSTRUCTION_FILE_PATTERNS, createIssue, isAgentInstructionBasename, isNavigationBasename, isNeverPackagedBasename, NAVIGATION_FILE_PATTERNS, NEVER_PACKAGE_IN_SKILL_BUNDLE, toAnyDepthGlobs, VALIDATION_RULES, VALIDATION_THRESHOLDS, } from './validators/validation-rules.js';
32
49
  export { importSkillToAgent, } from './import.js';
33
50
  // Skill source primitives
@@ -35,9 +52,10 @@ export { cloneGitSource } from './skill-source/git-clone.js';
35
52
  // Unified skill-source resolution (spec §11c)
36
53
  export { resolveSkillSource } from './skill-source/resolve-skill-source.js';
37
54
  export { PATTERN_REGISTRY, anchorEvidencePath, buildEvidence, getPatternDefinition, assertPatternRegistered, deriveObservationsFromEvidence, } from './evidence/index.js';
38
- export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow, INVENTORY_SCHEMA_VERSION, detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './inventory/index.js';
55
+ export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, serializeInventory, serializeInventoryShallow, detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './inventory/index.js';
39
56
  export * from './skill-test/index.js';
40
57
  export { checkBrokenPackagedLinks } from './post-build-checks.js';
41
- export { checkPackagedTestInput, packagedFileEntries, resolveTestInputDirs, testInputExcludeRules, } from './test-input.js';
42
- export { computeTreeCopiedSkillLocations, findDistributedSkillLocationBySource, getPluginOutputDir, getPluginSourceDir, listPluginSourceSkillDirs, listUntrackedPluginSkillDirs, skillNameToFsPath, } from './plugin-distribution-layout.js';
58
+ export { checkPackagedTestInput, conventionalSuiteProbe, packagedFileEntries, resolveTestInputDirs, testInputExcludeRules, } from './test-input.js';
59
+ export { computeTreeCopiedSkillLocations, getPluginOutputDir, getPluginSourceDir, indexPluginLocalSkills, listPluginSourceSkillDirs, listUntrackedPluginSkillDirs, skillNameToFsPath, } from './plugin-distribution-layout.js';
60
+ export { LINK_GRAPH_MEMBER_GLOBS } from './link-graph-members.js';
43
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +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 type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
8
+ import type { ValidationIssue } from '@vibe-agent-toolkit/schema';
9
9
  import type { PluginInventory } from '../types.js';
10
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;AAGxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAoBtG"}
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,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAoBtG"}
@@ -6,7 +6,7 @@
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
- import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
9
+ import type { ValidationIssue } from '@vibe-agent-toolkit/schema';
10
10
  import type { MarketplaceInventory } from '../types.js';
11
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;AAGxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAUvH"}
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,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAUvH"}
@@ -7,7 +7,7 @@
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
- import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
10
+ import type { ValidationIssue } from '@vibe-agent-toolkit/schema';
11
11
  import type { PluginInventory } from '../types.js';
12
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;AAGxE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,aAAa,CAAC;AAEjE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAMxG"}
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,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,aAAa,CAAC;AAEjE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAMxG"}
@@ -5,7 +5,7 @@
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
- import type { ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
8
+ import type { ValidationIssue } from '@vibe-agent-toolkit/schema';
9
9
  import type { PluginInventory } from '../types.js';
10
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;AAGxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,eAAe,EACpB,YAAY,EAAE,MAAM,GAClB,eAAe,EAAE,CA2BnB"}
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,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,eAAe,EACpB,YAAY,EAAE,MAAM,GAClB,eAAe,EAAE,CA2BnB"}
@@ -1,5 +1,5 @@
1
1
  export type { AnyInventory, BaseInventory, ComponentRef, DeclaredList, HookRef, InstallInventory, LspRef, MarketplaceInventory, McpRef, ParseError, PluginInventory, PluginRef, ResolvedReference, SkillInventory, } from './types.js';
2
2
  export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, } from './types.js';
3
- export { serializeInventory, serializeInventoryShallow, INVENTORY_SCHEMA_VERSION } from './serialize.js';
3
+ export { serializeInventory, serializeInventoryShallow } from './serialize.js';
4
4
  export { detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './detectors/index.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inventory/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,cAAc,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAEzG,OAAO,EACN,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inventory/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,cAAc,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EACN,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { isInstallInventory, isMarketplaceInventory, isPluginInventory, isSkillInventory, } from './types.js';
2
- export { serializeInventory, serializeInventoryShallow, INVENTORY_SCHEMA_VERSION } from './serialize.js';
2
+ export { serializeInventory, serializeInventoryShallow } from './serialize.js';
3
3
  export { detectDeclaredButMissing, detectMarketplacePluginSourceMissing, detectPresentButUndeclared, detectReferenceTargetMissing, } from './detectors/index.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inventory/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAEzG,OAAO,EACN,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inventory/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EACN,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { AnyInventory, InstallInventory, MarketplaceInventory, PluginInventory } from './types.js';
2
- export declare const INVENTORY_SCHEMA_VERSION = "vat.inventory/v1alpha";
3
2
  type Format = 'yaml' | 'json';
4
3
  type ShallowPluginInventory = Omit<PluginInventory, 'discovered'> & {
5
4
  discovered: Omit<PluginInventory['discovered'], 'skills'> & {
@@ -21,10 +20,11 @@ type ShallowInstallInventory = Omit<InstallInventory, 'marketplaces' | 'plugins'
21
20
  */
22
21
  export type ShallowInventory = ShallowMarketplaceInventory | ShallowPluginInventory | ShallowInstallInventory | AnyInventory;
23
22
  /**
24
- * Serialize an inventory with a top-level schema discriminator.
23
+ * Serialize an inventory.
25
24
  *
26
- * The discriminator must come FIRST in the output so consumers can
27
- * sniff the schema version without parsing the whole document.
25
+ * The document carries NO version label. A consumer that needs to know which
26
+ * shape it is holding reads `kind` — the structural discriminator that is part
27
+ * of the model itself — and, under pre-1.0, pins the VAT version it ran.
28
28
  */
29
29
  export declare function serializeInventory(inv: AnyInventory, format?: Format): string;
30
30
  /**
@@ -1 +1 @@
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"}
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,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;;;;;;GAMG;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,CAE5F"}
@@ -1,13 +1,13 @@
1
1
  import * as yaml from 'yaml';
2
- export const INVENTORY_SCHEMA_VERSION = 'vat.inventory/v1alpha';
3
2
  /**
4
- * Serialize an inventory with a top-level schema discriminator.
3
+ * Serialize an inventory.
5
4
  *
6
- * The discriminator must come FIRST in the output so consumers can
7
- * sniff the schema version without parsing the whole document.
5
+ * The document carries NO version label. A consumer that needs to know which
6
+ * shape it is holding reads `kind` — the structural discriminator that is part
7
+ * of the model itself — and, under pre-1.0, pins the VAT version it ran.
8
8
  */
9
9
  export function serializeInventory(inv, format = 'yaml') {
10
- return emit({ schema: INVENTORY_SCHEMA_VERSION, ...inv }, format);
10
+ return emit(inv, format);
11
11
  }
12
12
  /**
13
13
  * Shallow projection: keep top-level structure but drop transitive nesting.
@@ -25,7 +25,7 @@ export function serializeInventory(inv, format = 'yaml') {
25
25
  * Use case: tooling that wants top-level structure without the bulk.
26
26
  */
27
27
  export function serializeInventoryShallow(inv, format = 'yaml') {
28
- return emit({ schema: INVENTORY_SCHEMA_VERSION, projection: 'shallow', ...shallowProject(inv) }, format);
28
+ return emit({ projection: 'shallow', ...shallowProject(inv) }, format);
29
29
  }
30
30
  function emit(envelope, format) {
31
31
  if (format === 'json') {
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/inventory/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AAsChE;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAiB,EAAE,SAAiB,MAAM;IAC5E,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAiB,EAAE,SAAiB,MAAM;IACnF,OAAO,IAAI,CACV,EAAE,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,EACnF,MAAM,CACN,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,QAAgB,EAAE,MAAc;IAC7C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,cAAc,CAAC,GAAiB;IACxC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;IACpE,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,oEAAoE;QACpE,mEAAmE;QACnE,sCAAsC;QACtC,OAAO;YACN,GAAG,GAAG;YACN,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAgC,CAAC;YAC3F,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAA2B,CAAC;SAC5E,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/inventory/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAwC7B;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAiB,EAAE,SAAiB,MAAM;IAC5E,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAiB,EAAE,SAAiB,MAAM;IACnF,OAAO,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,IAAI,CAAC,QAAgB,EAAE,MAAc;IAC7C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,cAAc,CAAC,GAAiB;IACxC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;IACpE,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,oEAAoE;QACpE,mEAAmE;QACnE,sCAAsC;QACtC,OAAO;YACN,GAAG,GAAG;YACN,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAgC,CAAC;YAC3F,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAA2B,CAAC;SAC5E,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -13,6 +13,14 @@ export type ParseError = {
13
13
  path: string;
14
14
  message: string;
15
15
  line?: number;
16
+ /**
17
+ * Set when the OS refused to read or list `path` (`EACCES`, `EPERM`, a
18
+ * vanished mount). The row is then a statement about the RUN — this path
19
+ * was not examined — not a defect in the subject, and a consumer must not
20
+ * file it at the severity it gives malformed content. Absent for a parse
21
+ * failure, a missing manifest, or any other defect the subject owns.
22
+ */
23
+ unreadable?: true;
16
24
  };
17
25
  export type ComponentRef = {
18
26
  /** Path as written in the manifest (relative or absolute). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/inventory/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/inventory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG;IACpC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG;IACnC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG;IACnC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IACtC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IAC1D,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,QAAQ,EAAE;QACT,OAAO,EAAE,SAAS,EAAE,CAAC;KACrB,CAAC;IACF,UAAU,EAAE;QACX,OAAO,EAAE,eAAe,EAAE,CAAC;KAC3B,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AAEzC,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,KAAK,EAAE,eAAe,GAAG,qBAAqB,CAAC;IAC/C,QAAQ,EAAE;QACT,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7B,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QACzC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,UAAU,EAAE;QACX,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,MAAM,EAAE,YAAY,EAAE,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,UAAU,EAAE;QACX,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACpD,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,KAAK,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACF;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACtD,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,OAAO,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,YAAY,GACrB,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,gBAAgB,CAAC;AAEpB,eAAO,MAAM,iBAAiB,GAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,CAAC,IAAI,eACzC,CAAC;AAErB,eAAO,MAAM,gBAAgB,GAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,CAAC,IAAI,cACzC,CAAC;AAEpB,eAAO,MAAM,sBAAsB,GAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,CAAC,IAAI,oBACzC,CAAC;AAE1B,eAAO,MAAM,kBAAkB,GAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,CAAC,IAAI,gBACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/inventory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgHH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAmB,EAAwB,EAAE,CAC9E,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;AAErB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAmB,EAAuB,EAAE,CAC5E,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAEpB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAmB,EAA6B,EAAE,CACxF,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAmB,EAAyB,EAAE,CAChF,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/inventory/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAwHH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAmB,EAAwB,EAAE,CAC9E,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;AAErB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAmB,EAAuB,EAAE,CAC5E,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAEpB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAmB,EAA6B,EAAE,CACxF,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAmB,EAAyB,EAAE,CAChF,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The globs a build's link-graph registry includes — the packager's DOOR rule.
3
+ *
4
+ * `walkLinkGraph` traverses a link target only when it is a registry member;
5
+ * anything else is bundled as cargo and never opened. So "which files does a
6
+ * build walk through" is exactly "which files does the registry include", and
7
+ * this constant is both: the skill packager's and the marketplace inventory's
8
+ * registries crawl it, and both lanes' closure declarations name it as
9
+ * `traverseGlobs`.
10
+ *
11
+ * ⛔ Not "whatever parses as markdown". `.txt`, `.markdown` and the extensionless
12
+ * well-knowns (`README`, `LICENSE`, …) route to the markdown parser but are not
13
+ * members, so the build ships them without following a link out of them. A
14
+ * closure keyed on parser kind walked through them and admitted documents no
15
+ * build ships.
16
+ */
17
+ export declare const LINK_GRAPH_MEMBER_GLOBS: readonly string[];
18
+ //# sourceMappingURL=link-graph-members.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-graph-members.d.ts","sourceRoot":"","sources":["../src/link-graph-members.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAA+B,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The globs a build's link-graph registry includes — the packager's DOOR rule.
3
+ *
4
+ * `walkLinkGraph` traverses a link target only when it is a registry member;
5
+ * anything else is bundled as cargo and never opened. So "which files does a
6
+ * build walk through" is exactly "which files does the registry include", and
7
+ * this constant is both: the skill packager's and the marketplace inventory's
8
+ * registries crawl it, and both lanes' closure declarations name it as
9
+ * `traverseGlobs`.
10
+ *
11
+ * ⛔ Not "whatever parses as markdown". `.txt`, `.markdown` and the extensionless
12
+ * well-knowns (`README`, `LICENSE`, …) route to the markdown parser but are not
13
+ * members, so the build ships them without following a link out of them. A
14
+ * closure keyed on parser kind walked through them and admitted documents no
15
+ * build ships.
16
+ */
17
+ export const LINK_GRAPH_MEMBER_GLOBS = Object.freeze(['**/*.md']);
18
+ //# sourceMappingURL=link-graph-members.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-graph-members.js","sourceRoot":"","sources":["../src/link-graph-members.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAgDnE"}
1
+ {"version":3,"file":"frontmatter-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAiEnE"}
@@ -42,13 +42,9 @@ export function parseFrontmatter(content) {
42
42
  ? normalized.slice(bodyStartIndex + 1) // Skip newline after ---
43
43
  : '';
44
44
  // Parse YAML
45
+ let parsed;
45
46
  try {
46
- const frontmatter = yaml.parse(yamlContent);
47
- return {
48
- success: true,
49
- frontmatter,
50
- body,
51
- };
47
+ parsed = yaml.parse(yamlContent);
52
48
  }
53
49
  catch (error) {
54
50
  return {
@@ -56,5 +52,33 @@ export function parseFrontmatter(content) {
56
52
  error: `Failed to parse YAML frontmatter: ${error instanceof Error ? error.message : String(error)}`,
57
53
  };
58
54
  }
55
+ // A block that parsed but is not a mapping is refused HERE, once. `yaml.parse`
56
+ // answers `null` for an empty document or `~`, a string for a bare scalar, an
57
+ // array for a sequence — and the success arm promises `Record<string,
58
+ // unknown>`, so every reader dereferenced it. `validateSkill` died with
59
+ // `Cannot read properties of null (reading 'name')` and took the whole
60
+ // `vat audit` run with it, while two other readers had grown their own `null`
61
+ // guards: three consumers of one seam, three answers for one file. The
62
+ // refusal names what was found, because "no frontmatter" over a file that
63
+ // plainly has a `---` block sends the author to the wrong fix.
64
+ if (parsed === null || parsed === undefined || typeof parsed !== 'object' || Array.isArray(parsed)) {
65
+ return {
66
+ success: false,
67
+ error: `Frontmatter is not a YAML mapping: the block between the "---" delimiters is ${describeNonMapping(parsed)}`,
68
+ };
69
+ }
70
+ return {
71
+ success: true,
72
+ frontmatter: parsed,
73
+ body,
74
+ };
75
+ }
76
+ /** The shape a non-mapping frontmatter block turned out to be, for the refusal message. */
77
+ function describeNonMapping(parsed) {
78
+ if (parsed === null || parsed === undefined)
79
+ return 'empty';
80
+ if (Array.isArray(parsed))
81
+ return 'a sequence, not key: value fields';
82
+ return `a scalar (${JSON.stringify(parsed)}), not key: value fields`;
59
83
  }
60
84
  //# sourceMappingURL=frontmatter-parser.js.map