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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/README.md +4 -5
  2. package/dist/bin/vat +95 -28
  3. package/dist/bin/vat.js +95 -28
  4. package/dist/bin/vat.js.map +1 -1
  5. package/dist/bin.js +137 -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 +153 -0
  41. package/dist/commands/ard/emit.d.ts.map +1 -0
  42. package/dist/commands/ard/emit.js +276 -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 +80 -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 +60 -2
  53. package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
  54. package/dist/commands/audit/distributed-tree.js +73 -1
  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 +1133 -395
  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 +105 -0
  86. package/dist/commands/cache/clear.d.ts.map +1 -0
  87. package/dist/commands/cache/clear.js +248 -0
  88. package/dist/commands/cache/clear.js.map +1 -0
  89. package/dist/commands/cache/index.d.ts +18 -0
  90. package/dist/commands/cache/index.d.ts.map +1 -0
  91. package/dist/commands/cache/index.js +94 -0
  92. package/dist/commands/cache/index.js.map +1 -0
  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 +340 -0
  97. package/dist/commands/claude/context.d.ts.map +1 -0
  98. package/dist/commands/claude/context.js +1080 -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 +128 -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 +114 -0
  226. package/dist/commands/okf/index.js.map +1 -0
  227. package/dist/commands/okf/validate.d.ts +191 -0
  228. package/dist/commands/okf/validate.d.ts.map +1 -0
  229. package/dist/commands/okf/validate.js +190 -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 +154 -0
  259. package/dist/commands/resources/check-progress.d.ts.map +1 -0
  260. package/dist/commands/resources/check-progress.js +222 -0
  261. package/dist/commands/resources/check-progress.js.map +1 -0
  262. package/dist/commands/resources/check-supervisor.d.ts +465 -0
  263. package/dist/commands/resources/check-supervisor.d.ts.map +1 -0
  264. package/dist/commands/resources/check-supervisor.js +573 -0
  265. package/dist/commands/resources/check-supervisor.js.map +1 -0
  266. package/dist/commands/resources/check.d.ts +593 -0
  267. package/dist/commands/resources/check.d.ts.map +1 -0
  268. package/dist/commands/resources/check.js +1365 -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 +425 -6
  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 +57 -4
  282. package/dist/commands/resources/validate.d.ts.map +1 -1
  283. package/dist/commands/resources/validate.js +224 -56
  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 +99 -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 +24 -3
  314. package/dist/commands/skills/package.d.ts.map +1 -1
  315. package/dist/commands/skills/package.js +42 -17
  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 +3 -5
  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 +66 -16
  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 +144 -7
  374. package/dist/utils/command-error.d.ts.map +1 -1
  375. package/dist/utils/command-error.js +179 -16
  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 +35 -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 +132 -2
  444. package/dist/utils/resource-loader.d.ts.map +1 -1
  445. package/dist/utils/resource-loader.js +288 -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 +141 -37
  489. package/docs/doctor.md +7 -6
  490. package/docs/index.md +40 -12
  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 +38 -27
  497. package/schemas/ard-emit.json +149 -0
  498. package/schemas/okf-validate.json +170 -0
  499. package/schemas/resources-check.json +229 -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
