@vibe-agent-toolkit/agent-skills 0.2.0-rc.1 → 0.2.0-rc.11

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 (320) hide show
  1. package/README.md +21 -7
  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 +65 -14
  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 +131 -20
  83. package/dist/skill-packager.d.ts.map +1 -1
  84. package/dist/skill-packager.js +382 -85
  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 +1505 -236
  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 +41 -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 +8 -1
  244. package/dist/validators/frontmatter-validation.d.ts.map +1 -1
  245. package/dist/validators/frontmatter-validation.js +253 -6
  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 +137 -9
  269. package/dist/validators/packaging-validator.d.ts.map +1 -1
  270. package/dist/validators/packaging-validator.js +328 -45
  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 +3 -3
  289. package/dist/validators/rule-engine/rule-context.js +1 -1
  290. package/dist/validators/rule-engine/rule-engine.d.ts +2 -2
  291. package/dist/validators/rule-engine/rule-engine.d.ts.map +1 -1
  292. package/dist/validators/rule-engine/rule-engine.js +24 -13
  293. package/dist/validators/rule-engine/rule-engine.js.map +1 -1
  294. package/dist/validators/skill-validator.d.ts.map +1 -1
  295. package/dist/validators/skill-validator.js +90 -53
  296. package/dist/validators/skill-validator.js.map +1 -1
  297. package/dist/validators/source-only-codes.js +1 -1
  298. package/dist/validators/source-only-codes.js.map +1 -1
  299. package/dist/validators/types.d.ts +21 -1
  300. package/dist/validators/types.d.ts.map +1 -1
  301. package/dist/validators/unified-validator.d.ts.map +1 -1
  302. package/dist/validators/unified-validator.js +4 -5
  303. package/dist/validators/unified-validator.js.map +1 -1
  304. package/dist/validators/validation-rules.d.ts +4 -4
  305. package/dist/validators/validation-rules.d.ts.map +1 -1
  306. package/dist/validators/validation-rules.js +9 -38
  307. package/dist/validators/validation-rules.js.map +1 -1
  308. package/dist/validators/walker-to-issues.d.ts +9 -3
  309. package/dist/validators/walker-to-issues.d.ts.map +1 -1
  310. package/dist/validators/walker-to-issues.js +53 -19
  311. package/dist/validators/walker-to-issues.js.map +1 -1
  312. package/dist/walk-link-graph.d.ts +27 -2
  313. package/dist/walk-link-graph.d.ts.map +1 -1
  314. package/dist/walk-link-graph.js +93 -17
  315. package/dist/walk-link-graph.js.map +1 -1
  316. package/package.json +14 -22
  317. package/dist/skill-test/exit-codes.d.ts +0 -97
  318. package/dist/skill-test/exit-codes.d.ts.map +0 -1
  319. package/dist/skill-test/exit-codes.js +0 -141
  320. package/dist/skill-test/exit-codes.js.map +0 -1
