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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/README.md +0 -1
  2. package/dist/bin/vat +34 -19
  3. package/dist/bin/vat.js +34 -19
  4. package/dist/bin/vat.js.map +1 -1
  5. package/dist/bin.js +5 -2
  6. package/dist/bin.js.map +1 -1
  7. package/dist/commands/agent/build.d.ts.map +1 -1
  8. package/dist/commands/agent/build.js +2 -1
  9. package/dist/commands/agent/build.js.map +1 -1
  10. package/dist/commands/agent/import.d.ts.map +1 -1
  11. package/dist/commands/agent/import.js +3 -2
  12. package/dist/commands/agent/import.js.map +1 -1
  13. package/dist/commands/agent/install-path.d.ts +36 -0
  14. package/dist/commands/agent/install-path.d.ts.map +1 -0
  15. package/dist/commands/agent/install-path.js +44 -0
  16. package/dist/commands/agent/install-path.js.map +1 -0
  17. package/dist/commands/agent/install.d.ts.map +1 -1
  18. package/dist/commands/agent/install.js +22 -10
  19. package/dist/commands/agent/install.js.map +1 -1
  20. package/dist/commands/agent/installed.d.ts.map +1 -1
  21. package/dist/commands/agent/installed.js +22 -12
  22. package/dist/commands/agent/installed.js.map +1 -1
  23. package/dist/commands/agent/list.d.ts.map +1 -1
  24. package/dist/commands/agent/list.js +2 -1
  25. package/dist/commands/agent/list.js.map +1 -1
  26. package/dist/commands/agent/run.d.ts.map +1 -1
  27. package/dist/commands/agent/run.js +2 -1
  28. package/dist/commands/agent/run.js.map +1 -1
  29. package/dist/commands/agent/uninstall.d.ts.map +1 -1
  30. package/dist/commands/agent/uninstall.js +13 -6
  31. package/dist/commands/agent/uninstall.js.map +1 -1
  32. package/dist/commands/agent/validate.d.ts.map +1 -1
  33. package/dist/commands/agent/validate.js +3 -2
  34. package/dist/commands/agent/validate.js.map +1 -1
  35. package/dist/commands/ard/emit.d.ts +72 -23
  36. package/dist/commands/ard/emit.d.ts.map +1 -1
  37. package/dist/commands/ard/emit.js +109 -56
  38. package/dist/commands/ard/emit.js.map +1 -1
  39. package/dist/commands/ard/index.d.ts +1 -1
  40. package/dist/commands/ard/index.d.ts.map +1 -1
  41. package/dist/commands/ard/index.js +4 -3
  42. package/dist/commands/ard/index.js.map +1 -1
  43. package/dist/commands/audit/distributed-tree.d.ts.map +1 -1
  44. package/dist/commands/audit/distributed-tree.js +9 -6
  45. package/dist/commands/audit/distributed-tree.js.map +1 -1
  46. package/dist/commands/audit/provenance.d.ts.map +1 -1
  47. package/dist/commands/audit/provenance.js +4 -3
  48. package/dist/commands/audit/provenance.js.map +1 -1
  49. package/dist/commands/audit/scan-population.d.ts +158 -0
  50. package/dist/commands/audit/scan-population.d.ts.map +1 -0
  51. package/dist/commands/audit/scan-population.js +292 -0
  52. package/dist/commands/audit/scan-population.js.map +1 -0
  53. package/dist/commands/audit-settings.d.ts.map +1 -1
  54. package/dist/commands/audit-settings.js +6 -5
  55. package/dist/commands/audit-settings.js.map +1 -1
  56. package/dist/commands/audit.d.ts +16 -14
  57. package/dist/commands/audit.d.ts.map +1 -1
  58. package/dist/commands/audit.js +304 -389
  59. package/dist/commands/audit.js.map +1 -1
  60. package/dist/commands/build.d.ts.map +1 -1
  61. package/dist/commands/build.js +25 -24
  62. package/dist/commands/build.js.map +1 -1
  63. package/dist/commands/cache/clear.d.ts +17 -3
  64. package/dist/commands/cache/clear.d.ts.map +1 -1
  65. package/dist/commands/cache/clear.js +34 -13
  66. package/dist/commands/cache/clear.js.map +1 -1
  67. package/dist/commands/cache/index.d.ts.map +1 -1
  68. package/dist/commands/cache/index.js +19 -10
  69. package/dist/commands/cache/index.js.map +1 -1
  70. package/dist/commands/claude/context.d.ts +2 -2
  71. package/dist/commands/claude/context.d.ts.map +1 -1
  72. package/dist/commands/claude/context.js +7 -6
  73. package/dist/commands/claude/context.js.map +1 -1
  74. package/dist/commands/claude/index.d.ts +12 -11
  75. package/dist/commands/claude/index.d.ts.map +1 -1
  76. package/dist/commands/claude/index.js +14 -16
  77. package/dist/commands/claude/index.js.map +1 -1
  78. package/dist/commands/claude/marketplace/changelog-utils.d.ts +1 -1
  79. package/dist/commands/claude/marketplace/changelog-utils.d.ts.map +1 -1
  80. package/dist/commands/claude/marketplace/changelog-utils.js +1 -2
  81. package/dist/commands/claude/marketplace/changelog-utils.js.map +1 -1
  82. package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
  83. package/dist/commands/claude/marketplace/git-publish.js +22 -12
  84. package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
  85. package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
  86. package/dist/commands/claude/marketplace/license-utils.js +0 -1
  87. package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
  88. package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
  89. package/dist/commands/claude/marketplace/publish-tree.js +0 -6
  90. package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
  91. package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
  92. package/dist/commands/claude/marketplace/publish.js +2 -1
  93. package/dist/commands/claude/marketplace/publish.js.map +1 -1
  94. package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
  95. package/dist/commands/claude/marketplace/validate.js +26 -16
  96. package/dist/commands/claude/marketplace/validate.js.map +1 -1
  97. package/dist/commands/claude/org/api-keys.d.ts +0 -3
  98. package/dist/commands/claude/org/api-keys.d.ts.map +1 -1
  99. package/dist/commands/claude/org/api-keys.js +2 -1
  100. package/dist/commands/claude/org/api-keys.js.map +1 -1
  101. package/dist/commands/claude/org/helpers.d.ts +17 -22
  102. package/dist/commands/claude/org/helpers.d.ts.map +1 -1
  103. package/dist/commands/claude/org/helpers.js +6 -22
  104. package/dist/commands/claude/org/helpers.js.map +1 -1
  105. package/dist/commands/claude/org/invites.d.ts +0 -3
  106. package/dist/commands/claude/org/invites.d.ts.map +1 -1
  107. package/dist/commands/claude/org/invites.js +3 -2
  108. package/dist/commands/claude/org/invites.js.map +1 -1
  109. package/dist/commands/claude/org/skills.d.ts +19 -1
  110. package/dist/commands/claude/org/skills.d.ts.map +1 -1
  111. package/dist/commands/claude/org/skills.js +147 -111
  112. package/dist/commands/claude/org/skills.js.map +1 -1
  113. package/dist/commands/claude/org/users.d.ts +0 -3
  114. package/dist/commands/claude/org/users.d.ts.map +1 -1
  115. package/dist/commands/claude/org/users.js +3 -2
  116. package/dist/commands/claude/org/users.js.map +1 -1
  117. package/dist/commands/claude/org/workspaces.d.ts +0 -3
  118. package/dist/commands/claude/org/workspaces.d.ts.map +1 -1
  119. package/dist/commands/claude/org/workspaces.js +6 -5
  120. package/dist/commands/claude/org/workspaces.js.map +1 -1
  121. package/dist/commands/claude/plugin/build.d.ts.map +1 -1
  122. package/dist/commands/claude/plugin/build.js +23 -52
  123. package/dist/commands/claude/plugin/build.js.map +1 -1
  124. package/dist/commands/claude/plugin/helpers.d.ts.map +1 -1
  125. package/dist/commands/claude/plugin/helpers.js +0 -6
  126. package/dist/commands/claude/plugin/helpers.js.map +1 -1
  127. package/dist/commands/claude/plugin/install.d.ts +12 -0
  128. package/dist/commands/claude/plugin/install.d.ts.map +1 -1
  129. package/dist/commands/claude/plugin/install.js +71 -60
  130. package/dist/commands/claude/plugin/install.js.map +1 -1
  131. package/dist/commands/claude/plugin/list.d.ts.map +1 -1
  132. package/dist/commands/claude/plugin/list.js +3 -2
  133. package/dist/commands/claude/plugin/list.js.map +1 -1
  134. package/dist/commands/claude/plugin/plugin-changelog.d.ts.map +1 -1
  135. package/dist/commands/claude/plugin/plugin-changelog.js +0 -2
  136. package/dist/commands/claude/plugin/plugin-changelog.js.map +1 -1
  137. package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
  138. package/dist/commands/claude/plugin/plugin-files.js +3 -6
  139. package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
  140. package/dist/commands/claude/plugin/plugin-validators.d.ts.map +1 -1
  141. package/dist/commands/claude/plugin/plugin-validators.js +3 -6
  142. package/dist/commands/claude/plugin/plugin-validators.js.map +1 -1
  143. package/dist/commands/claude/plugin/tree-copy.d.ts +2 -1
  144. package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
  145. package/dist/commands/claude/plugin/tree-copy.js +15 -14
  146. package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
  147. package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
  148. package/dist/commands/claude/plugin/uninstall.js +4 -4
  149. package/dist/commands/claude/plugin/uninstall.js.map +1 -1
  150. package/dist/commands/consistency-check.d.ts +17 -15
  151. package/dist/commands/consistency-check.d.ts.map +1 -1
  152. package/dist/commands/consistency-check.js +149 -104
  153. package/dist/commands/consistency-check.js.map +1 -1
  154. package/dist/commands/corpus/report.d.ts.map +1 -1
  155. package/dist/commands/corpus/report.js +1 -2
  156. package/dist/commands/corpus/report.js.map +1 -1
  157. package/dist/commands/corpus/runner.d.ts.map +1 -1
  158. package/dist/commands/corpus/runner.js +2 -6
  159. package/dist/commands/corpus/runner.js.map +1 -1
  160. package/dist/commands/corpus/scan.d.ts.map +1 -1
  161. package/dist/commands/corpus/scan.js +2 -3
  162. package/dist/commands/corpus/scan.js.map +1 -1
  163. package/dist/commands/corpus/seed.d.ts +4 -4
  164. package/dist/commands/corpus/seed.d.ts.map +1 -1
  165. package/dist/commands/corpus/seed.js +1 -3
  166. package/dist/commands/corpus/seed.js.map +1 -1
  167. package/dist/commands/doctor.d.ts.map +1 -1
  168. package/dist/commands/doctor.js +55 -37
  169. package/dist/commands/doctor.js.map +1 -1
  170. package/dist/commands/inventory.d.ts.map +1 -1
  171. package/dist/commands/inventory.js +6 -7
  172. package/dist/commands/inventory.js.map +1 -1
  173. package/dist/commands/mcp/list-collections.d.ts.map +1 -1
  174. package/dist/commands/mcp/list-collections.js +2 -1
  175. package/dist/commands/mcp/list-collections.js.map +1 -1
  176. package/dist/commands/mcp/serve.d.ts.map +1 -1
  177. package/dist/commands/mcp/serve.js +3 -2
  178. package/dist/commands/mcp/serve.js.map +1 -1
  179. package/dist/commands/okf/index.d.ts.map +1 -1
  180. package/dist/commands/okf/index.js +14 -2
  181. package/dist/commands/okf/index.js.map +1 -1
  182. package/dist/commands/okf/validate.d.ts +157 -48
  183. package/dist/commands/okf/validate.d.ts.map +1 -1
  184. package/dist/commands/okf/validate.js +109 -76
  185. package/dist/commands/okf/validate.js.map +1 -1
  186. package/dist/commands/phase-utils.d.ts +11 -10
  187. package/dist/commands/phase-utils.d.ts.map +1 -1
  188. package/dist/commands/phase-utils.js +30 -14
  189. package/dist/commands/phase-utils.js.map +1 -1
  190. package/dist/commands/positional-args.d.ts.map +1 -1
  191. package/dist/commands/positional-args.js +2 -1
  192. package/dist/commands/positional-args.js.map +1 -1
  193. package/dist/commands/rag/clear-command.d.ts.map +1 -1
  194. package/dist/commands/rag/clear-command.js +2 -1
  195. package/dist/commands/rag/clear-command.js.map +1 -1
  196. package/dist/commands/rag/index-command.d.ts.map +1 -1
  197. package/dist/commands/rag/index-command.js +4 -1
  198. package/dist/commands/rag/index-command.js.map +1 -1
  199. package/dist/commands/rag/query-command.d.ts.map +1 -1
  200. package/dist/commands/rag/query-command.js +2 -1
  201. package/dist/commands/rag/query-command.js.map +1 -1
  202. package/dist/commands/rag/stats-command.d.ts.map +1 -1
  203. package/dist/commands/rag/stats-command.js +2 -1
  204. package/dist/commands/rag/stats-command.js.map +1 -1
  205. package/dist/commands/resources/check-progress.d.ts +6 -0
  206. package/dist/commands/resources/check-progress.d.ts.map +1 -1
  207. package/dist/commands/resources/check-progress.js +15 -4
  208. package/dist/commands/resources/check-progress.js.map +1 -1
  209. package/dist/commands/resources/check-supervisor.d.ts.map +1 -1
  210. package/dist/commands/resources/check-supervisor.js +14 -7
  211. package/dist/commands/resources/check-supervisor.js.map +1 -1
  212. package/dist/commands/resources/check.d.ts +315 -205
  213. package/dist/commands/resources/check.d.ts.map +1 -1
  214. package/dist/commands/resources/check.js +368 -327
  215. package/dist/commands/resources/check.js.map +1 -1
  216. package/dist/commands/resources/index.d.ts.map +1 -1
  217. package/dist/commands/resources/index.js +159 -39
  218. package/dist/commands/resources/index.js.map +1 -1
  219. package/dist/commands/resources/query.d.ts +2 -2
  220. package/dist/commands/resources/query.d.ts.map +1 -1
  221. package/dist/commands/resources/query.js +24 -18
  222. package/dist/commands/resources/query.js.map +1 -1
  223. package/dist/commands/resources/scan.d.ts.map +1 -1
  224. package/dist/commands/resources/scan.js +4 -8
  225. package/dist/commands/resources/scan.js.map +1 -1
  226. package/dist/commands/resources/validate.d.ts +1 -1
  227. package/dist/commands/resources/validate.d.ts.map +1 -1
  228. package/dist/commands/resources/validate.js +0 -1
  229. package/dist/commands/resources/validate.js.map +1 -1
  230. package/dist/commands/skill/review-checklist.d.ts +3 -2
  231. package/dist/commands/skill/review-checklist.d.ts.map +1 -1
  232. package/dist/commands/skill/review-checklist.js +4 -2
  233. package/dist/commands/skill/review-checklist.js.map +1 -1
  234. package/dist/commands/skill/review.d.ts +247 -0
  235. package/dist/commands/skill/review.d.ts.map +1 -1
  236. package/dist/commands/skill/review.js +90 -60
  237. package/dist/commands/skill/review.js.map +1 -1
  238. package/dist/commands/skill/test/configure.d.ts.map +1 -1
  239. package/dist/commands/skill/test/configure.js +0 -1
  240. package/dist/commands/skill/test/configure.js.map +1 -1
  241. package/dist/commands/skill/test/run.d.ts +12 -6
  242. package/dist/commands/skill/test/run.d.ts.map +1 -1
  243. package/dist/commands/skill/test/run.js +120 -65
  244. package/dist/commands/skill/test/run.js.map +1 -1
  245. package/dist/commands/skills/build.d.ts +83 -3
  246. package/dist/commands/skills/build.d.ts.map +1 -1
  247. package/dist/commands/skills/build.js +162 -40
  248. package/dist/commands/skills/build.js.map +1 -1
  249. package/dist/commands/skills/install.d.ts +2 -1
  250. package/dist/commands/skills/install.d.ts.map +1 -1
  251. package/dist/commands/skills/install.js +20 -30
  252. package/dist/commands/skills/install.js.map +1 -1
  253. package/dist/commands/skills/list.d.ts.map +1 -1
  254. package/dist/commands/skills/list.js +14 -18
  255. package/dist/commands/skills/list.js.map +1 -1
  256. package/dist/commands/skills/package.d.ts +1 -1
  257. package/dist/commands/skills/package.d.ts.map +1 -1
  258. package/dist/commands/skills/package.js +6 -8
  259. package/dist/commands/skills/package.js.map +1 -1
  260. package/dist/commands/skills/scope-guard.d.ts.map +1 -1
  261. package/dist/commands/skills/scope-guard.js +2 -4
  262. package/dist/commands/skills/scope-guard.js.map +1 -1
  263. package/dist/commands/skills/shared.d.ts.map +1 -1
  264. package/dist/commands/skills/shared.js +2 -4
  265. package/dist/commands/skills/shared.js.map +1 -1
  266. package/dist/commands/skills/skill-discovery.d.ts +15 -13
  267. package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
  268. package/dist/commands/skills/skill-discovery.js +23 -5
  269. package/dist/commands/skills/skill-discovery.js.map +1 -1
  270. package/dist/commands/skills/source-resolvers.d.ts +15 -0
  271. package/dist/commands/skills/source-resolvers.d.ts.map +1 -1
  272. package/dist/commands/skills/source-resolvers.js +25 -4
  273. package/dist/commands/skills/source-resolvers.js.map +1 -1
  274. package/dist/commands/validate.d.ts +1 -1
  275. package/dist/commands/validate.d.ts.map +1 -1
  276. package/dist/commands/validate.js +39 -14
  277. package/dist/commands/validate.js.map +1 -1
  278. package/dist/commands/verify.d.ts +17 -5
  279. package/dist/commands/verify.d.ts.map +1 -1
  280. package/dist/commands/verify.js +161 -104
  281. package/dist/commands/verify.js.map +1 -1
  282. package/dist/index.d.ts +0 -1
  283. package/dist/index.d.ts.map +1 -1
  284. package/dist/index.js +5 -1
  285. package/dist/index.js.map +1 -1
  286. package/dist/report-schemas.d.ts +45 -0
  287. package/dist/report-schemas.d.ts.map +1 -0
  288. package/dist/report-schemas.js +100 -0
  289. package/dist/report-schemas.js.map +1 -0
  290. package/dist/skill-resolution/classify.js +2 -2
  291. package/dist/skill-resolution/classify.js.map +1 -1
  292. package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
  293. package/dist/skill-resolution/resolve-skill-reference.js +50 -55
  294. package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
  295. package/dist/utils/agent-discovery.d.ts.map +1 -1
  296. package/dist/utils/agent-discovery.js +22 -11
  297. package/dist/utils/agent-discovery.js.map +1 -1
  298. package/dist/utils/agent-runner.d.ts.map +1 -1
  299. package/dist/utils/agent-runner.js +0 -1
  300. package/dist/utils/agent-runner.js.map +1 -1
  301. package/dist/utils/claude-context-lens.d.ts +34 -0
  302. package/dist/utils/claude-context-lens.d.ts.map +1 -0
  303. package/dist/utils/claude-context-lens.js +39 -0
  304. package/dist/utils/claude-context-lens.js.map +1 -0
  305. package/dist/utils/command-error.d.ts +63 -62
  306. package/dist/utils/command-error.d.ts.map +1 -1
  307. package/dist/utils/command-error.js +80 -76
  308. package/dist/utils/command-error.js.map +1 -1
  309. package/dist/utils/config-loader.d.ts +2 -1
  310. package/dist/utils/config-loader.d.ts.map +1 -1
  311. package/dist/utils/config-loader.js +3 -6
  312. package/dist/utils/config-loader.js.map +1 -1
  313. package/dist/utils/corpus-target.d.ts +5 -27
  314. package/dist/utils/corpus-target.d.ts.map +1 -1
  315. package/dist/utils/corpus-target.js +7 -33
  316. package/dist/utils/corpus-target.js.map +1 -1
  317. package/dist/utils/help-loader.d.ts.map +1 -1
  318. package/dist/utils/help-loader.js +0 -1
  319. package/dist/utils/help-loader.js.map +1 -1
  320. package/dist/utils/issue-rendering.d.ts +2 -2
  321. package/dist/utils/issue-rendering.js +2 -2
  322. package/dist/utils/optional-backend.d.ts.map +1 -1
  323. package/dist/utils/optional-backend.js +2 -1
  324. package/dist/utils/optional-backend.js.map +1 -1
  325. package/dist/utils/output.d.ts +9 -0
  326. package/dist/utils/output.d.ts.map +1 -1
  327. package/dist/utils/output.js +16 -0
  328. package/dist/utils/output.js.map +1 -1
  329. package/dist/utils/package-json.d.ts +24 -0
  330. package/dist/utils/package-json.d.ts.map +1 -0
  331. package/dist/utils/package-json.js +49 -0
  332. package/dist/utils/package-json.js.map +1 -0
  333. package/dist/utils/project-root-policy.d.ts.map +1 -1
  334. package/dist/utils/project-root-policy.js +0 -2
  335. package/dist/utils/project-root-policy.js.map +1 -1
  336. package/dist/utils/projection-lenses.d.ts +98 -0
  337. package/dist/utils/projection-lenses.d.ts.map +1 -0
  338. package/dist/utils/projection-lenses.js +203 -0
  339. package/dist/utils/projection-lenses.js.map +1 -0
  340. package/dist/utils/projection-query.d.ts +38 -14
  341. package/dist/utils/projection-query.d.ts.map +1 -1
  342. package/dist/utils/projection-query.js +78 -17
  343. package/dist/utils/projection-query.js.map +1 -1
  344. package/dist/utils/projection-store.d.ts +61 -42
  345. package/dist/utils/projection-store.d.ts.map +1 -1
  346. package/dist/utils/projection-store.js +155 -59
  347. package/dist/utils/projection-store.js.map +1 -1
  348. package/dist/utils/relation-limits.d.ts +50 -0
  349. package/dist/utils/relation-limits.d.ts.map +1 -0
  350. package/dist/utils/relation-limits.js +50 -0
  351. package/dist/utils/relation-limits.js.map +1 -0
  352. package/dist/utils/resource-loader.js +2 -2
  353. package/dist/utils/resource-loader.js.map +1 -1
  354. package/dist/utils/skill-discovery.d.ts.map +1 -1
  355. package/dist/utils/skill-discovery.js +2 -1
  356. package/dist/utils/skill-discovery.js.map +1 -1
  357. package/dist/utils/skill-packaging-config.d.ts +63 -1
  358. package/dist/utils/skill-packaging-config.d.ts.map +1 -1
  359. package/dist/utils/skill-packaging-config.js +56 -1
  360. package/dist/utils/skill-packaging-config.js.map +1 -1
  361. package/dist/utils/url-redact.d.ts.map +1 -1
  362. package/dist/utils/url-redact.js +4 -6
  363. package/dist/utils/url-redact.js.map +1 -1
  364. package/dist/utils/user-context-scanner.d.ts.map +1 -1
  365. package/dist/utils/user-context-scanner.js +0 -2
  366. package/dist/utils/user-context-scanner.js.map +1 -1
  367. package/dist/utils/validate-help-files.d.ts.map +1 -1
  368. package/dist/utils/validate-help-files.js +3 -4
  369. package/dist/utils/validate-help-files.js.map +1 -1
  370. package/dist/utils/vat-bin-path.d.ts.map +1 -1
  371. package/dist/utils/vat-bin-path.js +0 -1
  372. package/dist/utils/vat-bin-path.js.map +1 -1
  373. package/dist/version.d.ts.map +1 -1
  374. package/dist/version.js +1 -3
  375. package/dist/version.js.map +1 -1
  376. package/docs/audit.md +44 -53
  377. package/docs/doctor.md +1 -0
  378. package/docs/index.md +18 -10
  379. package/docs/rag.md +0 -1
  380. package/docs/resources.md +0 -1
  381. package/docs/skill-test.md +10 -9
  382. package/docs/skills.md +6 -7
  383. package/package.json +23 -28
  384. package/schemas/ard-emit.json +149 -0
  385. package/schemas/okf-validate.json +170 -0
  386. package/schemas/resources-check.json +229 -0
  387. package/schemas/skill-review.json +230 -0
  388. package/dist/commands/claude/budget.d.ts +0 -170
  389. package/dist/commands/claude/budget.d.ts.map +0 -1
  390. package/dist/commands/claude/budget.js +0 -464
  391. package/dist/commands/claude/budget.js.map +0 -1
  392. package/dist/utils/context-budget-issues.d.ts +0 -108
  393. package/dist/utils/context-budget-issues.d.ts.map +0 -1
  394. package/dist/utils/context-budget-issues.js +0 -280
  395. package/dist/utils/context-budget-issues.js.map +0 -1
