@vibe-agent-toolkit/cli 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 (504) hide show
  1. package/README.md +4 -5
  2. package/dist/bin/vat +97 -28
  3. package/dist/bin/vat.js +97 -28
  4. package/dist/bin/vat.js.map +1 -1
  5. package/dist/bin.js +115 -76
  6. package/dist/bin.js.map +1 -1
  7. package/dist/command-loaders.d.ts +44 -0
  8. package/dist/command-loaders.d.ts.map +1 -0
  9. package/dist/command-loaders.js +60 -0
  10. package/dist/command-loaders.js.map +1 -0
  11. package/dist/commands/agent/build.d.ts.map +1 -1
  12. package/dist/commands/agent/build.js +2 -1
  13. package/dist/commands/agent/build.js.map +1 -1
  14. package/dist/commands/agent/import.d.ts.map +1 -1
  15. package/dist/commands/agent/import.js +3 -2
  16. package/dist/commands/agent/import.js.map +1 -1
  17. package/dist/commands/agent/index.js +1 -1
  18. package/dist/commands/agent/install-path.d.ts +36 -0
  19. package/dist/commands/agent/install-path.d.ts.map +1 -0
  20. package/dist/commands/agent/install-path.js +44 -0
  21. package/dist/commands/agent/install-path.js.map +1 -0
  22. package/dist/commands/agent/install.d.ts.map +1 -1
  23. package/dist/commands/agent/install.js +66 -13
  24. package/dist/commands/agent/install.js.map +1 -1
  25. package/dist/commands/agent/installed.d.ts.map +1 -1
  26. package/dist/commands/agent/installed.js +22 -12
  27. package/dist/commands/agent/installed.js.map +1 -1
  28. package/dist/commands/agent/list.d.ts.map +1 -1
  29. package/dist/commands/agent/list.js +2 -1
  30. package/dist/commands/agent/list.js.map +1 -1
  31. package/dist/commands/agent/run.d.ts.map +1 -1
  32. package/dist/commands/agent/run.js +2 -1
  33. package/dist/commands/agent/run.js.map +1 -1
  34. package/dist/commands/agent/uninstall.d.ts.map +1 -1
  35. package/dist/commands/agent/uninstall.js +13 -6
  36. package/dist/commands/agent/uninstall.js.map +1 -1
  37. package/dist/commands/agent/validate.d.ts.map +1 -1
  38. package/dist/commands/agent/validate.js +3 -2
  39. package/dist/commands/agent/validate.js.map +1 -1
  40. package/dist/commands/ard/emit.d.ts +165 -0
  41. package/dist/commands/ard/emit.d.ts.map +1 -0
  42. package/dist/commands/ard/emit.js +338 -0
  43. package/dist/commands/ard/emit.js.map +1 -0
  44. package/dist/commands/ard/index.d.ts +12 -0
  45. package/dist/commands/ard/index.d.ts.map +1 -0
  46. package/dist/commands/ard/index.js +84 -0
  47. package/dist/commands/ard/index.js.map +1 -0
  48. package/dist/commands/ard/surfaces.d.ts +56 -0
  49. package/dist/commands/ard/surfaces.d.ts.map +1 -0
  50. package/dist/commands/ard/surfaces.js +150 -0
  51. package/dist/commands/ard/surfaces.js.map +1 -0
  52. package/dist/commands/audit/distributed-tree.d.ts +2 -2
  53. package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
  54. package/dist/commands/audit/distributed-tree.js +11 -7
  55. package/dist/commands/audit/distributed-tree.js.map +1 -1
  56. package/dist/commands/audit/git-url-clone.d.ts +1 -1
  57. package/dist/commands/audit/git-url-clone.d.ts.map +1 -1
  58. package/dist/commands/audit/git-url-clone.js.map +1 -1
  59. package/dist/commands/audit/hierarchical-output.d.ts +1 -1
  60. package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
  61. package/dist/commands/audit/hierarchical-output.js +1 -1
  62. package/dist/commands/audit/hierarchical-output.js.map +1 -1
  63. package/dist/commands/audit/provenance.d.ts.map +1 -1
  64. package/dist/commands/audit/provenance.js +4 -3
  65. package/dist/commands/audit/provenance.js.map +1 -1
  66. package/dist/commands/audit/scan-population.d.ts +158 -0
  67. package/dist/commands/audit/scan-population.d.ts.map +1 -0
  68. package/dist/commands/audit/scan-population.js +292 -0
  69. package/dist/commands/audit/scan-population.js.map +1 -0
  70. package/dist/commands/audit-settings.d.ts.map +1 -1
  71. package/dist/commands/audit-settings.js +6 -5
  72. package/dist/commands/audit-settings.js.map +1 -1
  73. package/dist/commands/audit.d.ts +98 -8
  74. package/dist/commands/audit.d.ts.map +1 -1
  75. package/dist/commands/audit.js +1150 -394
  76. package/dist/commands/audit.js.map +1 -1
  77. package/dist/commands/build.d.ts +1 -1
  78. package/dist/commands/build.d.ts.map +1 -1
  79. package/dist/commands/build.js +40 -36
  80. package/dist/commands/build.js.map +1 -1
  81. package/dist/commands/cache/cache-control.d.ts +82 -0
  82. package/dist/commands/cache/cache-control.d.ts.map +1 -0
  83. package/dist/commands/cache/cache-control.js +86 -0
  84. package/dist/commands/cache/cache-control.js.map +1 -0
  85. package/dist/commands/cache/clear.d.ts +34 -6
  86. package/dist/commands/cache/clear.d.ts.map +1 -1
  87. package/dist/commands/cache/clear.js +101 -15
  88. package/dist/commands/cache/clear.js.map +1 -1
  89. package/dist/commands/cache/index.d.ts +13 -63
  90. package/dist/commands/cache/index.d.ts.map +1 -1
  91. package/dist/commands/cache/index.js +47 -79
  92. package/dist/commands/cache/index.js.map +1 -1
  93. package/dist/commands/claude/claude-config.d.ts.map +1 -1
  94. package/dist/commands/claude/claude-config.js +6 -0
  95. package/dist/commands/claude/claude-config.js.map +1 -1
  96. package/dist/commands/claude/context.d.ts +372 -0
  97. package/dist/commands/claude/context.d.ts.map +1 -0
  98. package/dist/commands/claude/context.js +1115 -0
  99. package/dist/commands/claude/context.js.map +1 -0
  100. package/dist/commands/claude/index.d.ts +14 -0
  101. package/dist/commands/claude/index.d.ts.map +1 -1
  102. package/dist/commands/claude/index.js +22 -2
  103. package/dist/commands/claude/index.js.map +1 -1
  104. package/dist/commands/claude/marketplace/changelog-utils.d.ts +1 -1
  105. package/dist/commands/claude/marketplace/changelog-utils.d.ts.map +1 -1
  106. package/dist/commands/claude/marketplace/changelog-utils.js +1 -2
  107. package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
  108. package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
  109. package/dist/commands/claude/marketplace/git-publish.js +40 -31
  110. package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
  111. package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
  112. package/dist/commands/claude/marketplace/license-utils.js +0 -1
  113. package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
  114. package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
  115. package/dist/commands/claude/marketplace/publish-tree.js +0 -6
  116. package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
  117. package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
  118. package/dist/commands/claude/marketplace/publish.js +2 -1
  119. package/dist/commands/claude/marketplace/publish.js.map +1 -1
  120. package/dist/commands/claude/marketplace/validate.d.ts +73 -22
  121. package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
  122. package/dist/commands/claude/marketplace/validate.js +407 -72
  123. package/dist/commands/claude/marketplace/validate.js.map +1 -1
  124. package/dist/commands/claude/org/api-keys.d.ts +0 -3
  125. package/dist/commands/claude/org/api-keys.d.ts.map +1 -1
  126. package/dist/commands/claude/org/api-keys.js +2 -1
  127. package/dist/commands/claude/org/api-keys.js.map +1 -1
  128. package/dist/commands/claude/org/helpers.d.ts +54 -1
  129. package/dist/commands/claude/org/helpers.d.ts.map +1 -1
  130. package/dist/commands/claude/org/helpers.js +42 -7
  131. package/dist/commands/claude/org/helpers.js.map +1 -1
  132. package/dist/commands/claude/org/index.d.ts.map +1 -1
  133. package/dist/commands/claude/org/index.js +24 -16
  134. package/dist/commands/claude/org/index.js.map +1 -1
  135. package/dist/commands/claude/org/invites.d.ts +0 -3
  136. package/dist/commands/claude/org/invites.d.ts.map +1 -1
  137. package/dist/commands/claude/org/invites.js +3 -2
  138. package/dist/commands/claude/org/invites.js.map +1 -1
  139. package/dist/commands/claude/org/skills.d.ts +527 -0
  140. package/dist/commands/claude/org/skills.d.ts.map +1 -1
  141. package/dist/commands/claude/org/skills.js +1414 -108
  142. package/dist/commands/claude/org/skills.js.map +1 -1
  143. package/dist/commands/claude/org/users.d.ts +0 -3
  144. package/dist/commands/claude/org/users.d.ts.map +1 -1
  145. package/dist/commands/claude/org/users.js +6 -3
  146. package/dist/commands/claude/org/users.js.map +1 -1
  147. package/dist/commands/claude/org/workspaces.d.ts +0 -3
  148. package/dist/commands/claude/org/workspaces.d.ts.map +1 -1
  149. package/dist/commands/claude/org/workspaces.js +11 -7
  150. package/dist/commands/claude/org/workspaces.js.map +1 -1
  151. package/dist/commands/claude/plugin/build.d.ts +41 -3
  152. package/dist/commands/claude/plugin/build.d.ts.map +1 -1
  153. package/dist/commands/claude/plugin/build.js +147 -80
  154. package/dist/commands/claude/plugin/build.js.map +1 -1
  155. package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
  156. package/dist/commands/claude/plugin/helpers.js +2 -7
  157. package/dist/commands/claude/plugin/helpers.js.map +1 -1
  158. package/dist/commands/claude/plugin/install.d.ts +12 -0
  159. package/dist/commands/claude/plugin/install.d.ts.map +1 -1
  160. package/dist/commands/claude/plugin/install.js +93 -62
  161. package/dist/commands/claude/plugin/install.js.map +1 -1
  162. package/dist/commands/claude/plugin/list.d.ts.map +1 -1
  163. package/dist/commands/claude/plugin/list.js +3 -2
  164. package/dist/commands/claude/plugin/list.js.map +1 -1
  165. package/dist/commands/claude/plugin/marketplace-json.d.ts +24 -9
  166. package/dist/commands/claude/plugin/marketplace-json.d.ts.map +1 -1
  167. package/dist/commands/claude/plugin/marketplace-json.js +10 -9
  168. package/dist/commands/claude/plugin/marketplace-json.js.map +1 -1
  169. package/dist/commands/claude/plugin/plugin-changelog.d.ts.map +1 -1
  170. package/dist/commands/claude/plugin/plugin-changelog.js +0 -2
  171. package/dist/commands/claude/plugin/plugin-changelog.js.map +1 -1
  172. package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
  173. package/dist/commands/claude/plugin/plugin-files.js +3 -6
  174. package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
  175. package/dist/commands/claude/plugin/plugin-validators.d.ts.map +1 -1
  176. package/dist/commands/claude/plugin/plugin-validators.js +3 -6
  177. package/dist/commands/claude/plugin/plugin-validators.js.map +1 -1
  178. package/dist/commands/claude/plugin/tree-copy.d.ts +73 -0
  179. package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
  180. package/dist/commands/claude/plugin/tree-copy.js +221 -14
  181. package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
  182. package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
  183. package/dist/commands/claude/plugin/uninstall.js +4 -4
  184. package/dist/commands/claude/plugin/uninstall.js.map +1 -1
  185. package/dist/commands/consistency-check.d.ts +17 -15
  186. package/dist/commands/consistency-check.d.ts.map +1 -1
  187. package/dist/commands/consistency-check.js +152 -106
  188. package/dist/commands/consistency-check.js.map +1 -1
  189. package/dist/commands/corpus/index.d.ts.map +1 -1
  190. package/dist/commands/corpus/index.js +3 -0
  191. package/dist/commands/corpus/index.js.map +1 -1
  192. package/dist/commands/corpus/report.d.ts +1 -2
  193. package/dist/commands/corpus/report.d.ts.map +1 -1
  194. package/dist/commands/corpus/report.js +1 -3
  195. package/dist/commands/corpus/report.js.map +1 -1
  196. package/dist/commands/corpus/runner.d.ts +58 -1
  197. package/dist/commands/corpus/runner.d.ts.map +1 -1
  198. package/dist/commands/corpus/runner.js +95 -41
  199. package/dist/commands/corpus/runner.js.map +1 -1
  200. package/dist/commands/corpus/scan.d.ts.map +1 -1
  201. package/dist/commands/corpus/scan.js +20 -12
  202. package/dist/commands/corpus/scan.js.map +1 -1
  203. package/dist/commands/corpus/seed.d.ts +4 -4
  204. package/dist/commands/corpus/seed.d.ts.map +1 -1
  205. package/dist/commands/corpus/seed.js +1 -3
  206. package/dist/commands/corpus/seed.js.map +1 -1
  207. package/dist/commands/doctor.d.ts +50 -0
  208. package/dist/commands/doctor.d.ts.map +1 -1
  209. package/dist/commands/doctor.js +245 -52
  210. package/dist/commands/doctor.js.map +1 -1
  211. package/dist/commands/inventory.d.ts +13 -1
  212. package/dist/commands/inventory.d.ts.map +1 -1
  213. package/dist/commands/inventory.js +121 -17
  214. package/dist/commands/inventory.js.map +1 -1
  215. package/dist/commands/mcp/collections.d.ts +1 -1
  216. package/dist/commands/mcp/collections.d.ts.map +1 -1
  217. package/dist/commands/mcp/list-collections.d.ts.map +1 -1
  218. package/dist/commands/mcp/list-collections.js +2 -1
  219. package/dist/commands/mcp/list-collections.js.map +1 -1
  220. package/dist/commands/mcp/serve.d.ts.map +1 -1
  221. package/dist/commands/mcp/serve.js +3 -2
  222. package/dist/commands/mcp/serve.js.map +1 -1
  223. package/dist/commands/okf/index.d.ts +11 -0
  224. package/dist/commands/okf/index.d.ts.map +1 -0
  225. package/dist/commands/okf/index.js +116 -0
  226. package/dist/commands/okf/index.js.map +1 -0
  227. package/dist/commands/okf/validate.d.ts +195 -0
  228. package/dist/commands/okf/validate.d.ts.map +1 -0
  229. package/dist/commands/okf/validate.js +199 -0
  230. package/dist/commands/okf/validate.js.map +1 -0
  231. package/dist/commands/phase-utils.d.ts +182 -114
  232. package/dist/commands/phase-utils.d.ts.map +1 -1
  233. package/dist/commands/phase-utils.js +154 -163
  234. package/dist/commands/phase-utils.js.map +1 -1
  235. package/dist/commands/positional-args.d.ts.map +1 -1
  236. package/dist/commands/positional-args.js +3 -2
  237. package/dist/commands/positional-args.js.map +1 -1
  238. package/dist/commands/rag/clear-command.d.ts.map +1 -1
  239. package/dist/commands/rag/clear-command.js +2 -1
  240. package/dist/commands/rag/clear-command.js.map +1 -1
  241. package/dist/commands/rag/index-command.d.ts +64 -0
  242. package/dist/commands/rag/index-command.d.ts.map +1 -1
  243. package/dist/commands/rag/index-command.js +72 -6
  244. package/dist/commands/rag/index-command.js.map +1 -1
  245. package/dist/commands/rag/index.d.ts.map +1 -1
  246. package/dist/commands/rag/index.js +23 -10
  247. package/dist/commands/rag/index.js.map +1 -1
  248. package/dist/commands/rag/query-command.d.ts.map +1 -1
  249. package/dist/commands/rag/query-command.js +2 -1
  250. package/dist/commands/rag/query-command.js.map +1 -1
  251. package/dist/commands/rag/stats-command.d.ts.map +1 -1
  252. package/dist/commands/rag/stats-command.js +2 -1
  253. package/dist/commands/rag/stats-command.js.map +1 -1
  254. package/dist/commands/resources/builtin-help.d.ts +27 -0
  255. package/dist/commands/resources/builtin-help.d.ts.map +1 -0
  256. package/dist/commands/resources/builtin-help.js +46 -0
  257. package/dist/commands/resources/builtin-help.js.map +1 -0
  258. package/dist/commands/resources/check-progress.d.ts +167 -0
  259. package/dist/commands/resources/check-progress.d.ts.map +1 -0
  260. package/dist/commands/resources/check-progress.js +250 -0
  261. package/dist/commands/resources/check-progress.js.map +1 -0
  262. package/dist/commands/resources/check-supervisor.d.ts +479 -0
  263. package/dist/commands/resources/check-supervisor.d.ts.map +1 -0
  264. package/dist/commands/resources/check-supervisor.js +587 -0
  265. package/dist/commands/resources/check-supervisor.js.map +1 -0
  266. package/dist/commands/resources/check.d.ts +620 -0
  267. package/dist/commands/resources/check.d.ts.map +1 -0
  268. package/dist/commands/resources/check.js +1452 -0
  269. package/dist/commands/resources/check.js.map +1 -0
  270. package/dist/commands/resources/index.d.ts.map +1 -1
  271. package/dist/commands/resources/index.js +430 -4
  272. package/dist/commands/resources/index.js.map +1 -1
  273. package/dist/commands/resources/query.d.ts +106 -0
  274. package/dist/commands/resources/query.d.ts.map +1 -0
  275. package/dist/commands/resources/query.js +177 -0
  276. package/dist/commands/resources/query.js.map +1 -0
  277. package/dist/commands/resources/scan.d.ts +24 -0
  278. package/dist/commands/resources/scan.d.ts.map +1 -1
  279. package/dist/commands/resources/scan.js +17 -8
  280. package/dist/commands/resources/scan.js.map +1 -1
  281. package/dist/commands/resources/validate.d.ts +42 -2
  282. package/dist/commands/resources/validate.d.ts.map +1 -1
  283. package/dist/commands/resources/validate.js +208 -55
  284. package/dist/commands/resources/validate.js.map +1 -1
  285. package/dist/commands/skill/review-checklist.d.ts +3 -2
  286. package/dist/commands/skill/review-checklist.d.ts.map +1 -1
  287. package/dist/commands/skill/review-checklist.js +40 -2
  288. package/dist/commands/skill/review-checklist.js.map +1 -1
  289. package/dist/commands/skill/review.d.ts +247 -0
  290. package/dist/commands/skill/review.d.ts.map +1 -1
  291. package/dist/commands/skill/review.js +100 -62
  292. package/dist/commands/skill/review.js.map +1 -1
  293. package/dist/commands/skill/test/configure.d.ts +56 -0
  294. package/dist/commands/skill/test/configure.d.ts.map +1 -1
  295. package/dist/commands/skill/test/configure.js +75 -16
  296. package/dist/commands/skill/test/configure.js.map +1 -1
  297. package/dist/commands/skill/test/run.d.ts +63 -10
  298. package/dist/commands/skill/test/run.d.ts.map +1 -1
  299. package/dist/commands/skill/test/run.js +258 -77
  300. package/dist/commands/skill/test/run.js.map +1 -1
  301. package/dist/commands/skills/build.d.ts +94 -4
  302. package/dist/commands/skills/build.d.ts.map +1 -1
  303. package/dist/commands/skills/build.js +325 -97
  304. package/dist/commands/skills/build.js.map +1 -1
  305. package/dist/commands/skills/install.d.ts +2 -1
  306. package/dist/commands/skills/install.d.ts.map +1 -1
  307. package/dist/commands/skills/install.js +20 -31
  308. package/dist/commands/skills/install.js.map +1 -1
  309. package/dist/commands/skills/list.d.ts +2 -1
  310. package/dist/commands/skills/list.d.ts.map +1 -1
  311. package/dist/commands/skills/list.js +44 -26
  312. package/dist/commands/skills/list.js.map +1 -1
  313. package/dist/commands/skills/package.d.ts +1 -1
  314. package/dist/commands/skills/package.d.ts.map +1 -1
  315. package/dist/commands/skills/package.js +6 -8
  316. package/dist/commands/skills/package.js.map +1 -1
  317. package/dist/commands/skills/scope-guard.d.ts.map +1 -1
  318. package/dist/commands/skills/scope-guard.js +8 -6
  319. package/dist/commands/skills/scope-guard.js.map +1 -1
  320. package/dist/commands/skills/shared.d.ts.map +1 -1
  321. package/dist/commands/skills/shared.js +2 -4
  322. package/dist/commands/skills/shared.js.map +1 -1
  323. package/dist/commands/skills/skill-discovery.d.ts +47 -6
  324. package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
  325. package/dist/commands/skills/skill-discovery.js +61 -11
  326. package/dist/commands/skills/skill-discovery.js.map +1 -1
  327. package/dist/commands/skills/source-resolvers.d.ts +15 -0
  328. package/dist/commands/skills/source-resolvers.d.ts.map +1 -1
  329. package/dist/commands/skills/source-resolvers.js +25 -4
  330. package/dist/commands/skills/source-resolvers.js.map +1 -1
  331. package/dist/commands/skills/validate-command.d.ts.map +1 -1
  332. package/dist/commands/skills/validate-command.js +11 -3
  333. package/dist/commands/skills/validate-command.js.map +1 -1
  334. package/dist/commands/skills/validate.d.ts +140 -4
  335. package/dist/commands/skills/validate.d.ts.map +1 -1
  336. package/dist/commands/skills/validate.js +224 -67
  337. package/dist/commands/skills/validate.js.map +1 -1
  338. package/dist/commands/validate.d.ts +1 -1
  339. package/dist/commands/validate.d.ts.map +1 -1
  340. package/dist/commands/validate.js +63 -27
  341. package/dist/commands/validate.js.map +1 -1
  342. package/dist/commands/verify.d.ts +119 -15
  343. package/dist/commands/verify.d.ts.map +1 -1
  344. package/dist/commands/verify.js +357 -142
  345. package/dist/commands/verify.js.map +1 -1
  346. package/dist/index.d.ts +0 -1
  347. package/dist/index.d.ts.map +1 -1
  348. package/dist/index.js +5 -1
  349. package/dist/index.js.map +1 -1
  350. package/dist/report-schemas.d.ts +45 -0
  351. package/dist/report-schemas.d.ts.map +1 -0
  352. package/dist/report-schemas.js +100 -0
  353. package/dist/report-schemas.js.map +1 -0
  354. package/dist/skill-resolution/classify.js +2 -2
  355. package/dist/skill-resolution/classify.js.map +1 -1
  356. package/dist/skill-resolution/packaging-config.d.ts +49 -5
  357. package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
  358. package/dist/skill-resolution/packaging-config.js +59 -19
  359. package/dist/skill-resolution/packaging-config.js.map +1 -1
  360. package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
  361. package/dist/skill-resolution/resolve-skill-reference.js +55 -57
  362. package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
  363. package/dist/utils/agent-discovery.d.ts.map +1 -1
  364. package/dist/utils/agent-discovery.js +22 -11
  365. package/dist/utils/agent-discovery.js.map +1 -1
  366. package/dist/utils/agent-runner.d.ts.map +1 -1
  367. package/dist/utils/agent-runner.js +7 -4
  368. package/dist/utils/agent-runner.js.map +1 -1
  369. package/dist/utils/claude-context-lens.d.ts +34 -0
  370. package/dist/utils/claude-context-lens.d.ts.map +1 -0
  371. package/dist/utils/claude-context-lens.js +39 -0
  372. package/dist/utils/claude-context-lens.js.map +1 -0
  373. package/dist/utils/command-error.d.ts +143 -20
  374. package/dist/utils/command-error.d.ts.map +1 -1
  375. package/dist/utils/command-error.js +179 -36
  376. package/dist/utils/command-error.js.map +1 -1
  377. package/dist/utils/config-loader.d.ts +2 -1
  378. package/dist/utils/config-loader.d.ts.map +1 -1
  379. package/dist/utils/config-loader.js +40 -14
  380. package/dist/utils/config-loader.js.map +1 -1
  381. package/dist/utils/corpus-target.d.ts +26 -0
  382. package/dist/utils/corpus-target.d.ts.map +1 -0
  383. package/dist/utils/corpus-target.js +72 -0
  384. package/dist/utils/corpus-target.js.map +1 -0
  385. package/dist/utils/edge-lens-evaluation.d.ts +83 -0
  386. package/dist/utils/edge-lens-evaluation.d.ts.map +1 -0
  387. package/dist/utils/edge-lens-evaluation.js +110 -0
  388. package/dist/utils/edge-lens-evaluation.js.map +1 -0
  389. package/dist/utils/help-loader.d.ts.map +1 -1
  390. package/dist/utils/help-loader.js +0 -1
  391. package/dist/utils/help-loader.js.map +1 -1
  392. package/dist/utils/issue-anchor.d.ts +2 -2
  393. package/dist/utils/issue-anchor.d.ts.map +1 -1
  394. package/dist/utils/issue-anchor.js +1 -1
  395. package/dist/utils/issue-rendering.d.ts +3 -3
  396. package/dist/utils/issue-rendering.d.ts.map +1 -1
  397. package/dist/utils/issue-rendering.js +3 -3
  398. package/dist/utils/issue-rendering.js.map +1 -1
  399. package/dist/utils/issue-severity.d.ts +12 -5
  400. package/dist/utils/issue-severity.d.ts.map +1 -1
  401. package/dist/utils/issue-severity.js +1 -1
  402. package/dist/utils/issue-severity.js.map +1 -1
  403. package/dist/utils/optional-backend.d.ts +78 -0
  404. package/dist/utils/optional-backend.d.ts.map +1 -0
  405. package/dist/utils/optional-backend.js +117 -0
  406. package/dist/utils/optional-backend.js.map +1 -0
  407. package/dist/utils/output.d.ts +26 -0
  408. package/dist/utils/output.d.ts.map +1 -1
  409. package/dist/utils/output.js +35 -0
  410. package/dist/utils/output.js.map +1 -1
  411. package/dist/utils/package-json.d.ts +24 -0
  412. package/dist/utils/package-json.d.ts.map +1 -0
  413. package/dist/utils/package-json.js +49 -0
  414. package/dist/utils/package-json.js.map +1 -0
  415. package/dist/utils/population-wiring.d.ts +100 -0
  416. package/dist/utils/population-wiring.d.ts.map +1 -0
  417. package/dist/utils/population-wiring.js +98 -0
  418. package/dist/utils/population-wiring.js.map +1 -0
  419. package/dist/utils/project-root-policy.d.ts +20 -0
  420. package/dist/utils/project-root-policy.d.ts.map +1 -1
  421. package/dist/utils/project-root-policy.js +30 -0
  422. package/dist/utils/project-root-policy.js.map +1 -1
  423. package/dist/utils/projection-lenses.d.ts +98 -0
  424. package/dist/utils/projection-lenses.d.ts.map +1 -0
  425. package/dist/utils/projection-lenses.js +203 -0
  426. package/dist/utils/projection-lenses.js.map +1 -0
  427. package/dist/utils/projection-query.d.ts +324 -0
  428. package/dist/utils/projection-query.d.ts.map +1 -0
  429. package/dist/utils/projection-query.js +357 -0
  430. package/dist/utils/projection-query.js.map +1 -0
  431. package/dist/utils/projection-store.d.ts +335 -0
  432. package/dist/utils/projection-store.d.ts.map +1 -0
  433. package/dist/utils/projection-store.js +522 -0
  434. package/dist/utils/projection-store.js.map +1 -0
  435. package/dist/utils/relation-limits.d.ts +50 -0
  436. package/dist/utils/relation-limits.d.ts.map +1 -0
  437. package/dist/utils/relation-limits.js +50 -0
  438. package/dist/utils/relation-limits.js.map +1 -0
  439. package/dist/utils/repeatable-option.d.ts +37 -0
  440. package/dist/utils/repeatable-option.d.ts.map +1 -0
  441. package/dist/utils/repeatable-option.js +39 -0
  442. package/dist/utils/repeatable-option.js.map +1 -0
  443. package/dist/utils/resource-loader.d.ts +134 -2
  444. package/dist/utils/resource-loader.d.ts.map +1 -1
  445. package/dist/utils/resource-loader.js +290 -27
  446. package/dist/utils/resource-loader.js.map +1 -1
  447. package/dist/utils/root-argv.d.ts +53 -0
  448. package/dist/utils/root-argv.d.ts.map +1 -0
  449. package/dist/utils/root-argv.js +215 -0
  450. package/dist/utils/root-argv.js.map +1 -0
  451. package/dist/utils/run-integrity.d.ts +95 -0
  452. package/dist/utils/run-integrity.d.ts.map +1 -0
  453. package/dist/utils/run-integrity.js +102 -0
  454. package/dist/utils/run-integrity.js.map +1 -0
  455. package/dist/utils/skill-discovery.d.ts.map +1 -1
  456. package/dist/utils/skill-discovery.js +2 -1
  457. package/dist/utils/skill-discovery.js.map +1 -1
  458. package/dist/utils/skill-packaging-config.d.ts +63 -1
  459. package/dist/utils/skill-packaging-config.d.ts.map +1 -1
  460. package/dist/utils/skill-packaging-config.js +56 -1
  461. package/dist/utils/skill-packaging-config.js.map +1 -1
  462. package/dist/utils/sqlite-experimental-warning.d.ts +69 -0
  463. package/dist/utils/sqlite-experimental-warning.d.ts.map +1 -0
  464. package/dist/utils/sqlite-experimental-warning.js +144 -0
  465. package/dist/utils/sqlite-experimental-warning.js.map +1 -0
  466. package/dist/utils/url-redact.d.ts.map +1 -1
  467. package/dist/utils/url-redact.js +4 -6
  468. package/dist/utils/url-redact.js.map +1 -1
  469. package/dist/utils/user-context-scanner.d.ts +8 -0
  470. package/dist/utils/user-context-scanner.d.ts.map +1 -1
  471. package/dist/utils/user-context-scanner.js +4 -2
  472. package/dist/utils/user-context-scanner.js.map +1 -1
  473. package/dist/utils/validate-help-files.d.ts.map +1 -1
  474. package/dist/utils/validate-help-files.js +12 -6
  475. package/dist/utils/validate-help-files.js.map +1 -1
  476. package/dist/utils/vat-bin-path.d.ts +36 -0
  477. package/dist/utils/vat-bin-path.d.ts.map +1 -0
  478. package/dist/utils/vat-bin-path.js +48 -0
  479. package/dist/utils/vat-bin-path.js.map +1 -0
  480. package/dist/utils/verdict-helpers.d.ts +1 -1
  481. package/dist/utils/verdict-helpers.d.ts.map +1 -1
  482. package/dist/utils/verdict-helpers.js +1 -1
  483. package/dist/utils/verdict-helpers.js.map +1 -1
  484. package/dist/version.d.ts.map +1 -1
  485. package/dist/version.js +1 -3
  486. package/dist/version.js.map +1 -1
  487. package/docs/agent.md +2 -2
  488. package/docs/audit.md +143 -39
  489. package/docs/doctor.md +7 -6
  490. package/docs/index.md +19 -11
  491. package/docs/mcp.md +2 -2
  492. package/docs/rag.md +3 -2
  493. package/docs/resources.md +13 -3
  494. package/docs/skill-test.md +10 -9
  495. package/docs/skills.md +53 -69
  496. package/package.json +36 -27
  497. package/schemas/ard-emit.json +152 -0
  498. package/schemas/okf-validate.json +170 -0
  499. package/schemas/resources-check.json +257 -0
  500. package/schemas/skill-review.json +230 -0
  501. package/dist/commands/resources/command-helpers.d.ts +0 -5
  502. package/dist/commands/resources/command-helpers.d.ts.map +0 -1
  503. package/dist/commands/resources/command-helpers.js +0 -6
  504. package/dist/commands/resources/command-helpers.js.map +0 -1
