@vibe-agent-toolkit/agent-skills 0.2.0-rc.7 → 0.2.0-rc.9

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 (221) 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/files-config.d.ts +2 -2
  6. package/dist/files-config.d.ts.map +1 -1
  7. package/dist/files-config.js +4 -10
  8. package/dist/files-config.js.map +1 -1
  9. package/dist/import.d.ts.map +1 -1
  10. package/dist/import.js +0 -4
  11. package/dist/import.js.map +1 -1
  12. package/dist/index.d.ts +2 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/inventory/types.d.ts +8 -0
  17. package/dist/inventory/types.d.ts.map +1 -1
  18. package/dist/inventory/types.js.map +1 -1
  19. package/dist/link-graph-members.d.ts +18 -0
  20. package/dist/link-graph-members.d.ts.map +1 -0
  21. package/dist/link-graph-members.js +18 -0
  22. package/dist/link-graph-members.js.map +1 -0
  23. package/dist/plugin-distribution-layout.d.ts +70 -6
  24. package/dist/plugin-distribution-layout.d.ts.map +1 -1
  25. package/dist/plugin-distribution-layout.js +68 -10
  26. package/dist/plugin-distribution-layout.js.map +1 -1
  27. package/dist/post-build-checks.d.ts.map +1 -1
  28. package/dist/post-build-checks.js +12 -11
  29. package/dist/post-build-checks.js.map +1 -1
  30. package/dist/projection/skill-extent.d.ts +1 -1
  31. package/dist/projection/skill-extent.d.ts.map +1 -1
  32. package/dist/projection/skill-extent.js +3 -1
  33. package/dist/projection/skill-extent.js.map +1 -1
  34. package/dist/schemas/installed-plugins-registry.d.ts.map +1 -1
  35. package/dist/schemas/installed-plugins-registry.js +7 -1
  36. package/dist/schemas/installed-plugins-registry.js.map +1 -1
  37. package/dist/skill-identity.d.ts +8 -3
  38. package/dist/skill-identity.d.ts.map +1 -1
  39. package/dist/skill-identity.js +13 -6
  40. package/dist/skill-identity.js.map +1 -1
  41. package/dist/skill-packager.d.ts +2 -1
  42. package/dist/skill-packager.d.ts.map +1 -1
  43. package/dist/skill-packager.js +53 -44
  44. package/dist/skill-packager.js.map +1 -1
  45. package/dist/skill-source/content-hash.d.ts.map +1 -1
  46. package/dist/skill-source/content-hash.js +21 -10
  47. package/dist/skill-source/content-hash.js.map +1 -1
  48. package/dist/skill-source/fetch-cache.d.ts.map +1 -1
  49. package/dist/skill-source/fetch-cache.js +0 -5
  50. package/dist/skill-source/fetch-cache.js.map +1 -1
  51. package/dist/skill-source/git-clone.d.ts.map +1 -1
  52. package/dist/skill-source/git-clone.js +0 -2
  53. package/dist/skill-source/git-clone.js.map +1 -1
  54. package/dist/skill-source/sources/url-source.d.ts.map +1 -1
  55. package/dist/skill-source/sources/url-source.js +0 -1
  56. package/dist/skill-source/sources/url-source.js.map +1 -1
  57. package/dist/skill-source/stage.d.ts.map +1 -1
  58. package/dist/skill-source/stage.js +0 -6
  59. package/dist/skill-source/stage.js.map +1 -1
  60. package/dist/skill-test/baseline-integrity.d.ts.map +1 -1
  61. package/dist/skill-test/baseline-integrity.js +10 -3
  62. package/dist/skill-test/baseline-integrity.js.map +1 -1
  63. package/dist/skill-test/build-hook.d.ts +3 -2
  64. package/dist/skill-test/build-hook.d.ts.map +1 -1
  65. package/dist/skill-test/build-hook.js +4 -4
  66. package/dist/skill-test/build-hook.js.map +1 -1
  67. package/dist/skill-test/declared-env.d.ts +5 -4
  68. package/dist/skill-test/declared-env.d.ts.map +1 -1
  69. package/dist/skill-test/declared-env.js +7 -9
  70. package/dist/skill-test/declared-env.js.map +1 -1
  71. package/dist/skill-test/eval-executor.d.ts +1 -1
  72. package/dist/skill-test/eval-executor.js +2 -2
  73. package/dist/skill-test/eval-executor.js.map +1 -1
  74. package/dist/skill-test/eval-fragment.d.ts +7 -5
  75. package/dist/skill-test/eval-fragment.d.ts.map +1 -1
  76. package/dist/skill-test/eval-fragment.js +13 -7
  77. package/dist/skill-test/eval-fragment.js.map +1 -1
  78. package/dist/skill-test/eval-grader.d.ts +56 -4
  79. package/dist/skill-test/eval-grader.d.ts.map +1 -1
  80. package/dist/skill-test/eval-grader.js +138 -73
  81. package/dist/skill-test/eval-grader.js.map +1 -1
  82. package/dist/skill-test/eval-inputs.d.ts +8 -7
  83. package/dist/skill-test/eval-inputs.d.ts.map +1 -1
  84. package/dist/skill-test/eval-inputs.js +9 -11
  85. package/dist/skill-test/eval-inputs.js.map +1 -1
  86. package/dist/skill-test/eval-lint.d.ts +4 -4
  87. package/dist/skill-test/eval-lint.js +5 -5
  88. package/dist/skill-test/eval-lint.js.map +1 -1
  89. package/dist/skill-test/eval-suite-isolation.d.ts.map +1 -1
  90. package/dist/skill-test/eval-suite-isolation.js +8 -5
  91. package/dist/skill-test/eval-suite-isolation.js.map +1 -1
  92. package/dist/skill-test/evals-template.d.ts +1 -1
  93. package/dist/skill-test/evals-template.d.ts.map +1 -1
  94. package/dist/skill-test/evals-template.js +1 -3
  95. package/dist/skill-test/evals-template.js.map +1 -1
  96. package/dist/skill-test/executor-prompt.d.ts +2 -2
  97. package/dist/skill-test/executor-prompt.js +2 -2
  98. package/dist/skill-test/failure-reason.d.ts +113 -0
  99. package/dist/skill-test/failure-reason.d.ts.map +1 -0
  100. package/dist/skill-test/failure-reason.js +124 -0
  101. package/dist/skill-test/failure-reason.js.map +1 -0
  102. package/dist/skill-test/fragment-merge.d.ts +2 -2
  103. package/dist/skill-test/fragment-merge.js +4 -4
  104. package/dist/skill-test/grader-prompt.d.ts +2 -2
  105. package/dist/skill-test/grader-prompt.d.ts.map +1 -1
  106. package/dist/skill-test/grader-prompt.js +12 -8
  107. package/dist/skill-test/grader-prompt.js.map +1 -1
  108. package/dist/skill-test/grading-adapter.d.ts +7 -3
  109. package/dist/skill-test/grading-adapter.d.ts.map +1 -1
  110. package/dist/skill-test/grading-adapter.js +10 -9
  111. package/dist/skill-test/grading-adapter.js.map +1 -1
  112. package/dist/skill-test/harness-location.d.ts +3 -2
  113. package/dist/skill-test/harness-location.d.ts.map +1 -1
  114. package/dist/skill-test/harness-location.js +5 -16
  115. package/dist/skill-test/harness-location.js.map +1 -1
  116. package/dist/skill-test/index.d.ts +1 -1
  117. package/dist/skill-test/index.d.ts.map +1 -1
  118. package/dist/skill-test/index.js +1 -1
  119. package/dist/skill-test/index.js.map +1 -1
  120. package/dist/skill-test/lock.d.ts +11 -10
  121. package/dist/skill-test/lock.d.ts.map +1 -1
  122. package/dist/skill-test/lock.js +13 -14
  123. package/dist/skill-test/lock.js.map +1 -1
  124. package/dist/skill-test/pipeline.d.ts +3 -1
  125. package/dist/skill-test/pipeline.d.ts.map +1 -1
  126. package/dist/skill-test/pipeline.js +5 -1
  127. package/dist/skill-test/pipeline.js.map +1 -1
  128. package/dist/skill-test/preflight.d.ts.map +1 -1
  129. package/dist/skill-test/preflight.js +0 -1
  130. package/dist/skill-test/preflight.js.map +1 -1
  131. package/dist/skill-test/prompt-invariants.d.ts +4 -2
  132. package/dist/skill-test/prompt-invariants.d.ts.map +1 -1
  133. package/dist/skill-test/prompt-invariants.js +5 -4
  134. package/dist/skill-test/prompt-invariants.js.map +1 -1
  135. package/dist/skill-test/run-harness.d.ts +160 -123
  136. package/dist/skill-test/run-harness.d.ts.map +1 -1
  137. package/dist/skill-test/run-harness.js +310 -174
  138. package/dist/skill-test/run-harness.js.map +1 -1
  139. package/dist/skill-test/staging.d.ts +12 -6
  140. package/dist/skill-test/staging.d.ts.map +1 -1
  141. package/dist/skill-test/staging.js +17 -14
  142. package/dist/skill-test/staging.js.map +1 -1
  143. package/dist/skill-test/tier-plan.d.ts +1 -1
  144. package/dist/skill-test/tier-plan.js +1 -1
  145. package/dist/skill-test/tool-eval-schema.js +2 -2
  146. package/dist/skill-test/vendor-manifest.d.ts +2 -1
  147. package/dist/skill-test/vendor-manifest.d.ts.map +1 -1
  148. package/dist/skill-test/vendor-manifest.js +10 -10
  149. package/dist/skill-test/vendor-manifest.js.map +1 -1
  150. package/dist/test-input.d.ts +2 -2
  151. package/dist/test-input.d.ts.map +1 -1
  152. package/dist/test-input.js +6 -7
  153. package/dist/test-input.js.map +1 -1
  154. package/dist/validators/agent-instruction-presence.d.ts.map +1 -1
  155. package/dist/validators/agent-instruction-presence.js +0 -1
  156. package/dist/validators/agent-instruction-presence.js.map +1 -1
  157. package/dist/validators/bundled-resource-link-detection.d.ts +5 -3
  158. package/dist/validators/bundled-resource-link-detection.d.ts.map +1 -1
  159. package/dist/validators/bundled-resource-link-detection.js +38 -38
  160. package/dist/validators/bundled-resource-link-detection.js.map +1 -1
  161. package/dist/validators/format-detection.d.ts +3 -0
  162. package/dist/validators/format-detection.d.ts.map +1 -1
  163. package/dist/validators/format-detection.js +41 -26
  164. package/dist/validators/format-detection.js.map +1 -1
  165. package/dist/validators/frontmatter-validation.js +1 -1
  166. package/dist/validators/frontmatter-validation.js.map +1 -1
  167. package/dist/validators/marketplace-validator.d.ts.map +1 -1
  168. package/dist/validators/marketplace-validator.js +0 -1
  169. package/dist/validators/marketplace-validator.js.map +1 -1
  170. package/dist/validators/mcp-tool-qualification.d.ts +1 -1
  171. package/dist/validators/mcp-tool-qualification.js +1 -1
  172. package/dist/validators/packaged-size-limit.d.ts.map +1 -1
  173. package/dist/validators/packaged-size-limit.js +0 -2
  174. package/dist/validators/packaged-size-limit.js.map +1 -1
  175. package/dist/validators/packaging-validator.d.ts +2 -2
  176. package/dist/validators/packaging-validator.d.ts.map +1 -1
  177. package/dist/validators/packaging-validator.js +10 -13
  178. package/dist/validators/packaging-validator.js.map +1 -1
  179. package/dist/validators/plugin-hosted-shape.d.ts +3 -1
  180. package/dist/validators/plugin-hosted-shape.d.ts.map +1 -1
  181. package/dist/validators/plugin-hosted-shape.js +5 -6
  182. package/dist/validators/plugin-hosted-shape.js.map +1 -1
  183. package/dist/validators/referenced-path-missing.d.ts.map +1 -1
  184. package/dist/validators/referenced-path-missing.js +3 -4
  185. package/dist/validators/referenced-path-missing.js.map +1 -1
  186. package/dist/validators/registry-validator.d.ts.map +1 -1
  187. package/dist/validators/registry-validator.js +0 -1
  188. package/dist/validators/registry-validator.js.map +1 -1
  189. package/dist/validators/rule-engine/index.d.ts +1 -1
  190. package/dist/validators/rule-engine/rule-context.d.ts +3 -3
  191. package/dist/validators/rule-engine/rule-context.js +1 -1
  192. package/dist/validators/rule-engine/rule-engine.d.ts +1 -1
  193. package/dist/validators/rule-engine/rule-engine.js +5 -5
  194. package/dist/validators/rule-engine/rule-engine.js.map +1 -1
  195. package/dist/validators/skill-validator.d.ts.map +1 -1
  196. package/dist/validators/skill-validator.js +41 -51
  197. package/dist/validators/skill-validator.js.map +1 -1
  198. package/dist/validators/source-only-codes.js +1 -1
  199. package/dist/validators/source-only-codes.js.map +1 -1
  200. package/dist/validators/types.d.ts +7 -1
  201. package/dist/validators/types.d.ts.map +1 -1
  202. package/dist/validators/unified-validator.d.ts.map +1 -1
  203. package/dist/validators/unified-validator.js +3 -4
  204. package/dist/validators/unified-validator.js.map +1 -1
  205. package/dist/validators/validation-rules.d.ts +3 -3
  206. package/dist/validators/validation-rules.d.ts.map +1 -1
  207. package/dist/validators/validation-rules.js +9 -38
  208. package/dist/validators/validation-rules.js.map +1 -1
  209. package/dist/validators/walker-to-issues.d.ts +2 -0
  210. package/dist/validators/walker-to-issues.d.ts.map +1 -1
  211. package/dist/validators/walker-to-issues.js +17 -12
  212. package/dist/validators/walker-to-issues.js.map +1 -1
  213. package/dist/walk-link-graph.d.ts +2 -0
  214. package/dist/walk-link-graph.d.ts.map +1 -1
  215. package/dist/walk-link-graph.js +20 -8
  216. package/dist/walk-link-graph.js.map +1 -1
  217. package/package.json +12 -20
  218. package/dist/skill-test/exit-codes.d.ts +0 -134
  219. package/dist/skill-test/exit-codes.d.ts.map +0 -1
  220. package/dist/skill-test/exit-codes.js +0 -224
  221. package/dist/skill-test/exit-codes.js.map +0 -1
