autoremediator 0.21.2 → 0.22.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 (1141) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/a2a/agent-card.d.ts +89 -0
  4. package/dist/a2a/agent-card.d.ts.map +1 -0
  5. package/dist/a2a/agent-card.js +127 -0
  6. package/dist/a2a/agent-card.js.map +1 -0
  7. package/dist/a2a/index.d.ts +7 -0
  8. package/dist/a2a/index.d.ts.map +1 -0
  9. package/dist/a2a/index.js +4 -0
  10. package/dist/a2a/index.js.map +1 -0
  11. package/dist/a2a/server.d.ts +46 -0
  12. package/dist/a2a/server.d.ts.map +1 -0
  13. package/dist/a2a/server.js +312 -0
  14. package/dist/a2a/server.js.map +1 -0
  15. package/dist/a2a/sign.d.ts +28 -0
  16. package/dist/a2a/sign.d.ts.map +1 -0
  17. package/dist/a2a/sign.js +123 -0
  18. package/dist/a2a/sign.js.map +1 -0
  19. package/dist/a2a/task-store.d.ts +55 -0
  20. package/dist/a2a/task-store.d.ts.map +1 -0
  21. package/dist/a2a/task-store.js +90 -0
  22. package/dist/a2a/task-store.js.map +1 -0
  23. package/dist/api/assess/index.d.ts +45 -0
  24. package/dist/api/assess/index.d.ts.map +1 -0
  25. package/dist/api/assess/index.js +21 -0
  26. package/dist/api/assess/index.js.map +1 -0
  27. package/dist/api/autonomy/index.d.ts +65 -0
  28. package/dist/api/autonomy/index.d.ts.map +1 -0
  29. package/dist/api/autonomy/index.js +166 -0
  30. package/dist/api/autonomy/index.js.map +1 -0
  31. package/dist/api/bisect/changes.d.ts +20 -0
  32. package/dist/api/bisect/changes.d.ts.map +1 -0
  33. package/dist/api/bisect/changes.js +47 -0
  34. package/dist/api/bisect/changes.js.map +1 -0
  35. package/dist/api/bisect/ddmin.d.ts +33 -0
  36. package/dist/api/bisect/ddmin.d.ts.map +1 -0
  37. package/dist/api/bisect/ddmin.js +91 -0
  38. package/dist/api/bisect/ddmin.js.map +1 -0
  39. package/dist/api/bisect/index.d.ts +20 -0
  40. package/dist/api/bisect/index.d.ts.map +1 -0
  41. package/dist/api/bisect/index.js +463 -0
  42. package/dist/api/bisect/index.js.map +1 -0
  43. package/dist/api/bisect/pins.d.ts +40 -0
  44. package/dist/api/bisect/pins.d.ts.map +1 -0
  45. package/dist/api/bisect/pins.js +83 -0
  46. package/dist/api/bisect/pins.js.map +1 -0
  47. package/dist/api/bisect/remedy.d.ts +25 -0
  48. package/dist/api/bisect/remedy.d.ts.map +1 -0
  49. package/dist/api/bisect/remedy.js +116 -0
  50. package/dist/api/bisect/remedy.js.map +1 -0
  51. package/dist/api/bisect/shell.d.ts +41 -0
  52. package/dist/api/bisect/shell.d.ts.map +1 -0
  53. package/dist/api/bisect/shell.js +155 -0
  54. package/dist/api/bisect/shell.js.map +1 -0
  55. package/dist/api/bisect/types.d.ts +130 -0
  56. package/dist/api/bisect/types.d.ts.map +1 -0
  57. package/dist/api/bisect/types.js +2 -0
  58. package/dist/api/bisect/types.js.map +1 -0
  59. package/dist/api/change-request/branch.d.ts +13 -0
  60. package/dist/api/change-request/branch.d.ts.map +1 -0
  61. package/dist/api/change-request/branch.js +78 -0
  62. package/dist/api/change-request/branch.js.map +1 -0
  63. package/dist/api/change-request/hosts.d.ts +83 -0
  64. package/dist/api/change-request/hosts.d.ts.map +1 -0
  65. package/dist/api/change-request/hosts.js +292 -0
  66. package/dist/api/change-request/hosts.js.map +1 -0
  67. package/dist/api/change-request/index.d.ts +3 -1
  68. package/dist/api/change-request/index.d.ts.map +1 -1
  69. package/dist/api/change-request/index.js +302 -56
  70. package/dist/api/change-request/index.js.map +1 -1
  71. package/dist/api/diet/analyze.d.ts +8 -0
  72. package/dist/api/diet/analyze.d.ts.map +1 -0
  73. package/dist/api/diet/analyze.js +214 -0
  74. package/dist/api/diet/analyze.js.map +1 -0
  75. package/dist/api/diet/apply.d.ts +31 -0
  76. package/dist/api/diet/apply.d.ts.map +1 -0
  77. package/dist/api/diet/apply.js +175 -0
  78. package/dist/api/diet/apply.js.map +1 -0
  79. package/dist/api/diet/duplicates.d.ts +9 -0
  80. package/dist/api/diet/duplicates.d.ts.map +1 -0
  81. package/dist/api/diet/duplicates.js +125 -0
  82. package/dist/api/diet/duplicates.js.map +1 -0
  83. package/dist/api/diet/files.d.ts +30 -0
  84. package/dist/api/diet/files.d.ts.map +1 -0
  85. package/dist/api/diet/files.js +182 -0
  86. package/dist/api/diet/files.js.map +1 -0
  87. package/dist/api/diet/index.d.ts +4 -0
  88. package/dist/api/diet/index.d.ts.map +1 -0
  89. package/dist/api/diet/index.js +3 -0
  90. package/dist/api/diet/index.js.map +1 -0
  91. package/dist/api/diet/lockfile.d.ts +65 -0
  92. package/dist/api/diet/lockfile.d.ts.map +1 -0
  93. package/dist/api/diet/lockfile.js +329 -0
  94. package/dist/api/diet/lockfile.js.map +1 -0
  95. package/dist/api/diet/replaceable.d.ts +46 -0
  96. package/dist/api/diet/replaceable.d.ts.map +1 -0
  97. package/dist/api/diet/replaceable.js +115 -0
  98. package/dist/api/diet/replaceable.js.map +1 -0
  99. package/dist/api/diet/replaceable.json +168 -0
  100. package/dist/api/diet/scan.d.ts +43 -0
  101. package/dist/api/diet/scan.d.ts.map +1 -0
  102. package/dist/api/diet/scan.js +357 -0
  103. package/dist/api/diet/scan.js.map +1 -0
  104. package/dist/api/diet/surface.d.ts +32 -0
  105. package/dist/api/diet/surface.d.ts.map +1 -0
  106. package/dist/api/diet/surface.js +130 -0
  107. package/dist/api/diet/surface.js.map +1 -0
  108. package/dist/api/diet/types.d.ts +205 -0
  109. package/dist/api/diet/types.d.ts.map +1 -0
  110. package/dist/api/diet/types.js +2 -0
  111. package/dist/api/diet/types.js.map +1 -0
  112. package/dist/api/diet/unused.d.ts +73 -0
  113. package/dist/api/diet/unused.d.ts.map +1 -0
  114. package/dist/api/diet/unused.js +342 -0
  115. package/dist/api/diet/unused.js.map +1 -0
  116. package/dist/api/evidence-pack/attest.d.ts +43 -0
  117. package/dist/api/evidence-pack/attest.d.ts.map +1 -0
  118. package/dist/api/evidence-pack/attest.js +140 -0
  119. package/dist/api/evidence-pack/attest.js.map +1 -0
  120. package/dist/api/evidence-pack/components.d.ts +49 -0
  121. package/dist/api/evidence-pack/components.d.ts.map +1 -0
  122. package/dist/api/evidence-pack/components.js +278 -0
  123. package/dist/api/evidence-pack/components.js.map +1 -0
  124. package/dist/api/evidence-pack/cra.d.ts +54 -0
  125. package/dist/api/evidence-pack/cra.d.ts.map +1 -0
  126. package/dist/api/evidence-pack/cra.js +234 -0
  127. package/dist/api/evidence-pack/cra.js.map +1 -0
  128. package/dist/api/evidence-pack/dsse.d.ts +53 -0
  129. package/dist/api/evidence-pack/dsse.d.ts.map +1 -0
  130. package/dist/api/evidence-pack/dsse.js +132 -0
  131. package/dist/api/evidence-pack/dsse.js.map +1 -0
  132. package/dist/api/evidence-pack/findings.d.ts +57 -0
  133. package/dist/api/evidence-pack/findings.d.ts.map +1 -0
  134. package/dist/api/evidence-pack/findings.js +232 -0
  135. package/dist/api/evidence-pack/findings.js.map +1 -0
  136. package/dist/api/evidence-pack/index.d.ts +70 -0
  137. package/dist/api/evidence-pack/index.d.ts.map +1 -0
  138. package/dist/api/evidence-pack/index.js +482 -0
  139. package/dist/api/evidence-pack/index.js.map +1 -0
  140. package/dist/api/evidence-pack/readme.d.ts +5 -0
  141. package/dist/api/evidence-pack/readme.d.ts.map +1 -0
  142. package/dist/api/evidence-pack/readme.js +55 -0
  143. package/dist/api/evidence-pack/readme.js.map +1 -0
  144. package/dist/api/evidence-pack/sbom.d.ts +87 -0
  145. package/dist/api/evidence-pack/sbom.d.ts.map +1 -0
  146. package/dist/api/evidence-pack/sbom.js +221 -0
  147. package/dist/api/evidence-pack/sbom.js.map +1 -0
  148. package/dist/api/evidence-pack/types.d.ts +62 -0
  149. package/dist/api/evidence-pack/types.d.ts.map +1 -0
  150. package/dist/api/evidence-pack/types.js +2 -0
  151. package/dist/api/evidence-pack/types.js.map +1 -0
  152. package/dist/api/evidence-pack/vex.d.ts +114 -0
  153. package/dist/api/evidence-pack/vex.d.ts.map +1 -0
  154. package/dist/api/evidence-pack/vex.js +197 -0
  155. package/dist/api/evidence-pack/vex.js.map +1 -0
  156. package/dist/api/freshness/deps.d.ts +27 -0
  157. package/dist/api/freshness/deps.d.ts.map +1 -0
  158. package/dist/api/freshness/deps.js +60 -0
  159. package/dist/api/freshness/deps.js.map +1 -0
  160. package/dist/api/freshness/distance.d.ts +42 -0
  161. package/dist/api/freshness/distance.d.ts.map +1 -0
  162. package/dist/api/freshness/distance.js +86 -0
  163. package/dist/api/freshness/distance.js.map +1 -0
  164. package/dist/api/freshness/index.d.ts +12 -0
  165. package/dist/api/freshness/index.d.ts.map +1 -0
  166. package/dist/api/freshness/index.js +11 -0
  167. package/dist/api/freshness/index.js.map +1 -0
  168. package/dist/api/freshness/path.d.ts +29 -0
  169. package/dist/api/freshness/path.d.ts.map +1 -0
  170. package/dist/api/freshness/path.js +103 -0
  171. package/dist/api/freshness/path.js.map +1 -0
  172. package/dist/api/freshness/report.d.ts +55 -0
  173. package/dist/api/freshness/report.d.ts.map +1 -0
  174. package/dist/api/freshness/report.js +334 -0
  175. package/dist/api/freshness/report.js.map +1 -0
  176. package/dist/api/freshness/step.d.ts +47 -0
  177. package/dist/api/freshness/step.d.ts.map +1 -0
  178. package/dist/api/freshness/step.js +286 -0
  179. package/dist/api/freshness/step.js.map +1 -0
  180. package/dist/api/freshness/types.d.ts +192 -0
  181. package/dist/api/freshness/types.d.ts.map +1 -0
  182. package/dist/api/freshness/types.js +2 -0
  183. package/dist/api/freshness/types.js.map +1 -0
  184. package/dist/api/guard/checks.d.ts +31 -0
  185. package/dist/api/guard/checks.d.ts.map +1 -0
  186. package/dist/api/guard/checks.js +101 -0
  187. package/dist/api/guard/checks.js.map +1 -0
  188. package/dist/api/guard/diff.d.ts +46 -0
  189. package/dist/api/guard/diff.d.ts.map +1 -0
  190. package/dist/api/guard/diff.js +89 -0
  191. package/dist/api/guard/diff.js.map +1 -0
  192. package/dist/api/guard/hook.d.ts +59 -0
  193. package/dist/api/guard/hook.d.ts.map +1 -0
  194. package/dist/api/guard/hook.js +179 -0
  195. package/dist/api/guard/hook.js.map +1 -0
  196. package/dist/api/guard/index.d.ts +32 -0
  197. package/dist/api/guard/index.d.ts.map +1 -0
  198. package/dist/api/guard/index.js +199 -0
  199. package/dist/api/guard/index.js.map +1 -0
  200. package/dist/api/guard/popular.d.ts +7 -0
  201. package/dist/api/guard/popular.d.ts.map +1 -0
  202. package/dist/api/guard/popular.js +206 -0
  203. package/dist/api/guard/popular.js.map +1 -0
  204. package/dist/api/guard/spec.d.ts +22 -0
  205. package/dist/api/guard/spec.d.ts.map +1 -0
  206. package/dist/api/guard/spec.js +124 -0
  207. package/dist/api/guard/spec.js.map +1 -0
  208. package/dist/api/guard/types.d.ts +34 -0
  209. package/dist/api/guard/types.d.ts.map +1 -0
  210. package/dist/api/guard/types.js +2 -0
  211. package/dist/api/guard/types.js.map +1 -0
  212. package/dist/api/hooks/detect.d.ts +28 -0
  213. package/dist/api/hooks/detect.d.ts.map +1 -0
  214. package/dist/api/hooks/detect.js +112 -0
  215. package/dist/api/hooks/detect.js.map +1 -0
  216. package/dist/api/hooks/index.d.ts +14 -0
  217. package/dist/api/hooks/index.d.ts.map +1 -0
  218. package/dist/api/hooks/index.js +77 -0
  219. package/dist/api/hooks/index.js.map +1 -0
  220. package/dist/api/hooks/merge.d.ts +35 -0
  221. package/dist/api/hooks/merge.d.ts.map +1 -0
  222. package/dist/api/hooks/merge.js +345 -0
  223. package/dist/api/hooks/merge.js.map +1 -0
  224. package/dist/api/hooks/plan.d.ts +18 -0
  225. package/dist/api/hooks/plan.d.ts.map +1 -0
  226. package/dist/api/hooks/plan.js +270 -0
  227. package/dist/api/hooks/plan.js.map +1 -0
  228. package/dist/api/hooks/scripts.d.ts +18 -0
  229. package/dist/api/hooks/scripts.d.ts.map +1 -0
  230. package/dist/api/hooks/scripts.js +193 -0
  231. package/dist/api/hooks/scripts.js.map +1 -0
  232. package/dist/api/hooks/types.d.ts +85 -0
  233. package/dist/api/hooks/types.d.ts.map +1 -0
  234. package/dist/api/hooks/types.js +5 -0
  235. package/dist/api/hooks/types.js.map +1 -0
  236. package/dist/api/incident/ci-secrets.d.ts +76 -0
  237. package/dist/api/incident/ci-secrets.d.ts.map +1 -0
  238. package/dist/api/incident/ci-secrets.js +420 -0
  239. package/dist/api/incident/ci-secrets.js.map +1 -0
  240. package/dist/api/incident/history.d.ts +81 -0
  241. package/dist/api/incident/history.d.ts.map +1 -0
  242. package/dist/api/incident/history.js +379 -0
  243. package/dist/api/incident/history.js.map +1 -0
  244. package/dist/api/incident/index.d.ts +36 -0
  245. package/dist/api/incident/index.d.ts.map +1 -0
  246. package/dist/api/incident/index.js +165 -0
  247. package/dist/api/incident/index.js.map +1 -0
  248. package/dist/api/incident/markdown.d.ts +8 -0
  249. package/dist/api/incident/markdown.d.ts.map +1 -0
  250. package/dist/api/incident/markdown.js +208 -0
  251. package/dist/api/incident/markdown.js.map +1 -0
  252. package/dist/api/incident/project.d.ts +28 -0
  253. package/dist/api/incident/project.d.ts.map +1 -0
  254. package/dist/api/incident/project.js +111 -0
  255. package/dist/api/incident/project.js.map +1 -0
  256. package/dist/api/incident/rollback.d.ts +50 -0
  257. package/dist/api/incident/rollback.d.ts.map +1 -0
  258. package/dist/api/incident/rollback.js +132 -0
  259. package/dist/api/incident/rollback.js.map +1 -0
  260. package/dist/api/incident/target.d.ts +18 -0
  261. package/dist/api/incident/target.d.ts.map +1 -0
  262. package/dist/api/incident/target.js +110 -0
  263. package/dist/api/incident/target.js.map +1 -0
  264. package/dist/api/incident/text.d.ts +3 -0
  265. package/dist/api/incident/text.d.ts.map +1 -0
  266. package/dist/api/incident/text.js +13 -0
  267. package/dist/api/incident/text.js.map +1 -0
  268. package/dist/api/incident/types.d.ts +118 -0
  269. package/dist/api/incident/types.d.ts.map +1 -0
  270. package/dist/api/incident/types.js +2 -0
  271. package/dist/api/incident/types.js.map +1 -0
  272. package/dist/api/index.d.ts +30 -2
  273. package/dist/api/index.d.ts.map +1 -1
  274. package/dist/api/index.js +24 -1
  275. package/dist/api/index.js.map +1 -1
  276. package/dist/api/init/assets.d.ts +47 -0
  277. package/dist/api/init/assets.d.ts.map +1 -0
  278. package/dist/api/init/assets.js +195 -0
  279. package/dist/api/init/assets.js.map +1 -0
  280. package/dist/api/init/detect.d.ts +8 -0
  281. package/dist/api/init/detect.d.ts.map +1 -0
  282. package/dist/api/init/detect.js +136 -0
  283. package/dist/api/init/detect.js.map +1 -0
  284. package/dist/api/init/diff.d.ts +3 -0
  285. package/dist/api/init/diff.d.ts.map +1 -0
  286. package/dist/api/init/diff.js +40 -0
  287. package/dist/api/init/diff.js.map +1 -0
  288. package/dist/api/init/guard-assets.d.ts +37 -0
  289. package/dist/api/init/guard-assets.d.ts.map +1 -0
  290. package/dist/api/init/guard-assets.js +173 -0
  291. package/dist/api/init/guard-assets.js.map +1 -0
  292. package/dist/api/init/index.d.ts +13 -0
  293. package/dist/api/init/index.d.ts.map +1 -0
  294. package/dist/api/init/index.js +50 -0
  295. package/dist/api/init/index.js.map +1 -0
  296. package/dist/api/init/merge.d.ts +43 -0
  297. package/dist/api/init/merge.d.ts.map +1 -0
  298. package/dist/api/init/merge.js +303 -0
  299. package/dist/api/init/merge.js.map +1 -0
  300. package/dist/api/init/plan.d.ts +4 -0
  301. package/dist/api/init/plan.d.ts.map +1 -0
  302. package/dist/api/init/plan.js +168 -0
  303. package/dist/api/init/plan.js.map +1 -0
  304. package/dist/api/init/plugin-files.d.ts +3 -0
  305. package/dist/api/init/plugin-files.d.ts.map +1 -0
  306. package/dist/api/init/plugin-files.js +80 -0
  307. package/dist/api/init/plugin-files.js.map +1 -0
  308. package/dist/api/init/types.d.ts +72 -0
  309. package/dist/api/init/types.d.ts.map +1 -0
  310. package/dist/api/init/types.js +10 -0
  311. package/dist/api/init/types.js.map +1 -0
  312. package/dist/api/maintain/index.d.ts +21 -0
  313. package/dist/api/maintain/index.d.ts.map +1 -0
  314. package/dist/api/maintain/index.js +367 -0
  315. package/dist/api/maintain/index.js.map +1 -0
  316. package/dist/api/maintain/package-files.d.ts +37 -0
  317. package/dist/api/maintain/package-files.d.ts.map +1 -0
  318. package/dist/api/maintain/package-files.js +156 -0
  319. package/dist/api/maintain/package-files.js.map +1 -0
  320. package/dist/api/maintain/types.d.ts +87 -0
  321. package/dist/api/maintain/types.d.ts.map +1 -0
  322. package/dist/api/maintain/types.js +2 -0
  323. package/dist/api/maintain/types.js.map +1 -0
  324. package/dist/api/maintain/vex-file.d.ts +33 -0
  325. package/dist/api/maintain/vex-file.d.ts.map +1 -0
  326. package/dist/api/maintain/vex-file.js +95 -0
  327. package/dist/api/maintain/vex-file.js.map +1 -0
  328. package/dist/api/maintainer-vex/index.d.ts +57 -0
  329. package/dist/api/maintainer-vex/index.d.ts.map +1 -0
  330. package/dist/api/maintainer-vex/index.js +107 -0
  331. package/dist/api/maintainer-vex/index.js.map +1 -0
  332. package/dist/api/memory/index.d.ts +88 -0
  333. package/dist/api/memory/index.d.ts.map +1 -0
  334. package/dist/api/memory/index.js +89 -0
  335. package/dist/api/memory/index.js.map +1 -0
  336. package/dist/api/options-schema.d.ts +9 -61
  337. package/dist/api/options-schema.d.ts.map +1 -1
  338. package/dist/api/options-schema.js +21 -315
  339. package/dist/api/options-schema.js.map +1 -1
  340. package/dist/api/patches/reconcile.d.ts.map +1 -1
  341. package/dist/api/patches/reconcile.js +4 -1
  342. package/dist/api/patches/reconcile.js.map +1 -1
  343. package/dist/api/policy-nl/apply-patch.d.ts +23 -0
  344. package/dist/api/policy-nl/apply-patch.d.ts.map +1 -0
  345. package/dist/api/policy-nl/apply-patch.js +153 -0
  346. package/dist/api/policy-nl/apply-patch.js.map +1 -0
  347. package/dist/api/policy-nl/compile.d.ts +98 -0
  348. package/dist/api/policy-nl/compile.d.ts.map +1 -0
  349. package/dist/api/policy-nl/compile.js +308 -0
  350. package/dist/api/policy-nl/compile.js.map +1 -0
  351. package/dist/api/policy-nl/explain.d.ts +33 -0
  352. package/dist/api/policy-nl/explain.d.ts.map +1 -0
  353. package/dist/api/policy-nl/explain.js +137 -0
  354. package/dist/api/policy-nl/explain.js.map +1 -0
  355. package/dist/api/policy-nl/index.d.ts +6 -0
  356. package/dist/api/policy-nl/index.d.ts.map +1 -0
  357. package/dist/api/policy-nl/index.js +6 -0
  358. package/dist/api/policy-nl/index.js.map +1 -0
  359. package/dist/api/policy-nl/prompt.d.ts +16 -0
  360. package/dist/api/policy-nl/prompt.d.ts.map +1 -0
  361. package/dist/api/policy-nl/prompt.js +45 -0
  362. package/dist/api/policy-nl/prompt.js.map +1 -0
  363. package/dist/api/policy-nl/proposal.d.ts +438 -0
  364. package/dist/api/policy-nl/proposal.d.ts.map +1 -0
  365. package/dist/api/policy-nl/proposal.js +105 -0
  366. package/dist/api/policy-nl/proposal.js.map +1 -0
  367. package/dist/api/policy-nl/request-match.d.ts +20 -0
  368. package/dist/api/policy-nl/request-match.d.ts.map +1 -0
  369. package/dist/api/policy-nl/request-match.js +94 -0
  370. package/dist/api/policy-nl/request-match.js.map +1 -0
  371. package/dist/api/policy-nl/sanitize.d.ts +21 -0
  372. package/dist/api/policy-nl/sanitize.d.ts.map +1 -0
  373. package/dist/api/policy-nl/sanitize.js +65 -0
  374. package/dist/api/policy-nl/sanitize.js.map +1 -0
  375. package/dist/api/policy-nl/vocabulary.d.ts +9 -0
  376. package/dist/api/policy-nl/vocabulary.d.ts.map +1 -0
  377. package/dist/api/policy-nl/vocabulary.js +118 -0
  378. package/dist/api/policy-nl/vocabulary.js.map +1 -0
  379. package/dist/api/premortem/index.d.ts +16 -0
  380. package/dist/api/premortem/index.d.ts.map +1 -0
  381. package/dist/api/premortem/index.js +274 -0
  382. package/dist/api/premortem/index.js.map +1 -0
  383. package/dist/api/premortem/playbook.d.ts +8 -0
  384. package/dist/api/premortem/playbook.d.ts.map +1 -0
  385. package/dist/api/premortem/playbook.js +131 -0
  386. package/dist/api/premortem/playbook.js.map +1 -0
  387. package/dist/api/premortem/types.d.ts +75 -0
  388. package/dist/api/premortem/types.d.ts.map +1 -0
  389. package/dist/api/premortem/types.js +2 -0
  390. package/dist/api/premortem/types.js.map +1 -0
  391. package/dist/api/prove/advisory.d.ts +26 -0
  392. package/dist/api/prove/advisory.d.ts.map +1 -0
  393. package/dist/api/prove/advisory.js +81 -0
  394. package/dist/api/prove/advisory.js.map +1 -0
  395. package/dist/api/prove/agent.d.ts +9 -0
  396. package/dist/api/prove/agent.d.ts.map +1 -0
  397. package/dist/api/prove/agent.js +203 -0
  398. package/dist/api/prove/agent.js.map +1 -0
  399. package/dist/api/prove/evidence.d.ts +108 -0
  400. package/dist/api/prove/evidence.d.ts.map +1 -0
  401. package/dist/api/prove/evidence.js +176 -0
  402. package/dist/api/prove/evidence.js.map +1 -0
  403. package/dist/api/prove/harness.d.ts +27 -0
  404. package/dist/api/prove/harness.d.ts.map +1 -0
  405. package/dist/api/prove/harness.js +148 -0
  406. package/dist/api/prove/harness.js.map +1 -0
  407. package/dist/api/prove/index.d.ts +84 -0
  408. package/dist/api/prove/index.d.ts.map +1 -0
  409. package/dist/api/prove/index.js +289 -0
  410. package/dist/api/prove/index.js.map +1 -0
  411. package/dist/api/prove/install.d.ts +24 -0
  412. package/dist/api/prove/install.d.ts.map +1 -0
  413. package/dist/api/prove/install.js +150 -0
  414. package/dist/api/prove/install.js.map +1 -0
  415. package/dist/api/prove/sandbox.d.ts +48 -0
  416. package/dist/api/prove/sandbox.d.ts.map +1 -0
  417. package/dist/api/prove/sandbox.js +269 -0
  418. package/dist/api/prove/sandbox.js.map +1 -0
  419. package/dist/api/prove/screen.d.ts +17 -0
  420. package/dist/api/prove/screen.d.ts.map +1 -0
  421. package/dist/api/prove/screen.js +256 -0
  422. package/dist/api/prove/screen.js.map +1 -0
  423. package/dist/api/prove/types.d.ts +105 -0
  424. package/dist/api/prove/types.d.ts.map +1 -0
  425. package/dist/api/prove/types.js +2 -0
  426. package/dist/api/prove/types.js.map +1 -0
  427. package/dist/api/radar/deps.d.ts +7 -0
  428. package/dist/api/radar/deps.d.ts.map +1 -0
  429. package/dist/api/radar/deps.js +263 -0
  430. package/dist/api/radar/deps.js.map +1 -0
  431. package/dist/api/radar/index.d.ts +16 -0
  432. package/dist/api/radar/index.d.ts.map +1 -0
  433. package/dist/api/radar/index.js +429 -0
  434. package/dist/api/radar/index.js.map +1 -0
  435. package/dist/api/radar/render.d.ts +6 -0
  436. package/dist/api/radar/render.d.ts.map +1 -0
  437. package/dist/api/radar/render.js +51 -0
  438. package/dist/api/radar/render.js.map +1 -0
  439. package/dist/api/radar/types.d.ts +162 -0
  440. package/dist/api/radar/types.d.ts.map +1 -0
  441. package/dist/api/radar/types.js +2 -0
  442. package/dist/api/radar/types.js.map +1 -0
  443. package/dist/api/reachability/index.d.ts.map +1 -1
  444. package/dist/api/reachability/index.js +35 -1
  445. package/dist/api/reachability/index.js.map +1 -1
  446. package/dist/api/recipes/index.d.ts +93 -0
  447. package/dist/api/recipes/index.d.ts.map +1 -0
  448. package/dist/api/recipes/index.js +159 -0
  449. package/dist/api/recipes/index.js.map +1 -0
  450. package/dist/api/remediate/index.d.ts.map +1 -1
  451. package/dist/api/remediate/index.js +25 -1
  452. package/dist/api/remediate/index.js.map +1 -1
  453. package/dist/api/remediate.evidence.d.ts.map +1 -1
  454. package/dist/api/remediate.evidence.js +1 -0
  455. package/dist/api/remediate.evidence.js.map +1 -1
  456. package/dist/api/reporting.d.ts +21 -0
  457. package/dist/api/reporting.d.ts.map +1 -1
  458. package/dist/api/reporting.js +39 -1
  459. package/dist/api/reporting.js.map +1 -1
  460. package/dist/api/runs/attempts.d.ts +86 -0
  461. package/dist/api/runs/attempts.d.ts.map +1 -0
  462. package/dist/api/runs/attempts.js +378 -0
  463. package/dist/api/runs/attempts.js.map +1 -0
  464. package/dist/api/runs/autonomy-events.d.ts +41 -0
  465. package/dist/api/runs/autonomy-events.d.ts.map +1 -0
  466. package/dist/api/runs/autonomy-events.js +130 -0
  467. package/dist/api/runs/autonomy-events.js.map +1 -0
  468. package/dist/api/runs/deps.d.ts +23 -0
  469. package/dist/api/runs/deps.d.ts.map +1 -0
  470. package/dist/api/runs/deps.js +51 -0
  471. package/dist/api/runs/deps.js.map +1 -0
  472. package/dist/api/runs/index.d.ts +167 -0
  473. package/dist/api/runs/index.d.ts.map +1 -0
  474. package/dist/api/runs/index.js +601 -0
  475. package/dist/api/runs/index.js.map +1 -0
  476. package/dist/api/runs/memory-events.d.ts +19 -0
  477. package/dist/api/runs/memory-events.d.ts.map +1 -0
  478. package/dist/api/runs/memory-events.js +78 -0
  479. package/dist/api/runs/memory-events.js.map +1 -0
  480. package/dist/api/runs/recipes.d.ts +40 -0
  481. package/dist/api/runs/recipes.d.ts.map +1 -0
  482. package/dist/api/runs/recipes.js +110 -0
  483. package/dist/api/runs/recipes.js.map +1 -0
  484. package/dist/api/runs/repair.d.ts +73 -0
  485. package/dist/api/runs/repair.d.ts.map +1 -0
  486. package/dist/api/runs/repair.js +226 -0
  487. package/dist/api/runs/repair.js.map +1 -0
  488. package/dist/api/trace/index.d.ts +6 -0
  489. package/dist/api/trace/index.d.ts.map +1 -0
  490. package/dist/api/trace/index.js +5 -0
  491. package/dist/api/trace/index.js.map +1 -0
  492. package/dist/api/update-outdated/index.d.ts.map +1 -1
  493. package/dist/api/update-outdated/index.js +13 -1
  494. package/dist/api/update-outdated/index.js.map +1 -1
  495. package/dist/api/vex/index.d.ts +44 -1
  496. package/dist/api/vex/index.d.ts.map +1 -1
  497. package/dist/api/vex/index.js +131 -3
  498. package/dist/api/vex/index.js.map +1 -1
  499. package/dist/autonomy/compute.d.ts +117 -0
  500. package/dist/autonomy/compute.d.ts.map +1 -0
  501. package/dist/autonomy/compute.js +346 -0
  502. package/dist/autonomy/compute.js.map +1 -0
  503. package/dist/autonomy/record.d.ts +21 -0
  504. package/dist/autonomy/record.d.ts.map +1 -0
  505. package/dist/autonomy/record.js +228 -0
  506. package/dist/autonomy/record.js.map +1 -0
  507. package/dist/autonomy/types.d.ts +78 -0
  508. package/dist/autonomy/types.d.ts.map +1 -0
  509. package/dist/autonomy/types.js +59 -0
  510. package/dist/autonomy/types.js.map +1 -0
  511. package/dist/catalog/adapters/http.d.ts +27 -0
  512. package/dist/catalog/adapters/http.d.ts.map +1 -0
  513. package/dist/catalog/adapters/http.js +190 -0
  514. package/dist/catalog/adapters/http.js.map +1 -0
  515. package/dist/catalog/adapters/mcp.d.ts +53 -0
  516. package/dist/catalog/adapters/mcp.d.ts.map +1 -0
  517. package/dist/catalog/adapters/mcp.js +105 -0
  518. package/dist/catalog/adapters/mcp.js.map +1 -0
  519. package/dist/catalog/api-deps.d.ts +64 -0
  520. package/dist/catalog/api-deps.d.ts.map +1 -0
  521. package/dist/catalog/api-deps.js +60 -0
  522. package/dist/catalog/api-deps.js.map +1 -0
  523. package/dist/catalog/define-operation.d.ts +59 -0
  524. package/dist/catalog/define-operation.d.ts.map +1 -0
  525. package/dist/catalog/define-operation.js +9 -0
  526. package/dist/catalog/define-operation.js.map +1 -0
  527. package/dist/catalog/evidence-pack-operations.d.ts +3 -0
  528. package/dist/catalog/evidence-pack-operations.d.ts.map +1 -0
  529. package/dist/catalog/evidence-pack-operations.js +93 -0
  530. package/dist/catalog/evidence-pack-operations.js.map +1 -0
  531. package/dist/catalog/freshness-operations.d.ts +3 -0
  532. package/dist/catalog/freshness-operations.d.ts.map +1 -0
  533. package/dist/catalog/freshness-operations.js +91 -0
  534. package/dist/catalog/freshness-operations.js.map +1 -0
  535. package/dist/catalog/incident-operations.d.ts +3 -0
  536. package/dist/catalog/incident-operations.d.ts.map +1 -0
  537. package/dist/catalog/incident-operations.js +125 -0
  538. package/dist/catalog/incident-operations.js.map +1 -0
  539. package/dist/catalog/index.d.ts +12 -0
  540. package/dist/catalog/index.d.ts.map +1 -0
  541. package/dist/catalog/index.js +7 -0
  542. package/dist/catalog/index.js.map +1 -0
  543. package/dist/catalog/maintainer-vex-operations.d.ts +3 -0
  544. package/dist/catalog/maintainer-vex-operations.d.ts.map +1 -0
  545. package/dist/catalog/maintainer-vex-operations.js +107 -0
  546. package/dist/catalog/maintainer-vex-operations.js.map +1 -0
  547. package/dist/catalog/memory-operations.d.ts +3 -0
  548. package/dist/catalog/memory-operations.d.ts.map +1 -0
  549. package/dist/catalog/memory-operations.js +128 -0
  550. package/dist/catalog/memory-operations.js.map +1 -0
  551. package/dist/catalog/operations.d.ts +4 -0
  552. package/dist/catalog/operations.d.ts.map +1 -0
  553. package/dist/catalog/operations.js +797 -0
  554. package/dist/catalog/operations.js.map +1 -0
  555. package/dist/catalog/policy-operations.d.ts +3 -0
  556. package/dist/catalog/policy-operations.d.ts.map +1 -0
  557. package/dist/catalog/policy-operations.js +87 -0
  558. package/dist/catalog/policy-operations.js.map +1 -0
  559. package/dist/catalog/prove-operations.d.ts +3 -0
  560. package/dist/catalog/prove-operations.d.ts.map +1 -0
  561. package/dist/catalog/prove-operations.js +87 -0
  562. package/dist/catalog/prove-operations.js.map +1 -0
  563. package/dist/catalog/radar-operations.d.ts +3 -0
  564. package/dist/catalog/radar-operations.d.ts.map +1 -0
  565. package/dist/catalog/radar-operations.js +82 -0
  566. package/dist/catalog/radar-operations.js.map +1 -0
  567. package/dist/catalog/responses.d.ts +229 -0
  568. package/dist/catalog/responses.d.ts.map +1 -0
  569. package/dist/catalog/responses.js +313 -0
  570. package/dist/catalog/responses.js.map +1 -0
  571. package/dist/catalog/schema.d.ts +11 -0
  572. package/dist/catalog/schema.d.ts.map +1 -0
  573. package/dist/catalog/schema.js +13 -0
  574. package/dist/catalog/schema.js.map +1 -0
  575. package/dist/cli/autonomy.d.ts +11 -0
  576. package/dist/cli/autonomy.d.ts.map +1 -0
  577. package/dist/cli/autonomy.js +80 -0
  578. package/dist/cli/autonomy.js.map +1 -0
  579. package/dist/cli/bisect.d.ts +19 -0
  580. package/dist/cli/bisect.d.ts.map +1 -0
  581. package/dist/cli/bisect.js +109 -0
  582. package/dist/cli/bisect.js.map +1 -0
  583. package/dist/cli/errors.d.ts +8 -0
  584. package/dist/cli/errors.d.ts.map +1 -0
  585. package/dist/cli/errors.js +23 -0
  586. package/dist/cli/errors.js.map +1 -0
  587. package/dist/cli/evidence-pack-commands.d.ts +21 -0
  588. package/dist/cli/evidence-pack-commands.d.ts.map +1 -0
  589. package/dist/cli/evidence-pack-commands.js +109 -0
  590. package/dist/cli/evidence-pack-commands.js.map +1 -0
  591. package/dist/cli/freshness-commands.d.ts +31 -0
  592. package/dist/cli/freshness-commands.d.ts.map +1 -0
  593. package/dist/cli/freshness-commands.js +241 -0
  594. package/dist/cli/freshness-commands.js.map +1 -0
  595. package/dist/cli/incident-commands.d.ts +29 -0
  596. package/dist/cli/incident-commands.d.ts.map +1 -0
  597. package/dist/cli/incident-commands.js +131 -0
  598. package/dist/cli/incident-commands.js.map +1 -0
  599. package/dist/cli/index.d.ts.map +1 -1
  600. package/dist/cli/index.js +4 -3
  601. package/dist/cli/index.js.map +1 -1
  602. package/dist/cli/maintain-commands.d.ts +22 -0
  603. package/dist/cli/maintain-commands.d.ts.map +1 -0
  604. package/dist/cli/maintain-commands.js +161 -0
  605. package/dist/cli/maintain-commands.js.map +1 -0
  606. package/dist/cli/memory-commands.d.ts +23 -0
  607. package/dist/cli/memory-commands.d.ts.map +1 -0
  608. package/dist/cli/memory-commands.js +172 -0
  609. package/dist/cli/memory-commands.js.map +1 -0
  610. package/dist/cli/policy-commands.d.ts +29 -0
  611. package/dist/cli/policy-commands.d.ts.map +1 -0
  612. package/dist/cli/policy-commands.js +138 -0
  613. package/dist/cli/policy-commands.js.map +1 -0
  614. package/dist/cli/program.d.ts.map +1 -1
  615. package/dist/cli/program.js +254 -2
  616. package/dist/cli/program.js.map +1 -1
  617. package/dist/cli/prove-commands.d.ts +22 -0
  618. package/dist/cli/prove-commands.d.ts.map +1 -0
  619. package/dist/cli/prove-commands.js +65 -0
  620. package/dist/cli/prove-commands.js.map +1 -0
  621. package/dist/cli/radar-commands.d.ts +20 -0
  622. package/dist/cli/radar-commands.d.ts.map +1 -0
  623. package/dist/cli/radar-commands.js +60 -0
  624. package/dist/cli/radar-commands.js.map +1 -0
  625. package/dist/cli/recipes.d.ts +3 -0
  626. package/dist/cli/recipes.d.ts.map +1 -0
  627. package/dist/cli/recipes.js +124 -0
  628. package/dist/cli/recipes.js.map +1 -0
  629. package/dist/cli/runners.d.ts +95 -1
  630. package/dist/cli/runners.d.ts.map +1 -1
  631. package/dist/cli/runners.js +586 -157
  632. package/dist/cli/runners.js.map +1 -1
  633. package/dist/cli/trace.d.ts +12 -0
  634. package/dist/cli/trace.d.ts.map +1 -0
  635. package/dist/cli/trace.js +79 -0
  636. package/dist/cli/trace.js.map +1 -0
  637. package/dist/cli/types.d.ts +4 -2
  638. package/dist/cli/types.d.ts.map +1 -1
  639. package/dist/cli/types.js.map +1 -1
  640. package/dist/cli/validators.d.ts.map +1 -1
  641. package/dist/cli/validators.js +5 -0
  642. package/dist/cli/validators.js.map +1 -1
  643. package/dist/intelligence/sources/cisa-kev.d.ts +6 -0
  644. package/dist/intelligence/sources/cisa-kev.d.ts.map +1 -1
  645. package/dist/intelligence/sources/cisa-kev.js +27 -3
  646. package/dist/intelligence/sources/cisa-kev.js.map +1 -1
  647. package/dist/intelligence/sources/registry.d.ts +55 -6
  648. package/dist/intelligence/sources/registry.d.ts.map +1 -1
  649. package/dist/intelligence/sources/registry.js +182 -61
  650. package/dist/intelligence/sources/registry.js.map +1 -1
  651. package/dist/mcp/http.d.ts +23 -0
  652. package/dist/mcp/http.d.ts.map +1 -0
  653. package/dist/mcp/http.js +102 -0
  654. package/dist/mcp/http.js.map +1 -0
  655. package/dist/mcp/prompts.d.ts +25 -0
  656. package/dist/mcp/prompts.d.ts.map +1 -0
  657. package/dist/mcp/prompts.js +89 -0
  658. package/dist/mcp/prompts.js.map +1 -0
  659. package/dist/mcp/resources.d.ts +58 -0
  660. package/dist/mcp/resources.d.ts.map +1 -0
  661. package/dist/mcp/resources.js +131 -0
  662. package/dist/mcp/resources.js.map +1 -0
  663. package/dist/mcp/server.d.ts +19 -350
  664. package/dist/mcp/server.d.ts.map +1 -1
  665. package/dist/mcp/server.js +72 -423
  666. package/dist/mcp/server.js.map +1 -1
  667. package/dist/openapi/handlers/index.d.ts.map +1 -1
  668. package/dist/openapi/handlers/index.js +42 -35
  669. package/dist/openapi/handlers/index.js.map +1 -1
  670. package/dist/openapi/handlers/run-operation.d.ts +9 -0
  671. package/dist/openapi/handlers/run-operation.d.ts.map +1 -0
  672. package/dist/openapi/handlers/run-operation.js +46 -0
  673. package/dist/openapi/handlers/run-operation.js.map +1 -0
  674. package/dist/openapi/handlers/validators.d.ts +2 -3
  675. package/dist/openapi/handlers/validators.d.ts.map +1 -1
  676. package/dist/openapi/handlers/validators.js +1 -21
  677. package/dist/openapi/handlers/validators.js.map +1 -1
  678. package/dist/openapi/http-utils.d.ts +1 -14
  679. package/dist/openapi/http-utils.d.ts.map +1 -1
  680. package/dist/openapi/http-utils.js +1 -82
  681. package/dist/openapi/http-utils.js.map +1 -1
  682. package/dist/openapi/rbac.d.ts +1 -21
  683. package/dist/openapi/rbac.d.ts.map +1 -1
  684. package/dist/openapi/rbac.js +9 -135
  685. package/dist/openapi/rbac.js.map +1 -1
  686. package/dist/openapi/server.d.ts +7 -16
  687. package/dist/openapi/server.d.ts.map +1 -1
  688. package/dist/openapi/server.js +2 -16
  689. package/dist/openapi/server.js.map +1 -1
  690. package/dist/openapi/spec/index.d.ts +10 -1012
  691. package/dist/openapi/spec/index.d.ts.map +1 -1
  692. package/dist/openapi/spec/index.js +36 -2
  693. package/dist/openapi/spec/index.js.map +1 -1
  694. package/dist/platform/cooldown.d.ts +15 -0
  695. package/dist/platform/cooldown.d.ts.map +1 -0
  696. package/dist/platform/cooldown.js +136 -0
  697. package/dist/platform/cooldown.js.map +1 -0
  698. package/dist/platform/freshness-policy.d.ts +25 -0
  699. package/dist/platform/freshness-policy.d.ts.map +1 -0
  700. package/dist/platform/freshness-policy.js +25 -0
  701. package/dist/platform/freshness-policy.js.map +1 -0
  702. package/dist/platform/git-ref.d.ts +8 -0
  703. package/dist/platform/git-ref.d.ts.map +1 -0
  704. package/dist/platform/git-ref.js +35 -0
  705. package/dist/platform/git-ref.js.map +1 -0
  706. package/dist/platform/http-auth.d.ts +42 -0
  707. package/dist/platform/http-auth.d.ts.map +1 -0
  708. package/dist/platform/http-auth.js +151 -0
  709. package/dist/platform/http-auth.js.map +1 -0
  710. package/dist/platform/http-security.d.ts +25 -0
  711. package/dist/platform/http-security.d.ts.map +1 -0
  712. package/dist/platform/http-security.js +102 -0
  713. package/dist/platform/http-security.js.map +1 -0
  714. package/dist/platform/maintainer-vex/find.d.ts +25 -0
  715. package/dist/platform/maintainer-vex/find.d.ts.map +1 -0
  716. package/dist/platform/maintainer-vex/find.js +109 -0
  717. package/dist/platform/maintainer-vex/find.js.map +1 -0
  718. package/dist/platform/maintainer-vex/index.d.ts +5 -0
  719. package/dist/platform/maintainer-vex/index.d.ts.map +1 -0
  720. package/dist/platform/maintainer-vex/index.js +5 -0
  721. package/dist/platform/maintainer-vex/index.js.map +1 -0
  722. package/dist/platform/maintainer-vex/openvex.d.ts +91 -0
  723. package/dist/platform/maintainer-vex/openvex.d.ts.map +1 -0
  724. package/dist/platform/maintainer-vex/openvex.js +154 -0
  725. package/dist/platform/maintainer-vex/openvex.js.map +1 -0
  726. package/dist/platform/maintainer-vex/purl.d.ts +16 -0
  727. package/dist/platform/maintainer-vex/purl.d.ts.map +1 -0
  728. package/dist/platform/maintainer-vex/purl.js +46 -0
  729. package/dist/platform/maintainer-vex/purl.js.map +1 -0
  730. package/dist/platform/maintainer-vex/read.d.ts +78 -0
  731. package/dist/platform/maintainer-vex/read.d.ts.map +1 -0
  732. package/dist/platform/maintainer-vex/read.js +276 -0
  733. package/dist/platform/maintainer-vex/read.js.map +1 -0
  734. package/dist/platform/memory/consume.d.ts +35 -0
  735. package/dist/platform/memory/consume.d.ts.map +1 -0
  736. package/dist/platform/memory/consume.js +130 -0
  737. package/dist/platform/memory/consume.js.map +1 -0
  738. package/dist/platform/memory/entries.d.ts +119 -0
  739. package/dist/platform/memory/entries.d.ts.map +1 -0
  740. package/dist/platform/memory/entries.js +306 -0
  741. package/dist/platform/memory/entries.js.map +1 -0
  742. package/dist/platform/memory/format.d.ts +83 -0
  743. package/dist/platform/memory/format.d.ts.map +1 -0
  744. package/dist/platform/memory/format.js +285 -0
  745. package/dist/platform/memory/format.js.map +1 -0
  746. package/dist/platform/memory/index.d.ts +7 -0
  747. package/dist/platform/memory/index.d.ts.map +1 -0
  748. package/dist/platform/memory/index.js +7 -0
  749. package/dist/platform/memory/index.js.map +1 -0
  750. package/dist/platform/memory/path.d.ts +7 -0
  751. package/dist/platform/memory/path.d.ts.map +1 -0
  752. package/dist/platform/memory/path.js +7 -0
  753. package/dist/platform/memory/path.js.map +1 -0
  754. package/dist/platform/memory/propose.d.ts +30 -0
  755. package/dist/platform/memory/propose.d.ts.map +1 -0
  756. package/dist/platform/memory/propose.js +71 -0
  757. package/dist/platform/memory/propose.js.map +1 -0
  758. package/dist/platform/memory/store.d.ts +64 -0
  759. package/dist/platform/memory/store.d.ts.map +1 -0
  760. package/dist/platform/memory/store.js +206 -0
  761. package/dist/platform/memory/store.js.map +1 -0
  762. package/dist/platform/option-schemas.d.ts +1225 -0
  763. package/dist/platform/option-schemas.d.ts.map +1 -0
  764. package/dist/platform/option-schemas.js +484 -0
  765. package/dist/platform/option-schemas.js.map +1 -0
  766. package/dist/platform/package-manager/index.d.ts +11 -2
  767. package/dist/platform/package-manager/index.d.ts.map +1 -1
  768. package/dist/platform/package-manager/index.js +24 -1
  769. package/dist/platform/package-manager/index.js.map +1 -1
  770. package/dist/platform/package-manager/list-parser.d.ts +4 -2
  771. package/dist/platform/package-manager/list-parser.d.ts.map +1 -1
  772. package/dist/platform/package-manager/list-parser.js +13 -4
  773. package/dist/platform/package-manager/list-parser.js.map +1 -1
  774. package/dist/platform/package-name.d.ts +11 -0
  775. package/dist/platform/package-name.d.ts.map +1 -0
  776. package/dist/platform/package-name.js +18 -0
  777. package/dist/platform/package-name.js.map +1 -0
  778. package/dist/platform/path-guard.d.ts +29 -0
  779. package/dist/platform/path-guard.d.ts.map +1 -0
  780. package/dist/platform/path-guard.js +113 -0
  781. package/dist/platform/path-guard.js.map +1 -0
  782. package/dist/platform/policy-loosening.d.ts +31 -0
  783. package/dist/platform/policy-loosening.d.ts.map +1 -0
  784. package/dist/platform/policy-loosening.js +371 -0
  785. package/dist/platform/policy-loosening.js.map +1 -0
  786. package/dist/platform/policy.d.ts +248 -1
  787. package/dist/platform/policy.d.ts.map +1 -1
  788. package/dist/platform/policy.js +23 -51
  789. package/dist/platform/policy.js.map +1 -1
  790. package/dist/platform/redact.d.ts +7 -0
  791. package/dist/platform/redact.d.ts.map +1 -0
  792. package/dist/platform/redact.js +11 -0
  793. package/dist/platform/redact.js.map +1 -0
  794. package/dist/platform/registry-config.d.ts +27 -0
  795. package/dist/platform/registry-config.d.ts.map +1 -0
  796. package/dist/platform/registry-config.js +175 -0
  797. package/dist/platform/registry-config.js.map +1 -0
  798. package/dist/platform/repair-agent.d.ts +84 -0
  799. package/dist/platform/repair-agent.d.ts.map +1 -0
  800. package/dist/platform/repair-agent.js +7 -0
  801. package/dist/platform/repair-agent.js.map +1 -0
  802. package/dist/platform/rollback.d.ts.map +1 -1
  803. package/dist/platform/rollback.js +12 -0
  804. package/dist/platform/rollback.js.map +1 -1
  805. package/dist/platform/supply-chain.d.ts +2 -1
  806. package/dist/platform/supply-chain.d.ts.map +1 -1
  807. package/dist/platform/supply-chain.js +10 -4
  808. package/dist/platform/supply-chain.js.map +1 -1
  809. package/dist/platform/track-record-path.d.ts +8 -0
  810. package/dist/platform/track-record-path.d.ts.map +1 -0
  811. package/dist/platform/track-record-path.js +8 -0
  812. package/dist/platform/track-record-path.js.map +1 -0
  813. package/dist/platform/types.d.ts +97 -4
  814. package/dist/platform/types.d.ts.map +1 -1
  815. package/dist/platform/types.js +6 -1
  816. package/dist/platform/types.js.map +1 -1
  817. package/dist/recipes/capture.d.ts +36 -0
  818. package/dist/recipes/capture.d.ts.map +1 -0
  819. package/dist/recipes/capture.js +153 -0
  820. package/dist/recipes/capture.js.map +1 -0
  821. package/dist/recipes/discover.d.ts +42 -0
  822. package/dist/recipes/discover.d.ts.map +1 -0
  823. package/dist/recipes/discover.js +152 -0
  824. package/dist/recipes/discover.js.map +1 -0
  825. package/dist/recipes/engine.d.ts +38 -0
  826. package/dist/recipes/engine.d.ts.map +1 -0
  827. package/dist/recipes/engine.js +174 -0
  828. package/dist/recipes/engine.js.map +1 -0
  829. package/dist/recipes/schema.d.ts +53 -0
  830. package/dist/recipes/schema.d.ts.map +1 -0
  831. package/dist/recipes/schema.js +126 -0
  832. package/dist/recipes/schema.js.map +1 -0
  833. package/dist/recipes/store.d.ts +33 -0
  834. package/dist/recipes/store.d.ts.map +1 -0
  835. package/dist/recipes/store.js +114 -0
  836. package/dist/recipes/store.js.map +1 -0
  837. package/dist/remediation/evaluate-package.d.ts.map +1 -1
  838. package/dist/remediation/evaluate-package.js +4 -2
  839. package/dist/remediation/evaluate-package.js.map +1 -1
  840. package/dist/remediation/impact/api-diff.d.ts +51 -0
  841. package/dist/remediation/impact/api-diff.d.ts.map +1 -0
  842. package/dist/remediation/impact/api-diff.js +374 -0
  843. package/dist/remediation/impact/api-diff.js.map +1 -0
  844. package/dist/remediation/impact/assess.d.ts +51 -0
  845. package/dist/remediation/impact/assess.d.ts.map +1 -0
  846. package/dist/remediation/impact/assess.js +118 -0
  847. package/dist/remediation/impact/assess.js.map +1 -0
  848. package/dist/remediation/impact/ast.d.ts +37 -0
  849. package/dist/remediation/impact/ast.d.ts.map +1 -0
  850. package/dist/remediation/impact/ast.js +201 -0
  851. package/dist/remediation/impact/ast.js.map +1 -0
  852. package/dist/remediation/impact/dts-surface.d.ts +48 -0
  853. package/dist/remediation/impact/dts-surface.d.ts.map +1 -0
  854. package/dist/remediation/impact/dts-surface.js +658 -0
  855. package/dist/remediation/impact/dts-surface.js.map +1 -0
  856. package/dist/remediation/impact/fix-diff.d.ts +84 -0
  857. package/dist/remediation/impact/fix-diff.d.ts.map +1 -0
  858. package/dist/remediation/impact/fix-diff.js +493 -0
  859. package/dist/remediation/impact/fix-diff.js.map +1 -0
  860. package/dist/remediation/impact/impact.d.ts +96 -0
  861. package/dist/remediation/impact/impact.d.ts.map +1 -0
  862. package/dist/remediation/impact/impact.js +404 -0
  863. package/dist/remediation/impact/impact.js.map +1 -0
  864. package/dist/remediation/impact/js-exports.d.ts +63 -0
  865. package/dist/remediation/impact/js-exports.d.ts.map +1 -0
  866. package/dist/remediation/impact/js-exports.js +546 -0
  867. package/dist/remediation/impact/js-exports.js.map +1 -0
  868. package/dist/remediation/impact/manifest-diff.d.ts +23 -0
  869. package/dist/remediation/impact/manifest-diff.d.ts.map +1 -0
  870. package/dist/remediation/impact/manifest-diff.js +223 -0
  871. package/dist/remediation/impact/manifest-diff.js.map +1 -0
  872. package/dist/remediation/impact/package-index.d.ts +37 -0
  873. package/dist/remediation/impact/package-index.d.ts.map +1 -0
  874. package/dist/remediation/impact/package-index.js +313 -0
  875. package/dist/remediation/impact/package-index.js.map +1 -0
  876. package/dist/remediation/impact/tarball.d.ts +43 -0
  877. package/dist/remediation/impact/tarball.d.ts.map +1 -0
  878. package/dist/remediation/impact/tarball.js +216 -0
  879. package/dist/remediation/impact/tarball.js.map +1 -0
  880. package/dist/remediation/impact/types.d.ts +42 -0
  881. package/dist/remediation/impact/types.d.ts.map +1 -0
  882. package/dist/remediation/impact/types.js +3 -0
  883. package/dist/remediation/impact/types.js.map +1 -0
  884. package/dist/remediation/impact/usage-index.d.ts +28 -0
  885. package/dist/remediation/impact/usage-index.d.ts.map +1 -0
  886. package/dist/remediation/impact/usage-index.js +406 -0
  887. package/dist/remediation/impact/usage-index.js.map +1 -0
  888. package/dist/remediation/local/fallback.d.ts.map +1 -1
  889. package/dist/remediation/local/fallback.js +1 -0
  890. package/dist/remediation/local/fallback.js.map +1 -1
  891. package/dist/remediation/local/options.d.ts +3 -0
  892. package/dist/remediation/local/options.d.ts.map +1 -1
  893. package/dist/remediation/local/options.js +2 -0
  894. package/dist/remediation/local/options.js.map +1 -1
  895. package/dist/remediation/local/primary-strategy.d.ts +4 -0
  896. package/dist/remediation/local/primary-strategy.d.ts.map +1 -1
  897. package/dist/remediation/local/primary-strategy.js +61 -17
  898. package/dist/remediation/local/primary-strategy.js.map +1 -1
  899. package/dist/remediation/local/run.d.ts.map +1 -1
  900. package/dist/remediation/local/run.js +85 -6
  901. package/dist/remediation/local/run.js.map +1 -1
  902. package/dist/remediation/local/sbom.d.ts +3 -1
  903. package/dist/remediation/local/sbom.d.ts.map +1 -1
  904. package/dist/remediation/local/sbom.js +15 -9
  905. package/dist/remediation/local/sbom.js.map +1 -1
  906. package/dist/remediation/local/secops-preflight.d.ts +2 -1
  907. package/dist/remediation/local/secops-preflight.d.ts.map +1 -1
  908. package/dist/remediation/local/secops-preflight.js +1 -0
  909. package/dist/remediation/local/secops-preflight.js.map +1 -1
  910. package/dist/remediation/local/select-target.d.ts +53 -0
  911. package/dist/remediation/local/select-target.d.ts.map +1 -0
  912. package/dist/remediation/local/select-target.js +74 -0
  913. package/dist/remediation/local/select-target.js.map +1 -0
  914. package/dist/remediation/patch/llm-generator.d.ts.map +1 -1
  915. package/dist/remediation/patch/llm-generator.js +4 -4
  916. package/dist/remediation/patch/llm-generator.js.map +1 -1
  917. package/dist/remediation/radar/changelog.d.ts +38 -0
  918. package/dist/remediation/radar/changelog.d.ts.map +1 -0
  919. package/dist/remediation/radar/changelog.js +311 -0
  920. package/dist/remediation/radar/changelog.js.map +1 -0
  921. package/dist/remediation/radar/code-diff.d.ts +30 -0
  922. package/dist/remediation/radar/code-diff.d.ts.map +1 -0
  923. package/dist/remediation/radar/code-diff.js +512 -0
  924. package/dist/remediation/radar/code-diff.js.map +1 -0
  925. package/dist/remediation/radar/metadata.d.ts +14 -0
  926. package/dist/remediation/radar/metadata.d.ts.map +1 -0
  927. package/dist/remediation/radar/metadata.js +105 -0
  928. package/dist/remediation/radar/metadata.js.map +1 -0
  929. package/dist/remediation/radar/model.d.ts +40 -0
  930. package/dist/remediation/radar/model.d.ts.map +1 -0
  931. package/dist/remediation/radar/model.js +74 -0
  932. package/dist/remediation/radar/model.js.map +1 -0
  933. package/dist/remediation/radar/sanitize.d.ts +15 -0
  934. package/dist/remediation/radar/sanitize.d.ts.map +1 -0
  935. package/dist/remediation/radar/sanitize.js +47 -0
  936. package/dist/remediation/radar/sanitize.js.map +1 -0
  937. package/dist/remediation/radar/score.d.ts +12 -0
  938. package/dist/remediation/radar/score.d.ts.map +1 -0
  939. package/dist/remediation/radar/score.js +27 -0
  940. package/dist/remediation/radar/score.js.map +1 -0
  941. package/dist/remediation/radar/types.d.ts +74 -0
  942. package/dist/remediation/radar/types.d.ts.map +1 -0
  943. package/dist/remediation/radar/types.js +65 -0
  944. package/dist/remediation/radar/types.js.map +1 -0
  945. package/dist/remediation/repair/attempt.d.ts +74 -0
  946. package/dist/remediation/repair/attempt.d.ts.map +1 -0
  947. package/dist/remediation/repair/attempt.js +262 -0
  948. package/dist/remediation/repair/attempt.js.map +1 -0
  949. package/dist/remediation/repair/builtin-agent.d.ts +9 -0
  950. package/dist/remediation/repair/builtin-agent.d.ts.map +1 -0
  951. package/dist/remediation/repair/builtin-agent.js +139 -0
  952. package/dist/remediation/repair/builtin-agent.js.map +1 -0
  953. package/dist/remediation/repair/patch-apply.d.ts +12 -0
  954. package/dist/remediation/repair/patch-apply.d.ts.map +1 -0
  955. package/dist/remediation/repair/patch-apply.js +75 -0
  956. package/dist/remediation/repair/patch-apply.js.map +1 -0
  957. package/dist/remediation/repair/recipe-attempt.d.ts +56 -0
  958. package/dist/remediation/repair/recipe-attempt.d.ts.map +1 -0
  959. package/dist/remediation/repair/recipe-attempt.js +99 -0
  960. package/dist/remediation/repair/recipe-attempt.js.map +1 -0
  961. package/dist/remediation/repair/scope-guard.d.ts +18 -0
  962. package/dist/remediation/repair/scope-guard.d.ts.map +1 -0
  963. package/dist/remediation/repair/scope-guard.js +62 -0
  964. package/dist/remediation/repair/scope-guard.js.map +1 -0
  965. package/dist/remediation/repair/tools.d.ts +30 -0
  966. package/dist/remediation/repair/tools.d.ts.map +1 -0
  967. package/dist/remediation/repair/tools.js +370 -0
  968. package/dist/remediation/repair/tools.js.map +1 -0
  969. package/dist/remediation/tools/apply-package-override/helpers.d.ts +0 -1
  970. package/dist/remediation/tools/apply-package-override/helpers.d.ts.map +1 -1
  971. package/dist/remediation/tools/apply-package-override/helpers.js +0 -30
  972. package/dist/remediation/tools/apply-package-override/helpers.js.map +1 -1
  973. package/dist/remediation/tools/apply-package-override/index.d.ts.map +1 -1
  974. package/dist/remediation/tools/apply-package-override/index.js +51 -13
  975. package/dist/remediation/tools/apply-package-override/index.js.map +1 -1
  976. package/dist/remediation/tools/apply-package-override/pnpm-workspace.d.ts +19 -0
  977. package/dist/remediation/tools/apply-package-override/pnpm-workspace.d.ts.map +1 -0
  978. package/dist/remediation/tools/apply-package-override/pnpm-workspace.js +47 -0
  979. package/dist/remediation/tools/apply-package-override/pnpm-workspace.js.map +1 -0
  980. package/dist/remediation/tools/apply-patch-file/index.js +1 -1
  981. package/dist/remediation/tools/apply-patch-file/index.js.map +1 -1
  982. package/dist/remediation/tools/apply-version-bump.d.ts.map +1 -1
  983. package/dist/remediation/tools/apply-version-bump.js +20 -45
  984. package/dist/remediation/tools/apply-version-bump.js.map +1 -1
  985. package/dist/remediation/tools/check-inventory.d.ts +6 -0
  986. package/dist/remediation/tools/check-inventory.d.ts.map +1 -1
  987. package/dist/remediation/tools/check-inventory.js +39 -8
  988. package/dist/remediation/tools/check-inventory.js.map +1 -1
  989. package/dist/remediation/tools/check-reachability.d.ts +6 -0
  990. package/dist/remediation/tools/check-reachability.d.ts.map +1 -1
  991. package/dist/remediation/tools/check-reachability.js +32 -12
  992. package/dist/remediation/tools/check-reachability.js.map +1 -1
  993. package/dist/remediation/tools/fetch-package-source.d.ts +1 -0
  994. package/dist/remediation/tools/fetch-package-source.d.ts.map +1 -1
  995. package/dist/remediation/tools/fetch-package-source.js +29 -22
  996. package/dist/remediation/tools/fetch-package-source.js.map +1 -1
  997. package/dist/remediation/tools/manifest-format.d.ts +7 -0
  998. package/dist/remediation/tools/manifest-format.d.ts.map +1 -0
  999. package/dist/remediation/tools/manifest-format.js +14 -0
  1000. package/dist/remediation/tools/manifest-format.js.map +1 -0
  1001. package/dist/remediation/verify/changes.d.ts +33 -0
  1002. package/dist/remediation/verify/changes.d.ts.map +1 -0
  1003. package/dist/remediation/verify/changes.js +204 -0
  1004. package/dist/remediation/verify/changes.js.map +1 -0
  1005. package/dist/remediation/verify/checks.d.ts +30 -0
  1006. package/dist/remediation/verify/checks.d.ts.map +1 -0
  1007. package/dist/remediation/verify/checks.js +239 -0
  1008. package/dist/remediation/verify/checks.js.map +1 -0
  1009. package/dist/remediation/verify/command-check.d.ts +11 -0
  1010. package/dist/remediation/verify/command-check.d.ts.map +1 -0
  1011. package/dist/remediation/verify/command-check.js +26 -0
  1012. package/dist/remediation/verify/command-check.js.map +1 -0
  1013. package/dist/remediation/verify/types.d.ts +66 -0
  1014. package/dist/remediation/verify/types.d.ts.map +1 -0
  1015. package/dist/remediation/verify/types.js +4 -0
  1016. package/dist/remediation/verify/types.js.map +1 -0
  1017. package/dist/remediation/verify/verifier.d.ts +12 -0
  1018. package/dist/remediation/verify/verifier.d.ts.map +1 -0
  1019. package/dist/remediation/verify/verifier.js +56 -0
  1020. package/dist/remediation/verify/verifier.js.map +1 -0
  1021. package/dist/runs/fingerprint.d.ts +14 -0
  1022. package/dist/runs/fingerprint.d.ts.map +1 -0
  1023. package/dist/runs/fingerprint.js +55 -0
  1024. package/dist/runs/fingerprint.js.map +1 -0
  1025. package/dist/runs/hash.d.ts +4 -0
  1026. package/dist/runs/hash.d.ts.map +1 -0
  1027. package/dist/runs/hash.js +18 -0
  1028. package/dist/runs/hash.js.map +1 -0
  1029. package/dist/runs/ids.d.ts +6 -0
  1030. package/dist/runs/ids.d.ts.map +1 -0
  1031. package/dist/runs/ids.js +15 -0
  1032. package/dist/runs/ids.js.map +1 -0
  1033. package/dist/runs/ledger.d.ts +26 -0
  1034. package/dist/runs/ledger.d.ts.map +1 -0
  1035. package/dist/runs/ledger.js +61 -0
  1036. package/dist/runs/ledger.js.map +1 -0
  1037. package/dist/runs/plan.d.ts +67 -0
  1038. package/dist/runs/plan.d.ts.map +1 -0
  1039. package/dist/runs/plan.js +68 -0
  1040. package/dist/runs/plan.js.map +1 -0
  1041. package/dist/runs/run-store.d.ts +83 -0
  1042. package/dist/runs/run-store.d.ts.map +1 -0
  1043. package/dist/runs/run-store.js +161 -0
  1044. package/dist/runs/run-store.js.map +1 -0
  1045. package/dist/runs/snapshot-store.d.ts +13 -0
  1046. package/dist/runs/snapshot-store.d.ts.map +1 -0
  1047. package/dist/runs/snapshot-store.js +78 -0
  1048. package/dist/runs/snapshot-store.js.map +1 -0
  1049. package/dist/runs/worktree.d.ts +40 -0
  1050. package/dist/runs/worktree.d.ts.map +1 -0
  1051. package/dist/runs/worktree.js +144 -0
  1052. package/dist/runs/worktree.js.map +1 -0
  1053. package/dist/scanner/delta-scan.d.ts +10 -1
  1054. package/dist/scanner/delta-scan.d.ts.map +1 -1
  1055. package/dist/scanner/delta-scan.js +15 -3
  1056. package/dist/scanner/delta-scan.js.map +1 -1
  1057. package/dist/scanner/lock-graph/bun.d.ts +6 -0
  1058. package/dist/scanner/lock-graph/bun.d.ts.map +1 -0
  1059. package/dist/scanner/lock-graph/bun.js +116 -0
  1060. package/dist/scanner/lock-graph/bun.js.map +1 -0
  1061. package/dist/scanner/lock-graph/index.d.ts +32 -0
  1062. package/dist/scanner/lock-graph/index.d.ts.map +1 -0
  1063. package/dist/scanner/lock-graph/index.js +125 -0
  1064. package/dist/scanner/lock-graph/index.js.map +1 -0
  1065. package/dist/scanner/lock-graph/npm.d.ts +4 -0
  1066. package/dist/scanner/lock-graph/npm.d.ts.map +1 -0
  1067. package/dist/scanner/lock-graph/npm.js +119 -0
  1068. package/dist/scanner/lock-graph/npm.js.map +1 -0
  1069. package/dist/scanner/lock-graph/pnpm.d.ts +4 -0
  1070. package/dist/scanner/lock-graph/pnpm.d.ts.map +1 -0
  1071. package/dist/scanner/lock-graph/pnpm.js +101 -0
  1072. package/dist/scanner/lock-graph/pnpm.js.map +1 -0
  1073. package/dist/scanner/lock-graph/types.d.ts +44 -0
  1074. package/dist/scanner/lock-graph/types.d.ts.map +1 -0
  1075. package/dist/scanner/lock-graph/types.js +32 -0
  1076. package/dist/scanner/lock-graph/types.js.map +1 -0
  1077. package/dist/scanner/lock-graph/yarn.d.ts +4 -0
  1078. package/dist/scanner/lock-graph/yarn.d.ts.map +1 -0
  1079. package/dist/scanner/lock-graph/yarn.js +132 -0
  1080. package/dist/scanner/lock-graph/yarn.js.map +1 -0
  1081. package/dist/scanner/lockfile-diff.d.ts.map +1 -1
  1082. package/dist/scanner/lockfile-diff.js +2 -2
  1083. package/dist/scanner/lockfile-diff.js.map +1 -1
  1084. package/dist/scanner/pnpm-lock-document.d.ts +8 -0
  1085. package/dist/scanner/pnpm-lock-document.d.ts.map +1 -0
  1086. package/dist/scanner/pnpm-lock-document.js +15 -0
  1087. package/dist/scanner/pnpm-lock-document.js.map +1 -0
  1088. package/dist/trace/esm-instrument.d.ts +26 -0
  1089. package/dist/trace/esm-instrument.d.ts.map +1 -0
  1090. package/dist/trace/esm-instrument.js +153 -0
  1091. package/dist/trace/esm-instrument.js.map +1 -0
  1092. package/dist/trace/fold.d.ts +24 -0
  1093. package/dist/trace/fold.d.ts.map +1 -0
  1094. package/dist/trace/fold.js +169 -0
  1095. package/dist/trace/fold.js.map +1 -0
  1096. package/dist/trace/locate.d.ts +18 -0
  1097. package/dist/trace/locate.d.ts.map +1 -0
  1098. package/dist/trace/locate.js +55 -0
  1099. package/dist/trace/locate.js.map +1 -0
  1100. package/dist/trace/register.d.ts +2 -0
  1101. package/dist/trace/register.d.ts.map +1 -0
  1102. package/dist/trace/register.js +15 -0
  1103. package/dist/trace/register.js.map +1 -0
  1104. package/dist/trace/run.d.ts +42 -0
  1105. package/dist/trace/run.d.ts.map +1 -0
  1106. package/dist/trace/run.js +97 -0
  1107. package/dist/trace/run.js.map +1 -0
  1108. package/dist/trace/runtime.d.ts +9 -0
  1109. package/dist/trace/runtime.d.ts.map +1 -0
  1110. package/dist/trace/runtime.js +341 -0
  1111. package/dist/trace/runtime.js.map +1 -0
  1112. package/dist/trace/types.d.ts +98 -0
  1113. package/dist/trace/types.d.ts.map +1 -0
  1114. package/dist/trace/types.js +16 -0
  1115. package/dist/trace/types.js.map +1 -0
  1116. package/dist/trace/verdict.d.ts +8 -0
  1117. package/dist/trace/verdict.d.ts.map +1 -0
  1118. package/dist/trace/verdict.js +111 -0
  1119. package/dist/trace/verdict.js.map +1 -0
  1120. package/dist/trace/wrap.d.ts +32 -0
  1121. package/dist/trace/wrap.d.ts.map +1 -0
  1122. package/dist/trace/wrap.js +151 -0
  1123. package/dist/trace/wrap.js.map +1 -0
  1124. package/llms.txt +21 -3
  1125. package/package.json +23 -17
  1126. package/dist/openapi/handlers/routes.d.ts +0 -6
  1127. package/dist/openapi/handlers/routes.d.ts.map +0 -1
  1128. package/dist/openapi/handlers/routes.js +0 -122
  1129. package/dist/openapi/handlers/routes.js.map +0 -1
  1130. package/dist/openapi/path-guard.d.ts +0 -12
  1131. package/dist/openapi/path-guard.d.ts.map +0 -1
  1132. package/dist/openapi/path-guard.js +0 -79
  1133. package/dist/openapi/path-guard.js.map +0 -1
  1134. package/dist/openapi/spec/paths.d.ts +0 -1053
  1135. package/dist/openapi/spec/paths.d.ts.map +0 -1
  1136. package/dist/openapi/spec/paths.js +0 -623
  1137. package/dist/openapi/spec/paths.js.map +0 -1
  1138. package/dist/openapi/spec/schemas.d.ts +0 -74
  1139. package/dist/openapi/spec/schemas.d.ts.map +0 -1
  1140. package/dist/openapi/spec/schemas.js +0 -32
  1141. package/dist/openapi/spec/schemas.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { incident, incidentExitCode, OPTION_DESCRIPTIONS, premortem, renderIncidentMarkdown, } from "../api/index.js";