package/README.md CHANGED
@@ -85,7 +85,7 @@ vat doctor --verbose
85
85
  ```
86
86
 
87
87
  **What it checks:**
88
- - Node.js version (>=20 required)
88
+ - Node.js version (>=22.13.0 required — the range comes from the CLI's own `engines.node`)
89
89
  - Git installation and repository
90
90
  - Configuration file exists and is valid
91
91
  - VAT version (checks for updates)
@@ -103,7 +103,7 @@ report and states how many it hid):
103
103
  Running diagnostic checks...
104
104
 
105
105
  ✅ Node.js version
106
- v22.0.0 (meets requirement: >=20.0.0)
106
+ v22.13.0 (meets requirement: >=22.13.0)
107
107
 
108
108
  ✅ Git installed
109
109
  git version 2.43.0
@@ -131,8 +131,8 @@ If checks fail, doctor provides specific suggestions:
131
131
 
132
132
  ```
133
133
  ❌ Node.js version
134
- v18.0.0 is too old. Node.js 20+ required.
135
- 💡 Upgrade Node.js: https://nodejs.org/ or use nvm
134
+ v22.4.0 does not satisfy the required range. Node.js >=22.13.0 required.
135
+ 💡 Install a Node.js version in that range: https://nodejs.org/ or use nvm
136
136
  ```
137
137
 
138
138
  ### Configuration
@@ -140,7 +140,6 @@ If checks fail, doctor provides specific suggestions:
140
140
  Create `vibe-agent-toolkit.config.yaml` at project root:
141
141
 
142
142
  ```yaml