@@ -1 +1 @@
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,EAId,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,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;AAutBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,eAAe,CAiBjB"}
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"}
@@ -34,7 +34,7 @@
34
34
  */
35
35
  import { basename, dirname } from 'node:path';
36
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, toForwardSlash, safePath, } from '@vibe-agent-toolkit/utils';
37
+ import { CRAWL_PASS_INSIDE, CRAWL_WALKER_GITIGNORE_ID, CRAWL_WALKER_ID, crawlTimingStart, FsLookupCache, recordCrawlPass, relativeEscapesRoot, toForwardSlash, safePath, } from '@vibe-agent-toolkit/utils';
38
38
  import { isGitIgnored } from '@vibe-agent-toolkit/utils/git';
39
39
  import picomatch from 'picomatch';
40
40
  import { isAgentInstructionBasename, isNavigationBasename } from './validators/validation-rules.js';
@@ -71,24 +71,30 @@ function resolveHrefToPath(hrefWithoutAnchor, sourceFilePath, projectRoot) {
71
71
  }
72
72
  /** Check if a link targets a file outside the project boundary */
73
73
  function isOutsideProject(targetPath, projectRoot) {
74
- return safePath.relative(projectRoot, targetPath).startsWith('..');
74
+ return relativeEscapesRoot(safePath.relative(projectRoot, targetPath));
75
75
  }