@@ -0,0 +1,593 @@
1
+ /**
2
+ * `vat resources check` — run the project's own assertions over its resource
3
+ * projection, as a gate.
4
+ *
5
+ * The invariants this file implements are written down once, in
6
+ * `docs/architecture/cli.md` under "`vat resources check [path]`". Read that
7
+ * before changing anything here; the headlines, so a reader knows when to:
8
+ *
9
+ * - 🔑 **Four ways to check nothing are all refusals**, at error severity under
10
+ * the non-overridable `RESOURCE_CHECK_BROKEN`: a statement that will not run
11
+ * (the `catch` in `runUnits`), a corpus that enumerated empty
12
+ * ({@link emptyCorpusFinding}), a `--check` name nothing declares
13
+ * (`requireKnownCheck`), and not one check executed at all
14
+ * ({@link noCheckRanFinding}, derived in {@link buildCheckOutputData} so an
15
+ * emptied `BUILTIN_CHECKS` cannot publish a clean document).
16
+ * - ⚠️ That last one does NOT make the step always able to fail: the only
17
+ * built-in ships at `info`. Do not invent a second refusal for it — that
18
+ * would refuse the no-config run the default set exists to serve.
19
+ * - 🔑 **No built-in check may be SQL.** {@link checkCommand} reads
20
+ * `config?.resources?.checks` and nothing else for statements; built-ins are
21
+ * TypeScript predicates over the row model, and a built-in's `sqlTwin` is
22
+ * documentation an adopter copies, never executed here.
23
+ * - 🔑 **The default set belongs to the pipeline, not the config file.**
24
+ * `BUILTIN_CHECKS` reaches {@link runProjectChecks} as a REQUIRED `builtins`
25
+ * argument via {@link runOutcome}; nothing on that path reads `config`.
26
+ * - 🚨 **Adopter SQL runs unsandboxed on purpose, and contributed SQL is not
27
+ * adopter SQL** — a contributed statement ships as a reviewed example.
28
+ * - ⛔ A TypeScript/SQL twin is documentation and a differential oracle, never
29
+ * a runtime optimizer to schedule between.
30
+ */
31
+ import { type BoundBuiltinCheck, type ResourceCheck } from '@vibe-agent-toolkit/resources';
32
+ import { type Report, type ValidationIssue } from '@vibe-agent-toolkit/schema';
33
+ import { z } from 'zod';
34
+ import { type SeverityOverrides } from '../../utils/issue-severity.js';
35
+ import { type Logger } from '../../utils/logger.js';
36
+ import { type AskProjection, type PopulationExtent, type ProjectionProvenance } from '../../utils/projection-query.js';
37
+ import { type ProgressEntry } from './check-progress.js';
38
+ import { type AbnormalDeath } from './check-supervisor.js';
39
+ /**
40
+ * Where a supervised run announces what it is doing, one unit at a time.
41
+ *
42
+ * A plain callback rather than the writer itself, so the loop knows nothing
43
+ * about files: the unit suite hands it an array, the supervised child hands it
44
+ * {@link createProgressWriter}'s append, and `--budget 0` hands it nothing.
45
+ */
46
+ export type ProgressSink = (entry: ProgressEntry) => void;
47
+ interface CheckOptions {
48
+ debug?: boolean;
49
+ /** Run only this check, by its config key. */
50
+ check?: string;
51
+ /** `yaml` (default) or `json`. Same document either way. */
52
+ format?: string;
53
+ /**
54
+ * How long the run may go WITHOUT completing a unit of work, in seconds.
55
+ * `0` removes the bound and keeps everything in this process.
56
+ */
57
+ budget?: string;
58
+ /**
59
+ * Hidden. Where to append progress — and, by its mere presence, the
60
+ * instruction to do the work here rather than supervise a child that does.
61
+ * Set by {@link childArgs} and by nothing else; an operator passing it by hand
62
+ * gets an unsupervised run and a log file, which is harmless.
63
+ */
64
+ costLog?: string;
65
+ }
66
+ /**
67
+ * What one declared check cost, and what it found.
68
+ *
69
+ * 🚨 **The population is charged to NOBODY, and that is deliberate.**
70
+ * {@link durationMs} is the STATEMENT alone; the shared setup is published as
71
+ * `populationSecs`. Why, and the pooled-arm defect this avoids:
72
+ * `docs/architecture/cli.md`, "The population is charged to NOBODY".
73
+ */
74
+ export interface CheckCost {
75
+ /** The check's key in `resources.checks`, or a built-in's name. */
76
+ readonly name: string;
77
+ /** Wall time of this check's selection, and of nothing it shares with others. */
78
+ readonly durationMs: number;
79
+ /** Rows the selection returned — the violations it found. Absent when it did not run. */
80
+ readonly rows?: number;
81
+ /** Set when the check threw. One that did not complete has no row count. */
82
+ readonly broken?: true;
83
+ /**
84
+ * Set when VAT supplied this check rather than the project. 🔑 Without it a
85
+ * reader whose config declares nothing finds a rule they never wrote in
86
+ * `checks[]` with no way to tell a default from a stale declaration — or, when
87
+ * a project declares a check of the same name, to tell the two entries apart.
88
+ */
89
+ readonly builtin?: true;
90
+ }
91
+ /** What one run of the checks produced. */
92
+ interface CheckOutcome extends ProjectionProvenance, PopulationExtent {
93
+ issues: readonly ValidationIssue[];
94
+ /**
95
+ * One record per check that actually ran — the denominator every count below
96
+ * is read against, and what each of them cost.
97
+ *
98
+ * 🔑 A LIST rather than a count beside a list. `checksRun` used to be carried
99
+ * separately and is now derived from `costs.length`, because two numbers that
100
+ * must agree are a drift bug with no gate on it: nothing fails when a new
101
+ * `continue` skips the record but not the counter, and the document then
102
+ * reports a denominator no published entry accounts for.
103
+ */
104
+ costs: readonly CheckCost[];
105
+ }
106
+ export interface CheckPayloadInput extends CheckOutcome {
107
+ root: string;
108
+ durationMs: number;
109
+ }
110
+ /**
111
+ * What the check run reports beyond its findings.
112
+ *
113
+ * The envelope's `examined` is `membersEnumerated` — what the rules ran
114
+ * AGAINST. `checksRun` is the other denominator, the number of RULES, and both
115
+ * are needed: zero findings is the pass condition and either number at zero
116
+ * makes that pass vacuous.
117
+ */
118
+ export declare const CheckDataSchema: z.ZodObject<{
119
+ root: z.ZodString;
120
+ /** Whether the projection was derived this run or read from the store. */
121
+ population: z.ZodEnum<["derived", "store"]>;
122
+ /** What the population cost — charged to no check, see `CheckCost`. */
123
+ populationSecs: z.ZodNumber;
124
+ /** What evaluating the lenses cost, paid before the first statement ran. */
125
+ lensSecs: z.ZodNumber;
126
+ /**
127
+ * Which lenses that covers — the derived relations this run's checks could
128
+ * actually read. 🔑 An empty list says "no check asked for a derived relation"
129
+ * rather than "a lens stopped running"; without it `lensSecs: 0` is the same
130
+ * document either way, and a gate whose rules silently read empty relations is
131
+ * a gate that cannot fail.
132
+ */
133
+ lensesEvaluated: z.ZodArray<z.ZodString, "many">;
134
+ /**
135
+ * The prose frame {@link CheckDataSchema.limits} is read under. Present
136
+ * exactly when a lens with stated bounds was evaluated.
137
+ */
138
+ boundsStatement: z.ZodOptional<z.ZodString>;
139
+ /**
140
+ * What the derived rows this run could read do NOT settle — signed and
141
+ * directional, the same list `vat claude context` publishes beside its own
142
+ * answer. Absent when no bounded lens ran: an empty list would claim nothing
143
+ * bounds the answer, which is stronger than "the answer holds no such row".
144
+ */
145
+ limits: z.ZodOptional<z.ZodArray<z.ZodObject<{
146
+ id: z.ZodString;
147
+ direction: z.ZodEnum<["over-report", "under-report", "scope", "assumption"]>;
148
+ statement: z.ZodString;
149
+ }, "strict", z.ZodTypeAny, {
150
+ id: string;
151
+ direction: "scope" | "over-report" | "under-report" | "assumption";
152
+ statement: string;
153
+ }, {
154
+ id: string;
155
+ direction: "scope" | "over-report" | "under-report" | "assumption";
156
+ statement: string;
157
+ }>, "many">>;
158
+ /** The number of rules that EXECUTED. Derived from `checks`, never carried beside it. */
159
+ checksRun: z.ZodNumber;
160
+ /** What each rule cost, directly under the denominator it is the breakdown of. */
161
+ checks: z.ZodArray<z.ZodObject<{
162
+ name: z.ZodString;
163
+ /** Three significant figures, so a 0.4 ms rule serializes as 0.0004 rather than a zero that reads as "not measured". */
164
+ durationSecs: z.ZodNumber;
165
+ /** Rows the statement returned. ABSENT, never 0, when the statement did not complete. */
166
+ rows: z.ZodOptional<z.ZodNumber>;
167
+ broken: z.ZodOptional<z.ZodLiteral<true>>;
168
+ /** Present and `true` only for a rule VAT supplied — see {@link CheckCost.builtin}. */
169
+ builtin: z.ZodOptional<z.ZodLiteral<true>>;
170
+ }, "strict", z.ZodTypeAny, {
171
+ name: string;
172
+ durationSecs: number;
173
+ rows?: number | undefined;
174
+ broken?: true | undefined;
175
+ builtin?: true | undefined;
176
+ }, {
177
+ name: string;
178
+ durationSecs: number;
179
+ rows?: number | undefined;
180
+ broken?: true | undefined;
181
+ builtin?: true | undefined;
182
+ }>, "many">;
183
+ }, "strict", z.ZodTypeAny, {
184
+ root: string;
185
+ population: "derived" | "store";
186
+ lensesEvaluated: string[];
187
+ populationSecs: number;
188
+ lensSecs: number;
189
+ checksRun: number;
190
+ checks: {
191
+ name: string;
192
+ durationSecs: number;
193
+ rows?: number | undefined;
194
+ broken?: true | undefined;
195
+ builtin?: true | undefined;
196
+ }[];
197
+ boundsStatement?: string | undefined;
198
+ limits?: {
199
+ id: string;
200
+ direction: "scope" | "over-report" | "under-report" | "assumption";
201
+ statement: string;
202
+ }[] | undefined;
203
+ }, {
204
+ root: string;
205
+ population: "derived" | "store";
206
+ lensesEvaluated: string[];
207
+ populationSecs: number;
208
+ lensSecs: number;
209
+ checksRun: number;
210
+ checks: {
211
+ name: string;
212
+ durationSecs: number;
213
+ rows?: number | undefined;
214
+ broken?: true | undefined;
215
+ builtin?: true | undefined;
216
+ }[];
217
+ boundsStatement?: string | undefined;
218
+ limits?: {
219
+ id: string;
220
+ direction: "scope" | "over-report" | "under-report" | "assumption";
221
+ statement: string;
222
+ }[] | undefined;
223
+ }>;
224
+ export type CheckData = z.infer<typeof CheckDataSchema>;
225
+ /** The document this command publishes. */
226
+ export declare const CHECK_REPORT_SCHEMA: import("@vibe-agent-toolkit/schema").ReportZodSchema<z.ZodObject<{
227
+ root: z.ZodString;
228
+ /** Whether the projection was derived this run or read from the store. */
229
+ population: z.ZodEnum<["derived", "store"]>;
230
+ /** What the population cost — charged to no check, see `CheckCost`. */
231
+ populationSecs: z.ZodNumber;
232
+ /** What evaluating the lenses cost, paid before the first statement ran. */
233
+ lensSecs: z.ZodNumber;
234
+ /**
235
+ * Which lenses that covers — the derived relations this run's checks could
236
+ * actually read. 🔑 An empty list says "no check asked for a derived relation"
237
+ * rather than "a lens stopped running"; without it `lensSecs: 0` is the same
238
+ * document either way, and a gate whose rules silently read empty relations is
239
+ * a gate that cannot fail.
240
+ */
241
+ lensesEvaluated: z.ZodArray<z.ZodString, "many">;
242
+ /**
243
+ * The prose frame {@link CheckDataSchema.limits} is read under. Present
244
+ * exactly when a lens with stated bounds was evaluated.
245
+ */
246
+ boundsStatement: z.ZodOptional<z.ZodString>;
247
+ /**
248
+ * What the derived rows this run could read do NOT settle — signed and
249
+ * directional, the same list `vat claude context` publishes beside its own
250
+ * answer. Absent when no bounded lens ran: an empty list would claim nothing
251
+ * bounds the answer, which is stronger than "the answer holds no such row".
252
+ */
253
+ limits: z.ZodOptional<z.ZodArray<z.ZodObject<{
254
+ id: z.ZodString;
255
+ direction: z.ZodEnum<["over-report", "under-report", "scope", "assumption"]>;
256
+ statement: z.ZodString;
257
+ }, "strict", z.ZodTypeAny, {
258
+ id: string;
259
+ direction: "scope" | "over-report" | "under-report" | "assumption";
260
+ statement: string;
261
+ }, {
262
+ id: string;
263
+ direction: "scope" | "over-report" | "under-report" | "assumption";
264
+ statement: string;
265
+ }>, "many">>;
266
+ /** The number of rules that EXECUTED. Derived from `checks`, never carried beside it. */
267
+ checksRun: z.ZodNumber;
268
+ /** What each rule cost, directly under the denominator it is the breakdown of. */
269
+ checks: z.ZodArray<z.ZodObject<{
270
+ name: z.ZodString;
271
+ /** Three significant figures, so a 0.4 ms rule serializes as 0.0004 rather than a zero that reads as "not measured". */
272
+ durationSecs: z.ZodNumber;
273
+ /** Rows the statement returned. ABSENT, never 0, when the statement did not complete. */
274
+ rows: z.ZodOptional<z.ZodNumber>;
275
+ broken: z.ZodOptional<z.ZodLiteral<true>>;
276
+ /** Present and `true` only for a rule VAT supplied — see {@link CheckCost.builtin}. */
277
+ builtin: z.ZodOptional<z.ZodLiteral<true>>;
278
+ }, "strict", z.ZodTypeAny, {
279
+ name: string;
280
+ durationSecs: number;
281
+ rows?: number | undefined;
282
+ broken?: true | undefined;
283
+ builtin?: true | undefined;
284
+ }, {
285
+ name: string;
286
+ durationSecs: number;
287
+ rows?: number | undefined;
288
+ broken?: true | undefined;
289
+ builtin?: true | undefined;
290
+ }>, "many">;
291
+ }, "strict", z.ZodTypeAny, {
292
+ root: string;
293
+ population: "derived" | "store";
294
+ lensesEvaluated: string[];
295
+ populationSecs: number;
296
+ lensSecs: number;
297
+ checksRun: number;
298
+ checks: {
299
+ name: string;
300
+ durationSecs: number;
301
+ rows?: number | undefined;
302
+ broken?: true | undefined;
303
+ builtin?: true | undefined;
304
+ }[];
305
+ boundsStatement?: string | undefined;
306
+ limits?: {
307
+ id: string;
308
+ direction: "scope" | "over-report" | "under-report" | "assumption";
309
+ statement: string;
310
+ }[] | undefined;
311
+ }, {
312
+ root: string;
313
+ population: "derived" | "store";
314
+ lensesEvaluated: string[];
315
+ populationSecs: number;
316
+ lensSecs: number;
317
+ checksRun: number;
318
+ checks: {
319
+ name: string;
320
+ durationSecs: number;
321
+ rows?: number | undefined;
322
+ broken?: true | undefined;
323
+ builtin?: true | undefined;
324
+ }[];
325
+ boundsStatement?: string | undefined;
326
+ limits?: {
327
+ id: string;
328
+ direction: "scope" | "over-report" | "under-report" | "assumption";
329
+ statement: string;
330
+ }[] | undefined;
331
+ }>>;
332
+ export type CheckReport = Report<CheckData>;
333
+ /**
334
+ * Build the check report.
335
+ *
336
+ * Pure: no file system, no clock, no `process.exit` — the same contract every
337
+ * other payload builder here follows, so the document's shape stays under unit
338
+ * test rather than only under a CLI spawn.
339
+ *
340
+ * `checksRun` is published beside the counts and is not decoration: zero
341
+ * findings from four checks and zero findings from **no** checks are the same
342
+ * document without it, and they mean opposite things. A project whose config key
343
+ * is misspelled would otherwise read as passing. It is DERIVED from the `checks`
344
+ * list rather than carried alongside it, so the denominator and the entries that
345
+ * account for it cannot disagree.
346
+ *
347
+ * 🚨 `populationSecs` and the per-check `durationSecs` do not overlap and do not
348
+ * sum to `durationMs`. The population is paid once and shared by every check;
349
+ * see {@link CheckCost} for why it is charged to none of them.
350
+ *
351
+ * 🔑 A denominator of zero is refused HERE rather than published — see
352
+ * {@link noCheckRanFinding}. This is the one function every lane's document
353
+ * passes through, so deriving the refusal in it is what makes "checked nothing,
354
+ * status clean" unrepresentable rather than merely unwritten.
355
+ *
356
+ * 🪤 The findings are NOT run through `relativizePathEntries`. Every other
357
+ * payload builder re-bases here because its producer keeps absolute paths
358
+ * internally; these arrive project-relative instead, and re-basing an
359
+ * already-relative path would resolve it against the wrong base and silently
360
+ * corrupt it. The guarantee is `locationOf` in `sql-checks.ts` — the one place
361
+ * a projection column becomes a finding's `location`, and which refuses an
362
+ * absolute or backslashed value there. Nothing on this path parses findings
363
+ * through the schema at runtime, and do not "fix" that by parsing at this
364
+ * boundary: it would convert a slip in `locationOf` from "this finding loses
365
+ * its anchor" into "the whole run throws", which is strictly worse for a gate.
366
+ *
367
+ * @param input - The findings and the provenance of the run behind them
368
+ * @returns The document to serialize
369
+ */
370
+ export declare function buildCheckOutputData(input: CheckPayloadInput): CheckReport;
371
+ /**
372
+ * Refuse a `--check` name that names neither a built-in nor a declared check.
373
+ *
374
+ * 🔑 **An unknown name is otherwise a silent green.** With nothing comparing the
375
+ * flag against the known names, `--check nope` filters every check away, runs
376
+ * none, and exits 0 with `checksRun: 0` and `issues: []` on empty stderr — and
377
+ * the "no checks are declared" warning does not fire, because it asks whether
378
+ * the `checks` MAP is empty, never whether the FILTER matched anything. Not a
379
+ * hypothetical typo: rename or delete a check and the CI step keeps passing
380
+ * forever while asserting nothing.
381
+ *
382
+ * Thrown rather than reported as a finding, because it is an OPERATOR error and
383
+ * not a content violation — the two have different exit codes in this command's
384
+ * contract (2 versus 1) and different audiences. Thrown before the projection is
385
+ * populated, so a mistyped flag costs no crawl.
386
+ *
387
+ * 🔑 **A built-in is nameable here exactly like a declared one.** A guard that
388
+ * only knew the config would refuse the very rules that run when there is no
389
+ * config at all. The refusal names both sets.
390
+ *
391
+ * @param builtinNames - The default set's names — {@link BUILTIN_CHECK_NAMES} in
392
+ * production, and passed in rather than imported here so a test can prove the
393
+ * guard rather than restate the constant
394
+ * @param checks - The project's `resources.checks`
395
+ * @param only - The `--check` value, or undefined
396
+ * @throws When `only` names no check this run would attempt
397
+ */
398
+ export declare function requireKnownCheck(builtinNames: readonly string[], checks: Readonly<Record<string, ResourceCheck>>, only: string | undefined): void;
399
+ /**
400
+ * Name every `CUSTOM:` severity override that overrides nothing.
401
+ *
402
+ * 🔑 **The same silent-green shape as an unknown `--check` name, one surface
403
+ * over.** {@link requireKnownCheck} refuses `--check nope` because a filter
404
+ * that matched nothing ran nothing and exited 0. A `validation.severity` entry
405
+ * keyed `CUSTOM:<name>` for a check that is not declared is the mirror image: it
406
+ * parses (the schema validates the KEY's shape and cannot see
407
+ * `resources.checks`), applies to no finding, and says nothing. An adopter
408
+ * renames a check and leaves the override behind, or mistypes it while standing
409
+ * down an inherited one — and in the second direction the check they meant to
410
+ * silence keeps failing their build with no clue why.
411
+ *
412
+ * ⚠️ **A warning, not a refusal, and the asymmetry with `--check` is
413
+ * deliberate.** `--check` is a flag typed for THIS run, so a mistake is an
414
+ * operator error and exiting 2 costs nothing. A `severity` entry lives in a
415
+ * committed config that may legitimately be shared across repositories or
416
+ * outlive a check through a rename in flight; refusing it would be a new
417
+ * breaking config error, which is exactly the change this release already
418
+ * decided not to make twice (see `ResourcesConfigSchema`). Stderr, so the
419
+ * document on stdout stays parseable — the same channel and the same reasoning
420
+ * as the "no checks are declared" warning in {@link checkCommand}.
421
+ *
422
+ * 📌 The registry half of the key space needs no equivalent: a misspelled
423
+ * REGISTRY code is already refused by `SeverityOverrideCodeSchema`, whose
424
+ * `SEVERITY_KEY_PATTERN` alternates every registry code name with the `CUSTOM:`
425
+ * namespace — so a key has to BE one of the shipped codes to match that half.
426
+ * Only the open `CUSTOM:` half can name something that does not exist, because
427
+ * only it matches on shape rather than on identity.
428
+ *
429
+ * @param checks - The project's `resources.checks`
430
+ * @param validation - The project's `resources.validation`, or undefined
431
+ * @param logger - Where the warning goes (stderr)
432
+ */
433
+ export declare function warnUndeclaredOverrides(checks: Readonly<Record<string, ResourceCheck>>, validation: SeverityOverrides | undefined, logger: Logger): void;
434
+ /**
435
+ * How a supervised run stopped short of publishing its own document.
436
+ *
437
+ * Two endings, and telling them apart is the whole reason this is a type rather
438
+ * than a number. A watchdog kill means *no progress within the budget*, and the
439
+ * remedy may genuinely be a larger bound. An abnormal death means *the run
440
+ * died* — most often out of memory — and there the budget was never involved,
441
+ * so advice to raise it is a false diagnosis that makes the situation worse.
442
+ */
443
+ export type CheckRunEnding = {
444
+ readonly kind: 'budget';
445
+ readonly budgetSecs: number;
446
+ } | {
447
+ readonly kind: 'abnormal';
448
+ readonly death: AbnormalDeath;
449
+ };
450
+ /**
451
+ * The exit code Node uses for its own fatal abort, on EVERY platform.
452
+ *
453
+ * 🚨 **This is measured, and it is NOT the local platform's signal number.** On
454
+ * macOS and Linux 134 is the shell encoding `128 + SIGABRT`, where `SIGABRT` is
455
+ * 6. On Windows `os.constants.signals.SIGABRT` is **22** — MSVC numbers it
456
+ * differently — so deriving the code from that table gives 150 and matches
457
+ * nothing Node ever emits. A `windows-latest` run of the heap-abort case
458
+ * reported exactly **134**, the same as Unix: the number comes from Node's own
459
+ * abort path, not from the platform's signal table.
460
+ *
461
+ * 🪤 An earlier version of this file DID derive it from `os.constants.signals`,
462
+ * and its unit test derived the same way — so the test agreed with the code, the
463
+ * round-trip passed on every machine, and the pair was wrong together on the one
464
+ * platform the branch exists for. The value is therefore pinned as a measured
465
+ * fact, and a test asserts the number itself rather than re-deriving it.
466
+ *
467
+ * ⛔ Not a version constant: it decides nothing about whether stored data is
468
+ * still valid. It is an external protocol value, like an API header.
469
+ */
470
+ export declare const NODE_FATAL_ABORT_EXIT_CODE = 134;
471
+ /**
472
+ * Rebuild the document from what an INTERRUPTED run left on disk.
473
+ *
474
+ * Both interruptions come here — the watchdog's kill and an abnormal death —
475
+ * because everything below this line is identical for them: the same recovered
476
+ * costs, the same non-overridable finding, the same refusal when there is no
477
+ * population. Only the sentences differ, and {@link CheckRunEnding} carries that.
478
+ *
479
+ * 🔑 It feeds {@link buildCheckOutputData}, the SAME builder a completed run
480
+ * uses. A second payload builder for this lane would be a second shape to
481
+ * keep in step with every future field — and the failure mode is silent, because
482
+ * nobody reads an interrupted run's document until the day they need it.
483
+ *
484
+ * 🚨 **A run interrupted during POPULATION gets no document at all.** There is no
485
+ * projection, so `population`, `populationSecs` and `membersEnumerated` have no
486
+ * honest value — and inventing `membersEnumerated: 0` would be worse than a
487
+ * blank, because that value already MEANS "this gate ran over an empty corpus",
488
+ * which is a different and wrong claim. The throw becomes an operator error
489
+ * (exit 2) through the same `handleReportCommandError` path everything else here uses.
490
+ *
491
+ * @param options - The wreckage
492
+ * @param options.entries - What `parseProgressLog` recovered
493
+ * @param options.root - The corpus root the parent resolved
494
+ * @param options.ending - Which way the run was interrupted
495
+ * @param options.durationMs - Wall time from spawn to ending
496
+ * @returns The input to {@link buildCheckOutputData}
497
+ * @throws When the child never reported a completed population
498
+ */
499
+ export declare function buildInterruptedCheckInput(options: {
500
+ entries: readonly ProgressEntry[];
501
+ root: string;
502
+ ending: CheckRunEnding;
503
+ durationMs: number;
504
+ }): CheckPayloadInput;
505
+ /**
506
+ * Run this project's checks — VAT's default set plus whatever the project
507
+ * declared — and resolve their severities: the whole of this verb's logic, with
508
+ * the database taken out.
509
+ *
510
+ * 🔑 **`builtins` is a required argument beside `checks`, never a default inside
511
+ * this function.** That is what makes "the default set belongs to the pipeline,
512
+ * not to the config file" a property of the signature — nobody can get the
513
+ * defaults by omitting an argument or lose them by supplying no config.
514
+ *
515
+ * Exported and pure so the loop is provable without a spawn. It was not: every
516
+ * spawned case declared ONE check (the `--check` case declares two and filters
517
+ * to one, which the loop cannot distinguish), so `checksRun` was never observed
518
+ * above 1 and a `break` at the end of the loop would have left the suite green.
519
+ *
520
+ * Pure in the same sense the payload builder is, with ONE seam: it reads a
521
+ * clock. That is why the clock is a parameter — the measurement is the point of
522
+ * the `costs` it returns, and a duration nothing can pin is a number nobody can
523
+ * trust.
524
+ *
525
+ * @param options - The run
526
+ * @param options.builtins - The default set, already bound to this run's
527
+ * projection. Required, and `[]` is a deliberate statement rather than an
528
+ * omission
529
+ * @param options.checks - The declared checks
530
+ * @param options.only - A single check name, or undefined for all
531
+ * @param options.ask - Runs one statement against the populated projection
532
+ * @param options.validation - The project's severity overrides, or undefined
533
+ * @param options.membersEnumerated - How many members the population enumerated.
534
+ * Told rather than asked, because no answer can reveal it: an `ask` over an
535
+ * empty projection and an `ask` over a clean one both return no rows
536
+ * @param options.now - The measurement clock in milliseconds, defaulting to
537
+ * `performance.now()`. Injected only so a unit test can pin an exact per-check
538
+ * duration; nothing in production passes it
539
+ * @param options.onProgress - Where each check's `start` and cost are announced
540
+ * so an outside supervisor can see them, or undefined when the run is not
541
+ * supervised. Optional rather than required because `--budget 0` and every
542
+ * unit case run with nobody watching
543
+ * @returns The resolved findings, and one cost record per check that ran
544
+ */
545
+ export declare function runProjectChecks(options: {
546
+ builtins: readonly BoundBuiltinCheck[];
547
+ checks: Readonly<Record<string, ResourceCheck>>;
548
+ only: string | undefined;
549
+ ask: AskProjection;
550
+ validation: SeverityOverrides | undefined;
551
+ membersEnumerated: number;
552
+ now?: () => number;
553
+ onProgress?: ProgressSink | undefined;
554
+ }): {
555
+ issues: ValidationIssue[];
556
+ costs: CheckCost[];
557
+ };
558
+ /**
559
+ * Run the project's declared checks against its projection.
560
+ *
561
+ * ## 🚨 Why this verb spawns a child and `vat resources query` does not
562
+ *
563
+ * Both verbs run SQL an adopter wrote, over the same projection, through the
564
+ * same `withQueriedProjection` — which does NOT diverge here, and must not. The
565
+ * fork is this function and nothing below it.
566
+ *
567
+ * `query`'s author is at the keyboard, and Ctrl-C already works for them. It
568
+ * works for one reason worth stating, because it is fragile: NO signal handler
569
+ * is installed anywhere on this path. A process blocked in synchronous
570
+ * `node:sqlite` dies instantly on SIGINT while that remains true, and SURVIVES
571
+ * SIGINT and SIGTERM the moment a handler exists — the handler is a JS callback
572
+ * and the event loop that would schedule it is the blocked resource. Adding one
573
+ * would take Ctrl-C away from `query` without adding anything to `check`.
574
+ *
575
+ * `check` runs unattended in CI, where nobody is there to press it. So it gets a
576
+ * bound enforced from outside itself, and a hang becomes a bounded failure
577
+ * instead of a job that burns its runner minutes and reports nothing.
578
+ *
579
+ * ## `[path]` locates the project; a `WHERE` clause is the only scope a check has
580
+ *
581
+ * Same contract as `vat resources query`, for the same reason (see
582
+ * `queryCommand`): the projection is the whole tracked tree, so the argument is
583
+ * where root discovery starts and nothing more. A locator that names no
584
+ * directory is refused HERE, before the fork below — the parent would otherwise
585
+ * resolve it silently to the cwd's project and spawn a child to run every check
586
+ * over a tree the operator did not name, at exit 0.
587
+ *
588
+ * @param pathArg - Where to look for the project, or omitted for the current directory
589
+ * @param options - Parsed command-line options
590
+ */
591
+ export declare function checkCommand(pathArg: string | undefined, options: CheckOptions): Promise<void>;
592
+ export {};
593
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/commands/resources/check.ts"],"names":[],"mappings":"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"}