@@ -44,12 +44,21 @@
44
44
  * standard legible error, and a tree that cannot be keyed says so on stderr
45
45
  * rather than silently declining.
46
46
  */
47
+ import { AsyncLocalStorage } from 'node:async_hooks';
47
48
  import { parseEnvBoolean } from '@vibe-agent-toolkit/utils';
48
- import { gitTreeSnapshot, withGitSnapshotCache } from '@vibe-agent-toolkit/utils/git';
49
+ import { freshGitTreeSnapshot, gitTreeSnapshot, withGitSnapshotCache } from '@vibe-agent-toolkit/utils/git';
49
50
  import { isModuleMissing, reportMissingBackend } from './optional-backend.js';
50
51
  import { installSqliteWarningFilter } from './sqlite-experimental-warning.js';
51
52
  /**
52
- * The env var that selects a projection store for this process.
53
+ * The env var that selects — or now, DESELECTS — a projection store for this
54
+ * process.
55
+ *
56
+ * 🔑 **The store is on by default, so this is the escape hatch rather than the
57
+ * selector.** Same shape and same reason as `VAT_RESOURCES_CRAWL`: any value the
58
+ * off-parser does not read as false leaves the store selected, including the
59
+ * historical `sqlite`, so every script and lab arm that names it explicitly
60
+ * keeps working and keeps MEANING the same thing. See
61
+ * {@link PROJECTION_STORE_OFF} for the one way out.
53
62
  *
54
63
  * An environment switch rather than a config field, for the same reason
55
64
  * `VAT_INVENTORY_CRAWL` and `VAT_RESOURCES_CRAWL` are: it selects which
@@ -59,40 +68,28 @@ import { installSqliteWarningFilter } from './sqlite-experimental-warning.js';
59
68
  * edits the thing it measures.
60
69
  *
61
70
  * 🔑 It is read from the environment, and **every phase now runs in the process
62
- * that read it** — phases used to be child processes inheriting it across a
63
- * `spawnSync`, which reached the same place by a longer route. `vat validate`'s
64
- * phases see the same selection their orchestrator did, and can no longer fail
65
- * to.
66
- *
67
- * 🔑 **That sharing has a within-verb instance.** `vat build`'s two
68
- * phases — `skills build` and `claude plugin build` — both reach the lane
69
- * through `withResourcePopulationSource` (see `resource-loader.ts`), and both
70
- * root their population at the same directory, so phase 2 reads the extent
71
- * phase 1 wrote. Measured on `packages/vat-development-agents` with
72
- * `VAT_CRAWL_TIMING`: with a cold store phase 1 files `builtin:filesystem`
73
- * 39.2 ms and `projection-store:write` 10.1 ms, phase 2 files neither and its
74
- * `resource-registry:enumerate` reads 3.6 ms against phase 1's 66.6 ms.
75
- *
76
- * It did NOT need the closure to emit reasons, which is what an earlier reading
77
- * of this expected: the packaging lanes consume `resource_realizations` and let
78
- * `walkLinkGraph` keep running on top of the registry, so the base extent alone
79
- * answers them — the same shape `buildResourcePopulation` already had.
80
- *
81
- * The cross-INVOCATION win is unchanged and independent: `vat validate` and
82
- * `vat verify` spawn a byte-identical `resources validate` child, so the second
83
- * hits the store.
84
- *
85
- * ⚠️ One packaging enumeration is still on the walk: `vat claude plugin build`'s
86
- * per-skill post-build validation, which reaches `crawlAndResolveRegistry` in
87
- * `packaging-validator.ts` without a source — its `withResourcePopulationSource`
88
- * bracket closes around `createProjectRegistry` and does not span the
89
- * marketplace loop. `vat skills build` no longer does: it holds one bracket over
90
- * the whole run, and the registry memo is keyed on the population source, so
91
- * both of its registries source from the projection.
71
+ * that read it**, so `vat validate`'s phases cannot fail to see the selection
72
+ * their orchestrator did. Which lanes share a store within one verb and across
73
+ * invocations, with the measurements, and the ⚠️ one packaging enumeration still
74
+ * on the walk: `docs/architecture/resource-scanning-and-caching.md` §3.7.
92
75
  */