143
- version: 1
144
143
  resources:
145
144
  include:
146
145
  - "docs/**/*.md"
package/dist/bin/vat CHANGED
@@ -16,9 +16,12 @@
16
16
  */
17
17
  import { spawnSync } from 'node:child_process';
18
18
  import { existsSync, readFileSync } from 'node:fs';
19
+ import { createRequire } from 'node:module';
19
20
  import { dirname } from 'node:path';
20
21
  import { fileURLToPath } from 'node:url';
21
- import { describeStdioBlocking, findNodeWorkspaceRoot, makeStdioBlocking, safePath, } from '@vibe-agent-toolkit/utils';
22
+ import { exitCodeOfChild, installLastResortExit } from '@vibe-agent-toolkit/schema';
23
+ import { findNodeWorkspaceRoot, isPathAbsentError, safePath, } from '@vibe-agent-toolkit/utils';
24
+ import { describeStdioBlocking, makeStdioBlocking, } from '@vibe-agent-toolkit/utils/process';
22
25
  // Before ANY output. This file — not bin.ts — is what package.json maps `vat` to,
23
26
  // so it is the CLI entry point in every installed copy, and `makeStdioBlocking`
24
27
  // is documented as belonging first thing in one. The delegated child applies it
@@ -39,6 +42,8 @@ function reportStdioBlocking(debug) {
39
42
  console.error(`[vat debug] ${describeStdioBlocking(stdioBlocking)}`);
40
43
  }
