@cairn-tool/cairn 2.0.0

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 (526) hide show
  1. package/.markdownlintrc +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +1431 -0
  4. package/dist/agent/audit/baseline.d.ts +69 -0
  5. package/dist/agent/audit/baseline.js +128 -0
  6. package/dist/agent/audit/baseline.js.map +1 -0
  7. package/dist/agent/audit/index.d.ts +126 -0
  8. package/dist/agent/audit/index.js +625 -0
  9. package/dist/agent/audit/index.js.map +1 -0
  10. package/dist/agent/import/detect.d.ts +49 -0
  11. package/dist/agent/import/detect.js +159 -0
  12. package/dist/agent/import/detect.js.map +1 -0
  13. package/dist/agent/import/normalize.d.ts +72 -0
  14. package/dist/agent/import/normalize.js +475 -0
  15. package/dist/agent/import/normalize.js.map +1 -0
  16. package/dist/agent/install/index.d.ts +211 -0
  17. package/dist/agent/install/index.js +907 -0
  18. package/dist/agent/install/index.js.map +1 -0
  19. package/dist/agent/manifest.d.ts +75 -0
  20. package/dist/agent/manifest.js +210 -0
  21. package/dist/agent/manifest.js.map +1 -0
  22. package/dist/agent/marketplace/index.d.ts +69 -0
  23. package/dist/agent/marketplace/index.js +212 -0
  24. package/dist/agent/marketplace/index.js.map +1 -0
  25. package/dist/agent/marketplace/spec.d.ts +48 -0
  26. package/dist/agent/marketplace/spec.js +237 -0
  27. package/dist/agent/marketplace/spec.js.map +1 -0
  28. package/dist/agent/output.d.ts +36 -0
  29. package/dist/agent/output.js +56 -0
  30. package/dist/agent/output.js.map +1 -0
  31. package/dist/agent/overlays.d.ts +38 -0
  32. package/dist/agent/overlays.js +223 -0
  33. package/dist/agent/overlays.js.map +1 -0
  34. package/dist/agent/package/index.d.ts +105 -0
  35. package/dist/agent/package/index.js +339 -0
  36. package/dist/agent/package/index.js.map +1 -0
  37. package/dist/agent/package/tar.d.ts +36 -0
  38. package/dist/agent/package/tar.js +137 -0
  39. package/dist/agent/package/tar.js.map +1 -0
  40. package/dist/agent/parser.d.ts +13 -0
  41. package/dist/agent/parser.js +559 -0
  42. package/dist/agent/parser.js.map +1 -0
  43. package/dist/agent/render.d.ts +16 -0
  44. package/dist/agent/render.js +721 -0
  45. package/dist/agent/render.js.map +1 -0
  46. package/dist/agent/sarif.d.ts +18 -0
  47. package/dist/agent/sarif.js +56 -0
  48. package/dist/agent/sarif.js.map +1 -0
  49. package/dist/agent/scaffold.d.ts +86 -0
  50. package/dist/agent/scaffold.js +250 -0
  51. package/dist/agent/scaffold.js.map +1 -0
  52. package/dist/agent/targets/antigravity.d.ts +17 -0
  53. package/dist/agent/targets/antigravity.js +218 -0
  54. package/dist/agent/targets/antigravity.js.map +1 -0
  55. package/dist/agent/targets/claude-code.d.ts +2 -0
  56. package/dist/agent/targets/claude-code.js +220 -0
  57. package/dist/agent/targets/claude-code.js.map +1 -0
  58. package/dist/agent/targets/codex.d.ts +2 -0
  59. package/dist/agent/targets/codex.js +212 -0
  60. package/dist/agent/targets/codex.js.map +1 -0
  61. package/dist/agent/targets/cursor.d.ts +2 -0
  62. package/dist/agent/targets/cursor.js +210 -0
  63. package/dist/agent/targets/cursor.js.map +1 -0
  64. package/dist/agent/targets/index.d.ts +31 -0
  65. package/dist/agent/targets/index.js +64 -0
  66. package/dist/agent/targets/index.js.map +1 -0
  67. package/dist/agent/targets/opencode.d.ts +15 -0
  68. package/dist/agent/targets/opencode.js +215 -0
  69. package/dist/agent/targets/opencode.js.map +1 -0
  70. package/dist/agent/targets/schema.d.ts +315 -0
  71. package/dist/agent/targets/schema.js +179 -0
  72. package/dist/agent/targets/schema.js.map +1 -0
  73. package/dist/agent/test/assert.d.ts +46 -0
  74. package/dist/agent/test/assert.js +288 -0
  75. package/dist/agent/test/assert.js.map +1 -0
  76. package/dist/agent/test/index.d.ts +73 -0
  77. package/dist/agent/test/index.js +181 -0
  78. package/dist/agent/test/index.js.map +1 -0
  79. package/dist/agent/test/schema.d.ts +81 -0
  80. package/dist/agent/test/schema.js +235 -0
  81. package/dist/agent/test/schema.js.map +1 -0
  82. package/dist/agent/types.d.ts +204 -0
  83. package/dist/agent/types.js +11 -0
  84. package/dist/agent/types.js.map +1 -0
  85. package/dist/agent/upgrade.d.ts +29 -0
  86. package/dist/agent/upgrade.js +72 -0
  87. package/dist/agent/upgrade.js.map +1 -0
  88. package/dist/agent/writer.d.ts +30 -0
  89. package/dist/agent/writer.js +73 -0
  90. package/dist/agent/writer.js.map +1 -0
  91. package/dist/archive/db.d.ts +20 -0
  92. package/dist/archive/db.js +98 -0
  93. package/dist/archive/db.js.map +1 -0
  94. package/dist/archive/progress.d.ts +62 -0
  95. package/dist/archive/progress.js +151 -0
  96. package/dist/archive/progress.js.map +1 -0
  97. package/dist/archive/query.d.ts +86 -0
  98. package/dist/archive/query.js +241 -0
  99. package/dist/archive/query.js.map +1 -0
  100. package/dist/archive/run.d.ts +91 -0
  101. package/dist/archive/run.js +331 -0
  102. package/dist/archive/run.js.map +1 -0
  103. package/dist/archive/segments.d.ts +89 -0
  104. package/dist/archive/segments.js +144 -0
  105. package/dist/archive/segments.js.map +1 -0
  106. package/dist/archive/sets.d.ts +58 -0
  107. package/dist/archive/sets.js +344 -0
  108. package/dist/archive/sets.js.map +1 -0
  109. package/dist/archive/tar-read.d.ts +35 -0
  110. package/dist/archive/tar-read.js +90 -0
  111. package/dist/archive/tar-read.js.map +1 -0
  112. package/dist/audit-baseline.d.ts +66 -0
  113. package/dist/audit-baseline.js +124 -0
  114. package/dist/audit-baseline.js.map +1 -0
  115. package/dist/automation.d.ts +16 -0
  116. package/dist/automation.js +38 -0
  117. package/dist/automation.js.map +1 -0
  118. package/dist/backlinks.d.ts +15 -0
  119. package/dist/backlinks.js +30 -0
  120. package/dist/backlinks.js.map +1 -0
  121. package/dist/checkers/katex.d.ts +3 -0
  122. package/dist/checkers/katex.js +71 -0
  123. package/dist/checkers/katex.js.map +1 -0
  124. package/dist/checkers/markdown-lint.d.ts +28 -0
  125. package/dist/checkers/markdown-lint.js +53 -0
  126. package/dist/checkers/markdown-lint.js.map +1 -0
  127. package/dist/checkers/mermaid.d.ts +6 -0
  128. package/dist/checkers/mermaid.js +53 -0
  129. package/dist/checkers/mermaid.js.map +1 -0
  130. package/dist/checkers/references.d.ts +3 -0
  131. package/dist/checkers/references.js +55 -0
  132. package/dist/checkers/references.js.map +1 -0
  133. package/dist/cli.d.ts +2 -0
  134. package/dist/cli.js +1117 -0
  135. package/dist/cli.js.map +1 -0
  136. package/dist/command-result.d.ts +6 -0
  137. package/dist/command-result.js +13 -0
  138. package/dist/command-result.js.map +1 -0
  139. package/dist/commands/agent-audit.d.ts +21 -0
  140. package/dist/commands/agent-audit.js +119 -0
  141. package/dist/commands/agent-audit.js.map +1 -0
  142. package/dist/commands/agent-doctor.d.ts +25 -0
  143. package/dist/commands/agent-doctor.js +217 -0
  144. package/dist/commands/agent-doctor.js.map +1 -0
  145. package/dist/commands/agent-import.d.ts +21 -0
  146. package/dist/commands/agent-import.js +212 -0
  147. package/dist/commands/agent-import.js.map +1 -0
  148. package/dist/commands/agent-install.d.ts +18 -0
  149. package/dist/commands/agent-install.js +59 -0
  150. package/dist/commands/agent-install.js.map +1 -0
  151. package/dist/commands/agent-installed.d.ts +6 -0
  152. package/dist/commands/agent-installed.js +17 -0
  153. package/dist/commands/agent-installed.js.map +1 -0
  154. package/dist/commands/agent-marketplace.d.ts +11 -0
  155. package/dist/commands/agent-marketplace.js +178 -0
  156. package/dist/commands/agent-marketplace.js.map +1 -0
  157. package/dist/commands/agent-package.d.ts +16 -0
  158. package/dist/commands/agent-package.js +159 -0
  159. package/dist/commands/agent-package.js.map +1 -0
  160. package/dist/commands/agent-scaffold.d.ts +17 -0
  161. package/dist/commands/agent-scaffold.js +181 -0
  162. package/dist/commands/agent-scaffold.js.map +1 -0
  163. package/dist/commands/agent-specs.d.ts +7 -0
  164. package/dist/commands/agent-specs.js +20 -0
  165. package/dist/commands/agent-specs.js.map +1 -0
  166. package/dist/commands/agent-test.d.ts +21 -0
  167. package/dist/commands/agent-test.js +50 -0
  168. package/dist/commands/agent-test.js.map +1 -0
  169. package/dist/commands/agent-uninstall.d.ts +6 -0
  170. package/dist/commands/agent-uninstall.js +45 -0
  171. package/dist/commands/agent-uninstall.js.map +1 -0
  172. package/dist/commands/agent-upgrade.d.ts +5 -0
  173. package/dist/commands/agent-upgrade.js +105 -0
  174. package/dist/commands/agent-upgrade.js.map +1 -0
  175. package/dist/commands/agent.d.ts +27 -0
  176. package/dist/commands/agent.js +549 -0
  177. package/dist/commands/agent.js.map +1 -0
  178. package/dist/commands/archive.d.ts +47 -0
  179. package/dist/commands/archive.js +311 -0
  180. package/dist/commands/archive.js.map +1 -0
  181. package/dist/commands/audit.d.ts +25 -0
  182. package/dist/commands/audit.js +325 -0
  183. package/dist/commands/audit.js.map +1 -0
  184. package/dist/commands/check-snippets.d.ts +58 -0
  185. package/dist/commands/check-snippets.js +247 -0
  186. package/dist/commands/check-snippets.js.map +1 -0
  187. package/dist/commands/check-urls.d.ts +52 -0
  188. package/dist/commands/check-urls.js +205 -0
  189. package/dist/commands/check-urls.js.map +1 -0
  190. package/dist/commands/code-blocks.d.ts +8 -0
  191. package/dist/commands/code-blocks.js +66 -0
  192. package/dist/commands/code-blocks.js.map +1 -0
  193. package/dist/commands/completion.d.ts +15 -0
  194. package/dist/commands/completion.js +20 -0
  195. package/dist/commands/completion.js.map +1 -0
  196. package/dist/commands/context.d.ts +16 -0
  197. package/dist/commands/context.js +131 -0
  198. package/dist/commands/context.js.map +1 -0
  199. package/dist/commands/describe.d.ts +12 -0
  200. package/dist/commands/describe.js +62 -0
  201. package/dist/commands/describe.js.map +1 -0
  202. package/dist/commands/diff.d.ts +11 -0
  203. package/dist/commands/diff.js +185 -0
  204. package/dist/commands/diff.js.map +1 -0
  205. package/dist/commands/fix.d.ts +59 -0
  206. package/dist/commands/fix.js +173 -0
  207. package/dist/commands/fix.js.map +1 -0
  208. package/dist/commands/frontmatter.d.ts +7 -0
  209. package/dist/commands/frontmatter.js +84 -0
  210. package/dist/commands/frontmatter.js.map +1 -0
  211. package/dist/commands/graph.d.ts +12 -0
  212. package/dist/commands/graph.js +122 -0
  213. package/dist/commands/graph.js.map +1 -0
  214. package/dist/commands/headers.d.ts +7 -0
  215. package/dist/commands/headers.js +48 -0
  216. package/dist/commands/headers.js.map +1 -0
  217. package/dist/commands/index.d.ts +8 -0
  218. package/dist/commands/index.js +32 -0
  219. package/dist/commands/index.js.map +1 -0
  220. package/dist/commands/links.d.ts +9 -0
  221. package/dist/commands/links.js +123 -0
  222. package/dist/commands/links.js.map +1 -0
  223. package/dist/commands/lint-dir.d.ts +15 -0
  224. package/dist/commands/lint-dir.js +156 -0
  225. package/dist/commands/lint-dir.js.map +1 -0
  226. package/dist/commands/lint.d.ts +14 -0
  227. package/dist/commands/lint.js +45 -0
  228. package/dist/commands/lint.js.map +1 -0
  229. package/dist/commands/orphans.d.ts +10 -0
  230. package/dist/commands/orphans.js +74 -0
  231. package/dist/commands/orphans.js.map +1 -0
  232. package/dist/commands/outline.d.ts +7 -0
  233. package/dist/commands/outline.js +54 -0
  234. package/dist/commands/outline.js.map +1 -0
  235. package/dist/commands/query.d.ts +18 -0
  236. package/dist/commands/query.js +341 -0
  237. package/dist/commands/query.js.map +1 -0
  238. package/dist/commands/refs-to.d.ts +8 -0
  239. package/dist/commands/refs-to.js +65 -0
  240. package/dist/commands/refs-to.js.map +1 -0
  241. package/dist/commands/refs.d.ts +10 -0
  242. package/dist/commands/refs.js +103 -0
  243. package/dist/commands/refs.js.map +1 -0
  244. package/dist/commands/rename-file.d.ts +16 -0
  245. package/dist/commands/rename-file.js +215 -0
  246. package/dist/commands/rename-file.js.map +1 -0
  247. package/dist/commands/rename-heading.d.ts +10 -0
  248. package/dist/commands/rename-heading.js +182 -0
  249. package/dist/commands/rename-heading.js.map +1 -0
  250. package/dist/commands/schema.d.ts +10 -0
  251. package/dist/commands/schema.js +34 -0
  252. package/dist/commands/schema.js.map +1 -0
  253. package/dist/commands/scripts.d.ts +59 -0
  254. package/dist/commands/scripts.js +222 -0
  255. package/dist/commands/scripts.js.map +1 -0
  256. package/dist/commands/section.d.ts +9 -0
  257. package/dist/commands/section.js +49 -0
  258. package/dist/commands/section.js.map +1 -0
  259. package/dist/commands/serve.d.ts +6 -0
  260. package/dist/commands/serve.js +48 -0
  261. package/dist/commands/serve.js.map +1 -0
  262. package/dist/commands/stats.d.ts +6 -0
  263. package/dist/commands/stats.js +109 -0
  264. package/dist/commands/stats.js.map +1 -0
  265. package/dist/commands/structure.d.ts +6 -0
  266. package/dist/commands/structure.js +130 -0
  267. package/dist/commands/structure.js.map +1 -0
  268. package/dist/commands/tables.d.ts +8 -0
  269. package/dist/commands/tables.js +77 -0
  270. package/dist/commands/tables.js.map +1 -0
  271. package/dist/commands/tasks.d.ts +8 -0
  272. package/dist/commands/tasks.js +59 -0
  273. package/dist/commands/tasks.js.map +1 -0
  274. package/dist/commands/toc.d.ts +18 -0
  275. package/dist/commands/toc.js +105 -0
  276. package/dist/commands/toc.js.map +1 -0
  277. package/dist/commands/update-check.d.ts +36 -0
  278. package/dist/commands/update-check.js +119 -0
  279. package/dist/commands/update-check.js.map +1 -0
  280. package/dist/commands/usage.d.ts +56 -0
  281. package/dist/commands/usage.js +883 -0
  282. package/dist/commands/usage.js.map +1 -0
  283. package/dist/commands/validate-frontmatter.d.ts +13 -0
  284. package/dist/commands/validate-frontmatter.js +34 -0
  285. package/dist/commands/validate-frontmatter.js.map +1 -0
  286. package/dist/completion/model.d.ts +49 -0
  287. package/dist/completion/model.js +194 -0
  288. package/dist/completion/model.js.map +1 -0
  289. package/dist/completion/shells.d.ts +2 -0
  290. package/dist/completion/shells.js +280 -0
  291. package/dist/completion/shells.js.map +1 -0
  292. package/dist/config-schema.d.ts +15 -0
  293. package/dist/config-schema.js +44 -0
  294. package/dist/config-schema.js.map +1 -0
  295. package/dist/config.d.ts +102 -0
  296. package/dist/config.js +614 -0
  297. package/dist/config.js.map +1 -0
  298. package/dist/context.d.ts +106 -0
  299. package/dist/context.js +202 -0
  300. package/dist/context.js.map +1 -0
  301. package/dist/contract/describe.d.ts +84 -0
  302. package/dist/contract/describe.js +104 -0
  303. package/dist/contract/describe.js.map +1 -0
  304. package/dist/contract/registry.d.ts +2 -0
  305. package/dist/contract/registry.js +622 -0
  306. package/dist/contract/registry.js.map +1 -0
  307. package/dist/contract/schemas/agent.d.ts +2 -0
  308. package/dist/contract/schemas/agent.js +572 -0
  309. package/dist/contract/schemas/agent.js.map +1 -0
  310. package/dist/contract/schemas/archive.d.ts +3 -0
  311. package/dist/contract/schemas/archive.js +227 -0
  312. package/dist/contract/schemas/archive.js.map +1 -0
  313. package/dist/contract/schemas/index.d.ts +11 -0
  314. package/dist/contract/schemas/index.js +49 -0
  315. package/dist/contract/schemas/index.js.map +1 -0
  316. package/dist/contract/schemas/markdown.d.ts +15 -0
  317. package/dist/contract/schemas/markdown.js +1035 -0
  318. package/dist/contract/schemas/markdown.js.map +1 -0
  319. package/dist/contract/schemas/meta.d.ts +5 -0
  320. package/dist/contract/schemas/meta.js +233 -0
  321. package/dist/contract/schemas/meta.js.map +1 -0
  322. package/dist/contract/schemas/scripts.d.ts +4 -0
  323. package/dist/contract/schemas/scripts.js +183 -0
  324. package/dist/contract/schemas/scripts.js.map +1 -0
  325. package/dist/contract/schemas/shared.d.ts +11 -0
  326. package/dist/contract/schemas/shared.js +26 -0
  327. package/dist/contract/schemas/shared.js.map +1 -0
  328. package/dist/contract/schemas/usage.d.ts +6 -0
  329. package/dist/contract/schemas/usage.js +489 -0
  330. package/dist/contract/schemas/usage.js.map +1 -0
  331. package/dist/contract/types.d.ts +63 -0
  332. package/dist/contract/types.js +2 -0
  333. package/dist/contract/types.js.map +1 -0
  334. package/dist/contract/version.d.ts +20 -0
  335. package/dist/contract/version.js +21 -0
  336. package/dist/contract/version.js.map +1 -0
  337. package/dist/diff.d.ts +156 -0
  338. package/dist/diff.js +500 -0
  339. package/dist/diff.js.map +1 -0
  340. package/dist/edit-plan.d.ts +133 -0
  341. package/dist/edit-plan.js +245 -0
  342. package/dist/edit-plan.js.map +1 -0
  343. package/dist/fix/markdownlint-fixer.d.ts +34 -0
  344. package/dist/fix/markdownlint-fixer.js +125 -0
  345. package/dist/fix/markdownlint-fixer.js.map +1 -0
  346. package/dist/fix/registry.d.ts +48 -0
  347. package/dist/fix/registry.js +28 -0
  348. package/dist/fix/registry.js.map +1 -0
  349. package/dist/fix/relative-links-fixer.d.ts +21 -0
  350. package/dist/fix/relative-links-fixer.js +96 -0
  351. package/dist/fix/relative-links-fixer.js.map +1 -0
  352. package/dist/fix/snippets-fixer.d.ts +2 -0
  353. package/dist/fix/snippets-fixer.js +64 -0
  354. package/dist/fix/snippets-fixer.js.map +1 -0
  355. package/dist/fix/toc-fixer.d.ts +2 -0
  356. package/dist/fix/toc-fixer.js +94 -0
  357. package/dist/fix/toc-fixer.js.map +1 -0
  358. package/dist/formats.d.ts +22 -0
  359. package/dist/formats.js +34 -0
  360. package/dist/formats.js.map +1 -0
  361. package/dist/formatters.d.ts +11 -0
  362. package/dist/formatters.js +48 -0
  363. package/dist/formatters.js.map +1 -0
  364. package/dist/frontmatter-validation.d.ts +11 -0
  365. package/dist/frontmatter-validation.js +188 -0
  366. package/dist/frontmatter-validation.js.map +1 -0
  367. package/dist/git.d.ts +40 -0
  368. package/dist/git.js +124 -0
  369. package/dist/git.js.map +1 -0
  370. package/dist/graph.d.ts +50 -0
  371. package/dist/graph.js +200 -0
  372. package/dist/graph.js.map +1 -0
  373. package/dist/input-selection.d.ts +9 -0
  374. package/dist/input-selection.js +122 -0
  375. package/dist/input-selection.js.map +1 -0
  376. package/dist/input.d.ts +2 -0
  377. package/dist/input.js +32 -0
  378. package/dist/input.js.map +1 -0
  379. package/dist/link-target.d.ts +39 -0
  380. package/dist/link-target.js +68 -0
  381. package/dist/link-target.js.map +1 -0
  382. package/dist/lint.d.ts +13 -0
  383. package/dist/lint.js +27 -0
  384. package/dist/lint.js.map +1 -0
  385. package/dist/markdown-ast.d.ts +73 -0
  386. package/dist/markdown-ast.js +187 -0
  387. package/dist/markdown-ast.js.map +1 -0
  388. package/dist/object-path.d.ts +14 -0
  389. package/dist/object-path.js +14 -0
  390. package/dist/object-path.js.map +1 -0
  391. package/dist/option-utils.d.ts +13 -0
  392. package/dist/option-utils.js +25 -0
  393. package/dist/option-utils.js.map +1 -0
  394. package/dist/outline.d.ts +16 -0
  395. package/dist/outline.js +32 -0
  396. package/dist/outline.js.map +1 -0
  397. package/dist/query/entities.d.ts +60 -0
  398. package/dist/query/entities.js +219 -0
  399. package/dist/query/entities.js.map +1 -0
  400. package/dist/query/execute.d.ts +22 -0
  401. package/dist/query/execute.js +0 -0
  402. package/dist/query/execute.js.map +1 -0
  403. package/dist/query/plan.d.ts +76 -0
  404. package/dist/query/plan.js +183 -0
  405. package/dist/query/plan.js.map +1 -0
  406. package/dist/query/render.d.ts +3 -0
  407. package/dist/query/render.js +39 -0
  408. package/dist/query/render.js.map +1 -0
  409. package/dist/refs.d.ts +19 -0
  410. package/dist/refs.js +10 -0
  411. package/dist/refs.js.map +1 -0
  412. package/dist/result.d.ts +49 -0
  413. package/dist/result.js +47 -0
  414. package/dist/result.js.map +1 -0
  415. package/dist/runtime.d.ts +35 -0
  416. package/dist/runtime.js +77 -0
  417. package/dist/runtime.js.map +1 -0
  418. package/dist/sarif.d.ts +36 -0
  419. package/dist/sarif.js +30 -0
  420. package/dist/sarif.js.map +1 -0
  421. package/dist/scripts/execute.d.ts +65 -0
  422. package/dist/scripts/execute.js +235 -0
  423. package/dist/scripts/execute.js.map +1 -0
  424. package/dist/scripts/registry.d.ts +55 -0
  425. package/dist/scripts/registry.js +103 -0
  426. package/dist/scripts/registry.js.map +1 -0
  427. package/dist/scripts/resolve.d.ts +90 -0
  428. package/dist/scripts/resolve.js +288 -0
  429. package/dist/scripts/resolve.js.map +1 -0
  430. package/dist/sections.d.ts +53 -0
  431. package/dist/sections.js +100 -0
  432. package/dist/sections.js.map +1 -0
  433. package/dist/serve/errors.d.ts +25 -0
  434. package/dist/serve/errors.js +45 -0
  435. package/dist/serve/errors.js.map +1 -0
  436. package/dist/serve/paths.d.ts +32 -0
  437. package/dist/serve/paths.js +71 -0
  438. package/dist/serve/paths.js.map +1 -0
  439. package/dist/serve/server.d.ts +31 -0
  440. package/dist/serve/server.js +123 -0
  441. package/dist/serve/server.js.map +1 -0
  442. package/dist/serve/tools.d.ts +19 -0
  443. package/dist/serve/tools.js +597 -0
  444. package/dist/serve/tools.js.map +1 -0
  445. package/dist/snippets.d.ts +184 -0
  446. package/dist/snippets.js +454 -0
  447. package/dist/snippets.js.map +1 -0
  448. package/dist/sqlite-store.d.ts +62 -0
  449. package/dist/sqlite-store.js +104 -0
  450. package/dist/sqlite-store.js.map +1 -0
  451. package/dist/sqlite.d.ts +59 -0
  452. package/dist/sqlite.js +51 -0
  453. package/dist/sqlite.js.map +1 -0
  454. package/dist/toc.d.ts +58 -0
  455. package/dist/toc.js +83 -0
  456. package/dist/toc.js.map +1 -0
  457. package/dist/types.d.ts +7 -0
  458. package/dist/types.js +2 -0
  459. package/dist/types.js.map +1 -0
  460. package/dist/update-notifier.d.ts +95 -0
  461. package/dist/update-notifier.js +301 -0
  462. package/dist/update-notifier.js.map +1 -0
  463. package/dist/url-cache.d.ts +14 -0
  464. package/dist/url-cache.js +70 -0
  465. package/dist/url-cache.js.map +1 -0
  466. package/dist/usage/aggregate.d.ts +107 -0
  467. package/dist/usage/aggregate.js +435 -0
  468. package/dist/usage/aggregate.js.map +1 -0
  469. package/dist/usage/db/index.d.ts +49 -0
  470. package/dist/usage/db/index.js +118 -0
  471. package/dist/usage/db/index.js.map +1 -0
  472. package/dist/usage/db/migrations.d.ts +29 -0
  473. package/dist/usage/db/migrations.js +38 -0
  474. package/dist/usage/db/migrations.js.map +1 -0
  475. package/dist/usage/db/open.d.ts +33 -0
  476. package/dist/usage/db/open.js +37 -0
  477. package/dist/usage/db/open.js.map +1 -0
  478. package/dist/usage/db/schema.d.ts +18 -0
  479. package/dist/usage/db/schema.js +147 -0
  480. package/dist/usage/db/schema.js.map +1 -0
  481. package/dist/usage/db/store.d.ts +74 -0
  482. package/dist/usage/db/store.js +280 -0
  483. package/dist/usage/db/store.js.map +1 -0
  484. package/dist/usage/events.d.ts +202 -0
  485. package/dist/usage/events.js +243 -0
  486. package/dist/usage/events.js.map +1 -0
  487. package/dist/usage/filter.d.ts +43 -0
  488. package/dist/usage/filter.js +97 -0
  489. package/dist/usage/filter.js.map +1 -0
  490. package/dist/usage/providers/antigravity.d.ts +2 -0
  491. package/dist/usage/providers/antigravity.js +431 -0
  492. package/dist/usage/providers/antigravity.js.map +1 -0
  493. package/dist/usage/providers/claude-code.d.ts +2 -0
  494. package/dist/usage/providers/claude-code.js +400 -0
  495. package/dist/usage/providers/claude-code.js.map +1 -0
  496. package/dist/usage/providers/codex.d.ts +2 -0
  497. package/dist/usage/providers/codex.js +387 -0
  498. package/dist/usage/providers/codex.js.map +1 -0
  499. package/dist/usage/providers/gemini-cli.d.ts +2 -0
  500. package/dist/usage/providers/gemini-cli.js +466 -0
  501. package/dist/usage/providers/gemini-cli.js.map +1 -0
  502. package/dist/usage/providers/index.d.ts +23 -0
  503. package/dist/usage/providers/index.js +46 -0
  504. package/dist/usage/providers/index.js.map +1 -0
  505. package/dist/usage/providers/opencode.d.ts +2 -0
  506. package/dist/usage/providers/opencode.js +422 -0
  507. package/dist/usage/providers/opencode.js.map +1 -0
  508. package/dist/usage/providers/protobuf.d.ts +35 -0
  509. package/dist/usage/providers/protobuf.js +125 -0
  510. package/dist/usage/providers/protobuf.js.map +1 -0
  511. package/dist/usage/providers/types.d.ts +74 -0
  512. package/dist/usage/providers/types.js +2 -0
  513. package/dist/usage/providers/types.js.map +1 -0
  514. package/dist/usage/scan.d.ts +54 -0
  515. package/dist/usage/scan.js +216 -0
  516. package/dist/usage/scan.js.map +1 -0
  517. package/dist/version.d.ts +2 -0
  518. package/dist/version.js +8 -0
  519. package/dist/version.js.map +1 -0
  520. package/dist/workspace-index.d.ts +39 -0
  521. package/dist/workspace-index.js +265 -0
  522. package/dist/workspace-index.js.map +1 -0
  523. package/dist/workspace.d.ts +89 -0
  524. package/dist/workspace.js +219 -0
  525. package/dist/workspace.js.map +1 -0
  526. package/package.json +92 -0