93
76
  export const PROJECTION_STORE_ENV = 'VAT_PROJECTION_STORE';
94
- /** {@link PROJECTION_STORE_ENV}'s value that selects the SQLite backend. */
77
+ /**
78
+ * {@link PROJECTION_STORE_ENV}'s value that names the SQLite backend. Redundant
79
+ * with the default now, and kept — see
80
+ * `docs/architecture/resource-scanning-and-caching.md` §3.7.
81
+ */
95
82
  export const PROJECTION_STORE_SQLITE = 'sqlite';
83
+ /**
84
+ * The value that turns the store OFF while leaving VAT's other caches on.
85
+ *
86
+ * Read through the same {@link parseEnvBoolean} as every other VAT switch, so
87
+ * `0`, `false`, `no` and `n` work too. The empty string joins them: unlike
88
+ * {@link PROJECTION_STORE_DIR_ENV}, where empty falls back to a default
89
+ * directory that means something, there is nothing else for a cleared selector
90
+ * to mean.
91
+ */
92
+ export const PROJECTION_STORE_OFF = 'off';
96
93
  /**
97
94
  * Where the projection store's database lives, overriding the default.
98
95
  *
@@ -148,11 +145,9 @@ const PROJECTION_STORE_BACKEND = {
148
145
  /**
149
146
  * Whether this process should read and write a projection store.
150
147
  *
151
- * **Off unless asked for**, which is the opposite of `vat inventory`'s crawl
152
- * selector and matches `vat resources scan`'s. A cache changes no answer, so
153
- * the reason to hold it back is not correctness but evidence: the win is a
154
- * claim about cost, and a default flipped before the cost is measured on real
155
- * corpora is a claim nobody checked.
148
+ * **On unless turned off.** It used to be the opposite; the measurement that
149
+ * paid for the flip, and the blob-tier bound that had to land first, are in
150
+ * `docs/architecture/resource-scanning-and-caching.md` §3.7.
156
151
  *
157
152
  * Read from the environment at each call rather than memoized at module load:
158
153
  * `vitest.setup.js` deletes every `VAT_*` variable before any test module
@@ -161,7 +156,7 @@ const PROJECTION_STORE_BACKEND = {
161
156
  *
162
157
  * ## The two switches are AND-ed, and the second one is a veto
163
158
  *
164
- * {@link PROJECTION_STORE_ENV} says *which* backend; {@link CACHE_ENV} says
159
+ * {@link PROJECTION_STORE_ENV} turns off THIS cache; {@link CACHE_ENV} says
165
160
  * whether this run caches at all. A store selected while `VAT_CACHE=0` was
166
161
  * measured writing a 9.8 MB, 18,079-row store on this repository and hitting it
167
162
  * on the next run — a user who asked for no cache silently got one, and
@@ -177,23 +172,33 @@ const PROJECTION_STORE_BACKEND = {
177
172
  *
178
173
  * Only an explicit `false` vetoes. `parseEnvBoolean` returns `undefined` for a
179
174
  * value it cannot read, and an unreadable value is not something the operator
180
- * said — the veto has to be a statement, not a shrug.
175
+ * said — the veto has to be a statement, not a shrug. That reading is why both
176
+ * variables can be read through ONE parser even though they now sit on
177
+ * opposite default sides: each asks only whether the operator SAID no.
181
178
  *
182
179
  * @returns `true` when a store is selected
183
180
  */