41
44
  }
45
+ // A throw nothing below caught ends on ExitCode.ERROR, never Node's default 1.
46
+ installLastResortExit();
42
47
  const __dirname = dirname(fileURLToPath(import.meta.url));
43
48
  function spawnCli(binPath, context, contextPath) {
44
49
  const env = {
@@ -46,12 +51,16 @@ function spawnCli(binPath, context, contextPath) {
46
51
  VAT_CONTEXT: context,
47
52
  VAT_CONTEXT_PATH: contextPath,
48
53
  };
49
- // eslint-disable-next-line sonarjs/no-os-command-from-path -- node is always in PATH for CLI usage
50
- const result = spawnSync('node', [binPath, ...process.argv.slice(2)], {
54
+ // The node running this wrapper, never a PATH lookup: the child must be the
55
+ // same binary, and `node` by name is whatever PATH says first.
56
+ const result = spawnSync(process.execPath, [binPath, ...process.argv.slice(2)], {
51
57
  stdio: 'inherit',
52
58
  env,
53
59
  });
54
- process.exit(result.status ?? 1);
60
+ // The child derived its code from its own document. A signal death has no
61
+ // status, and a code off the contract (an older build's, Node's abort) is not
62
+ // a verdict the child published, so neither is forwarded verbatim.
63
+ process.exit(exitCodeOfChild(result.status));
55
64
  }
56
65
  /**
57
66
  * Check if we're in vibe-agent-toolkit repo (developer mode)
@@ -64,42 +73,99 @@ function getDevModeBinary(projectRoot) {
64
73
  const wrapperPath = safePath.join(projectRoot, 'packages/cli/dist/bin/vat.js');
65
74
  const binPath = safePath.join(projectRoot, 'packages/cli/dist/bin.js');
66
75
  if (process.env['VAT_DEBUG'] === '1') {
67
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
68
76
  console.error(`[vat debug] Dev check - wrapper: ${wrapperPath} (${existsSync(wrapperPath)})`);
69
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
70
77
  console.error(`[vat debug] Dev check - bin: ${binPath} (${existsSync(binPath)})`);
71
78
  }
72
79
  // Both files must exist to confirm we're in vibe-agent-toolkit repo
73
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files
74
80
  if (existsSync(wrapperPath) && existsSync(binPath)) {
75
81
  return binPath;
76
82
  }
77
83
  return null;
78
84
  }
79
85
  /**
80
- * Find local vibe-agent-toolkit installation in node_modules
81
- * Walks up directory tree from project root
86
+ * Find the CLI the adopter's lockfile pinned, wherever their package manager put it.
82
87
  *
83
- * @param projectRoot - Root directory to start searching from
84
- * @returns Path to local bin.js if found, null otherwise
88
+ * Resolved through Node's OWN resolver rather than by probing a path, because the
89
+ * path this used to probe —
90
+ * `<dir>/node_modules/@vibe-agent-toolkit/cli/dist/bin.js` — assumes npm's flat
91
+ * layout and **does not exist under pnpm**. An adopter depending on
92
+ * the umbrella `vibe-agent-toolkit` package gets no top-level
93
+ * `node_modules/@vibe-agent-toolkit/` directory at all; the real CLI lives under
94
+ * `node_modules/.pnpm/@vibe-agent-toolkit+cli@<ver>_<hash>/…`. So priority 3 never
95
+ * fired for them, resolution fell through to priority 4, and whichever copy of
96
+ * `vat.js` happened to be invoked won — silently ignoring the version they pinned.
97
+ * That is the exact failure `findLocalInstall` exists to prevent, and it was
98
+ * invisible on npm/bun, where the flat layout makes the probe succeed.
99
+ *
100
+ * `createRequire` resolution walks the ancestor `node_modules` chain itself, which
101
+ * is what the hand-rolled loop here used to do — and it does so correctly for
102
+ * npm, bun, pnpm and yarn PnP without enumerating any of their layouts.
103
+ *
104
+ * It asks for `package.json` (exported by this package precisely so it can be
105
+ * located) and derives the binary from the package DIRECTORY rather than from the
106
+ * manifest's `bin` field. `bin.vat` names `dist/bin/vat.js` — THIS wrapper — so
107
+ * honouring it would make the wrapper delegate to itself and spawn forever. The
108
+ * target is the real CLI entry, `dist/bin.js`, exactly as before; only the way it
109
+ * is located has changed.
110
+ *
111
+ * TWO resolution bases are tried, and the second is not redundant. Under pnpm's
112
+ * isolated layout only DIRECT dependencies are symlinked into the adopter's
113
+ * top-level `node_modules`, so when the adopter depends on the umbrella
114
+ * `vibe-agent-toolkit` package — the documented way to adopt VAT — the CLI is a
115
+ * TRANSITIVE dependency and is deliberately unreachable from the adopter root.
116
+ * Resolving from the adopter alone would still miss it, which is the umbrella case
117
+ * adopters actually hit. It IS reachable from the umbrella package's own
118
+ * directory, so that package is resolved first (it is a direct dependency, hence
119
+ * visible) and used as the base for the second hop.
120
+ *
121
+ * @param projectRoot - Directory to resolve from; ancestors are searched too.
122
+ * @returns Path to the local `dist/bin.js` if one is installed and built, else null.
85
123
  */
86
124
  function findLocalInstall(projectRoot) {
87
- let current = projectRoot;
88
- while (true) {
89
- const localBin = safePath.join(current, 'node_modules/@vibe-agent-toolkit/cli/dist/bin.js');
90
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- checking for local install
91
- if (existsSync(localBin)) {
125
+ // The base need not exist — `createRequire` treats it purely as the directory
126
+ // to resolve relative to.
127
+ const fromProject = safePath.join(projectRoot, 'noop.js');
128
+ const umbrellaManifest = tryResolve(fromProject, 'vibe-agent-toolkit/package.json');
129
+ const bases = umbrellaManifest === null ? [fromProject] : [fromProject, umbrellaManifest];
130
+ for (const base of bases) {
131
+ const manifestPath = tryResolve(base, '@vibe-agent-toolkit/cli/package.json');
132
+ if (manifestPath === null)
133
+ continue;
134
+ const localBin = safePath.join(dirname(manifestPath), 'dist', 'bin.js');
135
+ // Still existence-checked: a dependency can be installed without having been
136
+ // built (a fresh workspace checkout, a partial install), and spawning a
137
+ // missing file would fail far from its cause.
138
+ if (existsSync(localBin))
92
139
  return localBin;
93
- }
94
- const parent = dirname(current);
95
- if (parent === current) {
96
- // Reached filesystem root
97
- break;
98
- }
99
- current = parent;
100
140
  }
101
141
  return null;
102
142
  }
143
+ /**
144
+ * `require.resolve` reduced to "found it, or didn't".
145
+ *
146
+ * A NOT-FOUND is priority 3's ordinary "not applicable" answer — no local
147
+ * install on this base — so it falls through to the next base and ultimately to
148
+ * the global install rather than failing the run. Two codes spell it: the
149
+ * package is not installed (`MODULE_NOT_FOUND`), or it is installed but too old
150
+ * to export its manifest (`ERR_PACKAGE_PATH_NOT_EXPORTED`) — either way no
151
+ * usable local install. Anything else (`ERR_INVALID_ARG_VALUE` from a bad
152
+ * `fromPath`, a loader fault) is not "absent" and stays loud.
153
+ */
154
+ function tryResolve(fromPath, specifier) {
155
+ try {
156
+ return createRequire(fromPath).resolve(specifier);
157
+ }
158
+ catch (error) {
159
+ if (isResolutionNotFound(error))
160
+ return null;
161
+ throw error;
162
+ }
163
+ }
164
+ /** The two `require.resolve` codes that mean "nothing usable here". */
165
+ function isResolutionNotFound(error) {
166
+ const code = error?.code;
167
+ return code === 'MODULE_NOT_FOUND' || code === 'ERR_PACKAGE_PATH_NOT_EXPORTED';
168
+ }
103
169
  /**
104
170
  * Read version from package.json
105
171
  * @param packageJsonPath - Path to package.json file
@@ -107,17 +173,21 @@ function findLocalInstall(projectRoot) {
107
173
  */
108
174
  function readVersion(packageJsonPath) {
109
175
  try {
110
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
111
176
  if (!existsSync(packageJsonPath)) {
112
177
  return null;
113
178
  }
114
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
115
179
  const content = readFileSync(packageJsonPath, 'utf-8');
116
180
  const pkg = JSON.parse(content);
117
181
  return pkg.version ?? null;
118
182
  }
119
- catch {
120
- return null;
183
+ catch (error) {
184
+ // The existence check above is not atomic with the read: a manifest removed
185
+ // between the two is "not found". A manifest the OS refuses, or one that is
186
+ // not JSON, is not — this wrapper is about to dispatch to that very install,
187
+ // and a broken manifest is the first fact worth seeing.
188
+ if (isPathAbsentError(error))
189
+ return null;
190
+ throw error;
121
191
  }
122
192
  }
123
193
  /**
@@ -137,7 +207,6 @@ function main() {
137
207
  // Priority 1: Explicit override via VAT_ROOT_DIR
138
208
  if (process.env['VAT_ROOT_DIR']) {
139
209
  const binPath = safePath.join(process.env['VAT_ROOT_DIR'], 'packages/cli/dist/bin.js');
140
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- dynamic path from env is expected
141
210
  if (existsSync(binPath)) {
142
211
  if (debug) {
143
212
  console.error('[vat debug] Using VAT_ROOT_DIR override');
package/dist/bin/vat.js CHANGED
@@ -16,9 +16,12 @@
16
16
  */
17
17
  import { spawnSync } from 'node:child_process';
18
18
  import { existsSync, readFileSync } from 'node:fs';
19
+ import { createRequire } from 'node:module';
19
20
  import { dirname } from 'node:path';
20
21
  import { fileURLToPath } from 'node:url';
21
- import { describeStdioBlocking, findNodeWorkspaceRoot, makeStdioBlocking, safePath, } from '@vibe-agent-toolkit/utils';
22
+ import { exitCodeOfChild, installLastResortExit } from '@vibe-agent-toolkit/schema';
23
+ import { findNodeWorkspaceRoot, isPathAbsentError, safePath, } from '@vibe-agent-toolkit/utils';
24
+ import { describeStdioBlocking, makeStdioBlocking, } from '@vibe-agent-toolkit/utils/process';
22
25
  // Before ANY output. This file — not bin.ts — is what package.json maps `vat` to,
23
26
  // so it is the CLI entry point in every installed copy, and `makeStdioBlocking`
24
27
  // is documented as belonging first thing in one. The delegated child applies it
@@ -39,6 +42,8 @@ function reportStdioBlocking(debug) {
39
42
  console.error(`[vat debug] ${describeStdioBlocking(stdioBlocking)}`);
40
43
  }
41
44
  }
45
+ // A throw nothing below caught ends on ExitCode.ERROR, never Node's default 1.
46
+ installLastResortExit();
42
47
  const __dirname = dirname(fileURLToPath(import.meta.url));
43
48
  function spawnCli(binPath, context, contextPath) {
44
49
  const env = {
@@ -46,12 +51,16 @@ function spawnCli(binPath, context, contextPath) {
46
51
  VAT_CONTEXT: context,
47
52
  VAT_CONTEXT_PATH: contextPath,
48
53
  };
49
- // eslint-disable-next-line sonarjs/no-os-command-from-path -- node is always in PATH for CLI usage
50
- const result = spawnSync('node', [binPath, ...process.argv.slice(2)], {
54
+ // The node running this wrapper, never a PATH lookup: the child must be the
55
+ // same binary, and `node` by name is whatever PATH says first.
56
+ const result = spawnSync(process.execPath, [binPath, ...process.argv.slice(2)], {
51
57
  stdio: 'inherit',
52
58
  env,
53
59
  });
54
- process.exit(result.status ?? 1);
60
+ // The child derived its code from its own document. A signal death has no
61
+ // status, and a code off the contract (an older build's, Node's abort) is not
62
+ // a verdict the child published, so neither is forwarded verbatim.
63
+ process.exit(exitCodeOfChild(result.status));
55
64
  }
56
65
  /**
57
66
  * Check if we're in vibe-agent-toolkit repo (developer mode)
@@ -64,42 +73,99 @@ function getDevModeBinary(projectRoot) {
64
73
  const wrapperPath = safePath.join(projectRoot, 'packages/cli/dist/bin/vat.js');
65
74
  const binPath = safePath.join(projectRoot, 'packages/cli/dist/bin.js');
66
75
  if (process.env['VAT_DEBUG'] === '1') {
67
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
68
76
  console.error(`[vat debug] Dev check - wrapper: ${wrapperPath} (${existsSync(wrapperPath)})`);
69
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
70
77
  console.error(`[vat debug] Dev check - bin: ${binPath} (${existsSync(binPath)})`);
71
78
  }
72
79
  // Both files must exist to confirm we're in vibe-agent-toolkit repo
73
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files
74
80
  if (existsSync(wrapperPath) && existsSync(binPath)) {
75
81
  return binPath;
76
82
  }
77
83
  return null;
78
84
  }
79
85
  /**
80
- * Find local vibe-agent-toolkit installation in node_modules
81
- * Walks up directory tree from project root
86
+ * Find the CLI the adopter's lockfile pinned, wherever their package manager put it.
82
87
  *
83
- * @param projectRoot - Root directory to start searching from
84
- * @returns Path to local bin.js if found, null otherwise
88
+ * Resolved through Node's OWN resolver rather than by probing a path, because the
89
+ * path this used to probe —
90
+ * `<dir>/node_modules/@vibe-agent-toolkit/cli/dist/bin.js` — assumes npm's flat
91
+ * layout and **does not exist under pnpm**. An adopter depending on
92
+ * the umbrella `vibe-agent-toolkit` package gets no top-level
93
+ * `node_modules/@vibe-agent-toolkit/` directory at all; the real CLI lives under
94
+ * `node_modules/.pnpm/@vibe-agent-toolkit+cli@<ver>_<hash>/…`. So priority 3 never
95
+ * fired for them, resolution fell through to priority 4, and whichever copy of
96
+ * `vat.js` happened to be invoked won — silently ignoring the version they pinned.
97
+ * That is the exact failure `findLocalInstall` exists to prevent, and it was
98
+ * invisible on npm/bun, where the flat layout makes the probe succeed.
99
+ *
100
+ * `createRequire` resolution walks the ancestor `node_modules` chain itself, which
101
+ * is what the hand-rolled loop here used to do — and it does so correctly for
102
+ * npm, bun, pnpm and yarn PnP without enumerating any of their layouts.
103
+ *
104
+ * It asks for `package.json` (exported by this package precisely so it can be
105
+ * located) and derives the binary from the package DIRECTORY rather than from the
106
+ * manifest's `bin` field. `bin.vat` names `dist/bin/vat.js` — THIS wrapper — so
107
+ * honouring it would make the wrapper delegate to itself and spawn forever. The
108
+ * target is the real CLI entry, `dist/bin.js`, exactly as before; only the way it
109
+ * is located has changed.
110
+ *
111
+ * TWO resolution bases are tried, and the second is not redundant. Under pnpm's
112
+ * isolated layout only DIRECT dependencies are symlinked into the adopter's
113
+ * top-level `node_modules`, so when the adopter depends on the umbrella
114
+ * `vibe-agent-toolkit` package — the documented way to adopt VAT — the CLI is a
115
+ * TRANSITIVE dependency and is deliberately unreachable from the adopter root.
116
+ * Resolving from the adopter alone would still miss it, which is the umbrella case
117
+ * adopters actually hit. It IS reachable from the umbrella package's own
118
+ * directory, so that package is resolved first (it is a direct dependency, hence
119
+ * visible) and used as the base for the second hop.
120
+ *
121
+ * @param projectRoot - Directory to resolve from; ancestors are searched too.
122
+ * @returns Path to the local `dist/bin.js` if one is installed and built, else null.
85
123
  */
86
124
  function findLocalInstall(projectRoot) {
87
- let current = projectRoot;
88
- while (true) {
89
- const localBin = safePath.join(current, 'node_modules/@vibe-agent-toolkit/cli/dist/bin.js');
90
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- checking for local install
91
- if (existsSync(localBin)) {
125
+ // The base need not exist — `createRequire` treats it purely as the directory
126
+ // to resolve relative to.
127
+ const fromProject = safePath.join(projectRoot, 'noop.js');
128
+ const umbrellaManifest = tryResolve(fromProject, 'vibe-agent-toolkit/package.json');
129
+ const bases = umbrellaManifest === null ? [fromProject] : [fromProject, umbrellaManifest];
130
+ for (const base of bases) {
131
+ const manifestPath = tryResolve(base, '@vibe-agent-toolkit/cli/package.json');
132
+ if (manifestPath === null)
133
+ continue;
134
+ const localBin = safePath.join(dirname(manifestPath), 'dist', 'bin.js');
135
+ // Still existence-checked: a dependency can be installed without having been
136
+ // built (a fresh workspace checkout, a partial install), and spawning a
137
+ // missing file would fail far from its cause.
138
+ if (existsSync(localBin))
92
139
  return localBin;
93
- }
94
- const parent = dirname(current);
95
- if (parent === current) {
96
- // Reached filesystem root
97
- break;
98
- }
99
- current = parent;
100
140
  }
101
141
  return null;
102
142
  }
143
+ /**
144
+ * `require.resolve` reduced to "found it, or didn't".
145
+ *
146
+ * A NOT-FOUND is priority 3's ordinary "not applicable" answer — no local
147
+ * install on this base — so it falls through to the next base and ultimately to
148
+ * the global install rather than failing the run. Two codes spell it: the
149
+ * package is not installed (`MODULE_NOT_FOUND`), or it is installed but too old
150
+ * to export its manifest (`ERR_PACKAGE_PATH_NOT_EXPORTED`) — either way no
151
+ * usable local install. Anything else (`ERR_INVALID_ARG_VALUE` from a bad
152
+ * `fromPath`, a loader fault) is not "absent" and stays loud.
153
+ */
154
+ function tryResolve(fromPath, specifier) {
155
+ try {
156
+ return createRequire(fromPath).resolve(specifier);
157
+ }
158
+ catch (error) {
159
+ if (isResolutionNotFound(error))
160
+ return null;
161
+ throw error;
162
+ }
163
+ }
164
+ /** The two `require.resolve` codes that mean "nothing usable here". */
165
+ function isResolutionNotFound(error) {
166
+ const code = error?.code;
167
+ return code === 'MODULE_NOT_FOUND' || code === 'ERR_PACKAGE_PATH_NOT_EXPORTED';
168
+ }
103
169
  /**
104
170
  * Read version from package.json
105
171
  * @param packageJsonPath - Path to package.json file
@@ -107,17 +173,21 @@ function findLocalInstall(projectRoot) {
107
173
  */
108
174
  function readVersion(packageJsonPath) {
109
175
  try {
110
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
111
176
  if (!existsSync(packageJsonPath)) {
112
177
  return null;
113
178
  }
114
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
115
179
  const content = readFileSync(packageJsonPath, 'utf-8');
116
180
  const pkg = JSON.parse(content);
117
181
  return pkg.version ?? null;
118
182
  }
119
- catch {
120
- return null;
183
+ catch (error) {
184
+ // The existence check above is not atomic with the read: a manifest removed
185
+ // between the two is "not found". A manifest the OS refuses, or one that is
186
+ // not JSON, is not — this wrapper is about to dispatch to that very install,
187
+ // and a broken manifest is the first fact worth seeing.
188
+ if (isPathAbsentError(error))
189
+ return null;
190
+ throw error;
121
191
  }
122
192
  }
123
193
  /**
@@ -137,7 +207,6 @@ function main() {
137
207
  // Priority 1: Explicit override via VAT_ROOT_DIR
138
208
  if (process.env['VAT_ROOT_DIR']) {
139
209
  const binPath = safePath.join(process.env['VAT_ROOT_DIR'], 'packages/cli/dist/bin.js');
140
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- dynamic path from env is expected
141
210
  if (existsSync(binPath)) {
142
211
  if (debug) {
143
212
  console.error('[vat debug] Using VAT_ROOT_DIR override');
@@ -1 +1 @@
1
- {"version":3,"file":"vat.js","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vat.js","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":"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"}