@vibe-agent-toolkit/cli 0.2.0-rc.1 → 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 +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 +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 +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 +1126 -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 +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 +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 +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 +418 -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 +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 +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 +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 +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 +138 -20
  374. package/dist/utils/command-error.d.ts.map +1 -1
  375. package/dist/utils/command-error.js +172 -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 +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 +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 +35 -26
  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 @@
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/commands/resources/check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,sBAAsB,IAAI,OAAO,CAqPhD;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA+D5C,wBAAgB,sBAAsB,IAAI,OAAO,CA8mBhD;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
@@ -1,9 +1,62 @@
1
1
  /**
2
2
  * Resources command group
3
3
  */
4
- import { Command } from 'commander';
4
+ import { Command, Option } from 'commander';
5
+ import { collectRepeated } from '../../utils/repeatable-option.js';
6
+ import { builtinCheckList, builtinSqlTwins } from './builtin-help.js';
7
+ import { checkCommand } from './check.js';
8
+ import { queryCommand } from './query.js';
5
9
  import { scanCommand } from './scan.js';
6
10
  import { validateCommand } from './validate.js';
11
+ /** What every subcommand's `--debug` flag says it does. */
12
+ const DEBUG_HELP = 'Enable debug logging';
13
+ /**
14
+ * The derived relations and the one filter that makes a budget sum correct.
15
+ *
16
+ * Shared by `query` and `check` because a declared check is where the wrong
17
+ * sum does its damage: it gates silently on a number four times too large.
18
+ */
19
+ const DERIVED_RELATIONS_HELP = `Derived relations (evaluated only when a statement names one):
20
+ edges, edge_resolutions, lens_contexts -- the resolved link graph.
21
+ claude_context_chains, claude_context_loads -- what Claude Code loads at
22
+ each working location, the rows behind vat claude context.
23
+
24
+ VAT ships no context budget: what a launch chain may cost is your call,
25
+ written as your own check over these rows. A launch sum MUST count only
26
+ launchCharge = 'charged':
27
+
28
+ SELECT l.chainId,
29
+ SUM(CASE WHEN l.launchCharge = 'charged' THEN l.bytes END) AS bytes,
30
+ SUM(l.launchCharge = 'unknown-size') AS unsized
31
+ FROM claude_context_loads l
32
+ GROUP BY l.chainId
33
+
34
+ claude_context_loads also carries every path-scoped rule and every file
35
+ that is not paid at launch; unfiltered, the same sum on one adopter was
36
+ wrong by 725,714 bytes. sizeCliff is NOT the filter -- it is the 4 MiB
37
+ CLAUDE.md cliff's verdict, and 'loaded' holds rows no launch charges.
38
+
39
+ An 'unknown-size' row has no bytes and SUM() skips NULL, so the unsized
40
+ count is what stops a chain whose largest file could not be sized from
41
+ passing. (A WHERE on 'charged' would also filter those rows away.)`;
42
+ /** The two serializations `scan` and `query` offer of one document. */
43
+ const OUTPUT_YAML = 'yaml';
44
+ const OUTPUT_JSON = 'json';
45
+ /**
46
+ * The `--format` option `scan` and `query` share.
47
+ *
48
+ * A factory rather than a shared instance: Commander mutates an `Option` as it
49
+ * is added, so one object handed to two commands is one object two commands
50
+ * disagree about. `validate` deliberately does NOT use this — it offers a third
51
+ * format, `text`, which is a different question.
52
+ *
53
+ * @returns A fresh option for one command
54
+ */
55
+ function yamlOrJsonFormat() {
56
+ return new Option('--format <format>', 'Output format: yaml (default) or json')
57
+ .choices([OUTPUT_YAML, OUTPUT_JSON])
58
+ .default(OUTPUT_YAML);
59
+ }
7
60
  export function createResourcesCommand() {
8
61
  const resources = new Command('resources');
9
62
  resources
@@ -19,13 +72,16 @@ Configuration:
19
72
  resources
20
73
  .command('scan [path]')
21
74
  .description('Discover markdown resources in directory')
22
- .option('--debug', 'Enable debug logging')
75
+ .option('--debug', DEBUG_HELP)
23
76
  .option('--verbose', 'Show full file list with details')
24
77
  .option('--collection <id>', 'Filter by collection ID')
78
+ .addOption(yamlOrJsonFormat())
25
79
  .action(scanCommand)
26
80
  .addHelpText('after', `
27
81
  Description:
28
- Scans for markdown files and reports statistics. Outputs YAML to stdout.
82
+ Scans for markdown files and reports statistics. Outputs YAML to stdout,
83
+ or JSON with --format json (the same document, for consumers without a
84
+ YAML parser).
29
85
 
30
86
  Path Argument Behavior:
31
87
  WITH path: Scans all *.md/*.html recursively under path, still applying the
@@ -38,6 +94,8 @@ Filtering:
38
94
 
39
95
  Output Fields:
40
96
  status, filesScanned, linksFound, anchorsFound, durationSecs
97
+ root: The one absolute path every reported file path is relative to
98
+ lane: Which enumerator produced the population — 'walk' or 'projection'
41
99
  collections: Per-collection resource counts (resourceCount)
42
100
  files: (only with --verbose) Array with per-file details
43
101
 
@@ -51,11 +109,362 @@ Examples:
51
109
  $ vat resources scan docs/ # Scan all *.md under docs/
52
110
  $ vat resources scan --verbose # Include full file details
53
111
  $ vat resources scan --collection guides # Only scan guides collection
112
+ `);
113
+ resources
114
+ .command('query <sql> [path]')
115
+ .description('Run one read-only SQL statement against the resource projection')
116
+ .option('--debug', DEBUG_HELP)
117
+ // Repeatable, NOT variadic: a variadic option consumes every token up to the
118
+ // next flag, which on this command means the [path] positional. See
119
+ // collectRepeated for the incident.
120
+ .option('--param <value>', 'A value bound to the next ? placeholder in the statement (repeatable, bound in the order given)', collectRepeated)
121
+ .addOption(yamlOrJsonFormat())
122
+ .action(queryCommand)
123
+ .addHelpText('after', `
124
+ Description:
125
+ Populates this tree's resource projection and runs ONE read-only SQL
126
+ statement against it. Answers questions no command reports a field for --
127
+ which files carry which headings, what links at what, which paths were
128
+ refused and why.
129
+
130
+ One tree, one answer. The statement always runs against an in-memory
131
+ database holding THIS tree's projection and nothing else. A selected
132
+ projection store makes the population cheap and is never queried -- it is
133
+ one database per VAT release shared by every root on the machine.
134
+
135
+ The corpus is the TRACKED TREE, not your configured resource set:
136
+ The projection holds every file git tracks (plus untracked, non-ignored
137
+ work). .gitignore IS honoured -- nothing under node_modules reaches it.
138
+ resources.include and resources.exclude are NOT: they scope vat resources
139
+ scan and vat resources validate, and the projection ignores them.
140
+
141
+ Measured on one adopter: scan reported 1,473 files and the projection held
142
+ 11,685 members, including 142 rows under a path that config excluded.
143
+
144
+ That is what a projection IS -- the tree, not a view of it -- and it is what
145
+ makes a query able to ask about files no collection claims. But it means a
146
+ WHERE clause is the only thing narrowing your statement. Write the exclusion
147
+ into the SQL:
148
+
149
+ SELECT path FROM resource_realizations
150
+ WHERE path NOT LIKE 'docs/architecture/adrs/archive/%'
151
+
152
+ One query, and read-only:
153
+ The statement must BE a query -- its first significant token has to be
154
+ SELECT, WITH or VALUES. Anything else (ATTACH, PRAGMA, DELETE, EXPLAIN) is
155
+ refused before it reaches SQLite. That is a gate on statement KIND and
156
+ deliberately not an inspection of your SQL; EXPLAIN is excluded even though
157
+ it is side-effect free, because admitting a prefix keyword would mean
158
+ deciding safety by looking PAST the first token.
159
+
160
+ Read-only-ness stays the engine's job: the connection is put into PRAGMA
161
+ query_only, so a write is refused by SQLite rather than by pattern-matching.
162
+
163
+ One statement only -- SQLite compiles the first and discards the rest WITHOUT
164
+ error, so trailing text would be silently ignored. A comment after the
165
+ terminating semicolon is fine ('SELECT 1; -- see ADR-14').
166
+
167
+ Output Fields:
168
+ status, root, rowCount, durationSecs
169
+ population: 'derived' or 'store' -- whether the rows were built this run or
170
+ read from the projection store. Reported because it cannot be
171
+ inferred: a correct hit and a correct re-derivation produce
172
+ identical rows
173
+ populationSecs:
174
+ What that population cost. The store's whole job is to make it
175
+ cheap, so this is the number that says whether it did
176
+ lensSecs: What evaluating the derived relations cost. Not part of
177
+ populationSecs: a store hit does not make a lens cheaper
178
+ lensesEvaluated:
179
+ Which lenses that covers -- only those whose relations the
180
+ statement names. An empty list is a statement that asked for
181
+ none, not a lens that stopped running
182
+ rows: The selected rows, exactly as SQLite holds them -- a boolean as
183
+ 0/1, a date and a JSON column as text. Values are NOT decoded,
184
+ because decoding needs a table spec and arbitrary SQL has none
185
+
186
+ ${DERIVED_RELATIONS_HELP}
187
+
188
+ Path Argument:
189
+ [path] says where to LOOK FOR the project -- root discovery walks up from
190
+ it -- and never narrows the corpus. The projection is always the whole
191
+ tracked tree, so \`vat resources query <sql> docs/\` answers about the same
192
+ tree as \`vat resources query <sql>\` (root in the document names it); a
193
+ WHERE clause on path is the only scope a statement has. This differs from
194
+ scan and validate, whose [path] restricts the crawl. A path that does not
195
+ exist, or is not a directory, is refused (exit 2).
196
+
197
+ Exit Codes:
198
+ 0 - The statement ran
199
+ 2 - The statement was refused (not a query, a second statement, a placeholder
200
+ with no --param behind it), [path] names no directory, or the crawl failed
201
+
202
+ Requirements:
203
+ projectRoot: optional (falls back to cwd with a warning)
204
+ config: optional (uses defaults if absent)
205
+
206
+ Examples:
207
+ $ vat resources query 'SELECT path FROM resource_realizations LIMIT 5'
208
+ $ vat resources query 'SELECT COUNT(*) AS n FROM blobs'
209
+ $ vat resources query 'SELECT * FROM blob_conditions' # what was refused
210
+ $ vat resources query 'SELECT rawRef FROM blob_references WHERE syntacticForm = ?' --param markdown-link
211
+ $ vat resources query "SELECT pattern FROM claude_rule_patterns WHERE status = 'inert'"
212
+ `);
213
+ resources
214
+ .command('check [path]')
215
+ .description('Run VAT\'s built-in checks and the project\'s declared SQL assertions over its resource projection')
216
+ .option('--debug', DEBUG_HELP)
217
+ .option('--check <name>', 'Run only this check, by its built-in name or its key in resources.checks')
218
+ .option('--budget <seconds>', 'Kill the run if it goes this long without completing a unit of work'
219
+ + ' (default: 300; 0 removes the bound and can then hang forever)')
220
+ .addOption(
221
+ // Hidden because it is not an operator's flag: it is how a supervising
222
+ // parent tells the child it spawned to do the work rather than spawn one
223
+ // of its own, and where to append its progress. Documenting it would
224
+ // invite adopters to depend on a file whose only contract is the
225
+ // `.strict()` schema the same build reads it with.
226
+ new Option('--cost-log <path>', 'Internal: append per-unit progress here').hideHelp())
227
+ .addOption(yamlOrJsonFormat())
228
+ .action(checkCommand)
229
+ .addHelpText('after', `
230
+ Description:
231
+ Runs VAT's built-in checks, plus every assertion declared under
232
+ \`resources.checks\` in vibe-agent-toolkit.config.yaml, against the same
233
+ projection \`vat resources query\` reads -- and fails the run when any
234
+ error-severity check is violated.
235
+
236
+ A query answers a question once. This runs the questions a project decided
237
+ were worth asking every time.
238
+
239
+ Built-in checks (run with or without a config file):
240
+ ${builtinCheckList()}
241
+
242
+ A rules file whose frontmatter does not parse puts no glob in
243
+ claude_rule_patterns, so the inert check cannot see its globs -- that is
244
+ what the frontmatter check is for. The usual cause is an unquoted glob
245
+ starting with * (a YAML alias).
246
+
247
+ They are TypeScript predicates over the projection's rows, never SQL, so
248
+ adding one never makes a query engine part of anybody's gate. Config only
249
+ ADDS to this set or moves a severity in it -- a directory with no
250
+ vibe-agent-toolkit.config.yaml runs exactly the same built-ins.
251
+
252
+ Severity moves through the CODE, like any other code vat emits:
253
+
254
+ resources:
255
+ validation:
256
+ severity:
257
+ CLAUDE_RULE_GLOB_INERT: ignore # or warning / error
258
+
259
+ Not CUSTOM:<name> -- that space is for checks YOU declare, below.
260
+
261
+ --check <name> takes a built-in name exactly as it takes a declared key.
262
+ In data.checks each built-in entry carries \`builtin: true\`, so a rule vat
263
+ supplied is distinguishable from one this project wrote.
264
+
265
+ Asking a built-in's question yourself:
266
+ The facts are ordinary projection rows, so the built-in is the default
267
+ REPORT and not the only way to ask. Copy one of these into resources.checks
268
+ and narrow it -- a WHERE clause, a different severity, your own message:
269
+
270
+ ${builtinSqlTwins()}
271
+
272
+ Note \`status = 'inert'\` and not \`status != 'matched'\`: 'unevaluated'
273
+ means vat never ran the matcher (the rule's paths: list blew the expansion
274
+ budget), and 'gitignored' means the glob covers ignored files vat never
275
+ reads but Claude Code does. Neither status means the glob is dead.
276
+
277
+ ${DERIVED_RELATIONS_HELP}
278
+
279
+ A ratchet -- no file may grow past its recorded size -- needs no new
280
+ mechanism. Carry the baseline inline and select what grew:
281
+
282
+ sql: |
283
+ WITH baseline(path, ceiling) AS (VALUES ('CLAUDE.md', 6200))
284
+ SELECT r.path, b.bytes, baseline.ceiling
285
+ FROM baseline
286
+ JOIN resource_realizations r ON r.path = baseline.path
287
+ JOIN blobs b ON b.contentKey = r.contentKey
288
+ WHERE b.bytes > baseline.ceiling
289
+
290
+ Declaring a check:
291
+ resources:
292
+ checks:
293
+ orphan-skills:
294
+ description: Every SKILL.md must be referenced by a plugin
295
+ sql: SELECT path FROM resource_realizations WHERE ...
296
+ severity: error # optional; error is the default
297
+
298
+ The statement selects the VIOLATIONS -- zero rows is a pass. Each returned
299
+ row becomes one finding, and its columns are that finding's evidence; a
300
+ selected \`path\` column anchors the finding to the file.
301
+
302
+ Findings are ordinary validation issues with the code CUSTOM:<name>, so
303
+ resources.validation.severity can downgrade or ignore one you inherited.
304
+
305
+ A check's SQL runs through the same surface as vat resources query, so
306
+ the same rule applies: it must be a query, beginning SELECT, WITH or VALUES.
307
+ A comment after the terminating semicolon is accepted.
308
+
309
+ A check that cannot run FAILS:
310
+ A renamed column breaks a check's SQL. That is reported as an error naming
311
+ the check and listing the columns the projection actually has -- never
312
+ skipped, because a check that stopped running looks exactly like one that
313
+ passed.
314
+
315
+ That report carries the code RESOURCE_CHECK_BROKEN, and NO
316
+ resources.validation.severity entry can silence it -- the config schema
317
+ refuses it as a severity key. Downgrade or ignore the CHECK all you like;
318
+ you cannot downgrade the news that it stopped checking.
319
+
320
+ Checks run over the TRACKED TREE, not your configured resource set:
321
+ resources.include and resources.exclude scope vat resources scan and vat
322
+ resources validate. They do NOT scope the projection, so they do not scope
323
+ a check. .gitignore IS honoured -- nothing under node_modules reaches it --
324
+ but a path you excluded in config is still in the corpus and a check will
325
+ fire on it.
326
+
327
+ Measured on one adopter: scan reported 1,473 files while the same tree's
328
+ projection held 11,685 members, 142 of them under a config-excluded archive
329
+ directory. A correct "every ADR carries frontmatter" check produced a real
330
+ false finding on a frozen historical file nobody intends to fix.
331
+
332
+ Narrow the check itself -- a WHERE clause is the only scope it has. The
333
+ [path] argument does not narrow it either: it says where to LOOK FOR the
334
+ project (root discovery walks up from it), and a path that does not exist
335
+ or is not a directory is refused at exit 2 rather than resolved to
336
+ whatever project the current directory is in.
337
+
338
+ sql: |
339
+ SELECT path FROM resource_realizations
340
+ WHERE path LIKE 'docs/architecture/adrs/%'
341
+ AND path NOT LIKE 'docs/architecture/adrs/archive/%'
342
+
343
+ A check with NOTHING TO RUN OVER fails the same way:
344
+ Zero findings is the pass condition, so a run whose projection enumerated no
345
+ members passed every check while asserting nothing. If checks ran and
346
+ \`examined\` is 0, that is reported as RESOURCE_CHECK_BROKEN at error and the
347
+ run fails. Usual causes: a broad .gitignore pattern, a shallow or
348
+ sparse CI checkout, or a root that resolved somewhere other than intended.
349
+
350
+ A run with NO CHECKS AT ALL fails too:
351
+ \`data.checksRun: 0\` is RESOURCE_CHECK_BROKEN at error and exit 1, for the
352
+ same reason: a gate that checked nothing produces the same document as a
353
+ gate that was deleted.
354
+
355
+ Declaring none of your own no longer reaches that state -- the built-ins
356
+ above run regardless, so checksRun is never 0 for that reason. You get a
357
+ stderr warning instead, and data.checks names exactly what did run. Reaching
358
+ 0 now means not even a built-in executed, which is a bug in vat.
359
+
360
+ A run that HANGS is killed and reported, not waited on:
361
+ A check's SQL is adopter-authored and unbounded -- an accidental cross join
362
+ or a WITH RECURSIVE that never terminates runs forever, and nothing inside
363
+ the process can stop it (the query is synchronous and holds the event loop).
364
+ So the work runs in a child process and --budget <seconds> bounds it.
365
+
366
+ The budget is time WITHOUT PROGRESS, not total runtime: the clock resets
367
+ every time the run finishes a unit (the population, then each check, then
368
+ once more when the checks are done and the document is being built). So a
369
+ large repository with many rules is never at risk while its rules keep
370
+ finishing. Default 300.
371
+
372
+ That per-unit property holds for the CHECKS. It does NOT hold for the
373
+ population, which reports progress only when it FINISHES -- so for that one
374
+ unit the budget is a total bound, and a population slower than the budget is
375
+ killed however healthily it is working. Most of it is one uninterruptible
376
+ parse stage, so the default is set well above every tree anyone has measured
377
+ rather than pretending to instrument it. Two MEASURED trees, for scale, and
378
+ neither of them is yours: VAT's own repository is ~1.2s warm and 33-35s with
379
+ a cold parse cache; a 9,992-file adopter tree is ~5s warm and 16.5s cold. On
380
+ a tree much larger than that with a cold parse cache, raise the bound.
381
+
382
+ An interrupted run NEVER exits 0 and never looks like a pass. There are two
383
+ ways to be interrupted and they are reported differently:
384
+
385
+ Killed by the budget -- exit 1, status: findings, and a
386
+ RESOURCE_CHECK_BROKEN finding naming the check that was in flight and the bound that was blown.
387
+
388
+ Died -- the child ran out of memory materialising a result set (Node aborts
389
+ with SIGABRT), or something outside killed it (a runner's OOM killer sends
390
+ SIGKILL, a step timeout or a cancelled job sends SIGTERM), or it crashed in
391
+ native code (SIGSEGV), or it could not be started at all. Also exit 1,
392
+ status: findings, RESOURCE_CHECK_BROKEN -- naming what ended it, with the
393
+ remedy that ending actually earns, and saying plainly that raising --budget
394
+ is not it.
395
+
396
+ Either way the checks that COMPLETED keep their entry under checks (including
397
+ rows), but their individual violations are NOT in issues -- the progress the
398
+ child records is costs, not findings. Read that issue list as incomplete.
399
+
400
+ Interrupted before the population finished, there is no projection and no
401
+ honest document: that is an operator error (exit 2) saying which of the two
402
+ happened.
403
+
404
+ --budget cannot be combined with --cost-log (exit 2): --cost-log means the
405
+ work runs in this process, where the budget could not be enforced.
406
+
407
+ --budget 0 removes the bound and runs everything in this process. Nothing
408
+ will then stop a runaway statement. It has to be written exactly 0: an empty
409
+ --budget, and any other value that PARSES to zero (1e-400 underflows, -0 is
410
+ negative zero), are refused rather than read as 0 -- an unset shell variable
411
+ must not silently remove the bound.
412
+ Ctrl-C still works at a keyboard, because this command installs no signal
413
+ handler -- do not add one, a process blocked in synchronous SQLite survives
414
+ SIGINT once a handler exists.
415
+
416
+ Output Fields (the shared report envelope; schema: packages/cli/schemas/resources-check.json):
417
+ status: ok | findings | error -- a literal statement about \`findings\`.
418
+ An interrupted run is \`findings\` (its RESOURCE_CHECK_BROKEN is
419
+ one); \`error\` is a run that produced no document -- exit 2
420
+ examined: How many members the projection enumerated -- the corpus the
421
+ checks ran AGAINST, where data.checksRun is how many rules ran.
422
+ Four checks over 8,000 files and four over 0 are otherwise the
423
+ same document, and only one of them is a gate. It counts the
424
+ TRACKED TREE and not your configured resource set, so it is
425
+ legitimately far larger than scan's filesScanned -- see above
426
+ findings: One row per violation ({code, severity, message, location?})
427
+ summary: {errors, warnings, info} over findings; exit 1 iff errors > 0
428
+ durationMs: wall time of the whole run
429
+ data.checksRun:
430
+ How many checks ran. Read it: no findings from four checks and no
431
+ findings from NO checks are otherwise the same document
432
+ data.checks:
433
+ What each check COST -- {name, durationSecs, rows} per check, or
434
+ {name, durationSecs, broken} for one whose statement threw, plus
435
+ \`builtin: true\` on the ones vat supplied (absent, never false, on
436
+ a rule you declared). rows is what the check SELECTED, and it is
437
+ a memory signal: rows are fully materialised. It is not a finding
438
+ count -- a severity override of 'ignore' drops findings the check
439
+ still selected, so sum(rows) and summary legitimately disagree
440
+ data.populationSecs, data.lensSecs, data.population, data.root:
441
+ What the shared population cost, and where it came from. NOT
442
+ charged to any check: every check's durationSecs is its own
443
+ statement and nothing else, so populationSecs + lensSecs are the
444
+ terms that reconcile them against durationMs
445
+ data.lensesEvaluated:
446
+ Which lenses lensSecs covers -- those whose relations some check
447
+ names. Empty means no check read a derived relation
448
+
449
+ Exit Codes:
450
+ 0 - No error-severity findings
451
+ 1 - At least one (a violation, a broken check, an empty corpus, no check
452
+ having run at all, a run killed for making no progress within --budget,
453
+ or a run whose child DIED)
454
+ 2 - System error, an unknown --check name, a [path] that names no directory,
455
+ an unusable --budget (an empty one, one that means zero without being
456
+ written 0, or one passed with --cost-log), or a run interrupted before
457
+ its population completed
458
+
459
+ Examples:
460
+ $ vat resources check
461
+ $ vat resources check --check claude-rule-glob-inert # one built-in
462
+ $ vat resources check --budget 60
54
463
  `);
55
464
  resources
56
465
  .command('validate [path]')
57
466
  .description('Validate markdown resources (link integrity, anchors)')
58
- .option('--debug', 'Enable debug logging')
467
+ .option('--debug', DEBUG_HELP)
59
468
  .option('-v, --verbose', 'Show all scanned resources, including those without issues')
60
469
  .option('--frontmatter-schema <path>', 'Validate frontmatter against JSON Schema file (.json or .yaml)')
61
470
  .option('--validation-mode <mode>', 'Validation mode for schemas: strict (default) or permissive', 'strict')
@@ -127,6 +536,11 @@ Output Fields (issues found):
127
536
  and a file that emitted nothing has no row — filesScanned above stays
128
537
  the true denominator.
129
538
 
539
+ filesScanned: 0 is never a pass. A run that scanned no file (a --collection
540
+ that matched nothing, a path with no markdown, an enumeration emptied by
541
+ exclude or a sparse checkout) is reported as RESOURCE_CHECK_BROKEN at error
542
+ and exits 1 — the document is not a verdict, and the code is not overridable.
543
+
130
544
  Verbosity:
131
545
  -v, --verbose
132
546
  Replaces each file's counts row with its per-issue detail (line, column,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3C,SAAS;SACN,WAAW,CAAC,oEAAoE,CAAC;SACjF,WAAW,CAAC,KAAK,CAAC,CAAC,uDAAuD;SAC1E,WAAW,CACV,OAAO,EACP;;;;;;CAML,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,WAAW,CAAC;SACnB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BL,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,4DAA4D,CAAC;SACrF,MAAM,CAAC,6BAA6B,EAAE,gEAAgE,CAAC;SACvG,MAAM,CAAC,0BAA0B,EAAE,6DAA6D,EAAE,QAAQ,CAAC;SAC3G,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,EAAE,MAAM,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,uBAAuB,EAAE,yDAAyD,CAAC;SAC1F,MAAM,CAAC,sBAAsB,EAAE,8HAA8H,CAAC;SAC9J,MAAM,CAAC,YAAY,EAAE,0HAA0H,CAAC;SAChJ,MAAM,CAAC,8BAA8B,EAAE,0FAA0F,CAAC;SAClI,MAAM,CAAC,eAAe,CAAC;SACvB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwKL,CACI,CAAC;IAEJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,2DAA2D;AAC3D,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;qEAsBsC,CAAC;AAEtE,uEAAuE;AACvE,MAAM,WAAW,GAAG,MAAM,CAAC;AAC3B,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B;;;;;;;;;GASG;AACH,SAAS,gBAAgB;IACvB,OAAO,IAAI,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;SAC5E,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACnC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3C,SAAS;SACN,WAAW,CAAC,oEAAoE,CAAC;SACjF,WAAW,CAAC,KAAK,CAAC,CAAC,uDAAuD;SAC1E,WAAW,CACV,OAAO,EACP;;;;;;CAML,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;SAC7B,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,SAAS,CAAC,gBAAgB,EAAE,CAAC;SAC7B,MAAM,CAAC,WAAW,CAAC;SACnB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCL,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,6EAA6E;QAC7E,oEAAoE;QACpE,oCAAoC;SACnC,MAAM,CACL,iBAAiB,EACjB,iGAAiG,EACjG,eAAe,CAChB;SACA,SAAS,CAAC,gBAAgB,EAAE,CAAC;SAC7B,MAAM,CAAC,YAAY,CAAC;SACpB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DJ,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvB,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,oGAAoG,CAAC;SACjH,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;SAC7B,MAAM,CAAC,gBAAgB,EAAE,0EAA0E,CAAC;SACpG,MAAM,CACL,oBAAoB,EACpB,qEAAqE;UACnE,gEAAgE,CACnE;SACA,SAAS;IACR,uEAAuE;IACvE,yEAAyE;IACzE,qEAAqE;IACrE,iEAAiE;IACjE,mDAAmD;IACnD,IAAI,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC,CAAC,QAAQ,EAAE,CACtF;SACA,SAAS,CAAC,gBAAgB,EAAE,CAAC;SAC7B,MAAM,CAAC,YAAY,CAAC;SACpB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;EAWJ,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BlB,eAAe,EAAE;;;;;;;EAOjB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0LvB,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;SAC7B,MAAM,CAAC,eAAe,EAAE,4DAA4D,CAAC;SACrF,MAAM,CAAC,6BAA6B,EAAE,gEAAgE,CAAC;SACvG,MAAM,CAAC,0BAA0B,EAAE,6DAA6D,EAAE,QAAQ,CAAC;SAC3G,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,EAAE,MAAM,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,uBAAuB,EAAE,yDAAyD,CAAC;SAC1F,MAAM,CAAC,sBAAsB,EAAE,8HAA8H,CAAC;SAC9J,MAAM,CAAC,YAAY,EAAE,0HAA0H,CAAC;SAChJ,MAAM,CAAC,8BAA8B,EAAE,0FAA0F,CAAC;SAClI,MAAM,CAAC,eAAe,CAAC;SACvB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6KL,CACI,CAAC;IAEJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * `vat resources query` — ask the resource projection a read-only SQL question.
3
+ *
4
+ * ## Why a query verb at all, when `scan` already reports counts
5
+ *
6
+ * `vat resources scan` answers the questions its payload was written for, and
7
+ * nothing else. The projection holds thirteen tables — realizations, references,
8
+ * sections, conditions, provenance, rule patterns — and every question nobody
9
+ * anticipated currently has no answer short of writing a new command. This verb
10
+ * is the general case: one statement, the rows it selects, no new field.
11
+ *
12
+ * ## 🔑 One tree, one answer — and that is now a property, not a promise
13
+ *
14
+ * The SQL always runs against a per-run in-memory database holding this tree's
15
+ * projection and nothing else. A selected projection store makes the POPULATION
16
+ * cheap and is never queried, because it is one database per VAT release shared
17
+ * by every root on the machine — querying it answered from other repositories,
18
+ * with a two-file corpus reporting 5,779 rows instead of 3.
19
+ * `utils/projection-query.ts`'s header carries the measurement and the reasoning.
20
+ *
21
+ * ## 🔑 The document says where its rows came from, and that is the cache tell
22
+ *
23
+ * `population` reports whether the projection was **derived** this run or read
24
+ * from the **store**. It has to be reported, because it cannot be inferred: a
25
+ * correct hit and a correct re-derivation produce byte-identical rows, so "did
26
+ * the cache work" is otherwise unfalsifiable — this repository's most repeated
27
+ * failure. The signal is real rather than declarative: a store hit
28
+ * short-circuits `populate()` before the builder exists, so no contributor runs
29
+ * and no timing record is filed. An empty record list IS the hit.
30
+ *
31
+ * `populationSecs` sits beside it and says what that origin was worth — the wall
32
+ * time of the setup both this verb and `vat resources check` pay before either
33
+ * runs a statement. Measured as that field on this repository with the parse
34
+ * cache warm: 1.16-1.18 s derived against 0.29-0.31 s served. Without it the
35
+ * tell is a label a reader has to trust; with it the saving is a number they can
36
+ * check, and a per-statement cost published elsewhere has something to be read
37
+ * against. `utils/projection-query.ts` states exactly which work the span covers
38
+ * and why its start line is load-bearing.
39
+ *
40
+ * ## What this verb does NOT do
41
+ *
42
+ * It does not decode. Rows come back exactly as SQLite holds them — a boolean as
43
+ * `0`/`1`, a date and a JSON column as text — because decoding needs a table
44
+ * spec and arbitrary SQL has none. `SqlQueryableStore.query`'s docstring is the
45
+ * authority on why.
46
+ */
47
+ import { type ProjectionProvenance } from '../../utils/projection-query.js';
48
+ interface QueryOptions {
49
+ debug?: boolean;
50
+ /** Bound in order, for every `?` in the statement. */
51
+ param?: string[];
52
+ /** `yaml` (default) or `json`. Same document either way. */
53
+ format?: string;
54
+ }
55
+ /** What one query run produced, and what produced it. */
56
+ interface QueryOutcome extends ProjectionProvenance {
57
+ rows: readonly Record<string, unknown>[];
58
+ }
59
+ export interface ProjectionQueryPayloadInput extends QueryOutcome {
60
+ /** The stated root the query was asked about. */
61
+ root: string;
62
+ durationMs: number;
63
+ }
64
+ /**
65
+ * Build the query payload.
66
+ *
67
+ * Pure: no file system, no clock, no `process.exit` — the same contract
68
+ * `buildScanOutputData` follows, and for the same reason: it keeps the
69
+ * document's shape, field names included, under unit test rather than only
70
+ * under a CLI spawn.
71
+ *
72
+ * `rowCount` is stated beside `rows` rather than left for the consumer to
73
+ * count, because the two answer different questions once a caller pipes the
74
+ * document somewhere: a truncated read still carries the true total.
75
+ *
76
+ * @param input - The rows and the provenance of the run that produced them
77
+ * @returns The document to serialize
78
+ */
79
+ export declare function buildProjectionQueryOutputData(input: ProjectionQueryPayloadInput): Record<string, unknown>;
80
+ /**
81
+ * Run one read-only SQL statement against this tree's resource projection.
82
+ *
83
+ * ## 🔑 `[path]` LOCATES the project. It never narrows the corpus.
84
+ *
85
+ * `vat resources scan docs/` scopes its crawl to `docs/`; this verb cannot offer
86
+ * the same, and says so rather than pretending. The projection is the whole
87
+ * tracked tree by construction — one population per `(root, treeHash)`, and a
88
+ * subtree population would be filed in the shared store under the whole tree's
89
+ * key, which is the cross-tree class `utils/projection-query.ts` documents —
90
+ * and arbitrary SQL cannot be post-filtered by path (blobs carry none). So the
91
+ * argument is where root discovery STARTS, the answer is about the tree it
92
+ * finds, and `root` in the document names that tree. A `WHERE path LIKE …` is
93
+ * the only scope a statement has, exactly as `vat resources check` documents.
94
+ *
95
+ * 🚨 Which is why a locator that locates nothing has to be refused: `nope`
96
+ * walked up to the cwd's project and answered about the whole tree at exit 0,
97
+ * byte-identical to a correct run. `assertDirectoryArgument` is the same refusal
98
+ * `validate` gives, in the same words.
99
+ *
100
+ * @param sql - The statement
101
+ * @param pathArg - Where to look for the project, or omitted for the current directory
102
+ * @param options - Parsed command-line options
103
+ */
104
+ export declare function queryCommand(sql: string, pathArg: string | undefined, options: QueryOptions): Promise<void>;
105
+ export {};
106
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/commands/resources/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AASH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAGzC,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,UAAU,YAAa,SAAQ,oBAAoB;IACjD,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,2BAA4B,SAAQ,YAAY;IAC/D,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,2BAA2B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2B1G;AAsCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}