184
181
  export function projectionStoreSelected() {
185
182
  if (parseEnvBoolean(process.env[CACHE_ENV]) === false)
186
183
  return false;
187
- return process.env[PROJECTION_STORE_ENV] === PROJECTION_STORE_SQLITE;
184
+ const selector = process.env[PROJECTION_STORE_ENV];
185
+ // Unset is the default and the default is on.
186
+ if (selector === undefined)
187
+ return true;
188
+ // `VAT_PROJECTION_STORE=` — see PROJECTION_STORE_OFF on why empty is off here
189
+ // and unset-equivalent in the directory variable.
190
+ if (selector.trim() === '')
191
+ return false;
192
+ return parseEnvBoolean(selector) !== false;
188
193
  }
189
194
  /**
190
195
  * Open the projection store this process selected, keyed to one tree.
191
196
  *
192
197
  * Returns `undefined` when no store is selected, and when the tree cannot be
193
198
  * keyed — the two "carry on without a cache" answers. It does **not** return
194
- * `undefined` for an uninstalled backend: a user who set the selector asked for
195
- * a store, and answering that request by silently not having one is how an
196
- * opted-in cache becomes an unmeasured one.
199
+ * `undefined` for an uninstalled backend: the store is on unless a user turned it
200
+ * off, and answering that by silently not having one is how a default-on cache
201
+ * becomes an unmeasured one.
197
202
  *
198
203
  * @param options - Where the corpus is
199
204
  * @param options.root - The absolute corpus root. Used to find the repository;
@@ -209,14 +214,21 @@ export async function openPopulationCache(options) {
209
214
  // snapshot of an initialized repository stays distinguishable from it.
210
215
  const snapshot = gitTreeSnapshot({ cwd: options.root });
211
216
  if (snapshot === null) {
212
- process.stderr.write(`${PROJECTION_STORE_ENV} is set, but ${options.root} is not inside a readable git`
217
+ // Not "the selector is set": the store is on by default, so most users who
218
+ // see this never wrote the variable.
219
+ process.stderr.write(`The projection store is on, but ${options.root} is not inside a readable git`
213
220
  + ' repository, so there is no deterministic key to store a projection under.'
214
- + ' Populating without a cache.\n');
221
+ + ` Populating without a cache. Set ${PROJECTION_STORE_ENV}=${PROJECTION_STORE_OFF} to silence this.\n`);
215
222
  return undefined;
216
223
  }
217
224
  const store = await loadStore();
225
+ const cwd = options.root;
218
226
  return {
219
- cache: { store, treeHash: snapshot.hash },
227
+ cache: {
228
+ store,
229
+ treeHash: snapshot.hash,
230
+ treeUnchanged: () => freshGitTreeSnapshot({ cwd })?.hash === snapshot.hash,
231
+ },
220
232
  close: () => store.close(),
221
233
  };
222
234
  }
@@ -260,6 +272,18 @@ async function loadStore() {
260
272
  export async function openEphemeralQueryStore() {
261
273
  return (await loadBackend()).openEphemeralProjectionStore();
262
274
  }
275
+ /**
276
+ * Open a compile-only probe over the full queryable schema, derived relations
277
+ * included — for checking statements BEFORE any population or lens has run.
278
+ *
279
+ * ⚠️ Not {@link openEphemeralQueryStore}: that store has no table for a derived
280
+ * relation until a lens fills it, which is how an unevaluated one is refused.
281
+ *
282
+ * @returns An open probe; close it when done
283
+ */
284
+ export async function openCompileProbe() {
285
+ return (await loadBackend()).openProjectionCompileProbe();
286
+ }
263
287
  /**
264
288
  * Load the selected backend module, or report it as uninstalled and exit.
265
289
  *
@@ -365,6 +389,65 @@ export function nodeSqliteFloorFailure(error) {
365
389
  + ' Upgrade Node to 22.13.0 or newer. Installing a package will not help:'
366
390
  + ' the module is built into Node, not published to npm.');
367
391
  }
392
+ /**
393
+ * The population scope this async context is already inside, if any.
394
+ *
395
+ * `AsyncLocalStorage` and not a module-level variable, for the reason
396
+ * `withGitSnapshotCache` uses one: a scope has to end when its own frame ends
397
+ * and not when some other frame happens to finish, and a plain binding would
398
+ * leak the outer scope into anything that ran after it in the same tick.
399
+ */
400
+ const populationScope = new AsyncLocalStorage();
401
+ /**
402
+ * The already-open cache this scope may join, or `undefined` to open its own.
403
+ *
404
+ * Wrapped in a one-field object rather than returned bare, because `undefined`
405
+ * is a legitimate thing to JOIN — a run with the store off — and a bare return
406
+ * could not tell that from "open your own".
407
+ *
408
+ * @param active - The scope already open in this async context
409
+ * @param root - The corpus root the nested caller named
410
+ * @returns The cache to reuse (possibly `undefined`), or `undefined` to open
411
+ */
412
+ function joinableCache(active, root) {
413
+ // No store in this process, so there is nothing to key and every scope's
414
+ // answer is the same `undefined`. Also keeps uncached nesting free: no
415
+ // snapshot, no `gitFindRoot`.
416
+ if (!projectionStoreSelected())
417
+ return { cache: undefined };
418
+ // Selected, but the enclosing scope could not key its own root — outside a
419
+ // readable repository. That says nothing about THIS root, so ask again.
420
+ if (active === undefined)
421
+ return undefined;
422
+ // Memoized by the enclosing `withGitSnapshotCache` bracket, so a map lookup
423
+ // for a repository it has visited and a real snapshot only for one it has not.
424
+ const snapshot = gitTreeSnapshot({ cwd: root });
425
+ // 🔑 The tree hash, never "a scope is open". An extent is filed under
426
+ // `(rootId, treeHash)`, so a lane in another repository handed this one's hash
427
+ // would file its extent under a key that does not describe it — silently. Two
428
+ // roots inside ONE repository do share a hash: the key covers the repository.
429
+ return snapshot !== null && snapshot.hash === active.cache.treeHash ? { cache: active.cache } : undefined;
430
+ }
431
+ /**
432
+ * Open a store for this scope, run the work inside it, and close it.
433
+ *
434
+ * @param options - Where the corpus is
435
+ * @param options.root - The absolute corpus root
436
+ * @param work - Given the cache, or `undefined` when there is none to give
437
+ * @returns Whatever `work` returned
438
+ */
439
+ async function runOwnedScope(options, work) {
440
+ const opened = await openPopulationCache(options);
441
+ try {
442
+ // Registered even when nothing was opened, so a nested scope can tell "no
443
+ // store in this process" from "no scope above me" — and so the nested scope
444
+ // stays inside THIS scope's git-snapshot memo either way.
445
+ return await populationScope.run({ opened }, () => work(opened?.cache));
446
+ }
447
+ finally {
448
+ await opened?.close();
449
+ }
450
+ }
368
451
  /**
369
452
  * Run one command's work with a projection store open for its whole duration,
370
453
  * and closed however it ends.
@@ -389,12 +472,34 @@ export function nodeSqliteFloorFailure(error) {
389
472
  * separate "opened handle" bracket for a caller wanting more than the cache,
390
473
  * because there is nothing legitimate for such a caller to want.
391
474
  *
475
+ * ## 🔑 It NESTS, and the outermost scope wins
476
+ *
477
+ * A scope opened inside another over the same repository **joins** it: same
478
+ * cache by identity, no second database, no second `git write-tree`, and the
479
+ * inner scope does not close what it did not open. That lets an orchestrator
480
+ * hold one bracket over a whole run (`vat validate` does) while each lane
481
+ * underneath keeps its own and stays correct run alone. Reuse is gated on the
482
+ * TREE HASH, never on "a scope is open" — see {@link joinableCache}.
483
+ *
484
+ * ⚠️ The whole nest shares ONE snapshot, so work that must see its own edits as
485
+ * they land must not run inside a single scope. That is why a hoist is a
486
+ * decision rather than a refactor.
487
+ *
392
488
  * @param options - Where the corpus is
393
489
  * @param options.root - The absolute corpus root
394
490
  * @param work - Given the cache, or `undefined` when there is none to give
395
491
  * @returns Whatever `work` returned
396
492
  */
