@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,38 @@
1
+ import type { AgentDiagnostic, AgentProfile, AgentTarget, Artifact, NativeOverlay } from "./types.js";
2
+ import type { NativeOverlayDeclaration } from "./manifest.js";
3
+ /** File name of the optional plugin-manifest fragment inside an overlay root. */
4
+ export declare const OVERLAY_MANIFEST = "manifest.json";
5
+ /**
6
+ * Rejects an overlay path that would escape its target output root.
7
+ *
8
+ * `allFiles` already refuses symlinks that leave the directory it walks, so
9
+ * this is a second, purely lexical check. The invariant is promised at the
10
+ * output boundary, so it is enforced there rather than inferred from the
11
+ * filesystem walk.
12
+ */
13
+ export declare function safeOverlayOutputPath(relative: string): string | null;
14
+ /**
15
+ * Loads the declared native overlays for a bundle.
16
+ *
17
+ * Overlay content is deliberately **not** run through `processTargetBlocks` or
18
+ * `rewritePlaceholders`. It is already native and target-specific; rewriting it
19
+ * would be the exact "pretend it is portable" failure the overlay layer exists
20
+ * to avoid.
21
+ */
22
+ export declare function loadOverlays(root: string, declarations: NativeOverlayDeclaration[], manifestPath: string, diagnostics: AgentDiagnostic[]): NativeOverlay[];
23
+ /** The overlay artifacts for one target and output profile, in path order. */
24
+ export declare function overlayArtifacts(overlay: NativeOverlay | undefined, profile: AgentProfile): Artifact[];
25
+ /**
26
+ * Merges overlay artifacts into the portable set for one target and profile.
27
+ *
28
+ * Returns `portable` untouched when there is no overlay, so a bundle without
29
+ * one cannot be affected by this code path at all.
30
+ */
31
+ export declare function mergeOverlay(portable: Artifact[], overlay: Artifact[], onCollision: NativeOverlay["onCollision"], target: AgentTarget, profile: AgentProfile, diagnostics: AgentDiagnostic[]): Artifact[];
32
+ /**
33
+ * Merges an overlay manifest fragment over the generated plugin manifest.
34
+ *
35
+ * Applied to the object before the manifest artifact is built, so there is
36
+ * exactly one manifest artifact and no path collision to resolve.
37
+ */
38
+ export declare function applyOverlayManifest(generated: Record<string, unknown>, fragment: Record<string, unknown> | undefined, target: AgentTarget, diagnostics: AgentDiagnostic[]): Record<string, unknown>;
@@ -0,0 +1,223 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { diagnostic } from "./types.js";
4
+ import { profileFor } from "./targets/index.js";
5
+ const PROFILES = ["plugin", "project"];
6
+ /** File name of the optional plugin-manifest fragment inside an overlay root. */
7
+ export const OVERLAY_MANIFEST = "manifest.json";
8
+ /** Root-level files that document the overlay rather than contributing output. */
9
+ const IGNORED_AT_ROOT = new Set(["README.md", "readme.md"]);
10
+ function error(diagnostics, code, message, extra) {
11
+ diagnostics.push({
12
+ ...diagnostic(code, message, "unsupported", extra),
13
+ severity: "error",
14
+ });
15
+ }
16
+ /**
17
+ * Rejects an overlay path that would escape its target output root.
18
+ *
19
+ * `allFiles` already refuses symlinks that leave the directory it walks, so
20
+ * this is a second, purely lexical check. The invariant is promised at the
21
+ * output boundary, so it is enforced there rather than inferred from the
22
+ * filesystem walk.
23
+ */
24
+ export function safeOverlayOutputPath(relative) {
25
+ const normalized = relative.split(path.sep).join("/");
26
+ if (!normalized || normalized.startsWith("/") || /^[A-Za-z]:/.test(normalized))
27
+ return null;
28
+ if (normalized.includes("\\"))
29
+ return null;
30
+ if (normalized.split("/").some((segment) => segment === ".." || segment === "."))
31
+ return null;
32
+ return normalized;
33
+ }
34
+ function readOverlayFiles(directory) {
35
+ const files = [];
36
+ const visit = (current) => {
37
+ for (const entry of fs
38
+ .readdirSync(current, { withFileTypes: true })
39
+ .sort((a, b) => (a.name < b.name ? -1 : 1))) {
40
+ const full = path.join(current, entry.name);
41
+ // Refuse a symlink that leaves the overlay root before reading it.
42
+ if (entry.isSymbolicLink()) {
43
+ const real = fs.realpathSync(full);
44
+ const relative = path.relative(fs.realpathSync(directory), real);
45
+ if (relative.startsWith("..") || path.isAbsolute(relative))
46
+ throw new Error(`Overlay symlink escapes its root: ${full}`);
47
+ }
48
+ if (entry.isDirectory() || (entry.isSymbolicLink() && fs.statSync(full).isDirectory()))
49
+ visit(full);
50
+ else
51
+ files.push({
52
+ path: path.relative(directory, full),
53
+ content: fs.readFileSync(full),
54
+ mode: fs.statSync(full).mode & 0o777,
55
+ });
56
+ }
57
+ };
58
+ visit(directory);
59
+ return files;
60
+ }
61
+ /**
62
+ * Loads the declared native overlays for a bundle.
63
+ *
64
+ * Overlay content is deliberately **not** run through `processTargetBlocks` or
65
+ * `rewritePlaceholders`. It is already native and target-specific; rewriting it
66
+ * would be the exact "pretend it is portable" failure the overlay layer exists
67
+ * to avoid.
68
+ */
69
+ export function loadOverlays(root, declarations, manifestPath, diagnostics) {
70
+ const overlays = [];
71
+ for (const declaration of declarations) {
72
+ const target = declaration.target;
73
+ const overlayRoot = path.resolve(root, declaration.root);
74
+ const relative = path.relative(root, overlayRoot);
75
+ if (relative.startsWith("..") || path.isAbsolute(relative)) {
76
+ error(diagnostics, "AB183", `Native overlay root escapes the bundle: ${declaration.root}`, {
77
+ target,
78
+ path: manifestPath,
79
+ remediation: "Keep the overlay root inside the bundle.",
80
+ });
81
+ continue;
82
+ }
83
+ if (!fs.existsSync(overlayRoot) || !fs.statSync(overlayRoot).isDirectory())
84
+ continue;
85
+ const supported = profileFor(target).profiles;
86
+ const files = { plugin: [], project: [] };
87
+ let manifest;
88
+ for (const entry of fs
89
+ .readdirSync(overlayRoot, { withFileTypes: true })
90
+ .sort((a, b) => (a.name < b.name ? -1 : 1))) {
91
+ if (entry.isFile() && entry.name === OVERLAY_MANIFEST) {
92
+ try {
93
+ const parsed = JSON.parse(fs.readFileSync(path.join(overlayRoot, entry.name), "utf8"));
94
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
95
+ throw new Error("must be a JSON object");
96
+ manifest = parsed;
97
+ }
98
+ catch (cause) {
99
+ error(diagnostics, "AB182", `Native overlay manifest fragment is invalid: ${cause.message}`, { target, path: path.join(overlayRoot, entry.name) });
100
+ }
101
+ continue;
102
+ }
103
+ if (!entry.isDirectory()) {
104
+ // Documentation and VCS scaffolding at the overlay root are ignored
105
+ // rather than rejected — an overlay is a directory people maintain by
106
+ // hand, and `agent init` writes a README explaining the contract.
107
+ if (IGNORED_AT_ROOT.has(entry.name) || entry.name.startsWith("."))
108
+ continue;
109
+ // Anything else has no output profile to belong to. Reporting it beats
110
+ // silently dropping a file the author expected to be emitted.
111
+ error(diagnostics, "AB186", `Native overlay entry '${entry.name}' is not an output profile directory`, {
112
+ target,
113
+ path: path.join(overlayRoot, entry.name),
114
+ remediation: `Place it under ${PROFILES.join("/ or ")}/.`,
115
+ });
116
+ continue;
117
+ }
118
+ if (!PROFILES.includes(entry.name)) {
119
+ error(diagnostics, "AB186", `Native overlay directory '${entry.name}' is not an output profile`, {
120
+ target,
121
+ path: path.join(overlayRoot, entry.name),
122
+ remediation: `Use ${PROFILES.join(" or ")}.`,
123
+ });
124
+ continue;
125
+ }
126
+ const profile = entry.name;
127
+ if (!supported.includes(profile)) {
128
+ diagnostics.push(diagnostic("AB187", `Native overlay declares the '${profile}' profile, which ${target} does not support`, "unsupported", { target, profile, path: path.join(overlayRoot, entry.name) }));
129
+ continue;
130
+ }
131
+ for (const file of readOverlayFiles(path.join(overlayRoot, profile))) {
132
+ const output = safeOverlayOutputPath(file.path);
133
+ if (output === null) {
134
+ error(diagnostics, "AB183", `Native overlay path escapes the target root: ${file.path}`, {
135
+ target,
136
+ profile,
137
+ path: path.join(overlayRoot, profile, file.path),
138
+ });
139
+ continue;
140
+ }
141
+ files[profile].push({ ...file, path: output });
142
+ }
143
+ }
144
+ if (!files.plugin.length && !files.project.length && !manifest)
145
+ continue;
146
+ overlays.push({ target, root: overlayRoot, files, manifest, onCollision: "overlay-wins" });
147
+ }
148
+ return overlays;
149
+ }
150
+ /** The overlay artifacts for one target and output profile, in path order. */
151
+ export function overlayArtifacts(overlay, profile) {
152
+ if (!overlay)
153
+ return [];
154
+ return overlay.files[profile]
155
+ .map((file) => ({
156
+ path: file.path,
157
+ content: file.content,
158
+ mode: file.mode,
159
+ origin: "native",
160
+ }))
161
+ .sort((a, b) => (a.path < b.path ? -1 : 1));
162
+ }
163
+ /**
164
+ * Merges overlay artifacts into the portable set for one target and profile.
165
+ *
166
+ * Returns `portable` untouched when there is no overlay, so a bundle without
167
+ * one cannot be affected by this code path at all.
168
+ */
169
+ export function mergeOverlay(portable, overlay, onCollision, target, profile, diagnostics) {
170
+ if (!overlay.length)
171
+ return portable;
172
+ // Keyed by path rather than positional, so the result cannot depend on the
173
+ // order the two lists happen to arrive in.
174
+ const merged = new Map(portable.map((artifact) => [artifact.path, artifact]));
175
+ for (const artifact of overlay) {
176
+ if (!merged.has(artifact.path)) {
177
+ merged.set(artifact.path, artifact);
178
+ continue;
179
+ }
180
+ if (onCollision === "error") {
181
+ error(diagnostics, "AB181", `Native overlay collides with the portable artifact at '${artifact.path}'`, {
182
+ target,
183
+ profile,
184
+ path: artifact.path,
185
+ remediation: "Rename the overlay file, remove the portable component, or set onCollision: overlay-wins.",
186
+ });
187
+ continue;
188
+ }
189
+ diagnostics.push(diagnostic("AB181", `Native overlay replaces the portable artifact at '${artifact.path}'`, "approximate", {
190
+ target,
191
+ profile,
192
+ path: artifact.path,
193
+ remediation: "Remove the portable component if the override is permanent.",
194
+ }));
195
+ merged.set(artifact.path, artifact);
196
+ }
197
+ return [...merged.values()];
198
+ }
199
+ /**
200
+ * Merges an overlay manifest fragment over the generated plugin manifest.
201
+ *
202
+ * Applied to the object before the manifest artifact is built, so there is
203
+ * exactly one manifest artifact and no path collision to resolve.
204
+ */
205
+ export function applyOverlayManifest(generated, fragment, target, diagnostics) {
206
+ if (!fragment)
207
+ return generated;
208
+ if (profileFor(target).manifest.directory === null) {
209
+ error(diagnostics, "AB182", `${target} has no plugin manifest to merge an overlay into`, {
210
+ target,
211
+ profile: "plugin",
212
+ });
213
+ return generated;
214
+ }
215
+ const merged = { ...generated };
216
+ for (const [key, value] of Object.entries(fragment)) {
217
+ if (key in generated)
218
+ diagnostics.push(diagnostic("AB182", `Native overlay manifest overrides the generated '${key}' field`, "approximate", { target, profile: "plugin", remediation: "Remove the key to keep the generated value." }));
219
+ merged[key] = value;
220
+ }
221
+ return merged;
222
+ }
223
+ //# sourceMappingURL=overlays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlays.js","sourceRoot":"","sources":["../../src/agent/overlays.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import type { AgentBundle, AgentDiagnostic, AgentProfile, AgentTarget, Artifact } from "../types.js";
2
+ export declare const PACKAGE_REPORT = "package-report.json";
3
+ export declare const CHECKSUMS = "checksums.sha256";
4
+ export declare const SBOM = "sbom.json";
5
+ export type MarketplaceMode = "repo" | "local" | "none";
6
+ export interface PackageArchive {
7
+ target: AgentTarget;
8
+ profile: AgentProfile;
9
+ path: string;
10
+ sha256: string;
11
+ bytes: number;
12
+ }
13
+ export interface PackageReport {
14
+ catalogs: Array<{
15
+ target: AgentTarget;
16
+ profile: AgentProfile;
17
+ path: string;
18
+ }>;
19
+ archives: PackageArchive[];
20
+ checksums: string;
21
+ sbom: string;
22
+ checks: {
23
+ passed: number;
24
+ failed: number;
25
+ };
26
+ }
27
+ /**
28
+ * Reads image dimensions from a PNG or JPEG header.
29
+ *
30
+ * Header parsing only — pulling in an image library to answer "is this a PNG"
31
+ * would be a dependency for a validation nicety.
32
+ */
33
+ export declare function imageKind(content: Buffer): "png" | "jpeg" | "svg" | null;
34
+ export interface CatalogResult {
35
+ artifacts: Artifact[];
36
+ entries: PackageReport["catalogs"];
37
+ diagnostics: AgentDiagnostic[];
38
+ }
39
+ /**
40
+ * How a catalog covering more than one bundle differs from the single-bundle
41
+ * default. Every option is optional, so `agent package` passes none and gets
42
+ * byte-identical output to before this generalization.
43
+ */
44
+ export interface CatalogOptions {
45
+ /**
46
+ * Replaces the resolved document-level fields — a collection's `name`,
47
+ * `description`, and `owner` belong to the collection, not to whichever of
48
+ * its bundles happened to sort first. Entry fields are unaffected, so each
49
+ * bundle still supplies its own `author` from `marketplace.publisher`.
50
+ */
51
+ document?: Record<string, unknown>;
52
+ /** Entry `source` per bundle. Defaults to the package-relative `./<target>/<profile>`. */
53
+ sourceFor?: (bundle: AgentBundle, target: AgentTarget, profile: AgentProfile) => string;
54
+ /** Where the catalog document is written. Defaults to inside the payload, beside the manifest. */
55
+ catalogPathFor?: (target: AgentTarget, profile: AgentProfile, location: CatalogLocation) => string;
56
+ /**
57
+ * Name the offending bundle on `AB500` and `AB501`. A collection needs it to
58
+ * say which of its bundles is at fault; `agent package` leaves it off, as it
59
+ * always has, so its diagnostic bytes do not move.
60
+ */
61
+ attributeToBundle?: boolean;
62
+ }
63
+ type CatalogLocation = {
64
+ directory: string;
65
+ file: string;
66
+ };
67
+ /**
68
+ * Builds a marketplace catalog per selected target, covering every bundle given.
69
+ *
70
+ * Field names and requirements come from the target profile, so the packager
71
+ * itself contains no per-target branching and a catalog change is a data edit.
72
+ * `AB500` and `AB501` fire from here for every caller — `agent package` with one
73
+ * bundle, `agent marketplace` with a collection — so a consumer's suppression
74
+ * list means the same thing whichever command produced the catalog.
75
+ */
76
+ export declare function buildCatalogs(bundles: AgentBundle | AgentBundle[], targets: AgentTarget[], profiles: AgentProfile[], mode: MarketplaceMode, options?: CatalogOptions): CatalogResult;
77
+ /** Validates declared marketplace assets against the target's asset rules. */
78
+ export declare function checkAssets(bundle: AgentBundle, targets: AgentTarget[], payload: Artifact[]): AgentDiagnostic[];
79
+ /** Flags executable files outside the directories where a script belongs. */
80
+ export declare function checkExecutables(payload: Artifact[]): AgentDiagnostic[];
81
+ /** Flags paths that collide when the filesystem is case-insensitive. */
82
+ export declare function checkCaseCollisions(payload: Artifact[]): AgentDiagnostic[];
83
+ /** Notes MCP servers invoked through an unpinned package specifier. */
84
+ export declare function checkPinning(bundle: AgentBundle): AgentDiagnostic[];
85
+ /** `sha256sum -c` compatible, sorted by byte order for reproducibility. */
86
+ export declare function buildChecksums(payload: Artifact[]): Artifact;
87
+ /**
88
+ * Content-derived file type, as recorded in `sbom.json`. Exported because
89
+ * `agent audit --baseline` reads that `type` field back and must classify the
90
+ * current side by the same rule.
91
+ */
92
+ export declare function classify(artifact: Artifact): string;
93
+ /**
94
+ * A file inventory, deliberately not a CycloneDX claim.
95
+ *
96
+ * `bomFormat` and `specVersion` identify it as this tool's own format so a
97
+ * later `--sbom cyclonedx` can be added without changing what this one means.
98
+ */
99
+ export declare function buildSbom(bundle: AgentBundle, payload: Artifact[]): Artifact;
100
+ /** One deterministic archive per target and profile. */
101
+ export declare function buildArchives(bundle: AgentBundle, payload: Artifact[], targets: AgentTarget[], profiles: AgentProfile[]): {
102
+ artifacts: Artifact[];
103
+ archives: PackageArchive[];
104
+ };
105
+ export {};