76
76
  // Navigation / agent-instruction classification is the shared, case-insensitive
77
77
  // matcher from validation-rules (`isNavigationBasename` / `isAgentInstructionBasename`),
78
78
  // used directly at the call sites below. On APFS/NTFS a `Claude.md` is loaded as
79
79
  // instructions exactly as a `CLAUDE.md` is, so the walker must refuse both spellings.
80
- /** Create an exclusion record */
81
- function makeExclusion(targetPath, sourcePath, targetExists, reason, link, matchedRule) {
80
+ function makeFollowedLink(targetPath, sourcePath, targetExists, link) {
82
81
  return {
83
82
  path: targetPath,
84
83
  sourcePath,
85
84
  ...(link.line !== undefined && { sourceLine: link.line }),
86
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),
87
95
  bundled: false,
88
96
  excludeReason: reason,
89
97
  ...(matchedRule ? { matchedRule } : {}),
90
- linkText: link.text,
91
- linkHref: link.href,
92
98
  };
93
99
  }
94
100
  /**
@@ -217,7 +223,7 @@ function classifyGitignoredTarget(targetPath, deferredArtifacts) {
217
223
  * rather than one per reference. The memo cannot change the answer: both
218
224
  * oracles are pure functions of the tree, and the memo's lifetime is one walk.
219
225
  *
220
- * ⛔ **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 —
221
227
  * do not sell this as a performance win.** Counting asks vs. memo misses in the
222
228
  * built lane: `vat audit .` = 3 asks / 2 distinct, `vat skills build` = 0 / 0,
223
229
  * `vat inventory .` = 0 / 0. **One** oracle call avoided across all three.
@@ -464,6 +470,10 @@ function processLink(link, currentResource, currentDepth, registry, options, exc
464
470
  // File doesn't exist and not in registry, and not deferred (handled above).
465
471
  // Record as missing-target so downstream emits LINK_MISSING_TARGET.
466
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));
467
477
  }
468
478
  }
469
479
  /**
@@ -590,7 +600,7 @@ export function walkLinkGraph(skillResourceId, registry, options) {
590
600
  function walkLinkGraphBody(skillResourceId, registry, options) {
591
601
  const skillResource = registry.getResourceById(skillResourceId);
592
602
  if (!skillResource) {
593
- return { bundledResources: [], bundledAssets: [], excludedReferences: [], maxBundledDepth: 0, deferredAssets: [] };
603
+ return { bundledResources: [], bundledAssets: [], excludedReferences: [], outsideSkillDirLinks: [], maxBundledDepth: 0, deferredAssets: [] };
594
604
  }
595
605
  // Compile exclude patterns once
596
606
  const excludeMatchers = options.excludeRules.map((rule) => ({
@@ -611,6 +621,7 @@ function walkLinkGraphBody(skillResourceId, registry, options) {
611
621
  maxBundledDepth: 0,
612
622
  queue: [[skillResource, 0]],
613
623
  unfollowedFromNonRoutable: [],
624
+ followedOutsideSkillDir: [],
614
625
  pathProbe: options.pathProbe ?? new FsLookupCache(),
615
626
  gitignoreFacts: new Map(),
616
627
  };
@@ -663,6 +674,7 @@ function walkLinkGraphBody(skillResourceId, registry, options) {
663
674
  bundledResources: [...state.bundledResourceMap.values()],
664
675
  bundledAssets: [...state.bundledAssetSet],
665
676
  excludedReferences,
677
+ outsideSkillDirLinks: state.followedOutsideSkillDir.filter(targetShipped),
666
678
  maxBundledDepth: state.maxBundledDepth,
667
679
  deferredAssets: [...state.deferredAssetSet],
668
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.7",
3
+ "version": "0.2.0-rc.9",
4
4
  "description": "Build, validate, and package agent skills in the Agent Skills format",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,36 +20,28 @@
20
20
  ],
21
21
  "scripts": {
22
22
  "build": "tsx ../dev-tools/src/tsc-clean-build.ts && bun run generate:schemas",
23
- "build:watch": "tsc --build --watch",
24
- "clean": "rm -rf dist *.tsbuildinfo",
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.7",
34
- "@vibe-agent-toolkit/schema": "0.2.0-rc.7",
35
- "@vibe-agent-toolkit/resources": "0.2.0-rc.7",
36
- "@vibe-agent-toolkit/utils": "0.2.0-rc.7",
37
- "adm-zip": "^0.6.0",
31
+ "@vibe-agent-toolkit/agent-config": "0.2.0-rc.9",
32
+ "@vibe-agent-toolkit/schema": "0.2.0-rc.9",
33
+ "@vibe-agent-toolkit/resources": "0.2.0-rc.9",
34
+ "@vibe-agent-toolkit/utils": "0.2.0-rc.9",
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": "^4.1.11"
44
+ "github-slugger": "^2.0.0"
53
45
  },
54
46
  "keywords": [
55
47
  "ai",
@@ -1,134 +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` the TEMPLATE is not written, so the message instead
30
- * describes what a real run *would* scaffold and where, while surfacing the same
31
- * exit-3 "bootstrap needed" signal.
32
- *
33
- * That scope is exact, and it used to read "a dry run must never touch the
34
- * filesystem", which is not true of this command. A dry run is not a read-only
35
- * mode: it takes the harness lock, creates the harness root, stages BOTH arms'
36
- * per-eval workspaces, and — once `--i-understand-this-runs-skill-code` is passed —
37
- * runs the repo's `test.build` hook and builds the subject. What it never does is
38
- * SPAWN: no executor session, no grader session, no tokens.
39
- *
40
- * It also never touches `results/`: it neither creates the directory, nor writes
41
- * `provenance.json`, nor wipes the previous run's artifacts. That last one is the
42
- * reason the ordering matters — the wipe used to sit AHEAD of the dry-run
43
- * short-circuit, so a free `--dry-run` (or any failure after it) destroyed the
44
- * `grading.json` / `baseline.json` / `friction.json` / `tool-eval.json` of the
45
- * expensive real run an operator was about to read. The summary now names the
46
- * provenance path it WOULD write rather than writing it.
47
- *
48
- * The scaffold is the other filesystem effect a dry run deliberately withholds,
49
- * and for a different reason: that write lands in the AUTHOR's source
50
- * tree rather than in vat's own scratch space.
51
- */
52
- export declare class BootstrapNeededError extends Error {
53
- readonly expectedPath: string;
54
- readonly exitCode: 3;
55
- constructor(expectedPath: string, opts?: {
56
- dryRun?: boolean;
57
- });
58
- }
59
- /** Thrown when building a declared skill (pool packageSkill or plugin build) fails. Exit 2 (preflight class). */
60
- export declare class SkillBuildError extends Error {
61
- readonly exitCode: 2;
62
- constructor(message: string);
63
- }
64
- /**
65
- * The §12 security acknowledgment is required but absent, thrown BEFORE any
66
- * build/pre-stage command (which executes untrusted repo code) runs for a
67
- * buildable subject. Exit 2 (preflight class). Mirrors the harness Step-6 ack
68
- * message wording so the two enforcement points read identically.
69
- */
70
- export declare class SecurityAckError extends Error {
71
- readonly exitCode: 2;
72
- constructor();
73
- }
74
- /**
75
- * A skill name is staged more than once in a single run — the subject, a
76
- * `--with` companion, and a `--with-optional` companion must all have distinct
77
- * names. Both `--with` and `--with-optional` STAGE the named companion and make
78
- * it invocable (issue #153: they differ only in required-vs-optional resolution,
79
- * not in whether they are staged), so a colliding name would silently overwrite
80
- * an earlier staged copy under the same slot — never an error, never a manifest
81
- * trace — which makes a routing/deferral eval look correct while testing
82
- * something else. Exit 2 (preflight class): user-correctable input, like a bad
83
- * env token or missing security ack.
84
- */
85
- export declare class DuplicateStagedSkillError extends Error {
86
- readonly skillName: string;
87
- readonly exitCode: 2;
88
- constructor(skillName: string);
89
- }
90
- /** Internal harness failure (an executor/grader spawn error, watchdog timeout/stall, or a missing grader fragment). Exit 1. */
91
- export declare class InternalHarnessError extends Error {
92
- readonly exitCode: 1;
93
- constructor(message: string);
94
- }
95
- /**
96
- * Map any thrown error to the process exit code.
97
- *
98
- * ⚠️ THE `exitCode` FIELD IS THE PRIMARY MECHANISM, and until this rewrite it was
99
- * not a mechanism at all. Ten error classes across five modules carried a
100
- * `readonly exitCode`, this docblock called them "authoritative", and NOTHING read
101
- * one: dispatch was a hand-maintained `instanceof` chain that happened to agree with
102
- * every field. Deleting any of those fields changed nothing, so each new class added
103
- * a fifth, then a sixth member to an inert pattern — and the two lists could have
104
- * disagreed at any time with no test able to tell.
105
- *
106
- * So: an error that declares one of the three throwable codes ({@link
107
- * selfDeclaredExitCode}) decides its own exit code, and what remains of the
108
- * `instanceof` chain is exactly ONE row — `PromptInvariantError` (a
109
- * defense-in-depth failure over VAT's OWN generated executor/grader prompts: a
110
- * required safety directive missing from a prompt VAT built, surfaced as a
111
- * user-visible preflight-class problem) → 2, the only class that declares nothing and
112
- * still needs a code other than the default.
113
- *
114
- * `GradingSkewError` (aggregate grading.json shape skew), `EvalFragmentError`
115
- * (per-eval grader fragment parse failure) and `GradingNonceError`
116
- * (forged/mismatched per-fragment grader nonce) reach 1 through the FALLBACK, not
117
- * through a row — they are indistinguishable here from `new Error('boom')`. That is
118
- * correct (1 is what they want) but it is not dispatch, and saying otherwise implies
119
- * a pin that does not exist: deleting any of the three changes nothing. Everything
120
- * unknown → 1.
121
- *
122
- * A side benefit of reading the field: it works across a `src`/`dist` boundary, where
123
- * `instanceof` silently cannot — a `dist` copy of a class never matches a `src`
124
- * instance of it, and this module is imported from both. The surviving
125
- * `PromptInvariantError` row carries exactly that risk; it is kept because the class
126
- * declares no field to read.
127
- *
128
- * Note: SkillTestExitCode.EvalFailure (4) is NOT produced here — it is an
129
- * outcome of a completed run (an eval failed, the fail-closed default unless
130
- * `--allow-eval-failure`), not a thrown error, so the harness returns it
131
- * directly (see verdictExitCode).
132
- */
133
- export declare function mapErrorToExitCode(err: unknown): number;
134
- //# sourceMappingURL=exit-codes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../../src/skill-test/exit-codes.ts"],"names":[],"mappings":"AAEA,kDAAkD;AAClD,eAAO,MAAM,iBAAiB;;;;;IAK5B;;;;;;;;;;;;OAYG;;CAEK,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAEjB,YAAY,EAAE,MAAM;IADhD,QAAQ,CAAC,QAAQ,EAAG,CAAC,CAAU;gBACH,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;CAQ9E;AAED,iHAAiH;AACjH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,QAAQ,EAAG,CAAC,CAAU;gBACnB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,QAAQ,EAAG,CAAC,CAAU;;CAKhC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;aAEtB,SAAS,EAAE,MAAM;IAD7C,QAAQ,CAAC,QAAQ,EAAG,CAAC,CAAU;gBACH,SAAS,EAAE,MAAM;CAO9C;AAED,+HAA+H;AAC/H,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,QAAQ,EAAG,CAAC,CAAU;gBACnB,OAAO,EAAE,MAAM;CAI5B;AAmED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKvD"}
@@ -1,224 +0,0 @@
1
- import { PromptInvariantError } from './prompt-invariants.js';
2
- /** Exit codes for `vat skill test` (spec §6d). */
3
- export const SkillTestExitCode = {
4
- Ok: 0,
5
- Internal: 1,
6
- Preflight: 2,
7
- Bootstrap: 3,
8
- /**
9
- * At least one eval FAILED. This is the DEFAULT verdict for a completed run
10
- * whose expectations did not all pass (fail-closed) — suppress it with the
11
- * interactive opt-out `--allow-eval-failure`. Distinct from the harness-broke
12
- * codes (1/2/3): the harness ran to completion and produced a valid
13
- * grading.json — the skill's expectations simply did not all pass. This
14
- * differentiation lets a CI consumer treat 4 as tolerable while still failing
15
- * closed on every other non-zero code:
16
- * `case $? in 0) ;; 4) tolerate/warn ;; *) hard fail ;; esac`
17
- * Returned DIRECTLY by the harness verdict (see verdictExitCode in
18
- * run-harness.ts), not via mapErrorToExitCode, because it is an outcome, not a
19
- * thrown error.
20
- */
21
- EvalFailure: 4,
22
- };
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` the TEMPLATE is not written, so the message instead
30
- * describes what a real run *would* scaffold and where, while surfacing the same
31
- * exit-3 "bootstrap needed" signal.
32
- *
33
- * That scope is exact, and it used to read "a dry run must never touch the
34
- * filesystem", which is not true of this command. A dry run is not a read-only
35
- * mode: it takes the harness lock, creates the harness root, stages BOTH arms'
36
- * per-eval workspaces, and — once `--i-understand-this-runs-skill-code` is passed —
37
- * runs the repo's `test.build` hook and builds the subject. What it never does is
38
- * SPAWN: no executor session, no grader session, no tokens.
39
- *
40
- * It also never touches `results/`: it neither creates the directory, nor writes
41
- * `provenance.json`, nor wipes the previous run's artifacts. That last one is the
42
- * reason the ordering matters — the wipe used to sit AHEAD of the dry-run
43
- * short-circuit, so a free `--dry-run` (or any failure after it) destroyed the
44
- * `grading.json` / `baseline.json` / `friction.json` / `tool-eval.json` of the
45
- * expensive real run an operator was about to read. The summary now names the
46
- * provenance path it WOULD write rather than writing it.
47
- *
48
- * The scaffold is the other filesystem effect a dry run deliberately withholds,
49
- * and for a different reason: that write lands in the AUTHOR's source
50
- * tree rather than in vat's own scratch space.
51
- */
52
- export class BootstrapNeededError extends Error {
53
- expectedPath;
54
- exitCode = 3;
55
- constructor(expectedPath, opts) {
56
- super(opts?.dryRun === true
57
- ? `[dry-run] No evals.json found. A real run would scaffold an annotated template at ${expectedPath} — fill it in and re-run. (dry-run: nothing was written to your source tree.)`
58
- : `Wrote an evals.json template at ${expectedPath} — fill it in and re-run.`);
59
- this.expectedPath = expectedPath;
60
- this.name = 'BootstrapNeededError';
61
- }
62
- }
63
- /** Thrown when building a declared skill (pool packageSkill or plugin build) fails. Exit 2 (preflight class). */
64
- export class SkillBuildError extends Error {
65
- exitCode = 2;
66
- constructor(message) {
67
- super(message);
68
- this.name = 'SkillBuildError';
69
- }
70
- }
71
- /**
72
- * The §12 security acknowledgment is required but absent, thrown BEFORE any
73
- * build/pre-stage command (which executes untrusted repo code) runs for a
74
- * buildable subject. Exit 2 (preflight class). Mirrors the harness Step-6 ack
75
- * message wording so the two enforcement points read identically.
76
- */
77
- export class SecurityAckError extends Error {
78
- exitCode = 2;
79
- constructor() {
80
- super('Security acknowledgment required. Pass --i-understand-this-runs-skill-code to proceed.');
81
- this.name = 'SecurityAckError';
82
- }
83
- }
84
- /**
85
- * A skill name is staged more than once in a single run — the subject, a
86
- * `--with` companion, and a `--with-optional` companion must all have distinct
87
- * names. Both `--with` and `--with-optional` STAGE the named companion and make
88
- * it invocable (issue #153: they differ only in required-vs-optional resolution,
89
- * not in whether they are staged), so a colliding name would silently overwrite
90
- * an earlier staged copy under the same slot — never an error, never a manifest
91
- * trace — which makes a routing/deferral eval look correct while testing
92
- * something else. Exit 2 (preflight class): user-correctable input, like a bad
93
- * env token or missing security ack.
94
- */
95
- export class DuplicateStagedSkillError extends Error {
96
- skillName;
97
- exitCode = 2;
98
- constructor(skillName) {
99
- super(`Skill name "${skillName}" is staged more than once (subject / --with / --with-optional). ` +
100
- `Each staged skill must have a unique name.`);
101
- this.skillName = skillName;
102
- this.name = 'DuplicateStagedSkillError';
103
- }
104
- }
105
- /** Internal harness failure (an executor/grader spawn error, watchdog timeout/stall, or a missing grader fragment). Exit 1. */
106
- export class InternalHarnessError extends Error {
107
- exitCode = 1;
108
- constructor(message) {
109
- super(message);
110
- this.name = 'InternalHarnessError';
111
- }
112
- }
113
- /**
114
- * The codes an error is allowed to declare for itself. `Ok` is not a failure and
115
- * `EvalFailure` is an outcome rather than a throw (see below), so neither may be
116
- * claimed by a thrown object — that also keeps a stray `exitCode: 0` from turning a
117
- * crash into a green build.
118
- */
119
- const SELF_DECLARED_EXIT_CODES = new Set([
120
- SkillTestExitCode.Internal,
121
- SkillTestExitCode.Preflight,
122
- SkillTestExitCode.Bootstrap,
123
- ]);
124
- /**
125
- * The error's own declared exit code, if it has a usable one.
126
- *
127
- * Narrow ON PURPOSE. `exitCode` is a common property name on foreign errors (child
128
- * processes, HTTP clients), so an unrestricted read would let an unrelated throw pick
129
- * the process's exit code. Requiring an `Error` whose value is one of the three
130
- * throwable codes above keeps the mechanism to errors that meant to opt in, and
131
- * leaves everything else on the `instanceof` fallback below.
132
- *
133
- * ⚠️ THE READ IS GUARDED, because reading a property is not a total operation and the
134
- * `instanceof` chain it replaced was. A getter or `Proxy` that throws on `exitCode`
135
- * propagated straight out of {@link mapErrorToExitCode} — and BOTH of its call sites
136
- * are inside `catch` blocks, so that throw escaped the handler entirely: no summary
137
- * line, no chosen exit code, a bare stack. An error whose own `exitCode` cannot be
138
- * read has not opted in to anything, so it takes the Internal default.
139
- *
140
- * ⚠️ IT IS NOT AN OWN-PROPERTY READ. An `exitCode` inherited from a PROTOTYPE is
141
- * honoured, verified — `Base.prototype.exitCode = 3` maps to 3. That is what makes
142
- * subclassing work (a subclass of `InternalHarnessError` keeps its code without
143
- * redeclaring the field), and it is also what widens the residual below by one hop.
144
- *
145
- * ⚠️ RESIDUAL, KNOWN AND UNCLOSED. The value test rejects everything outside
146
- * {1,2,3} but nothing INSIDE it, so a foreign error carrying `exitCode: 2` picks
147
- * Preflight — "your environment is wrong" — for a crash. A walk of the reachable
148
- * dependency closure found `spawnSync`, `execSync`, `fs`, `JSON.parse`, `ZodError`,
149
- * `YAMLParseError`, `adm-zip`, `fetch`, `DOMException`, Anthropic's `APIError` and
150
- * VAT's own `CommandExecutionError` all leaving `exitCode` undefined — but
151
- * `commander`, a direct `@vibe-agent-toolkit/cli` dependency, defines `exitCode` on
152
- * `CommanderError` and carries `2`. It is unreachable today (`exitOverride` and
153
- * `CommanderError` appear nowhere in `packages/cli/src`), and adopting
154
- * `exitOverride()` — the standard testability pattern — would silently arm it.
155
- *
156
- * Closing it means a VAT-OWNED BRAND rather than a name every ecosystem uses: a
157
- * `Symbol.for('vat.exitCode')` key, which (unlike `instanceof` or a shared base
158
- * class) is registry-global and so survives the `src`/`dist` boundary this read
159
- * exists to cross. That is a mechanical change across all eleven declaring classes —
160
- * five here, plus `lock.ts`, `build-hook.ts`, `declared-env.ts` (two),
161
- * `harness-location.ts` and `utils`' `auth-resolver.ts` — and a half-migration would
162
- * leave two mechanisms with the hole still open, so it is one change or none. The
163
- * behaviour is pinned by a RESIDUAL row in `exit-codes.test.ts` so the migration
164
- * has a test to flip rather than a comment to find.
165
- */
166
- function selfDeclaredExitCode(err) {
167
- if (!(err instanceof Error))
168
- return undefined;
169
- let declared;
170
- try {
171
- declared = err.exitCode;
172
- }
173
- catch {
174
- return undefined;
175
- }
176
- return typeof declared === 'number' && SELF_DECLARED_EXIT_CODES.has(declared) ? declared : undefined;
177
- }
178
- /**
179
- * Map any thrown error to the process exit code.
180
- *
181
- * ⚠️ THE `exitCode` FIELD IS THE PRIMARY MECHANISM, and until this rewrite it was
182
- * not a mechanism at all. Ten error classes across five modules carried a
183
- * `readonly exitCode`, this docblock called them "authoritative", and NOTHING read
184
- * one: dispatch was a hand-maintained `instanceof` chain that happened to agree with
185
- * every field. Deleting any of those fields changed nothing, so each new class added
186
- * a fifth, then a sixth member to an inert pattern — and the two lists could have
187
- * disagreed at any time with no test able to tell.
188
- *
189
- * So: an error that declares one of the three throwable codes ({@link
190
- * selfDeclaredExitCode}) decides its own exit code, and what remains of the
191
- * `instanceof` chain is exactly ONE row — `PromptInvariantError` (a
192
- * defense-in-depth failure over VAT's OWN generated executor/grader prompts: a
193
- * required safety directive missing from a prompt VAT built, surfaced as a
194
- * user-visible preflight-class problem) → 2, the only class that declares nothing and
195
- * still needs a code other than the default.
196
- *
197
- * `GradingSkewError` (aggregate grading.json shape skew), `EvalFragmentError`
198
- * (per-eval grader fragment parse failure) and `GradingNonceError`
199
- * (forged/mismatched per-fragment grader nonce) reach 1 through the FALLBACK, not
200
- * through a row — they are indistinguishable here from `new Error('boom')`. That is
201
- * correct (1 is what they want) but it is not dispatch, and saying otherwise implies
202
- * a pin that does not exist: deleting any of the three changes nothing. Everything
203
- * unknown → 1.
204
- *
205
- * A side benefit of reading the field: it works across a `src`/`dist` boundary, where
206
- * `instanceof` silently cannot — a `dist` copy of a class never matches a `src`
207
- * instance of it, and this module is imported from both. The surviving
208
- * `PromptInvariantError` row carries exactly that risk; it is kept because the class
209
- * declares no field to read.
210
- *
211
- * Note: SkillTestExitCode.EvalFailure (4) is NOT produced here — it is an
212
- * outcome of a completed run (an eval failed, the fail-closed default unless
213
- * `--allow-eval-failure`), not a thrown error, so the harness returns it
214
- * directly (see verdictExitCode).
215
- */
216
- export function mapErrorToExitCode(err) {
217
- const declared = selfDeclaredExitCode(err);
218
- if (declared !== undefined)
219
- return declared;
220
- if (err instanceof PromptInvariantError)
221
- return SkillTestExitCode.Preflight;
222
- return SkillTestExitCode.Internal;
223
- }
224
- //# sourceMappingURL=exit-codes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../src/skill-test/exit-codes.ts"],"names":[],"mappings":"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"}