397
493
  export async function withPopulationCache(options, work) {
494
+ const active = populationScope.getStore();
495
+ if (active !== undefined) {
496
+ const joinable = joinableCache(active.opened, options.root);
497
+ // 🪤 No new git bracket on either path: an inner scope stays inside the
498
+ // outer one's memo, which is where the deduplication lives. A fresh bracket
499
+ // here would start an empty memo and re-snapshot the same repository — a
500
+ // dedupe that does nothing while looking exactly like one that works.
501
+ return joinable === undefined ? runOwnedScope(options, work) : work(joinable.cache);
502
+ }
398
503
  // ONE git snapshot for the whole scope, and this is the level that gets it:
399
504
  // `openPopulationCache` below takes one to derive the store key, and the crawl
400
505
  // that runs inside `work` takes another to enumerate the extent — same
@@ -410,17 +515,8 @@ export async function withPopulationCache(options, work) {
410
515
  // — a bracket opened deeper than one of them dedupes nothing while looking
411
516
  // exactly like a bracket that works. Every CLI entry into the projection lane
412
517
  // (`inventory`, `resource-loader`'s two) reaches the store through this scope,
413
- // so this one placement covers all of them.
414
- return withGitSnapshotCache(async () => {
415
- const opened = await openPopulationCache(options);
416
- if (opened === undefined)
417
- return work(undefined);
418
- try {
419
- return await work(opened.cache);
420
- }
421
- finally {
422
- await opened.close();
423
- }
424
- });
518
+ // and `vat validate`'s orchestrator holds one OUTSIDE all of them, which the
519
+ // nesting above is what makes safe.
520
+ return withGitSnapshotCache(() => runOwnedScope(options, work));
425
521
  }
426
522
  //# sourceMappingURL=projection-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projection-store.js","sourceRoot":"","sources":["../../src/utils/projection-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAwB,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AAGrC;;;;;;;GAOG;AACH,uFAAuF;AACvF,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAE5D,MAAM,wBAAwB,GAAoB;IAChD,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,uCAAuC;CACrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpE,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,uBAAuB,CAAC;AACvE,CAAC;AA4BD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAEzC;IACC,IAAI,CAAC,uBAAuB,EAAE;QAAE,OAAO,SAAS,CAAC;IAEjD,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,oBAAoB,gBAAgB,OAAO,CAAC,IAAI,+BAA+B;cAChF,4EAA4E;cAC5E,gCAAgC,CACnC,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,OAAO;QACL,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;QACzC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,SAAS;IACtB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxD,+EAA+E;IAC/E,mEAAmE;IACnE,2EAA2E;IAC3E,wEAAwE;IACxE,wCAAwC;IACxC,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,yBAAyB,CACpD,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CACjE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,4BAA4B,EAAE,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,WAAW;IACxB,+EAA+E;IAC/E,8EAA8E;IAC9E,wEAAwE;IACxE,0EAA0E;IAC1E,+DAA+D;IAC/D,EAAE;IACF,8EAA8E;IAC9E,6EAA6E;IAC7E,iBAAiB;IACjB,MAAM,eAAe,GAAG,0BAA0B,EAAE,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QACzC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACT,eAAe,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ;WACtB,KAAK,KAAK,IAAI;WACd,MAAM,IAAI,KAAK;WACd,KAA4B,CAAC,IAAI,KAAK,sBAAsB,CAAC;IACnE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,IAAI,KAAK,CACd,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,2EAA2E;QAC3E,iCAAiC;UAC/B,4EAA4E;UAC5E,4CAA4C,OAAO,CAAC,OAAO,GAAG;UAC9D,wEAAwE;UACxE,uDAAuD,CAC1D,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAyB,EACzB,IAAwD;IAExD,4EAA4E;IAC5E,+EAA+E;IAC/E,uEAAuE;IACvE,8EAA8E;IAC9E,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,+EAA+E;IAC/E,yEAAyE;IACzE,2EAA2E;IAC3E,EAAE;IACF,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,4CAA4C;IAC5C,OAAO,oBAAoB,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"projection-store.js","sourceRoot":"","sources":["../../src/utils/projection-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The stated bounds a SQL answer over the derived relations is published with.
3
+ *
4
+ * ## Why the SQL route states bounds at all
5
+ *
6
+ * `vat claude context` attaches `CLAUDE_CONTEXT_LIMITS` to every answer it
7
+ * gives, on the rule spelled in that module: *a limit a reader has to go and
8
+ * find is a limit that does not reach the person acting on the number.* The
9
+ * same measurement is reachable as `claude_context_chains` /
10
+ * `claude_context_loads` rows, and this route published none of them — so the
11
+ * lane an adopter can make GATE their build was the lane with no caveats
12
+ * attached, which is the wrong way round. VAT ships no context budget of its
13
+ * own; the adopter's `resources.checks` statement is the budget, and this is
14
+ * the list it is owed beside the number it thresholds.
15
+ *
16
+ * ## Keyed on the LENS, never on the statement's text
17
+ *
18
+ * The limits bound what the relations MEAN, so they ride exactly when a row
19
+ * from them could be in the answer: the run evaluated the claude-context lens.
20
+ * Reading the statement for a table name would be a second implementation of
21
+ * lens selection, and the two would disagree the first time one of them missed
22
+ * a spelling — the defect class this release already fixed once, by deleting
23
+ * the refusal that re-scanned the SQL and letting SQLite answer instead.
24
+ *
25
+ * ⛔ They belong to the REPORT, once, never to a row or a finding. A per-row
26
+ * copy is invisible to any assertion that checks presence rather than counting
27
+ * occurrences, and it is the defect the context lane shipped once already.
28
+ */
29
+ import { type StatedLimit } from '@vibe-agent-toolkit/resources';
30
+ /** What a report carries when a lens with stated bounds was evaluated. */
31
+ interface RelationBounds {
32
+ /** The prose frame the limits are read under, stated once. */
33
+ readonly boundsStatement?: string;
34
+ /** The signed, directional list — what the rows do NOT settle. */
35
+ readonly limits?: readonly StatedLimit[];
36
+ }
37
+ /**
38
+ * The bounds to publish beside an answer, given the lenses the run evaluated.
39
+ *
40
+ * Spread into the payload: a run that evaluated no bounded lens contributes no
41
+ * keys at all, rather than an empty list a reader has to interpret. An empty
42
+ * `limits: []` would read as "nothing bounds this answer", which is a stronger
43
+ * claim than "this answer contains no row anything bounds".
44
+ *
45
+ * @param lensesEvaluated - The run's `lensesEvaluated`, as the provenance names them
46
+ * @returns The bounds keys, or an empty object
47
+ */
48
+ export declare function relationBoundsFor(lensesEvaluated: readonly string[]): RelationBounds;
49
+ export {};
50
+ //# sourceMappingURL=relation-limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-limits.d.ts","sourceRoot":"","sources":["../../src/utils/relation-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAIvC,0EAA0E;AAC1E,UAAU,cAAc;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,cAAc,CAMpF"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The stated bounds a SQL answer over the derived relations is published with.
3
+ *
4
+ * ## Why the SQL route states bounds at all
5
+ *
6
+ * `vat claude context` attaches `CLAUDE_CONTEXT_LIMITS` to every answer it
7
+ * gives, on the rule spelled in that module: *a limit a reader has to go and
8
+ * find is a limit that does not reach the person acting on the number.* The
9
+ * same measurement is reachable as `claude_context_chains` /
10
+ * `claude_context_loads` rows, and this route published none of them — so the
11
+ * lane an adopter can make GATE their build was the lane with no caveats
12
+ * attached, which is the wrong way round. VAT ships no context budget of its
13
+ * own; the adopter's `resources.checks` statement is the budget, and this is
14
+ * the list it is owed beside the number it thresholds.
15
+ *
16
+ * ## Keyed on the LENS, never on the statement's text
17
+ *
18
+ * The limits bound what the relations MEAN, so they ride exactly when a row
19
+ * from them could be in the answer: the run evaluated the claude-context lens.
20
+ * Reading the statement for a table name would be a second implementation of
21
+ * lens selection, and the two would disagree the first time one of them missed
22
+ * a spelling — the defect class this release already fixed once, by deleting
23
+ * the refusal that re-scanned the SQL and letting SQLite answer instead.
24
+ *
25
+ * ⛔ They belong to the REPORT, once, never to a row or a finding. A per-row
26
+ * copy is invisible to any assertion that checks presence rather than counting
27
+ * occurrences, and it is the defect the context lane shipped once already.
28
+ */
29
+ import { CLAUDE_CONTEXT_BOUNDS_STATEMENT, CLAUDE_CONTEXT_RELATION_LIMITS, } from '@vibe-agent-toolkit/resources';
30
+ import { CLAUDE_CONTEXT_LENS } from './projection-lenses.js';
31
+ /**
32
+ * The bounds to publish beside an answer, given the lenses the run evaluated.
33
+ *
34
+ * Spread into the payload: a run that evaluated no bounded lens contributes no
35
+ * keys at all, rather than an empty list a reader has to interpret. An empty
36
+ * `limits: []` would read as "nothing bounds this answer", which is a stronger
37
+ * claim than "this answer contains no row anything bounds".
38
+ *
39
+ * @param lensesEvaluated - The run's `lensesEvaluated`, as the provenance names them
40
+ * @returns The bounds keys, or an empty object
41
+ */
42
+ export function relationBoundsFor(lensesEvaluated) {
43
+ if (!lensesEvaluated.includes(CLAUDE_CONTEXT_LENS.name))
44
+ return {};
45
+ return {
46
+ boundsStatement: CLAUDE_CONTEXT_BOUNDS_STATEMENT,
47
+ limits: CLAUDE_CONTEXT_RELATION_LIMITS,
48
+ };
49
+ }
50
+ //# sourceMappingURL=relation-limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-limits.js","sourceRoot":"","sources":["../../src/utils/relation-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAE/B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAU7D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,eAAkC;IAClE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACnE,OAAO;QACL,eAAe,EAAE,+BAA+B;QAChD,MAAM,EAAE,8BAA8B;KACvC,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Utilities for loading and crawling resources
3
3
  */
4
4
  import { buildLinkAuthEngineConfig, buildResourcePopulation, DEFAULT_RESOURCE_INCLUDE, gitExtentSelected, ResourceRegistry, } from '@vibe-agent-toolkit/resources';
5
- import { safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
5
+ import { relativeEscapesRoot, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
6
6
  import { GitTracker, gitTreeSnapshot } from '@vibe-agent-toolkit/utils/git';
7
7
  import { loadConfig } from './config-loader.js';
8
8
  import { collectionsOption } from './population-wiring.js';
@@ -68,7 +68,7 @@ function crawlOptionsForPath(pathArg, projectRoot, config, logger) {
68
68
  // safePath.relative already normalizes, but toForwardSlash makes the
69
69
  // separator assumption in the `../` test below explicit on Windows too.
70
70
  const normalizedRelDir = toForwardSlash(safePath.relative(projectRoot, resolved));
71
- if (normalizedRelDir === '..' || normalizedRelDir.startsWith('../')) {
71
+ if (relativeEscapesRoot(normalizedRelDir)) {
72
72
  // Outside the project root, so the config's root-relative globs describe a
73
73
  // different tree and genuinely cannot apply. Say so rather than dropping
74
74
  // them silently — silent dropping is the bug this function exists to fix.
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader.js","sourceRoot":"","sources":["../../src/utils/resource-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-loader.js","sourceRoot":"","sources":["../../src/utils/resource-loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-discovery.d.ts","sourceRoot":"","sources":["../../src/utils/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAehE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEpE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG;IACxD,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAiBA"}
1
+ {"version":3,"file":"skill-discovery.d.ts","sourceRoot":"","sources":["../../src/utils/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAgBhE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEpE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG;IACxD,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAiBA"}
@@ -5,6 +5,7 @@
5
5
  * Uses case-insensitive matching for discovery but validates proper casing.
6
6
  */
7
7
  import { basename } from 'node:path';
8
+ import { toForwardSlash } from '@vibe-agent-toolkit/utils';
8
9
  import picomatch from 'picomatch';
9
10
  /**
10
11
  * Case-insensitive matcher for SKILL.md files
@@ -57,7 +58,7 @@ export function discoverSkills(resources) {
57
58
  */
58
59
  export function validateSkillFilename(skillPath) {
59
60
  // Normalize path separators for cross-platform support
60
- const normalizedPath = skillPath.replaceAll('\\', '/');
61
+ const normalizedPath = toForwardSlash(skillPath);
61
62
  const filename = basename(normalizedPath);
62
63
  if (filename === 'SKILL.md') {
63
64
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"skill-discovery.js","sourceRoot":"","sources":["../../src/utils/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC;;;;;GAKG;AACH,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,EAAE;IAC3C,MAAM,EAAE,IAAI,EAAO,4BAA4B;IAC/C,SAAS,EAAE,IAAI,EAAI,kCAAkC;IACrD,GAAG,EAAE,IAAI,EAAU,2DAA2D;CAC/E,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,SAAuB;IACpD,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IAKrD,uDAAuD;IACvD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAE1C,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,gEAAgE,QAAQ,2FAA2F;KAC7K,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"skill-discovery.js","sourceRoot":"","sources":["../../src/utils/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC;;;;;GAKG;AACH,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,EAAE;IAC3C,MAAM,EAAE,IAAI,EAAO,4BAA4B;IAC/C,SAAS,EAAE,IAAI,EAAI,kCAAkC;IACrD,GAAG,EAAE,IAAI,EAAU,2DAA2D;CAC/E,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,SAAuB;IACpD,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IAKrD,uDAAuD;IACvD,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAE1C,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,gEAAgE,QAAQ,2FAA2F;KAC7K,CAAC;AACJ,CAAC"}
@@ -9,7 +9,7 @@
9
9
  * Most fields are a shallow override: a per-skill value replaces the default
10
10
  * outright. `files:` is the exception — see below.
11
11
  */
12
- import { type DeclaredEvalSuite, type SkillPackagingConfig } from '@vibe-agent-toolkit/agent-skills';
12
+ import { type DeclaredEvalSuite, type PluginLocalSkillIndex, type SkillPackagingConfig } from '@vibe-agent-toolkit/agent-skills';
13
13
  import type { SkillsConfig } from '@vibe-agent-toolkit/resources';
14
14
  /**
15
15
  * Merge defaults with per-skill overrides, dropping undefined values.
@@ -26,6 +26,67 @@ import type { SkillsConfig } from '@vibe-agent-toolkit/resources';
26
26
  * the build did — the exact class of divergence this module exists to prevent.
27
27
  */
28
28
  export declare function mergeSkillPackagingConfig(defaults: Record<string, unknown> | undefined, perSkillOverrides: Record<string, unknown> | undefined): SkillPackagingConfig;
29
+ /**
30
+ * THE `skills.config` entry a plugin-local skill packages under, for both lanes that
31
+ * ask: the Claude plugin build that packages it and `vat verify` that checks what it
32
+ * packaged. Keyed by the skill's declared name; its directory path under the plugin's
33
+ * `skills/` (`group/nested`) and that path's trailing segment are fallbacks for a
34
+ * config keyed by directory. Two lookups were two effective configs for one skill —
35
+ * verify checked `files:` dests and severity overrides the build never applied.
36
+ */
37
+ export declare function pluginLocalSkillConfigEntry<T>(config: Readonly<Record<string, T>> | undefined, skill: {
38
+ readonly skillName: string;
39
+ readonly skillDirPath: string;
40
+ }): T | undefined;
41
+ /**
42
+ * Is this skill distributed through the POOL (`dist/skills/<name>`)?
43
+ *
44
+ * THE predicate for `publish`, read off the MERGED config so that
45
+ * `skills.defaults.publish` counts; every lane that decides whether a pool bundle
46
+ * is built, expected or assigned asks this and nothing else. The consistency
47
+ * check used to read `skills.config.<name>.publish` alone, so a project-wide
48
+ * `skills.defaults.publish: false` parsed and changed nothing — and `vat build`
49
+ * and `vat verify` never read the flag at all: two contracts for one key.
50
+ *
51
+ * `publish: false` names an IN-PLACE skill: validated at source by `vat validate`
52
+ * / `vat skills validate`, never bundled by `vat build`, never expected by
53
+ * `vat verify`. Default `true`.
54
+ *
55
+ * `publish` scopes the POOL only. A plugin-local skill (a git-tracked skill directory
56
+ * under a plugin's `skills/` — see `indexPluginLocalSkills`) ships with its
57
+ * plugin by LOCATION: the claude phase packages it and verify expects it whatever
58
+ * this returns. A skill that is both discovered by `skills.include` and
59
+ * plugin-local therefore skips the pool with `publish: false` and still ships in
60
+ * its plugin.
61
+ *
62
+ * `publish` is a distribution flag, not a packaging knob — the packaging
63
+ * validator never reads it — so it is declared on the project-config schema and
64
+ * carried through the merge generically like every other key; it is read here
65
+ * off the merged record rather than off a typed field of the validator's config.
66
+ */
67
+ export declare function isSkillPublished(packaging: SkillPackagingConfig): boolean;
68
+ /**
69
+ * Where `publish` sends a discovered skill:
70
+ * - `pool` — published: bundled into `dist/skills/<name>` (a plugin-local one ALSO ships in its plugin);
71
+ * - `plugin-only` — `publish: false` but plugin-local: out of the pool, still shipped by its plugin;
72
+ * - `in-place` — `publish: false` and not plugin-local: used from the repo, distributed nowhere.
73
+ *
74
+ * `plugin-only` is deliberately not `SkillDistribution`'s `plugin-local`: that names WHERE a
75
+ * skill's plugin build output lands whatever `publish` says; this names a skill that ships
76
+ * ONLY there, which a published plugin-local skill does not.
77
+ */
78
+ type PublishScope = 'pool' | 'plugin-only' | 'in-place';
79
+ /**
80
+ * Classify one discovered skill — {@link isSkillPublished} over its merged config, then
81
+ * plugin-local by the directory holding its `SKILL.md` (`pluginLocal`, from
82
+ * `indexPluginLocalSkills`: the skill dirs the plugin build actually packages). A
83
+ * plugin-local skill is never `in-place`: it ships with its plugin, so every lane that
84
+ * reports in-place skills (`vat build`, `vat verify`, the consistency check) asks this,
85
+ * not the flag alone.
86
+ */
87
+ export declare function publishScope(skill: {
88
+ sourcePath: string;
89
+ }, packaging: SkillPackagingConfig, pluginLocal: PluginLocalSkillIndex): PublishScope;
29
90
  /**
30
91
  * The PROJECT's declared eval suites: one {@link DeclaredEvalSuite} per discovered
31
92
  * skill, from the same discovery + merge every lane already runs.
@@ -46,4 +107,5 @@ export declare function collectDeclaredEvalSuites(skillsConfig: SkillsConfig | u
46
107
  name: string;
47
108
  sourcePath: string;
48
109
  }>): DeclaredEvalSuite[];
110
+ export {};
49
111
  //# sourceMappingURL=skill-packaging-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-packaging-config.d.ts","sourceRoot":"","sources":["../../src/utils/skill-packaging-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAoB,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACvH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC7C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACrD,oBAAoB,CAmBtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,UAAU,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9D,iBAAiB,EAAE,CAUrB"}
1
+ {"version":3,"file":"skill-packaging-config.d.ts","sourceRoot":"","sources":["../../src/utils/skill-packaging-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC7C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACrD,oBAAoB,CAmBtB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,EAC/C,KAAK,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACnE,CAAC,GAAG,SAAS,CAEf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAGzE;AAED;;;;;;;;;GASG;AACH,KAAK,YAAY,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,EAC7B,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,qBAAqB,GACjC,YAAY,CAGd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,UAAU,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9D,iBAAiB,EAAE,CAUrB"}