3
+ import { logJson } from "./output.js";
4
+ import { validateOutputFormat } from "./validators.js";
5
+ export async function runIncident(target, opts) {
6
+ const report = await incident(target, {
7
+ cwd: opts.cwd,
8
+ source: "cli",
9
+ ...(opts.plan ? { plan: true } : {}),
10
+ ...(opts.offline ? { offline: true } : {}),
11
+ ...(opts.intelligenceSnapshot ? { intelligenceSnapshotPath: opts.intelligenceSnapshot } : {}),
12
+ ...(opts.policy ? { policy: opts.policy } : {}),
13
+ ...(opts.history === false ? { history: false } : {}),
14
+ ...(opts.maxCommits ? { maxCommits: opts.maxCommits } : {}),
15
+ ...(opts.outputDir ? { outputDir: opts.outputDir } : {}),
16
+ });
17
+ if (opts.outputFormat === "json")
18
+ logJson(report);
19
+ else {
20
+ process.stdout.write(renderIncidentMarkdown(report));
21
+ if (report.files)
22
+ process.stdout.write(`\nWrote ${report.files.markdown} and ${report.files.json}\n`);
23
+ }
24
+ // 0 clear, 3 it was in history but is not locked now, 4 it is locked or installed now.
25
+ process.exitCode = incidentExitCode(report);
26
+ }
27
+ function readTargets(path) {
28
+ let parsed;
29
+ try {
30
+ parsed = JSON.parse(readFileSync(path, "utf8"));
31
+ }
32
+ catch (error) {
33
+ throw new Error(`Could not read targets file at "${path}": ${error instanceof Error ? error.message : String(error)}`, { cause: error });
34
+ }
35
+ if (!Array.isArray(parsed))
36
+ throw new Error("Targets file must be a JSON array, as for `portfolio`.");
37
+ const targets = [];
38
+ for (const [index, entry] of parsed.entries()) {
39
+ const record = typeof entry === "object" && entry !== null ? entry : {};
40
+ if (typeof record["cwd"] !== "string" || record["cwd"] === "") {
41
+ throw new Error(`Invalid target at index ${index}: cwd is required.`);
42
+ }
43
+ const target = { cwd: record["cwd"] };
44
+ if (typeof record["label"] === "string")
45
+ target.label = record["label"];
46
+ targets.push(target);
47
+ }
48
+ return targets;
49
+ }
50
+ function describePremortem(report) {
51
+ const lines = [
52
+ `Assessed ${report.packages.length} package(s) across ${report.repos.length} repositor${report.repos.length === 1 ? "y" : "ies"}.`,
53
+ ];
54
+ for (const entry of report.packages) {
55
+ lines.push(` ${entry.packageName}: ${entry.repoCount} repo(s), ${entry.dependentCount} dependent(s), install scripts ${String(entry.installScript)}${entry.reposWithCiSecrets.length > 0
56
+ ? `, CI installs with secrets in ${entry.reposWithCiSecrets.join(", ")}`
57
+ : ""}`);
58
+ }
59
+ for (const note of report.notes)
60
+ lines.push(` note: ${note}`);
61
+ if (report.files)
62
+ lines.push(`Wrote ${report.files.length} file(s):`, ...report.files.map((file) => ` ${file}`));
63
+ else
64
+ lines.push("Pass --output-dir to write the playbooks.");
65
+ return `${lines.join("\n")}\n`;
66
+ }
67
+ export async function runPremortem(opts) {
68
+ if (!opts.targetsFile && !opts.root)
69
+ throw new Error("Give --targets-file <json> or --root <dir>.");
70
+ const report = await premortem({
71
+ ...(opts.targetsFile ? { targets: readTargets(opts.targetsFile) } : {}),
72
+ ...(opts.root ? { root: opts.root } : {}),
73
+ ...(opts.packages
74
+ ? {
75
+ packages: opts.packages
76
+ .split(",")
77
+ .map((name) => name.trim())
78
+ .filter((name) => name !== ""),
79
+ }
80
+ : {}),
81
+ ...(opts.top ? { top: opts.top } : {}),
82
+ ...(opts.rankBy ? { rankBy: opts.rankBy } : {}),
83
+ ...(opts.playbooks ? { playbooks: opts.playbooks } : {}),
84
+ ...(opts.outputDir ? { outputDir: opts.outputDir } : {}),
85
+ });
86
+ if (opts.outputFormat === "json")
87
+ logJson(report);
88
+ else
89
+ process.stdout.write(describePremortem(report));
90
+ }
91
+ /** Register `incident` and `premortem`. */
92
+ export function registerIncidentCommands(program) {
93
+ program
94
+ .command("incident <target>")
95
+ .description("A package was compromised: is it here, when did it enter and leave git history, roll back to the last safe version, and which secrets to rotate. Target is an advisory id (MAL-, GHSA-, CVE-) or package@range. Exits 0 clear, 3 in history only, 4 locked now")
96
+ .option("--cwd <path>", OPTION_DESCRIPTIONS.cwd, process.cwd())
97
+ .option("--plan", "Record the rollback as a plan (never applied); review it with `runs show` and apply with `runs apply`")
98
+ .option("--offline", "No network: no advisory lookup and no registry (an id then needs --intelligence-snapshot)")
99
+ .option("--intelligence-snapshot <path>", OPTION_DESCRIPTIONS.intelligenceSnapshotPath)
100
+ .option("--policy <path>", OPTION_DESCRIPTIONS.policy)
101
+ .option("--no-history", "Do not read git history")
102
+ .option("--max-commits <n>", "Most lockfile commits to read from history, newest first (default 500)", (value) => Number.parseInt(value, 10))
103
+ .option("--output-dir <dir>", "Write incident-report.md and incident-report.json into this directory")
104
+ .option("--output-format <format>", "Output format: text|json", "text")
105
+ .action(async (target, opts) => {
106
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "incident");
107
+ await runIncident(target, opts);
108
+ });
109
+ program
110
+ .command("premortem")
111
+ .description("What if a package is compromised tomorrow? Across repositories: who locks it, which versions, install scripts, CI installs with secrets in reach. With --output-dir, writes playbooks with the commands to run on the day")
112
+ .option("--targets-file <path>", "Repositories as a JSON array of { cwd, label? }, the portfolio targets format")
113
+ .option("--root <dir>", "Find the repositories (a .git next to a package.json) under this directory")
114
+ .option("--packages <list>", "Packages to assess, comma-separated (default: the most depended-upon ones)")
115
+ .option("--top <n>", "With no --packages: how many to pick (default 10)", (value) => Number.parseInt(value, 10))
116
+ .option("--rank-by <how>", "depended-upon (default) or privileged (packages with install scripts first)")
117
+ .option("--playbooks <kind>", "One playbook per repo (default) or per package")
118
+ .option("--output-dir <dir>", "Write premortem.md, premortem.json and the playbooks into this directory; commit them")
119
+ .option("--output-format <format>", "Output format: text|json", "text")
120
+ .action(async (opts) => {
121
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "premortem");
122
+ if (opts.rankBy && !["depended-upon", "privileged"].includes(opts.rankBy)) {
123
+ throw new Error(`--rank-by must be depended-upon or privileged, not "${opts.rankBy}".`);
124
+ }
125
+ if (opts.playbooks && !["repo", "package"].includes(opts.playbooks)) {
126
+ throw new Error(`--playbooks must be repo or package, not "${opts.playbooks}".`);
127
+ }
128
+ await runPremortem(opts);
129
+ });
130
+ }
131
+ //# sourceMappingURL=incident-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incident-commands.js","sourceRoot":"","sources":["../../src/cli/incident-commands.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
package/dist/cli/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import { EXIT_CODES } from "../api/reporting.js";
2
3
  import { isEntrypoint } from "../platform/entrypoint.js";