@@ -1,11 +1,17 @@
1
- import { type ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
1
+ import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
2
2
  import type { LinkResolution } from '../walk-link-graph.js';
3
3
  /**
4
4
  * Map walker exclusions to validation issues by routing each through the
5
- * intent-aware engine. Exclusions whose intent is acceptable (navigational
6
- * directory link, pattern-excluded reference) produce no issue.
5
+ * intent-aware engine.
6
+ *
7
+ * One exclusion in, one issue out: the engine no longer returns `null` for any
8
+ * reason the walker can record, so no exclusion is dropped on the floor here.
9
+ * The `null` branch remains because `evaluate` is shared with the file/orphan
10
+ * subject, where `null` is a real verdict.
7
11
  */
8
12
  export declare function walkerExclusionsToIssues(exclusions: readonly LinkResolution[], locationRoot: string): ValidationIssue[];
13
+ /** Followed links that left the skill directory, as issues at the registry default severity. */
14
+ export declare function outsideSkillDirLinksToIssues(links: readonly LinkResolution[], locationRoot: string): ValidationIssue[];
9
15
  /**
10
16
  * Emit one LINK_DEFERRED_ARTIFACT info issue per deferred asset path.
11
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"walker-to-issues.d.ts","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAsE5D;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,cAAc,EAAE,EACrC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAmBnB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAKnB"}
1
+ {"version":3,"file":"walker-to-issues.d.ts","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgG5D;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,cAAc,EAAE,EACrC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CASnB;AAED,gGAAgG;AAChG,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAGnB;AAaD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAKnB"}
@@ -1,7 +1,7 @@
1
1
  import { issueLocation } from '@vibe-agent-toolkit/utils';
2
2
  import { evaluate, makeRuleContext, materializeIssue } from './rule-engine/index.js';
3
3
  /**
4
- * Live-path extraction front-end (issue #129, slice 3).
4
+ * Live-path extraction front-end.
5
5
  *
6
6
  * Translates the link-graph walker's mechanical `excludeReason` into the
7
7
  * intent-aware {@link RuleContext} the engine reasons over. This is the ONLY
@@ -9,11 +9,19 @@ import { evaluate, makeRuleContext, materializeIssue } from './rule-engine/index
9
9
  * decision and issue construction belong to the shared engine + materializer,
10
10
  * so the registry stays the single source of truth.
11
11
  *
12
- * A navigational link that resolves to a directory ('directory-target') is a
13
- * valid reference — the directory is excluded from the bundle but no issue is
14
- * emitted (the engine returns `null` for a non-typed-slot directory). A
15
- * `files:` typed-slot source resolving to a directory is an error, but that
16
- * check lives in packaging-validator, not here.
12
+ * **Every one of the walker's eleven reasons reaches a code.** Two did not: a
13
+ * navigational link resolving to a directory ('directory-target') and a
14
+ * reference refused by the author's own rule ('pattern-matched') both evaluated
15
+ * to `null` and were filtered out of the output below, so the author got no
16
+ * finding at all — not a quiet one, none. Both are now reported, at severities
17
+ * that say how much each matters: `LINK_TO_UNBUNDLED_DIRECTORY` (warning — the
18
+ * directory never travels, so the packaged link points at nothing) and
19
+ * `LINK_EXCLUDED_BY_PATTERN` (info — the author configured this, and the receipt
20
+ * only needs to be there when they come looking for it).
21
+ *
22
+ * `LINK_TARGETS_DIRECTORY` is a DIFFERENT code for a different situation: a
23
+ * `files:` typed-slot source that resolves to a directory, an error, owned by
24
+ * packaging-validator. The two never fire for the same edge.
17
25
  *
18
26
  * `existsAtSource` is READ FROM the walker's record, never assumed. The engine
19
27
  * gates `LINK_TO_GITIGNORED_FILE` on "gitignored AND exists"; hardcoding
@@ -62,10 +70,31 @@ function exclusionToContext(reason, targetExists) {
62
70
  }
63
71
  }
64
72
  }
73
+ /**
74
+ * The per-issue detail appended to the registry description.
75
+ *
76
+ * Always the link, because that is what identifies the edge. Plus, when the
77
+ * walker recorded WHICH rule refused the reference, the patterns of that rule:
78
+ * with several `excludeReferencesFromBundle` rules configured, learning that one
79
+ * of them fired is not an answer to "why did this file not ship?", and the
80
+ * walker already knows which. Keyed on the presence of `matchedRule` rather than
81
+ * on the code, because the walker only ever sets that field for the reason it
82
+ * describes — so this needs no branch on a code it does not own.
83
+ */
84
+ function exclusionDetail(r, target) {
85
+ const link = `link: ${r.linkHref ?? target}`;
86
+ return r.matchedRule === undefined
87
+ ? link
88
+ : `${link}; matched excludeReferencesFromBundle pattern(s): ${r.matchedRule.patterns.join(', ')}`;
89
+ }
65
90
  /**
66
91
  * Map walker exclusions to validation issues by routing each through the
67
- * intent-aware engine. Exclusions whose intent is acceptable (navigational
68
- * directory link, pattern-excluded reference) produce no issue.
92
+ * intent-aware engine.
93
+ *
94
+ * One exclusion in, one issue out: the engine no longer returns `null` for any
95
+ * reason the walker can record, so no exclusion is dropped on the floor here.
96
+ * The `null` branch remains because `evaluate` is shared with the file/orphan
97
+ * subject, where `null` is a real verdict.
69
98
  */
70
99
  export function walkerExclusionsToIssues(exclusions, locationRoot) {
71
100
  const issues = [];
@@ -75,20 +104,25 @@ export function walkerExclusionsToIssues(exclusions, locationRoot) {
75
104
  const code = evaluate(exclusionToContext(r.excludeReason, r.targetExists));
76
105
  if (code === null)
77
106
  continue;
78
- // Anchor to the file CONTAINING the link, not the target. For a
79
- // `missing-target` exclusion the target does not exist, so a location
80
- // naming it points at nothing the author can open. The target is a link,
81
- // and links have their own field.
82
- const target = issueLocation(r.path, locationRoot);
83
- issues.push(materializeIssue(code, {
84
- location: issueLocation(r.sourcePath, locationRoot),
85
- ...(r.sourceLine !== undefined && { line: r.sourceLine }),
86
- link: r.linkHref ?? target,
87
- detail: `link: ${r.linkHref ?? target}`,
88
- }));
107
+ issues.push(edgeIssue(code, r, locationRoot));
89
108
  }
90
109
  return issues;
91
110
  }
111
+ /** Followed links that left the skill directory, as issues at the registry default severity. */
112
+ export function outsideSkillDirLinksToIssues(links, locationRoot) {
113
+ const code = evaluate(makeRuleContext({ subject: 'edge', insideSkillDir: false }));
114
+ return code === null ? [] : links.map(r => edgeIssue(code, r, locationRoot));
115
+ }
116
+ /** One edge's issue, anchored to the file CONTAINING the link: a missing target names nothing to open. */
117
+ function edgeIssue(code, r, locationRoot) {
118
+ const target = issueLocation(r.path, locationRoot);
119
+ return materializeIssue(code, {
120
+ location: issueLocation(r.sourcePath, locationRoot),
121
+ ...(r.sourceLine !== undefined && { line: r.sourceLine }),
122
+ link: r.linkHref ?? target,
123
+ detail: exclusionDetail(r, target),
124
+ });
125
+ }
92
126
  /**
93
127
  * Emit one LINK_DEFERRED_ARTIFACT info issue per deferred asset path.
94
128
  *
@@ -1 +1 @@
1
- {"version":3,"file":"walker-to-issues.js","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walker-to-issues.js","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,8 @@
33
33
  * `non-routable-source` exclusion (`LINK_FROM_NON_ROUTABLE_FILE`).
34
34
  */
35
35
  import type { DeferredArtifacts, ResourceMetadata } from '@vibe-agent-toolkit/resources';
36
- import { FsLookupCache, type GitTracker } from '@vibe-agent-toolkit/utils';
36
+ import { FsLookupCache } from '@vibe-agent-toolkit/utils';
37
+ import { type GitTracker } from '@vibe-agent-toolkit/utils/git';
37
38
  /**
38
39
  * Resolution result for a single link found in a bundled markdown file.
39
40
  */
@@ -97,6 +98,8 @@ export interface LinkGraphResult {
97
98
  bundledAssets: string[];
98
99
  /** References detected but NOT bundled (depth, exclude, etc.) */
99
100
  excludedReferences: LinkResolution[];
101
+ /** Followed links whose shipped target lies outside the skill's directory (inside the project) */
102
+ outsideSkillDirLinks: LinkResolution[];
100
103
  /** Actual max depth of the bundled portion */
101
104
  maxBundledDepth: number;
102
105
  /** Asset paths that are deferred (declared in files config, may not exist yet) */
@@ -106,7 +109,29 @@ export interface LinkGraphResult {
106
109
  * Options for walking the link graph.
107
110
  */
108
111
  export interface WalkLinkGraphOptions {
109
- /** Max depth for following markdown links (Infinity for 'full') */
112
+ /**
113
+ * Max depth for following markdown links (Infinity for 'full').
114
+ *
115
+ * ⚠️ **This bounds ROUTING, not bundling.** The limit is consulted at exactly
116
+ * one site — the depth check in {@link processRegistryResource} — and that
117
+ * site is reached only for a target the walker walks THROUGH. The deciding
118
+ * predicate is {@link isRoutable}, i.e. `parserKindForPath(path) ===
119
+ * 'markdown'`; every target for which it is false is bundled as a leaf with
120
+ * no depth test at all:
121
+ *
122
+ * - a link target that is not a registry member (an image, a PDF, JSON) —
123
+ * the unconditional add in {@link processLink};
124
+ * - a link target that IS a registry member but is not markdown (HTML, and
125
+ * anything else a registry's include globs admit whose parser kind is
126
+ * `html` or `none`) — the early return in
127
+ * {@link processRegistryResource}, which tests routability BEFORE depth on
128
+ * purpose so that parsing a file never shrinks what ships.
129
+ *
130
+ * So the exemption is not "assets": it is **everything that is not
131
+ * markdown**. `maxDepth: 1` still ships a non-markdown file linked from a
132
+ * document ten hops out, as long as markdown routed to that document. See
133
+ * {@link walkLinkGraph}'s semantics list for the statement of the rule.
134
+ */
110
135
  maxDepth: number;
111
136
  /** Ordered exclude rules (first match wins) */
112
137
  excludeRules: ExcludeRule[];
@@ -1 +1 @@
1
- {"version":3,"file":"walk-link-graph.d.ts","sourceRoot":"","sources":["../src/walk-link-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAgB,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAA0C,MAAM,2BAA2B,CAAC;AAKnH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;;;;;OAOG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,SAAS,CAAC;IAC9P,sEAAsE;IACtE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAMD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC1D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,oEAAoE;IACpE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iEAAiE;IACjE,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAssBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,eAAe,CAkEjB"}
1
+ {"version":3,"file":"walk-link-graph.d.ts","sourceRoot":"","sources":["../src/walk-link-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAgB,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAKL,aAAa,EAKd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,+BAA+B,CAAC;AAK9E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;;;;;OAOG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,SAAS,CAAC;IAC9P,sEAAsE;IACtE,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAMD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC1D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,oEAAoE;IACpE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iEAAiE;IACjE,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,kGAAkG;IAClG,oBAAoB,EAAE,cAAc,EAAE,CAAC;IACvC,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAquBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,eAAe,CAiBjB"}
@@ -33,8 +33,9 @@
33
33
  * `non-routable-source` exclusion (`LINK_FROM_NON_ROUTABLE_FILE`).
34
34
  */
35
35
  import { basename, dirname } from 'node:path';
36
- import { isLocalFileLink, parserKindForPath, resolveLocalHref } from '@vibe-agent-toolkit/resources';
37
- import { FsLookupCache, isGitIgnored, toForwardSlash, safePath } from '@vibe-agent-toolkit/utils';
36
+ import { isLocalFileLink, parserKindForPath, resolveLocalHref, } from '@vibe-agent-toolkit/resources';
37
+ import { CRAWL_PASS_INSIDE, CRAWL_WALKER_GITIGNORE_ID, CRAWL_WALKER_ID, crawlTimingStart, FsLookupCache, recordCrawlPass, relativeEscapesRoot, toForwardSlash, safePath, } from '@vibe-agent-toolkit/utils';
38
+ import { isGitIgnored } from '@vibe-agent-toolkit/utils/git';
38
39
  import picomatch from 'picomatch';
39
40
  import { isAgentInstructionBasename, isNavigationBasename } from './validators/validation-rules.js';
40
41
  // ============================================================================
@@ -70,24 +71,30 @@ function resolveHrefToPath(hrefWithoutAnchor, sourceFilePath, projectRoot) {
70
71
  }
71
72
  /** Check if a link targets a file outside the project boundary */
72
73
  function isOutsideProject(targetPath, projectRoot) {
73
- return safePath.relative(projectRoot, targetPath).startsWith('..');
74
+ return relativeEscapesRoot(safePath.relative(projectRoot, targetPath));
74
75
  }
75
76
  // Navigation / agent-instruction classification is the shared, case-insensitive
76
77
  // matcher from validation-rules (`isNavigationBasename` / `isAgentInstructionBasename`),
77
78
  // used directly at the call sites below. On APFS/NTFS a `Claude.md` is loaded as
78
79
  // instructions exactly as a `CLAUDE.md` is, so the walker must refuse both spellings.
79
- /** Create an exclusion record */
80
- function makeExclusion(targetPath, sourcePath, targetExists, reason, link, matchedRule) {
80
+ function makeFollowedLink(targetPath, sourcePath, targetExists, link) {
81
81
  return {
82
82
  path: targetPath,
83
83
  sourcePath,
84
84
  ...(link.line !== undefined && { sourceLine: link.line }),
85
85
  targetExists,
86
+ bundled: true,
87
+ linkText: link.text,
88
+ linkHref: link.href,
89
+ };
90
+ }
91
+ /** Create an exclusion record */
92
+ function makeExclusion(targetPath, sourcePath, targetExists, reason, link, matchedRule) {
93
+ return {
94
+ ...makeFollowedLink(targetPath, sourcePath, targetExists, link),
86
95
  bundled: false,
87
96
  excludeReason: reason,
88
97
  ...(matchedRule ? { matchedRule } : {}),
89
- linkText: link.text,
90
- linkHref: link.href,
91
98
  };
92
99
  }
93
100
  /**
@@ -216,7 +223,7 @@ function classifyGitignoredTarget(targetPath, deferredArtifacts) {
216
223
  * rather than one per reference. The memo cannot change the answer: both
217
224
  * oracles are pure functions of the tree, and the memo's lifetime is one walk.
218
225
  *
219
- * ⛔ **Measured on VAT's own tree, 2026-08-09, and the result is a NEGATIVE —
226
+ * ⛔ **Measured on VAT's own tree, and the result is a NEGATIVE —
220
227
  * do not sell this as a performance win.** Counting asks vs. memo misses in the
221
228
  * built lane: `vat audit .` = 3 asks / 2 distinct, `vat skills build` = 0 / 0,
222
229
  * `vat inventory .` = 0 / 0. **One** oracle call avoided across all three.
@@ -249,9 +256,16 @@ function readGitignored(targetPath, options, state) {
249
256
  const cached = state.gitignoreFacts.get(targetPath);
250
257
  if (cached !== undefined)
251
258
  return cached;
259
+ // Charged on the MISS path only, so `calls` counts oracle READS rather than
260
+ // asks — a memo hit costs nothing worth a bracket, and counting it would make
261
+ // the row's ms/call meaningless. This is the branch that can spawn
262
+ // `git check-ignore`, which is why it is separated from the walk's own row at
263
+ // all: the walk's cost and the oracle's cost move for different reasons.
264
+ const startedAt = crawlTimingStart();
252
265
  const isIgnored = options.gitTracker === undefined
253
266
  ? isGitIgnored(targetPath, options.projectRoot)
254
267
  : options.gitTracker.isIgnoredByActiveSet(targetPath);
268
+ recordCrawlPass(CRAWL_WALKER_GITIGNORE_ID, 'crawl', CRAWL_PASS_INSIDE, startedAt);
255
269
  state.gitignoreFacts.set(targetPath, isIgnored);
256
270
  return isIgnored;
257
271
  }
@@ -439,13 +453,27 @@ function processLink(link, currentResource, currentDepth, registry, options, exc
439
453
  // path in the same tick.
440
454
  }
441
455
  else if (state.pathProbe.probe(targetPath).exists) {
442
- // Not in registry — non-markdown asset that exists on disk
456
+ // Not in registry — non-markdown asset that exists on disk.
457
+ //
458
+ // ⚠️ `currentDepth` is deliberately NOT consulted here, and its absence is
459
+ // the behaviour, not an oversight. An asset is a leaf: bundling it enqueues
460
+ // nothing, so there is no depth for a limit to bound. A `maxDepth` of 1
461
+ // therefore still ships every image, JSON and PDF hanging off a
462
+ // depth-3 document, provided some routed markdown reached that document.
463
+ // Stated in {@link walkLinkGraph}'s own semantics list ("Non-markdown
464
+ // assets bypass depth limits") and mirrored for non-routable REGISTRY
465
+ // members in {@link processRegistryResource} — do not "fix" one site
466
+ // without the other; they are one rule with two arms.
443
467
  state.bundledAssetSet.add(toForwardSlash(targetPath));
444
468
  }
445
469
  else {
446
470
  // File doesn't exist and not in registry, and not deferred (handled above).
447
471
  // Record as missing-target so downstream emits LINK_MISSING_TARGET.
448
472
  state.excludedReferences.push(makeExclusion(targetPath, currentResource.filePath, false, 'missing-target', link));
473
+ return;
474
+ }
475
+ if (relativeEscapesRoot(safePath.relative(dirname(options.skillRootPath), targetPath))) {
476
+ state.followedOutsideSkillDir.push(makeFollowedLink(targetPath, currentResource.filePath, true, link));
449
477
  }
450
478
  }
451
479
  /**
@@ -543,9 +571,36 @@ function processRegistryResource(targetResource, targetPath, sourcePath, link, c
543
571
  * @returns Graph walk result with bundled resources, assets, and exclusions
544
572
  */
545
573
  export function walkLinkGraph(skillResourceId, registry, options) {
574
+ // This walker is not a projection contributor, so the merge driver never sees
575
+ // it and it has no stratum of its own. It records under the synthetic id
576
+ // `walk-link-graph:walk` in the `crawl` stratum — declared in
577
+ // `crawl-timing.ts`, deliberately not an ad-hoc string here, because a
578
+ // synthetic id that arrives by accident is indistinguishable in the dump from
579
+ // a real contributor's.
580
+ //
581
+ // `try`/`finally` rather than a record before each `return`: the early exit
582
+ // for an unknown skill id is a real (cheap) call and must still be counted,
583
+ // and a throw must not silently drop a bracket.
584
+ const startedAt = crawlTimingStart();
585
+ try {
586
+ return walkLinkGraphBody(skillResourceId, registry, options);
587
+ }
588
+ finally {
589
+ recordCrawlPass(CRAWL_WALKER_ID, 'crawl', CRAWL_PASS_INSIDE, startedAt);
590
+ }
591
+ }
592
+ /**
593
+ * The walk itself, with no timing concern in it.
594
+ *
595
+ * @param skillResourceId - The resource ID of the skill's SKILL.md in the registry
596
+ * @param registry - A walkable registry with pre-parsed resources
597
+ * @param options - Walk options (depth, excludes, etc.)
598
+ * @returns Graph walk result with bundled resources, assets, and exclusions
599
+ */
600
+ function walkLinkGraphBody(skillResourceId, registry, options) {
546
601
  const skillResource = registry.getResourceById(skillResourceId);
547
602
  if (!skillResource) {
548
- return { bundledResources: [], bundledAssets: [], excludedReferences: [], maxBundledDepth: 0, deferredAssets: [] };
603
+ return { bundledResources: [], bundledAssets: [], excludedReferences: [], outsideSkillDirLinks: [], maxBundledDepth: 0, deferredAssets: [] };
549
604
  }
550
605
  // Compile exclude patterns once
551
606
  const excludeMatchers = options.excludeRules.map((rule) => ({
@@ -566,6 +621,7 @@ export function walkLinkGraph(skillResourceId, registry, options) {
566
621
  maxBundledDepth: 0,
567
622
  queue: [[skillResource, 0]],
568
623
  unfollowedFromNonRoutable: [],
624
+ followedOutsideSkillDir: [],
569
625
  pathProbe: options.pathProbe ?? new FsLookupCache(),
570
626
  gitignoreFacts: new Map(),
571
627
  };
@@ -581,24 +637,44 @@ export function walkLinkGraph(skillResourceId, registry, options) {
581
637
  }
582
638
  }
583
639
  }
584
- // Promote only the unfollowed links whose targets the walk never bundled by
585
- // any other route. Deferred artifacts count as accounted-for: the target will
586
- // exist once the build materializes it, which is the same reason they are not
587
- // `missing-target`.
640
+ // What actually SHIPPED, resolved once the walk is over. Deferred artifacts
641
+ // count as accounted-for: the target will exist once the build materializes
642
+ // it, which is the same reason they are not `missing-target`.
588
643
  const bundledPaths = new Set([
589
644
  ...state.bundledAssetSet,
590
645
  ...state.deferredAssetSet,
591
646
  ...[...state.bundledResourceMap.values()].map(r => toForwardSlash(r.filePath)),
592
647
  ]);
648
+ const targetShipped = (r) => bundledPaths.has(toForwardSlash(r.path));
649
+ // 🔑 Two reasons ask ONE question — "did the target ship?" — and both can only
650
+ // answer it here, against the FINAL bundle, or the answer depends on queue
651
+ // order.
652
+ //
653
+ // `depth-exceeded` is recorded eagerly, at the moment an edge is refused, and
654
+ // that is correct: the refusal is a fact about the EDGE. It is not a fact
655
+ // about the TARGET, and `LINK_DROPPED_BY_DEPTH` claims the latter — "this link
656
+ // was not bundled". On any diamond the two diverge: the same reference cited
657
+ // from SKILL.md and again from a page one hop deeper ships via the shallow
658
+ // route and is refused on the deep one, and the finding used to fire anyway.
659
+ // Measured on `packages/vat-example-cat-agents`, whose
660
+ // `cat-breed-selection.md` is in the built bundle at depth 1 and was reported
661
+ // dropped for its depth-2 occurrence via `workflow-orchestration.md`. The
662
+ // remedy the message implies — raise `linkFollowDepth` — is a no-op for a link
663
+ // that already works.
664
+ //
665
+ // Filtered in place rather than held back and appended, so the surviving
666
+ // exclusions keep the order the walk found them in.
667
+ const excludedReferences = state.excludedReferences.filter((r) => r.excludeReason !== 'depth-exceeded' || !targetShipped(r));
593
668
  for (const unfollowed of state.unfollowedFromNonRoutable) {
594
- if (!bundledPaths.has(toForwardSlash(unfollowed.path))) {
595
- state.excludedReferences.push(unfollowed);
669
+ if (!targetShipped(unfollowed)) {
670
+ excludedReferences.push(unfollowed);
596
671
  }
597
672
  }
598
673
  return {
599
674
  bundledResources: [...state.bundledResourceMap.values()],
600
675
  bundledAssets: [...state.bundledAssetSet],
601
- excludedReferences: state.excludedReferences,
676
+ excludedReferences,
677
+ outsideSkillDirLinks: state.followedOutsideSkillDir.filter(targetShipped),
602
678
  maxBundledDepth: state.maxBundledDepth,
603
679
  deferredAssets: [...state.deferredAssetSet],
604
680
  };
@@ -1 +1 @@
1
- {"version":3,"file":"walk-link-graph.js","sourceRoot":"","sources":["../src/walk-link-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walk-link-graph.js","sourceRoot":"","sources":["../src/walk-link-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,QAAQ,GACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAmB,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAqKpG,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,iBAAiB,CAAC,iBAAyB,EAAE,cAAsB,EAAE,WAAmB;IAC/F,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IACpF,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;IACD,OAAO,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;QACtC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACnE,CAAC;AAED,kEAAkE;AAClE,SAAS,gBAAgB,CAAC,UAAkB,EAAE,WAAmB;IAC/D,OAAO,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,gFAAgF;AAChF,yFAAyF;AACzF,iFAAiF;AACjF,sFAAsF;AAEtF,SAAS,gBAAgB,CAAC,UAAkB,EAAE,UAAkB,EAAE,YAAqB,EAAE,IAAkB;IACzG,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,UAAU;QACV,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACzD,YAAY;QACZ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;KACpB,CAAC;AACJ,CAAC;AAED,iCAAiC;AACjC,SAAS,aAAa,CACpB,UAAkB,EAClB,UAAkB,EAClB,YAAqB,EACrB,MAAuC,EACvC,IAAkB,EAClB,WAAyB;IAEzB,OAAO;QACL,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;QAC/D,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,MAAM;QACrB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AA0HD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,UAAkB,EAAE,OAA6B,EAAE,KAAgB;IACxF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClE,OAAO;QACL,MAAM;QACN,WAAW;QACX,aAAa,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC;KAClE,CAAC;AACJ,CAAC;AAmBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,aAAa,CACpB,UAAkB,EAClB,YAAqB,EACrB,iBAAoC;IAEpC,OAAO,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAS,2BAA2B,CAAC,UAAkB,EAAE,OAA6B;IACpF,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAC/D,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,wBAAwB,CAC/B,UAAkB,EAClB,iBAAgD;IAEhD,OAAO,iBAAiB,EAAE,UAAU,CAAC,UAAU,CAAC;QAC9C,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;QACtB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,SAAS,cAAc,CAAC,UAAkB,EAAE,OAA6B,EAAE,KAAgB;IACzF,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,4EAA4E;IAC5E,8EAA8E;IAC9E,mEAAmE;IACnE,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS;QAChD,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC;QAC/C,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACxD,eAAe,CAAC,yBAAyB,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAClF,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,gBAAgB,CAAC,KAAgB;IACxC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACpC,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACxF,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACzF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,iBAAiB,CACxB,UAAkB,EAClB,OAA6B,EAC7B,eAAiC,EACjC,KAAgB;IAEhB,+EAA+E;IAC/E,mEAAmE;IACnE,IAAI,OAAO,CAAC,iBAAiB,IAAI,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,iCAAiC;IACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,yBAAyB;IACzB,IAAI,CAAC,KAAK,CAAC,aAAa;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAEjF,kCAAkC;IAClC,IAAI,OAAO,CAAC,sBAAsB,IAAI,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACzD,CAAC;IAED,kFAAkF;IAClF,0EAA0E;IAC1E,IAAI,2BAA2B,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAChE,CAAC;IAED,kFAAkF;IAClF,wFAAwF;IACxF,sFAAsF;IACtF,EAAE;IACF,kFAAkF;IAClF,iFAAiF;IACjF,iFAAiF;IACjF,wBAAwB;IACxB,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YAC7E,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;YACrB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACvD,CAAC;IAED,mDAAmD;IACnD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IACxF,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC;IAC3F,CAAC;IAED,8EAA8E;IAC9E,gEAAgE;IAChE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CACzB,UAAkB,EAClB,OAA6B,EAC7B,KAAgB,EAChB,KAAgB;IAEhB,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACpC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,OAAyB,EACzB,UAAkB,EAClB,UAAkB,EAClB,IAAkB,EAClB,KAAgB,EAChB,KAAgB;IAEhB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAC3B,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAC/F,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe,CACtB,UAAkB,EAClB,UAAkB,EAClB,IAAkB,EAClB,OAA6B,EAC7B,eAAiC,EACjC,KAAgB;IAEhB,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC;WACzE,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpF,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAClB,IAAkB,EAClB,eAAiC,EACjC,YAAoB,EACpB,QAA0B,EAC1B,OAA6B,EAC7B,eAAiC,EACjC,KAAgB;IAEhB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IAE/D,gFAAgF;IAChF,oFAAoF;IACpF,IAAI,iBAAiB,KAAK,EAAE,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,MAAM,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAEvG,8FAA8F;IAC9F,IAAI,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;QACjG,OAAO;IACT,CAAC;IAED,0DAA0D;IAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU;QACpC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAErC,IAAI,cAAc,EAAE,CAAC;QACnB,uBAAuB,CAAC,cAAc,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClH,0EAA0E;QAC1E,+DAA+D;QAC/D,0EAA0E;QAC1E,yEAAyE;QACzE,yBAAyB;IAC3B,CAAC;SAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;QACpD,4DAA4D;QAC5D,EAAE;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,wEAAwE;QACxE,gEAAgE;QAChE,yEAAyE;QACzE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,sDAAsD;QACtD,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,4EAA4E;QAC5E,oEAAoE;QACpE,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QAClH,OAAO;IACT,CAAC;IAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACvF,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AACpD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC5B,MAAwB,EACxB,OAA6B,EAC7B,KAAgB;IAEhB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;QAC/D,IAAI,iBAAiB,KAAK,EAAE;YAAE,SAAS;QACvC,MAAM,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9F,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QAC9D,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAClC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,IAAI,CAAC,CACtF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAC9B,cAAgC,EAChC,UAAkB,EAClB,UAAkB,EAClB,IAAkB,EAClB,YAAoB,EACpB,OAA6B,EAC7B,KAAgB;IAEhB,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QACD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAChE,uEAAuE;QACvE,iDAAiD;QACjD,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,6EAA6E;IAC7E,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QACnG,OAAO;IACT,CAAC;IAED,8CAA8C;IAC9C,IAAI,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACpD,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAChE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IAC1E,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAC3B,eAAuB,EACvB,QAA0B,EAC1B,OAA6B;IAE7B,8EAA8E;IAC9E,yEAAyE;IACzE,8DAA8D;IAC9D,uEAAuE;IACvE,8EAA8E;IAC9E,wBAAwB;IACxB,EAAE;IACF,4EAA4E;IAC5E,4EAA4E;IAC5E,gDAAgD;IAChD,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,eAAe,CAAC,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CACxB,eAAuB,EACvB,QAA0B,EAC1B,OAA6B;IAE7B,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAChE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IAC/I,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAqB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAI;QACJ,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,qDAAqD;QACrD,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;KACjD,CAAC,CAAC,CAAC;IAEJ,wBAAwB;IACxB,MAAM,KAAK,GAAc;QACvB,kBAAkB,EAAE,IAAI,GAAG,CAAS,CAAC,eAAe,CAAC,CAAC;QACtD,kBAAkB,EAAE,IAAI,GAAG,EAA4B;QACvD,eAAe,EAAE,IAAI,GAAG,EAAU;QAClC,gBAAgB,EAAE,IAAI,GAAG,EAAU;QACnC,kBAAkB,EAAE,EAAE;QACtB,eAAe,EAAE,CAAC;QAClB,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC3B,yBAAyB,EAAE,EAAE;QAC7B,uBAAuB,EAAE,EAAE;QAC3B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,aAAa,EAAE;QACnD,cAAc,EAAE,IAAI,GAAG,EAAmB;KAC3C,CAAC;IAEF,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM;QACR,CAAC;QACD,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS;QACnC,GAAG,KAAK,CAAC,eAAe;QACxB,GAAG,KAAK,CAAC,gBAAgB;QACzB,GAAG,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KAC/E,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,CAAC,CAAiB,EAAW,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/F,+EAA+E;IAC/E,2EAA2E;IAC3E,SAAS;IACT,EAAE;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,+EAA+E;IAC/E,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,uDAAuD;IACvD,8EAA8E;IAC9E,0EAA0E;IAC1E,+EAA+E;IAC/E,sBAAsB;IACtB,EAAE;IACF,yEAAyE;IACzE,oDAAoD;IACpD,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,gBAAgB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CACjE,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACxD,aAAa,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;QACzC,kBAAkB;QAClB,oBAAoB,EAAE,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC;QACzE,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC;KAC5C,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-agent-toolkit/agent-skills",
3
- "version": "0.2.0-rc.1",
3
+ "version": "0.2.0-rc.11",
4
4
  "description": "Build, validate, and package agent skills in the Agent Skills format",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,37 +19,29 @@
19
19
  "README.md"
20
20
  ],
21
21
  "scripts": {
22
- "build": "tsx ../dev-tools/src/tsc-clean-build.ts --build && bun run generate:schemas",
23
- "build:watch": "tsc --build --watch",
24
- "clean": "rm -rf dist *.tsbuildinfo schemas/",
22
+ "build": "tsx ../dev-tools/src/tsc-clean-build.ts && bun run generate:schemas",
23
+ "clean": "rimraf --glob dist \"*.tsbuildinfo\" .tsc-staging",
25
24
  "generate:schemas": "tsx scripts/generate-json-schemas.ts",
26
25
  "test:unit": "vitest run",
27
26
  "test:integration": "vitest run --config vitest.integration.config.ts",
28
- "test:watch": "vitest watch",
29
- "test:coverage": "vitest run --coverage",
27
+ "test:watch": "vitest",
30
28
  "typecheck": "tsc --noEmit"
31
29
  },
32
30
  "dependencies": {
33
- "@vibe-agent-toolkit/agent-config": "0.2.0-rc.1",
34
- "@vibe-agent-toolkit/agent-schema": "0.2.0-rc.1",
35
- "@vibe-agent-toolkit/resources": "0.2.0-rc.1",
36
- "@vibe-agent-toolkit/utils": "0.2.0-rc.1",
37
- "adm-zip": "^0.6.0",
31
+ "@vibe-agent-toolkit/agent-config": "0.2.0-rc.11",
32
+ "@vibe-agent-toolkit/schema": "0.2.0-rc.11",
33
+ "@vibe-agent-toolkit/resources": "0.2.0-rc.11",
34
+ "@vibe-agent-toolkit/utils": "0.2.0-rc.11",
35
+ "adm-zip": "^0.6.1",
38
36
  "glob": "^10.3.10",
39
37
  "picomatch": "^4.0.3",
40
- "yaml": "^2.6.1",
41
- "zod": "^3.24.1",
42
- "zod-to-json-schema": "^3.23.5"
38
+ "yaml": "^2.9.0",
39
+ "zod": "^3.25.0",
40
+ "zod-to-json-schema": "^3.24.5"
43
41
  },
44
42
  "devDependencies": {
45
- "@types/adm-zip": "^0.5.7",
46
- "@types/picomatch": "^4.0.2",
47
- "@types/node": "^22.0.0",
48
43
  "ajv": "^8.17.1",
49
- "github-slugger": "^2.0.0",
50
- "tsx": "^4.19.2",
51
- "typescript": "~5.7.2",
52
- "vitest": "^3.2.4"
44
+ "github-slugger": "^2.0.0"
53
45
  },
54
46
  "keywords": [
55
47
  "ai",
@@ -66,6 +58,6 @@
66
58
  "author": "Jeff Dutton",
67
59
  "license": "MIT",
68
60
  "engines": {
69
- "node": ">=22.0.0"
61
+ "node": ">=22.13.0"
70
62
  }
71
63
  }
@@ -1,97 +0,0 @@
1
- /** Exit codes for `vat skill test` (spec §6d). */
2
- export declare const SkillTestExitCode: {
3
- readonly Ok: 0;
4
- readonly Internal: 1;
5
- readonly Preflight: 2;
6
- readonly Bootstrap: 3;
7
- /**
8
- * At least one eval FAILED. This is the DEFAULT verdict for a completed run
9
- * whose expectations did not all pass (fail-closed) — suppress it with the
10
- * interactive opt-out `--allow-eval-failure`. Distinct from the harness-broke
11
- * codes (1/2/3): the harness ran to completion and produced a valid
12
- * grading.json — the skill's expectations simply did not all pass. This
13
- * differentiation lets a CI consumer treat 4 as tolerable while still failing
14
- * closed on every other non-zero code:
15
- * `case $? in 0) ;; 4) tolerate/warn ;; *) hard fail ;; esac`
16
- * Returned DIRECTLY by the harness verdict (see verdictExitCode in
17
- * run-harness.ts), not via mapErrorToExitCode, because it is an outcome, not a
18
- * thrown error.
19
- */
20
- readonly EvalFailure: 4;
21
- };
22
- export type SkillTestExitCodeValue = (typeof SkillTestExitCode)[keyof typeof SkillTestExitCode];
23
- /**
24
- * A required input is absent in a way vat can scaffold (missing evals.json).
25
- * Exit 3, NOT a failure. `expectedPath` is the persistent location of the
26
- * annotated starter template.
27
- *
28
- * In a real run the harness has already written that template, and the message
29
- * says so. Under `--dry-run` nothing is written — a dry run must never touch the
30
- * filesystem — so the message instead describes what a real run *would* scaffold
31
- * and where, while surfacing the same exit-3 "bootstrap needed" signal.
32
- */
33
- export declare class BootstrapNeededError extends Error {
34
- readonly expectedPath: string;
35
- readonly exitCode: 3;
36
- constructor(expectedPath: string, opts?: {
37
- dryRun?: boolean;
38
- });
39
- }
40
- /** Thrown when building a declared skill (pool packageSkill or plugin build) fails. Exit 2 (preflight class). */
41
- export declare class SkillBuildError extends Error {
42
- readonly exitCode: 2;
43
- constructor(message: string);
44
- }
45
- /**
46
- * The §12 security acknowledgment is required but absent, thrown BEFORE any
47
- * build/pre-stage command (which executes untrusted repo code) runs for a
48
- * buildable subject. Exit 2 (preflight class). Mirrors the harness Step-6 ack
49
- * message wording so the two enforcement points read identically.
50
- */
51
- export declare class SecurityAckError extends Error {
52
- readonly exitCode: 2;
53
- constructor();
54
- }
55
- /**
56
- * A skill name is staged more than once in a single run — the subject, a
57
- * `--with` companion, and a `--with-optional` companion must all have distinct
58
- * names. Both `--with` and `--with-optional` STAGE the named companion and make
59
- * it invocable (issue #153: they differ only in required-vs-optional resolution,
60
- * not in whether they are staged), so a colliding name would silently overwrite
61
- * an earlier staged copy under the same slot — never an error, never a manifest
62
- * trace — which makes a routing/deferral eval look correct while testing
63
- * something else. Exit 2 (preflight class): user-correctable input, like a bad
64
- * env token or missing security ack.
65
- */
66
- export declare class DuplicateStagedSkillError extends Error {
67
- readonly skillName: string;
68
- readonly exitCode: 2;
69
- constructor(skillName: string);
70
- }
71
- /** Internal harness failure (an executor/grader spawn error, watchdog timeout/stall, or a missing grader fragment). Exit 1. */
72
- export declare class InternalHarnessError extends Error {
73
- readonly exitCode: 1;
74
- constructor(message: string);
75
- }
76
- /**
77
- * Map any thrown error to the process exit code. Errors that carry their own
78
- * `exitCode` (Bootstrap/Auth/HarnessLocation/Internal) are authoritative;
79
- * a PromptInvariantError is a defense-in-depth failure over VAT's OWN generated
80
- * executor/grader prompts (a required safety directive missing from a prompt VAT
81
- * built) — surfaced as a user-visible preflight-class problem → 2; a BuildHookError
82
- * is a pre-stage build failure → 2; a SkillBuildError is a declared-skill build
83
- * failure → 2; a SecurityAckError is a missing security ack before a build → 2;
84
- * an UnknownEnvTokenError is a bad ${token} in a
85
- * declared env value → 2; a DuplicateStagedSkillError is a staged-name collision
86
- * across subject/--with/--with-optional → 2; GradingSkewError (aggregate grading.json shape skew),
87
- * EvalFragmentError (per-eval grader fragment parse failure), and
88
- * GradingNonceError (forged/mismatched per-fragment grader nonce) are all → 1;
89
- * everything unknown → 1.
90
- *
91
- * Note: SkillTestExitCode.EvalFailure (4) is NOT produced here — it is an
92
- * outcome of a completed run (an eval failed, the fail-closed default unless
93
- * `--allow-eval-failure`), not a thrown error, so the harness returns it
94
- * directly (see verdictExitCode).
95
- */
96
- export declare function mapErrorToExitCode(err: unknown): number;
97
- //# sourceMappingURL=exit-codes.d.ts.map