@@ -0,0 +1,159 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { diagnostic } from "../agent/types.js";
4
+ import { loadBundle } from "../agent/parser.js";
5
+ import { renderBundle } from "../agent/render.js";
6
+ import { diffOutput, outputMatches } from "../agent/output.js";
7
+ import { PACKAGE_REPORT, buildArchives, buildCatalogs, buildChecksums, buildSbom, checkAssets, checkCaseCollisions, checkExecutables, checkPinning, } from "../agent/package/index.js";
8
+ import { TarPathTooLongError } from "../agent/package/tar.js";
9
+ import { packageName, packageVersion } from "../version.js";
10
+ import { writeArtifactsAtomically } from "../agent/writer.js";
11
+ import { outputDecidedResult, profiles, resolveTargets } from "./agent.js";
12
+ const MODES = ["repo", "local", "none"];
13
+ function isInside(parent, child) {
14
+ const relative = path.relative(parent, child);
15
+ return relative === "" || (!relative.startsWith("..") && !path.isAbsolute(relative));
16
+ }
17
+ function resolveThroughExistingAncestors(candidate) {
18
+ let existing = candidate;
19
+ while (!fs.existsSync(existing) && existing !== path.dirname(existing))
20
+ existing = path.dirname(existing);
21
+ return path.resolve(fs.realpathSync(existing), path.relative(existing, candidate));
22
+ }
23
+ /**
24
+ * Package's own pass/fail rule.
25
+ *
26
+ * Like import and doctor, this cannot use the shared `hasFindings`: a codex
27
+ * bundle inherently carries approximate render diagnostics, which would fail
28
+ * every codex package regardless of its publish readiness.
29
+ */
30
+ export function packageHasFindings(diagnostics, strict) {
31
+ return diagnostics.some((item) => item.severity === "error" || (strict && item.severity === "warning"));
32
+ }
33
+ export async function agentPackageAction(source, opts) {
34
+ if (opts.check && opts.dryRun)
35
+ throw new Error("--check and --dry-run cannot be used together");
36
+ if (!opts.output)
37
+ throw new Error("--output is required");
38
+ const targets = resolveTargets(opts.target, true);
39
+ const selectedProfiles = profiles(opts.profile);
40
+ const mode = (opts.marketplace ?? "repo");
41
+ if (!MODES.includes(mode))
42
+ throw new Error(`Unknown --marketplace '${mode}'. Use one of: ${MODES.join(", ")}.`);
43
+ const bundle = loadBundle(source);
44
+ const output = path.resolve(opts.output);
45
+ if (isInside(fs.realpathSync(bundle.root), resolveThroughExistingAncestors(output)))
46
+ throw new Error("Output directory must not be inside the bundle");
47
+ // Rendering here rather than trusting an existing tree means the catalog and
48
+ // checksums are provably derived from the source of truth. `convert` stays a
49
+ // pure compiler; packaging adds no rendering logic of its own.
50
+ const rendered = renderBundle(bundle, targets, selectedProfiles);
51
+ const diagnostics = [...rendered.diagnostics];
52
+ if (opts.fromDist) {
53
+ // Verifying an existing tree is a separate question from building one: it
54
+ // asks whether CI packaged what this bundle actually produces.
55
+ const dist = path.resolve(opts.fromDist);
56
+ if (!fs.existsSync(dist))
57
+ throw new Error(`--from-dist directory does not exist: ${dist}`);
58
+ if (!outputMatches(diffOutput(dist, rendered.artifacts, targets, selectedProfiles)))
59
+ diagnostics.push({
60
+ ...diagnostic("AB508", `The tree at ${dist} is not what this bundle produces`, "unsupported", { remediation: "Re-run agent convert, or package without --from-dist." }),
61
+ severity: "error",
62
+ });
63
+ }
64
+ const catalogs = buildCatalogs(bundle, targets, selectedProfiles, mode);
65
+ diagnostics.push(...catalogs.diagnostics);
66
+ const payload = [...rendered.artifacts, ...catalogs.artifacts].sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
67
+ diagnostics.push(...checkAssets(bundle, targets, payload), ...checkExecutables(payload), ...checkCaseCollisions(payload), ...checkPinning(bundle));
68
+ let archives = [];
69
+ const extra = [];
70
+ if (opts.archive) {
71
+ try {
72
+ const built = buildArchives(bundle, payload, targets, selectedProfiles);
73
+ extra.push(...built.artifacts);
74
+ archives = built.archives;
75
+ }
76
+ catch (cause) {
77
+ if (!(cause instanceof TarPathTooLongError))
78
+ throw cause;
79
+ diagnostics.push({
80
+ ...diagnostic("AB509", cause.message, "unsupported", {
81
+ path: cause.path,
82
+ remediation: "Shorten the path; ustar headers cannot express it.",
83
+ }),
84
+ severity: "error",
85
+ });
86
+ }
87
+ }
88
+ const withArchives = [...payload, ...extra];
89
+ const checksums = buildChecksums(withArchives);
90
+ const sbom = buildSbom(bundle, withArchives);
91
+ const report = {
92
+ catalogs: catalogs.entries,
93
+ archives,
94
+ checksums: checksums.path,
95
+ sbom: sbom.path,
96
+ checks: {
97
+ failed: diagnostics.filter((item) => item.severity === "error").length,
98
+ passed: diagnostics.filter((item) => item.severity !== "error").length,
99
+ },
100
+ };
101
+ const all = [
102
+ ...withArchives,
103
+ checksums,
104
+ sbom,
105
+ {
106
+ path: PACKAGE_REPORT,
107
+ content: Buffer.from(JSON.stringify({ generator: { name: packageName, version: packageVersion }, ...report }, null, 2) + "\n"),
108
+ mode: 0o644,
109
+ },
110
+ ];
111
+ const blocked = packageHasFindings(diagnostics, Boolean(opts.strict));
112
+ const stale = opts.check ? !matchesPackage(output, all) : false;
113
+ const readOnly = Boolean(opts.dryRun) || Boolean(opts.check);
114
+ if (!readOnly && !blocked)
115
+ writeArtifactsAtomically(output, all, {
116
+ managedRoots: targets.flatMap((target) => selectedProfiles.map((profile) => path.join(target, profile))),
117
+ looseFiles: all
118
+ .filter((artifact) => !/^[^/]+\/(plugin|project)\//.test(artifact.path))
119
+ .map((artifact) => artifact.path),
120
+ force: Boolean(opts.force),
121
+ });
122
+ outputDecidedResult({
123
+ command: "package",
124
+ ok: !blocked && !stale,
125
+ source: bundle.root,
126
+ targets,
127
+ profiles: selectedProfiles,
128
+ artifacts: all.map((artifact) => ({
129
+ path: artifact.path,
130
+ bytes: artifact.content.length,
131
+ mode: `0${artifact.mode.toString(8)}`,
132
+ ...(artifact.origin === "native" ? { origin: artifact.origin } : {}),
133
+ })),
134
+ diagnostics,
135
+ package: report,
136
+ ...(opts.dryRun ? { dryRun: true } : {}),
137
+ ...(opts.check ? { check: true, stale } : {}),
138
+ }, opts);
139
+ }
140
+ /**
141
+ * Compares a package tree against what this run would produce.
142
+ *
143
+ * The report is compared by existence only — it embeds the generator version,
144
+ * so byte-comparing it would call every package stale after a CLI upgrade.
145
+ * Same rule `diffOutput` applies to `conversion-report.json`.
146
+ */
147
+ function matchesPackage(output, artifacts) {
148
+ for (const artifact of artifacts) {
149
+ const file = path.join(output, artifact.path);
150
+ if (!fs.existsSync(file) || !fs.statSync(file).isFile())
151
+ return false;
152
+ if (artifact.path === PACKAGE_REPORT)
153
+ continue;
154
+ if (!fs.readFileSync(file).equals(artifact.content))
155
+ return false;
156
+ }
157
+ return true;
158
+ }
159
+ //# sourceMappingURL=agent-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-package.js","sourceRoot":"","sources":["../../src/commands/agent-package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { AgentOptions } from "./agent.js";
2
+ export interface AgentInitOptions extends AgentOptions {
3
+ description?: string;
4
+ bundleVersion?: string;
5
+ license?: string;
6
+ component?: string[];
7
+ overlays?: boolean;
8
+ }
9
+ export interface AgentAddOptions extends AgentOptions {
10
+ description?: string;
11
+ path?: string;
12
+ activation?: string;
13
+ glob?: string[];
14
+ command?: string;
15
+ }
16
+ export declare function agentInitAction(name: string, opts: AgentInitOptions): Promise<void>;
17
+ export declare function agentAddAction(kind: string, name: string, source: string | undefined, opts: AgentAddOptions): Promise<void>;
@@ -0,0 +1,181 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { TARGETS, diagnostic } from "../agent/types.js";
4
+ import { COMPONENT_KINDS, DEFAULT_ROOTS, applyManifestEdits, scaffoldBundle, scaffoldComponent, sortArtifacts, } from "../agent/scaffold.js";
5
+ import { PORTABLE_HOOK_EVENTS } from "../agent/targets/schema.js";
6
+ import { writeArtifactsAtomically } from "../agent/writer.js";
7
+ import { outputDecidedResult, profiles, resolveTargets } from "./agent.js";
8
+ const NAME = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
9
+ function error(code, message, remediation) {
10
+ return {
11
+ ...diagnostic(code, message, "unsupported", remediation ? { remediation } : {}),
12
+ severity: "error",
13
+ };
14
+ }
15
+ function requireName(value, label) {
16
+ if (!NAME.test(value))
17
+ throw new Error(`Invalid ${label} '${value}': use lowercase kebab-case, e.g. my-${label}`);
18
+ }
19
+ /**
20
+ * Compares planned artifacts against what is already on disk.
21
+ *
22
+ * `create` and `update` are both writes; the distinction exists so `--check`
23
+ * and a JSON plan can say which files already matched.
24
+ */
25
+ function planFor(root, artifacts, kind) {
26
+ const operations = artifacts.map((artifact) => {
27
+ const destination = path.join(root, artifact.path);
28
+ const exists = fs.existsSync(destination) && fs.statSync(destination).isFile();
29
+ const identical = exists && fs.readFileSync(destination).equals(artifact.content);
30
+ return {
31
+ action: identical ? "skip" : exists ? "update" : "create",
32
+ path: artifact.path,
33
+ kind: kind(artifact.path),
34
+ bytes: artifact.content.length,
35
+ mode: `0${artifact.mode.toString(8)}`,
36
+ ...(identical ? { reason: "already matches the scaffold" } : {}),
37
+ };
38
+ });
39
+ return { root, operations };
40
+ }
41
+ function willChange(plan) {
42
+ return plan.operations.some((operation) => operation.action !== "skip");
43
+ }
44
+ function kindOf(relative) {
45
+ if (relative === "agent-bundle.yaml")
46
+ return "manifest";
47
+ const root = relative.split("/")[0];
48
+ const match = COMPONENT_KINDS.find((kind) => DEFAULT_ROOTS[kind] === root);
49
+ return match ?? "asset";
50
+ }
51
+ /** Shared tail: emit the plan, write unless read-only, and decide the exit status. */
52
+ function finish(command, root, artifacts, plan, diagnostics, opts, managed) {
53
+ const readOnly = Boolean(opts.dryRun) || Boolean(opts.check);
54
+ const stale = willChange(plan);
55
+ const blocked = diagnostics.some((item) => item.severity === "error");
56
+ if (!readOnly && !blocked)
57
+ writeArtifactsAtomically(root, artifacts, { ...managed, force: true });
58
+ const result = {
59
+ command,
60
+ // `--check` reports drift, so a plan that would change something fails it.
61
+ // Without `--check` a pending change is the normal case, not a finding.
62
+ ok: !blocked && !(opts.check && stale),
63
+ source: root,
64
+ targets: [],
65
+ artifacts: artifacts.map((artifact) => ({
66
+ path: artifact.path,
67
+ bytes: artifact.content.length,
68
+ mode: `0${artifact.mode.toString(8)}`,
69
+ })),
70
+ diagnostics,
71
+ plan,
72
+ ...(opts.dryRun ? { dryRun: true } : {}),
73
+ ...(opts.check ? { check: true, stale } : {}),
74
+ };
75
+ outputDecidedResult(result, opts);
76
+ }
77
+ export async function agentInitAction(name, opts) {
78
+ requireName(name, "bundle name");
79
+ if (opts.check && opts.dryRun)
80
+ throw new Error("--check and --dry-run cannot be used together");
81
+ const output = path.resolve(opts.output ?? `./${name}`);
82
+ const components = parseComponents(opts.component);
83
+ const selected = resolveTargets(opts.target);
84
+ const targets = selected.length ? selected : [...TARGETS];
85
+ // `--profile` is accepted for symmetry with the other agent commands and is
86
+ // validated here even though a scaffold has no per-profile content yet.
87
+ profiles(opts.profile);
88
+ const diagnostics = [];
89
+ if (!opts.dryRun && !opts.check && nonempty(output) && !opts.force)
90
+ diagnostics.push(error("AB200", `Destination is nonempty: ${output}`, "Pass --force to scaffold into it anyway."));
91
+ const { artifacts } = scaffoldBundle({
92
+ name,
93
+ version: opts.bundleVersion ?? "0.1.0",
94
+ description: opts.description ?? `${name} agent bundle`,
95
+ license: opts.license ?? "MIT",
96
+ components,
97
+ targets,
98
+ overlays: Boolean(opts.overlays),
99
+ });
100
+ const plan = planFor(output, artifacts, kindOf);
101
+ // `init` creates the bundle, so it owns the whole root — with --force that
102
+ // means replacing whatever was there, the same meaning --force has elsewhere.
103
+ finish("init", output, artifacts, plan, diagnostics, opts, { managedRoots: ["."] });
104
+ }
105
+ function parseComponents(values) {
106
+ const raw = values ?? [];
107
+ if (!raw.length)
108
+ return ["skill"];
109
+ if (raw.includes("none"))
110
+ return [];
111
+ const unknown = raw.filter((value) => !COMPONENT_KINDS.includes(value));
112
+ if (unknown.length)
113
+ throw new Error(`Unknown component kind(s): ${unknown.join(", ")}. Use one of: ${COMPONENT_KINDS.join(", ")}, none.`);
114
+ return [...new Set(raw)];
115
+ }
116
+ function nonempty(directory) {
117
+ if (!fs.existsSync(directory))
118
+ return false;
119
+ return !fs.statSync(directory).isDirectory() || fs.readdirSync(directory).length > 0;
120
+ }
121
+ export async function agentAddAction(kind, name, source, opts) {
122
+ if (!COMPONENT_KINDS.includes(kind))
123
+ throw new Error(`Unknown component kind '${kind}'. Use one of: ${COMPONENT_KINDS.join(", ")}.`);
124
+ if (opts.check && opts.dryRun)
125
+ throw new Error("--check and --dry-run cannot be used together");
126
+ const componentKind = kind;
127
+ const root = path.resolve(source ?? ".");
128
+ const manifestPath = path.join(root, "agent-bundle.yaml");
129
+ if (!fs.existsSync(manifestPath))
130
+ throw new Error(`No agent-bundle.yaml found in ${root}. Run 'cairn agent init' first.`);
131
+ const diagnostics = [];
132
+ // A hook is named by its event, not freely, so it is validated against the
133
+ // portable event list rather than the kebab-case component rule.
134
+ if (componentKind === "hook") {
135
+ if (!PORTABLE_HOOK_EVENTS.includes(name))
136
+ diagnostics.push(error("AB202", `'${name}' is not a portable hook event`, `Use one of: ${PORTABLE_HOOK_EVENTS.join(", ")}.`));
137
+ }
138
+ else
139
+ requireName(name, "component name");
140
+ const overlayTarget = resolveTargets(opts.target);
141
+ if (componentKind === "overlay" && overlayTarget.length !== 1)
142
+ throw new Error("agent add overlay requires exactly one --target");
143
+ const spec = {
144
+ kind: componentKind,
145
+ name,
146
+ description: opts.description ?? `${name} ${componentKind}`,
147
+ root: opts.path,
148
+ activation: opts.activation ?? "always",
149
+ globs: opts.glob ?? [],
150
+ command: opts.command,
151
+ target: overlayTarget[0],
152
+ profile: opts.profile === "project" ? "project" : "plugin",
153
+ };
154
+ const { artifacts, edits } = scaffoldComponent(spec);
155
+ for (const artifact of artifacts) {
156
+ const destination = path.join(root, artifact.path);
157
+ if (fs.existsSync(destination) && !opts.force && !opts.dryRun && !opts.check)
158
+ diagnostics.push(error("AB201", `Component already exists: ${artifact.path}`, "Pass --force to replace it, or choose another name."));
159
+ }
160
+ const planned = [...artifacts];
161
+ if (edits.length) {
162
+ const applied = applyManifestEdits(fs.readFileSync(manifestPath, "utf8"), edits);
163
+ if (applied.changed) {
164
+ planned.push({ path: "agent-bundle.yaml", content: applied.content, mode: 0o644 });
165
+ if (applied.reformatted)
166
+ diagnostics.push(diagnostic("AB203", "agent-bundle.yaml will be reformatted by the manifest edit", "exact", {
167
+ path: manifestPath,
168
+ remediation: "Incidental whitespace is normalized; comments and key order are kept.",
169
+ }));
170
+ }
171
+ }
172
+ const sorted = sortArtifacts(planned);
173
+ const plan = planFor(root, sorted, kindOf);
174
+ // `agent add` writes into an existing bundle, so it owns individual files
175
+ // rather than any directory — a managed root would delete their siblings.
176
+ finish("add", root, sorted, plan, diagnostics, opts, {
177
+ managedRoots: [],
178
+ looseFiles: sorted.map((artifact) => artifact.path),
179
+ });
180
+ }
181
+ //# sourceMappingURL=agent-scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-scaffold.js","sourceRoot":"","sources":["../../src/commands/agent-scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AgentOptions } from "./agent.js";
2
+ export type AgentSpecsOptions = Pick<AgentOptions, "target" | "format">;
3
+ /**
4
+ * Publishes the versioned target conformance profiles. This is the machine
5
+ * readable form of the compatibility information `agent compat` summarizes.
6
+ */
7
+ export declare function agentSpecsAction(opts: AgentSpecsOptions): Promise<void>;
@@ -0,0 +1,20 @@
1
+ import { TARGETS } from "../agent/types.js";
2
+ import { specsPayload } from "../agent/targets/index.js";
3
+ import { outputResult, resolveTargets } from "./agent.js";
4
+ /**
5
+ * Publishes the versioned target conformance profiles. This is the machine
6
+ * readable form of the compatibility information `agent compat` summarizes.
7
+ */
8
+ export async function agentSpecsAction(opts) {
9
+ const selected = resolveTargets(opts.target);
10
+ const targets = selected.length ? selected : [...TARGETS];
11
+ outputResult({
12
+ command: "specs",
13
+ ok: true,
14
+ targets,
15
+ artifacts: [],
16
+ diagnostics: [],
17
+ specs: specsPayload(targets),
18
+ }, opts);
19
+ }
20
+ //# sourceMappingURL=agent-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-specs.js","sourceRoot":"","sources":["../../src/commands/agent-specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI1D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IAC5D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;IAC1D,YAAY,CACV;QACE,OAAO,EAAE,OAAO;QAChB,EAAE,EAAE,IAAI;QACR,OAAO;QACP,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;KAC7B,EACD,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { AgentDiagnostic } from "../agent/types.js";
2
+ import type { AgentOptions } from "./agent.js";
3
+ export interface AgentTestOptions extends AgentOptions {
4
+ tests?: string;
5
+ case?: string[];
6
+ }
7
+ /**
8
+ * Test's own pass/fail rule.
9
+ *
10
+ * Like doctor, audit, import, upgrade, and package, this cannot use the shared
11
+ * `hasFindings`, which fails on any approximate mapping — every Codex bundle
12
+ * carries those, and they say nothing about whether an expectation held.
13
+ *
14
+ * Unlike audit it needs no per-code split: an unmet expectation is already an
15
+ * error, so severity alone separates "a test failed" from "the render was
16
+ * lossy". The one warning this command mints itself, `AB701`, is deliberately
17
+ * non-blocking by default and blocking under `--strict`, which is how CI asks
18
+ * "and there were tests, right?".
19
+ */
20
+ export declare function testHasFindings(diagnostics: AgentDiagnostic[], strict: boolean): boolean;
21
+ export declare function agentTestAction(source: string, opts: AgentTestOptions): Promise<void>;
@@ -0,0 +1,50 @@
1
+ import { loadBundle } from "../agent/parser.js";
2
+ import { runTests } from "../agent/test/index.js";
3
+ import { outputDecidedResult, profiles, resolveTargets } from "./agent.js";
4
+ /**
5
+ * Test's own pass/fail rule.
6
+ *
7
+ * Like doctor, audit, import, upgrade, and package, this cannot use the shared
8
+ * `hasFindings`, which fails on any approximate mapping — every Codex bundle
9
+ * carries those, and they say nothing about whether an expectation held.
10
+ *
11
+ * Unlike audit it needs no per-code split: an unmet expectation is already an
12
+ * error, so severity alone separates "a test failed" from "the render was
13
+ * lossy". The one warning this command mints itself, `AB701`, is deliberately
14
+ * non-blocking by default and blocking under `--strict`, which is how CI asks
15
+ * "and there were tests, right?".
16
+ */
17
+ export function testHasFindings(diagnostics, strict) {
18
+ return diagnostics.some((item) => item.severity === "error" || (strict && item.severity === "warning"));
19
+ }
20
+ export async function agentTestAction(source, opts) {
21
+ const targets = resolveTargets(opts.target);
22
+ const selectedProfiles = profiles(opts.profile);
23
+ const bundle = loadBundle(source);
24
+ const { report, diagnostics, forwarded } = runTests(bundle, {
25
+ tests: opts.tests,
26
+ targets,
27
+ profiles: selectedProfiles,
28
+ cases: opts.case ?? [],
29
+ });
30
+ // Bundle diagnostics lead, as in audit; `forwarded` already repeats them for
31
+ // every tree that rendered, and the same rule `renderBundle` applies decides
32
+ // the rest: an identical finding reached from two directions is one finding.
33
+ const unique = [
34
+ ...new Map([...bundle.diagnostics, ...forwarded, ...diagnostics].map((item) => [
35
+ JSON.stringify(item),
36
+ item,
37
+ ])).values(),
38
+ ];
39
+ outputDecidedResult({
40
+ command: "test",
41
+ ok: !testHasFindings(unique, Boolean(opts.strict)),
42
+ source: bundle.root,
43
+ targets,
44
+ profiles: selectedProfiles,
45
+ artifacts: [],
46
+ diagnostics: unique,
47
+ test: report,
48
+ }, opts);
49
+ }
50
+ //# sourceMappingURL=agent-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-test.js","sourceRoot":"","sources":["../../src/commands/agent-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO3E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,WAA8B,EAAE,MAAe;IAC7E,OAAO,WAAW,CAAC,IAAI,CACrB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAC/E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,IAAsB;IAC1E,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE;QAC1D,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;KACvB,CAAC,CAAC;IAEH,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,MAAM,GAAG;QACb,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAClE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,IAAI;SACL,CAAC,CACH,CAAC,MAAM,EAAE;KACX,CAAC;IAEF,mBAAmB,CACjB;QACE,OAAO,EAAE,MAAM;QACf,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,OAAO;QACP,QAAQ,EAAE,gBAAgB;QAC1B,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAM;KACS,EACvB,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { AgentOptions } from "./agent.js";
2
+ export interface AgentUninstallOptions extends AgentOptions {
3
+ scope?: string;
4
+ into?: string;
5
+ }
6
+ export declare function agentUninstallAction(name: string, opts: AgentUninstallOptions): Promise<void>;
@@ -0,0 +1,45 @@
1
+ import { commitUninstall, missingInstallDiagnostic, planUninstall, } from "../agent/install/index.js";
2
+ import { outputDecidedResult } from "./agent.js";
3
+ import { installHasFindings, requireInstallTarget } from "./agent-install.js";
4
+ export async function agentUninstallAction(name, opts) {
5
+ if (opts.check && opts.dryRun)
6
+ throw new Error("--check and --dry-run cannot be used together");
7
+ const target = requireInstallTarget(opts.target);
8
+ const plan = planUninstall(name, target, { scope: opts.scope, into: opts.into });
9
+ if (plan.missing && !opts.check)
10
+ plan.diagnostics.push(missingInstallDiagnostic(name, target, plan.destination));
11
+ const blocked = installHasFindings(plan.diagnostics, Boolean(opts.strict));
12
+ const stale = Boolean(opts.check && plan.manifest);
13
+ if (!opts.dryRun && !opts.check && !blocked)
14
+ commitUninstall(plan);
15
+ const entry = plan.manifest
16
+ ? {
17
+ name: plan.manifest.bundle.name,
18
+ version: plan.manifest.bundle.version,
19
+ target: plan.manifest.target,
20
+ profile: plan.manifest.profile,
21
+ scope: plan.manifest.scope,
22
+ layout: plan.manifest.layout,
23
+ mode: plan.manifest.mode,
24
+ destination: plan.destination,
25
+ registered: Boolean(plan.manifest.registration),
26
+ files: plan.manifest.files.length,
27
+ }
28
+ : null;
29
+ outputDecidedResult({
30
+ command: "uninstall",
31
+ ok: !blocked && !stale,
32
+ targets: [target],
33
+ ...(plan.manifest ? { profiles: [plan.manifest.profile] } : {}),
34
+ artifacts: (plan.manifest?.files ?? []).map((file) => ({
35
+ path: file.path,
36
+ bytes: 0,
37
+ mode: file.mode,
38
+ })),
39
+ diagnostics: plan.diagnostics,
40
+ install: { installs: entry ? [entry] : [] },
41
+ ...(opts.dryRun ? { dryRun: true } : {}),
42
+ ...(opts.check ? { check: true, stale } : {}),
43
+ }, opts);
44
+ }
45
+ //# sourceMappingURL=agent-uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-uninstall.js","sourceRoot":"","sources":["../../src/commands/agent-uninstall.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,aAAa,GACd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAO9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,IAA2B;IAE3B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;QAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;QAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAwB,IAAI,CAAC,QAAQ;QAC9C,CAAC,CAAC;YACE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;YAC/B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;YACrC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC1B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;SAClC;QACH,CAAC,CAAC,IAAI,CAAC;IACT,mBAAmB,CACjB;QACE,OAAO,EAAE,WAAW;QACpB,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK;QACtB,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,EACvB,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { AgentOptions } from "./agent.js";
2
+ export interface AgentUpgradeOptions extends AgentOptions {
3
+ toSchema?: string;
4
+ }
5
+ export declare function agentUpgradeAction(source: string, opts: AgentUpgradeOptions): Promise<void>;