4
+ import { formatCliError, wantsJson } from "./errors.js";
3
5
  import { createProgram as createCliProgram } from "./program.js";
4
6
  export function createProgram() {
5
7
  return createCliProgram();
@@ -10,9 +12,8 @@ async function main(argv = process.argv) {
10
12
  }
11
13
  if (isEntrypoint(import.meta.url)) {
12
14
  main().catch((error) => {
13
- const message = error instanceof Error ? error.message : String(error);
14
- process.stderr.write(`[autoremediator] ${message}\n`);
15
- process.exit(1);
15
+ process.stderr.write(formatCliError(error, wantsJson(process.argv)));
16
+ process.exit(EXIT_CODES.failed);
16
17
  });
17
18
  }
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,UAAU,aAAa;IAC3B,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;IACrC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,UAAU,aAAa;IAC3B,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;IACrC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Command } from "commander";
2
+ import { type MaintainOptions, type MaintainResult, type MaintainerVexReport } from "../api/index.js";
3
+ interface MaintainCliOptions {
4
+ cwd: string;
5
+ advisories?: string;
6
+ assertNotAffected?: boolean;
7
+ traceFile?: string;
8
+ policy?: string;
9
+ packageManager?: MaintainOptions["packageManager"];
10
+ offline?: boolean;
11
+ intelligenceSnapshot?: string;
12
+ nextVersion?: string;
13
+ yes?: boolean;
14
+ outputFormat: string;
15
+ }
16
+ export declare function describeMaintain(result: MaintainResult): string;
17
+ export declare function runMaintain(opts: MaintainCliOptions): Promise<void>;
18
+ export declare function describeVexShow(report: MaintainerVexReport): string;
19
+ /** Register `maintain` and `vex show`. */
20
+ export declare function registerMaintainCommands(program: Command): void;
21
+ export {};
22
+ //# sourceMappingURL=maintain-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maintain-commands.d.ts","sourceRoot":"","sources":["../../src/cli/maintain-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAIzB,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AASD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA4B/D;AAWD,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DzE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAgCnE;AAED,0CAA0C;AAC1C,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqD/D"}
@@ -0,0 +1,161 @@
1
+ import { createInterface } from "node:readline/promises";
2
+ import { EXIT_CODES, maintain, OPTION_DESCRIPTIONS, readMaintainerVex, } from "../api/index.js";
3
+ import { logJson } from "./output.js";
4
+ import { validateOutputFormat } from "./validators.js";
5
+ export function describeMaintain(result) {
6
+ const lines = [
7
+ `Maintaining ${result.package.name}@${result.package.version}${result.nextVersion ? ` (next release ${result.nextVersion})` : ""}`,
8
+ ];
9
+ if (result.advisories.length === 0)
10
+ lines.push("No advisories found for this project's dependencies.");
11
+ for (const advisory of result.advisories) {
12
+ lines.push(` ${advisory.id}${advisory.severity ? ` [${advisory.severity}]` : ""}: ${advisory.decision}`, ` ${advisory.reason}`);
13
+ for (const entry of advisory.packages) {
14
+ lines.push(` - ${entry.name}@${entry.version} (${entry.scope})${entry.reachability ? `, ${entry.reachability}` : ""}`);
15
+ }
16
+ if (advisory.plan) {
17
+ lines.push(advisory.plan.items.length > 0
18
+ ? ` bump plan: ${advisory.plan.items.map((item) => `${item.packageName} ${item.fromVersion} -> ${item.toVersion}`).join(", ")}${advisory.plan.runId ? ` (run ${advisory.plan.runId}; review with \`runs show\`, apply with \`runs apply\`)` : " (not recorded; --yes records it)"}`
19
+ : " bump plan: no version change available");
20
+ }
21
+ }
22
+ for (const change of result.changes)
23
+ lines.push(` ${change.action.padEnd(9)} ${change.path}: ${change.reason}`);
24
+ for (const note of result.notes)
25
+ lines.push(` note: ${note}`);
26
+ return lines.join("\n");
27
+ }
28
+ async function confirm(question) {
29
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
30
+ try {
31
+ return /^y(es)?$/i.test((await rl.question(question)).trim());
32
+ }
33
+ finally {
34
+ rl.close();
35
+ }
36
+ }
37
+ export async function runMaintain(opts) {
38
+ const base = {
39
+ cwd: opts.cwd,
40
+ source: "cli",
41
+ ...(opts.advisories
42
+ ? {
43
+ advisories: opts.advisories
44
+ .split(",")
45
+ .map((id) => id.trim())
46
+ .filter((id) => id !== ""),
47
+ }
48
+ : {}),
49
+ ...(opts.assertNotAffected ? { assertNotAffected: true } : {}),
50
+ ...(opts.traceFile ? { traceFile: opts.traceFile } : {}),
51
+ ...(opts.policy ? { policy: opts.policy } : {}),
52
+ ...(opts.packageManager ? { packageManager: opts.packageManager } : {}),
53
+ ...(opts.offline ? { offlineIntelligence: true } : {}),
54
+ ...(opts.intelligenceSnapshot ? { intelligenceSnapshotPath: opts.intelligenceSnapshot } : {}),
55
+ ...(opts.nextVersion ? { nextVersion: opts.nextVersion } : {}),
56
+ };
57
+ let result = await maintain({ ...base, yes: opts.yes });
58
+ const json = opts.outputFormat === "json";
59
+ const interactive = !json && !opts.yes && process.stdin.isTTY && process.stdout.isTTY;
60
+ if (!json) {
61
+ process.stdout.write(`${describeMaintain(result)}\n`);
62
+ if (!result.applied) {
63
+ for (const change of result.changes) {
64
+ if (change.diff)
65
+ process.stdout.write(`\n${change.diff}\n`);
66
+ }
67
+ }
68
+ }
69
+ if (interactive && result.drift) {
70
+ if (await confirm(`\nWrite ${result.changes.filter((change) => change.diff).length} file(s)? [y/N] `)) {
71
+ result = await maintain({ ...base, yes: true });
72
+ process.stdout.write("Written. Nothing was published or pushed: review, commit and release as usual.\n");
73
+ }
74
+ return;
75
+ }
76
+ if (json)
77
+ logJson(result);
78
+ else if (result.applied) {
79
+ process.stdout.write("\nWritten. Nothing was published or pushed: review, commit and release as usual.\n");
80
+ }
81
+ else if (result.drift)
82
+ process.stdout.write("\nNothing written. Run again with --yes to apply.\n");
83
+ else
84
+ process.stdout.write("\nNothing to change.\n");
85
+ if (result.conflicts.length > 0)
86
+ process.exitCode = EXIT_CODES.failed;
87
+ else if (!result.applied && result.drift)
88
+ process.exitCode = EXIT_CODES.needsApproval;
89
+ }
90
+ export function describeVexShow(report) {
91
+ const lines = [
92
+ `Read ${report.scanned} installed package(s): ${report.packages.length} ship usable VEX, ${report.rejected.length} declaration(s) rejected.`,
93
+ ];
94
+ for (const entry of report.packages) {
95
+ lines.push(`${entry.name}@${entry.version} ${entry.file} (author ${entry.author}, ${entry.timestamp})`);
96
+ for (const statement of entry.statements) {
97
+ const about = statement.subcomponents.length > 0 ? ` about ${statement.subcomponents.join(", ")}` : "";
98
+ lines.push(` ${statement.vulnerability}${about}: ${statement.status}${statement.justification ? ` (${statement.justification})` : ""}`);
99
+ if (statement.impactStatement)
100
+ lines.push(` ${statement.impactStatement}`);
101
+ if (statement.statusNotes)
102
+ lines.push(` ${statement.statusNotes}`);
103
+ }
104
+ }
105
+ for (const entry of report.rejected) {
106
+ lines.push(`rejected ${entry.package}${entry.version ? `@${entry.version}` : ""}: ${entry.reason}`);
107
+ }
108
+ if (report.own.declared) {
109
+ lines.push(`This project: package.json#vex -> ${report.own.file ?? "(invalid)"}: ${report.own.status}${report.own.statements === undefined ? "" : `, ${report.own.statements} statement(s)`}${report.own.reason ? `. ${report.own.reason}` : ""}`);
110
+ }
111
+ else {
112
+ lines.push("This project declares no package.json#vex.");
113
+ }
114
+ for (const note of report.notes)
115
+ lines.push(`note: ${note}`);
116
+ return lines.join("\n");
117
+ }
118
+ /** Register `maintain` and `vex show`. */
119
+ export function registerMaintainCommands(program) {
120
+ program
121
+ .command("maintain")
122
+ .description("For package authors: assess advisories in your dependencies against your own code and prepare (never publish or push) a bump plan, a changeset and an OpenVEX statement shipped in the package. Shows a diff; writes only with --yes or after you confirm")
123
+ .option("--cwd <path>", OPTION_DESCRIPTIONS.cwd, process.cwd())
124
+ .option("--advisories <list>", "CVE or GHSA ids to assess, comma-separated (default: the package manager's audit)")
125
+ .option("--assert-not-affected", "Vouch for the static scan: unreachable dependencies are written as not_affected instead of under_investigation")
126
+ .option("--trace-file <path>", "A runtime trace from `trace run`, added to the static evidence")
127
+ .option("--policy <path>", OPTION_DESCRIPTIONS.policy)
128
+ .option("--package-manager <name>", OPTION_DESCRIPTIONS.packageManager)
129
+ .option("--offline", "No network: needs --advisories and --intelligence-snapshot")
130
+ .option("--intelligence-snapshot <path>", OPTION_DESCRIPTIONS.intelligenceSnapshotPath)
131
+ .option("--next-version <version>", "The exact version the next release will have (default: derived from pending changesets, else the next patch)")
132
+ .option("--yes", "Write the changes without asking")
133
+ .option("--output-format <format>", "Output format: text|json", "text")
134
+ .action(async (opts) => {
135
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "maintain");
136
+ await runMaintain(opts);
137
+ });
138
+ const vex = program
139
+ .command("vex")
140
+ .description("Inspect the OpenVEX documents that packages ship (package.json#vex)");
141
+ vex
142
+ .command("show")
143
+ .description("List the VEX documents shipped by installed packages (validated, untrusted input) and check this project's own")
144
+ .option("--cwd <path>", OPTION_DESCRIPTIONS.cwd, process.cwd())
145
+ .option("--advisory <id>", "Only statements that name this CVE or GHSA id")
146
+ .option("--package <name>", "Only the document shipped by this package")
147
+ .option("--output-format <format>", "Output format: text|json", "text")
148
+ .action((opts) => {
149
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "vex show");
150
+ const report = readMaintainerVex({
151
+ cwd: opts.cwd,
152
+ ...(opts.advisory ? { advisory: opts.advisory } : {}),
153
+ ...(opts.package ? { packageName: opts.package } : {}),
154
+ });
155
+ if (opts.outputFormat === "json")
156
+ logJson(report);
157
+ else
158
+ process.stdout.write(`${describeVexShow(report)}\n`);
159
+ });
160
+ }
161
+ //# sourceMappingURL=maintain-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maintain-commands.js","sourceRoot":"","sources":["../../src/cli/maintain-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** `autoremediator memory list | add | remove | accept | prune`. See docs/guides/memory.md. */
2
+ import type { Command } from "commander";
3
+ import { type MemoryEntry, type MemoryKind, type NewMemoryEntry } from "../api/index.js";
4
+ interface MemoryCliOptions {
5
+ cwd: string;
6
+ outputFormat: "text" | "json";
7
+ kind?: string;
8
+ state?: string;
9
+ note?: string;
10
+ reason?: string;
11
+ from?: string;
12
+ to?: string;
13
+ by?: string;
14
+ expiresInDays?: number;
15
+ }
16
+ /** What an entry says, on one line. */
17
+ export declare function describeEntry(entry: MemoryEntry): string;
18
+ /** The entry `memory add <kind> <value>` describes. */
19
+ export declare function entryFromArguments(kind: MemoryKind, value: string, opts: MemoryCliOptions): NewMemoryEntry;
20
+ /** Register `memory`. */
21
+ export declare function registerMemoryCommands(program: Command): void;
22
+ export {};
23
+ //# sourceMappingURL=memory-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-commands.d.ts","sourceRoot":"","sources":["../../src/cli/memory-commands.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EAIpB,MAAM,iBAAiB,CAAC;AAKzB,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AASD,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAsBxD;AAYD,uDAAuD;AACvD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,gBAAgB,GACrB,cAAc,CAoChB;AAED,yBAAyB;AACzB,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+G7D"}
@@ -0,0 +1,172 @@
1
+ import { acceptMemory, addMemory, listMemory, OPTION_DESCRIPTIONS, pruneMemory, removeMemory, } from "../api/index.js";
2
+ import { MEMORY_KINDS, unreachable } from "../platform/memory/entries.js";
3
+ import { logJson } from "./output.js";
4
+ import { validateOutputFormat } from "./validators.js";
5
+ const out = (text) => process.stdout.write(`${text}\n`);
6
+ const common = (command) => command
7
+ .option("--cwd <path>", OPTION_DESCRIPTIONS.cwd, process.cwd())
8
+ .option("--output-format <format>", "Output format: text|json", "text");
9
+ /** What an entry says, on one line. */
10
+ export function describeEntry(entry) {
11
+ switch (entry.kind) {
12
+ case "test-command": {
13
+ return entry.command;
14
+ }
15
+ case "flaky-test": {
16
+ return entry.note ? `${entry.test} (${entry.note})` : entry.test;
17
+ }
18
+ case "pinned-package": {
19
+ return `${entry.package}: ${entry.reason}`;
20
+ }
21
+ case "rejected-upgrade": {
22
+ return `${entry.package} ${entry.fromVersion ? `${entry.fromVersion} -> ` : "-> "}${entry.toVersion}: ${entry.reason}`;
23
+ }
24
+ case "install-quirk":
25
+ case "note": {
26
+ return entry.text;
27
+ }
28
+ default: {
29
+ return unreachable(entry);
30
+ }
31
+ }
32
+ }
33
+ const day = (iso) => iso.slice(0, 10);
34
+ function parseKind(value) {
35
+ if (value === undefined)
36
+ return undefined;
37
+ if (!MEMORY_KINDS.includes(value)) {
38
+ throw new Error(`Unknown kind "${value}". Use one of: ${MEMORY_KINDS.join(", ")}.`);
39
+ }
40
+ return value;
41
+ }
42
+ /** The entry `memory add <kind> <value>` describes. */
43
+ export function entryFromArguments(kind, value, opts) {
44
+ const needs = (flag, given) => {
45
+ if (!given)
46
+ throw new Error(`${kind} needs ${flag}.`);
47
+ return given;
48
+ };
49
+ const source = opts.by ? `human:${opts.by}` : undefined;
50
+ const expires = opts.expiresInDays === undefined ? {} : { expiresInDays: opts.expiresInDays };
51
+ const envelope = { ...(source ? { source } : {}), ...expires };
52
+ switch (kind) {
53
+ case "test-command": {
54
+ return { kind, command: value, ...envelope };
55
+ }
56
+ case "flaky-test": {
57
+ return { kind, test: value, ...(opts.note ? { note: opts.note } : {}), ...envelope };
58
+ }
59
+ case "pinned-package": {
60
+ return { kind, package: value, reason: needs("--reason", opts.reason), ...envelope };
61
+ }
62
+ case "rejected-upgrade": {
63
+ return {
64
+ kind,
65
+ package: value,
66
+ toVersion: needs("--to <version>", opts.to),
67
+ reason: needs("--reason", opts.reason),
68
+ ...(opts.from ? { fromVersion: opts.from } : {}),
69
+ ...envelope,
70
+ };
71
+ }
72
+ case "install-quirk":
73
+ case "note": {
74
+ return { kind, text: value, ...envelope };
75
+ }
76
+ default: {
77
+ return unreachable(kind);
78
+ }
79
+ }
80
+ }
81
+ /** Register `memory`. */
82
+ export function registerMemoryCommands(program) {
83
+ const memory = program
84
+ .command("memory")
85
+ .description("Remediation memory (.autoremediator/memory.md): what this repository has learned between runs, as short validated entries a person can review and edit");
86
+ common(memory
87
+ .command("list")
88
+ .description("List what the repository remembers, what is in force and what is only proposed")
89
+ .option("--kind <kind>", `Only this kind: ${MEMORY_KINDS.join("|")}`)
90
+ .option("--state <state>", "Only entries that are active, proposed or expired")).action((opts) => {
91
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "memory list");
92
+ const kind = parseKind(opts.kind);
93
+ if (opts.state && !["active", "proposed", "expired"].includes(opts.state)) {
94
+ throw new Error(`--state must be active, proposed or expired, not "${opts.state}".`);
95
+ }
96
+ const listing = listMemory({
97
+ cwd: opts.cwd,
98
+ ...(kind ? { kind } : {}),
99
+ ...(opts.state ? { state: opts.state } : {}),
100
+ });
101
+ if (opts.outputFormat === "json") {
102
+ logJson(listing);
103
+ return;
104
+ }
105
+ out(`${listing.path}: ${listing.counts.active} active, ${listing.counts.proposed} proposed, ${listing.counts.expired} expired (room for ${listing.limits.maxEntries - listing.counts.total} more)`);
106
+ if (!listing.exists)
107
+ out("No memory file yet. `autoremediator memory add` creates it.");
108
+ for (const entry of listing.entries) {
109
+ const expiry = entry.expiresAt ? `, expires ${day(entry.expiresAt)}` : "";
110
+ out(` ${entry.id} ${entry.state.padEnd(8)} ${entry.kind.padEnd(16)} ${describeEntry(entry)} [${entry.source}, ${day(entry.createdAt)}${expiry}]`);
111
+ }
112
+ if (listing.counts.proposed > 0) {
113
+ out("Proposed entries do nothing until accepted: `autoremediator memory accept <id>`.");
114
+ }
115
+ for (const problem of listing.problems)
116
+ out(` problem: ${problem}`);
117
+ });
118
+ common(memory
119
+ .command("add <kind> <value>")
120
+ .description(`Record a fact. kind: ${MEMORY_KINDS.join(", ")}. value is the command, test, package name or text`)
121
+ .option("--reason <text>", "pinned-package and rejected-upgrade: why")
122
+ .option("--note <text>", "flaky-test: an optional note")
123
+ .option("--from <version>", "rejected-upgrade: the version the project was on")
124
+ .option("--to <version>", "rejected-upgrade: the rejected version, which the planner will not propose again")
125
+ .option("--by <name>", "Who is recording this (default: human)")
126
+ .option("--expires-in-days <n>", "Stop counting this entry after n days", (value) => Number.parseInt(value, 10))).action(async (kindArg, value, opts) => {
127
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "memory add");
128
+ const kind = parseKind(kindArg);
129
+ const report = await addMemory({ cwd: opts.cwd, ...entryFromArguments(kind, value, opts) });
130
+ if (opts.outputFormat === "json") {
131
+ logJson(report);
132
+ return;
133
+ }
134
+ out(report.created
135
+ ? `Recorded ${report.entry.id}: ${describeEntry(report.entry)}`
136
+ : `Already recorded as ${report.entry.id}; remove it first to change it.`);
137
+ for (const id of report.evicted)
138
+ out(`Made room by dropping ${id}.`);
139
+ });
140
+ common(memory.command("remove <id>").description("Delete an entry")).action(async (id, opts) => {
141
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "memory remove");
142
+ const { removed } = await removeMemory({ cwd: opts.cwd, id });
143
+ if (opts.outputFormat === "json")
144
+ logJson({ removed });
145
+ else
146
+ out(`Removed ${removed.id}: ${describeEntry(removed)}`);
147
+ });
148
+ common(memory
149
+ .command("accept <id>")
150
+ .description("Accept an entry an agent proposed, so it takes effect")).action(async (id, opts) => {
151
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "memory accept");
152
+ const { accepted, alreadyActive } = await acceptMemory({ cwd: opts.cwd, id });
153
+ if (opts.outputFormat === "json")
154
+ logJson({ accepted, alreadyActive });
155
+ else
156
+ out(alreadyActive
157
+ ? `${accepted.id} was already in force.`
158
+ : `Accepted ${accepted.id}: ${describeEntry(accepted)}`);
159
+ });
160
+ common(memory.command("prune").description("Remove expired entries")).action(async (opts) => {
161
+ validateOutputFormat(opts.outputFormat, ["text", "json"], "memory prune");
162
+ const { removed } = await pruneMemory({ cwd: opts.cwd });
163
+ if (opts.outputFormat === "json")
164
+ logJson({ removed });
165
+ else if (removed.length === 0)
166
+ out("Nothing has expired.");
167
+ else
168
+ for (const entry of removed)
169
+ out(`Removed ${entry.id}: ${describeEntry(entry)}`);
170
+ });
171
+ }
172
+ //# sourceMappingURL=memory-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-commands.js","sourceRoot":"","sources":["../../src/cli/memory-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Command } from "commander";
2
+ import { type CompilePolicyOptions, type ExplainPolicyResult, type PolicyCompileResult } from "../api/index.js";
3
+ export interface PolicyCompileCliOptions {
4
+ cwd: string;
5
+ policy?: string;
6
+ model?: string;
7
+ yes?: boolean;
8
+ allowLoosening?: boolean;
9
+ outputFormat: "text" | "json";
10
+ /** Test seam: where to read the confirmation from. */
11
+ confirm?: (question: string) => Promise<boolean>;
12
+ /** Test seam: replaces the model (SDK `proposer`). */
13
+ compileOptions?: Partial<CompilePolicyOptions>;
14
+ /** Test seam: whether a person is at a terminal. */
15
+ interactive?: boolean;
16
+ }
17
+ export interface PolicyExplainCliOptions {
18
+ cwd: string;
19
+ policy?: string;
20
+ outputFormat: "text" | "json";
21
+ }
22
+ /** The proposal as text for a reviewer: what changes, why, what was left out, what got looser. */
23
+ export declare function describeCompile(result: PolicyCompileResult): string;
24
+ export declare function describeExplain(result: ExplainPolicyResult): string;
25
+ export declare function runPolicyCompile(words: string[], opts: PolicyCompileCliOptions): Promise<void>;
26
+ export declare function runPolicyExplain(opts: PolicyExplainCliOptions): void;
27
+ /** Register `policy compile` and `policy explain`. */
28
+ export declare function registerPolicyCommands(program: Command): void;
29
+ //# sourceMappingURL=policy-commands.d.ts.map