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,234 @@
1
+ /** Article 14(2) of Regulation (EU) 2024/2847: early warning within 24 hours of awareness. */
2
+ export const EARLY_WARNING_HOURS = 24;
3
+ /** Article 14(2)(b): vulnerability notification within 72 hours of awareness. */
4
+ export const NOTIFICATION_HOURS = 72;
5
+ /** Article 14(2)(c): final report no later than 14 days after a corrective or mitigating measure is available. */
6
+ export const FINAL_REPORT_DAYS = 14;
7
+ const HOUR_MS = 3_600_000;
8
+ const DAY_MS = 24 * HOUR_MS;
9
+ /**
10
+ * Parse an ISO 8601 timestamp that states its time zone. A timestamp without `Z` or an offset is
11
+ * refused: a deadline computed from a guessed zone could be wrong by hours, and the deadlines are
12
+ * the point.
13
+ */
14
+ export function parseAwareness(value, label = "awarenessAt") {
15
+ const text = value.trim();
16
+ const parts = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.\d+)?)?(?:Z|[+-]\d{2}:\d{2})$/.exec(text);
17
+ if (!parts) {
18
+ throw new Error(`${label} must be an ISO 8601 timestamp with a time zone, such as 2026-11-10T14:30:00Z or 2026-11-10T15:30:00+01:00 (got ${JSON.stringify(value)}).`);
19
+ }
20
+ const [year = 0, month = 0, day = 0, hour = 0, minute = 0] = [1, 2, 3, 4, 5].map((index) => Number(parts[index]));
21
+ const second = parts[6] === undefined ? 0 : Number(parts[6]);
22
+ const daysInMonth = new Date(Date.UTC(year, month, 0)).getUTCDate();
23
+ const date = new Date(text);
24
+ if (Number.isNaN(date.getTime()) ||
25
+ month < 1 ||
26
+ month > 12 ||
27
+ day < 1 ||
28
+ day > daysInMonth ||
29
+ hour > 23 ||
30
+ minute > 59 ||
31
+ second > 59) {
32
+ throw new Error(`${label} is not a real date and time: ${JSON.stringify(value)}.`);
33
+ }
34
+ return date;
35
+ }
36
+ /** The three Article 14(2) deadlines, in UTC. Pure arithmetic on instants; no calendar or zone rules. */
37
+ export function craDeadlines(awareness, correctiveMeasureAvailableAt) {
38
+ return {
39
+ awarenessAt: awareness.toISOString(),
40
+ earlyWarningDue: new Date(awareness.getTime() + EARLY_WARNING_HOURS * HOUR_MS).toISOString(),
41
+ notificationDue: new Date(awareness.getTime() + NOTIFICATION_HOURS * HOUR_MS).toISOString(),
42
+ ...(correctiveMeasureAvailableAt
43
+ ? {
44
+ finalReportDue: new Date(correctiveMeasureAvailableAt.getTime() + FINAL_REPORT_DAYS * DAY_MS).toISOString(),
45
+ }
46
+ : {}),
47
+ };
48
+ }
49
+ /** A file name stem for an advisory id: letters, digits, dot, dash and underscore only. */
50
+ export function safeFileStem(id) {
51
+ const stem = id.replaceAll(/[^A-Za-z0-9._-]/g, "_").replaceAll(/\.{2,}/g, "_");
52
+ return stem === "" || stem.startsWith(".") ? `advisory_${stem}` : stem;
53
+ }
54
+ const TODO = (what) => `**[MANUFACTURER TO COMPLETE: ${what}]**`;
55
+ function productBlock(product) {
56
+ return [
57
+ `- Product: ${product.name}${product.version ? ` ${product.version}` : ""}${product.purl ? ` (\`${product.purl}\`)` : ""}`,
58
+ ...(product.description ? [`- Description (from package.json): ${product.description}`] : []),
59
+ `- Manufacturer: ${product.manufacturer ?? TODO("legal name of the manufacturer")}`,
60
+ ];
61
+ }
62
+ function advisoryBlock(cveId, details) {
63
+ const lines = [`- Advisory: ${cveId}`];
64
+ if (!details) {
65
+ lines.push(`- Advisory details: not available in the recorded runs. ${TODO("describe the vulnerability")}`);
66
+ return lines;
67
+ }
68
+ lines.push(`- Summary (from the advisory): ${details.summary}`, `- Severity: ${details.severity}${details.cvssScore === undefined ? "" : `, CVSS base score ${details.cvssScore}`}`);
69
+ if (details.affectedPackages.length > 0) {
70
+ lines.push(`- Affected package${details.affectedPackages.length === 1 ? "" : "s"} (npm): ${details.affectedPackages
71
+ .map((pkg) => `${pkg.name} ${pkg.vulnerableRange}${pkg.firstPatchedVersion ? ` (first patched: ${pkg.firstPatchedVersion})` : ""}`)
72
+ .join("; ")}`);
73
+ }
74
+ return lines;
75
+ }
76
+ function kevBlock(details) {
77
+ const kev = details?.kev;
78
+ if (!kev?.knownExploited)
79
+ return [];
80
+ return [
81
+ "- CISA Known Exploited Vulnerabilities catalog: listed",
82
+ ...(kev.dateAdded
83
+ ? [
84
+ ` - Added to the catalog: ${kev.dateAdded} (reference only; the CRA clock starts when *you* became aware, not on this date)`,
85
+ ]
86
+ : []),
87
+ ...(kev.knownRansomwareCampaignUse
88
+ ? [` - Known ransomware campaign use (CISA's field): ${kev.knownRansomwareCampaignUse}`]
89
+ : []),
90
+ ...(kev.requiredAction ? [` - CISA's required action: ${kev.requiredAction}`] : []),
91
+ ];
92
+ }
93
+ function measuresBlock(findings) {
94
+ const lines = [];
95
+ for (const finding of findings) {
96
+ const where = finding.component
97
+ ? `${finding.component.name}@${finding.component.version}`
98
+ : "the product";
99
+ lines.push(`- ${where}: ${finding.status.replaceAll("_", " ")}. ${finding.detail}`);
100
+ }
101
+ return lines.length > 0 ? lines : ["- No recorded run or policy entry describes a measure."];
102
+ }
103
+ /**
104
+ * A markdown DRAFT of the three Article 14(2) reports for one actively exploited vulnerability,
105
+ * filled in from local data. Everything the data cannot supply is marked for the manufacturer, and
106
+ * nothing is submitted: reports go through the single reporting platform by hand.
107
+ */
108
+ export function buildCraDraft(input) {
109
+ const { cveId, details, findings, product } = input;
110
+ const deadlines = input.awareness
111
+ ? craDeadlines(input.awareness, input.correctiveMeasureAvailableAt)
112
+ : undefined;
113
+ const status = findings.find((finding) => finding.status === "affected")?.status ?? findings[0].status;
114
+ const due = (value, hours, what) => value
115
+ ? `**Due: ${value}** (${what})`
116
+ : `Due: ${TODO(`no awareness timestamp was given, so no deadline was computed; it is ${hours} after the moment you became aware`)}`;
117
+ const finalDue = deadlines?.finalReportDue
118
+ ? `**Due: ${deadlines.finalReportDue}** (corrective measure available + 14 days)`
119
+ : `Due: ${TODO("the date a corrective or mitigating measure became available to users, plus 14 days; pass --corrective-measure-at <ISO 8601 with time zone> together with --awareness-at to compute it")}`;
120
+ const lines = [
121
+ `# DRAFT: Cyber Resilience Act Article 14 reports for ${cveId}`,
122
+ "",
123
+ "> **DRAFT. NOT SUBMITTED. NOT LEGAL ADVICE. NOT A COMPLIANCE CLAIM.**",
124
+ "> autoremediator assembled this from files on this machine. It has not been reviewed by anyone, it",
125
+ "> does not know whether this vulnerability is *actively exploited in the sense of the Regulation*",
126
+ "> (Article 3(42): reliable evidence that a malicious actor exploited it without the system owner's",
127
+ "> permission), and it submits nothing. Reports are made by the manufacturer through the single",
128
+ "> reporting platform (Article 14(1), Article 16), to the CSIRT designated as coordinator and to",
129
+ "> ENISA. Every field marked **[MANUFACTURER TO COMPLETE]** needs your input; check each filled-in",
130
+ "> field against your own records before relying on it.",
131
+ "",
132
+ `Generated ${input.generatedAt.toISOString()} by autoremediator ${input.toolVersion}.`,
133
+ "",
134
+ "## Timeline",
135
+ "",
136
+ input.awareness
137
+ ? `Awareness (as you stated it): ${deadlines.awarenessAt}`
138
+ : `Awareness: ${TODO("the moment the manufacturer became aware that this vulnerability is being actively exploited; pass --awareness-at <ISO 8601 with time zone> to compute the deadlines below")}`,
139
+ "",
140
+ "| Stage | Article | Due |",
141
+ "| ----- | ------- | --- |",
142
+ `| Early warning | 14(2)(a) | ${deadlines ? `${deadlines.earlyWarningDue} (awareness + 24 hours)` : "awareness + 24 hours"} |`,
143
+ `| Vulnerability notification | 14(2)(b) | ${deadlines ? `${deadlines.notificationDue} (awareness + 72 hours)` : "awareness + 72 hours"} |`,
144
+ `| Final report | 14(2)(c) | ${deadlines?.finalReportDue ? `${deadlines.finalReportDue} (corrective measure available + 14 days)` : "no later than 14 days after a corrective or mitigating measure is available"} |`,
145
+ "",
146
+ "All times are UTC. Deadlines are plain hour and day arithmetic from the timestamps you gave; whether",
147
+ "any rule on how periods are counted applies to your case is for you or your counsel to confirm.",
148
+ "",
149
+ "## 1. Early warning",
150
+ "",
151
+ "Article 14(2)(a): without undue delay and in any event within 24 hours of becoming aware.",
152
+ due(deadlines?.earlyWarningDue, "24 hours", "awareness + 24 hours"),
153
+ "",
154
+ "Pre-filled from local data:",
155
+ "",
156
+ ...productBlock(product),
157
+ ...advisoryBlock(cveId, details),
158
+ ...kevBlock(details),
159
+ "",
160
+ "To complete:",
161
+ "",
162
+ `- Member States where you know the product has been made available (where applicable): ${TODO("list the Member States")}`,
163
+ `- Your contact point for this report: ${TODO("name, role and contact details; not taken from any local file")}`,
164
+ "",
165
+ "## 2. Vulnerability notification",
166
+ "",
167
+ "Article 14(2)(b): within 72 hours of becoming aware, unless the information was already provided.",
168
+ due(deadlines?.notificationDue, "72 hours", "awareness + 72 hours"),
169
+ "",
170
+ "Pre-filled from local data:",
171
+ "",
172
+ "**General information about the product, as available**",
173
+ "",
174
+ ...productBlock(product),
175
+ "",
176
+ "**General nature of the exploit and the vulnerability**",
177
+ "",
178
+ ...advisoryBlock(cveId, details),
179
+ ...kevBlock(details),
180
+ `- What you know about the exploitation: ${TODO("how and where it was exploited; the CISA listing is a pointer, not your evidence")}`,
181
+ "",
182
+ "**Corrective or mitigating measures taken by the manufacturer** (from recorded runs and the policy file; what autoremediator knows about, not necessarily everything you did)",
183
+ "",
184
+ ...measuresBlock(findings),
185
+ "",
186
+ "To complete:",
187
+ "",
188
+ `- Corrective or mitigating measures users can take: ${TODO("for example the product version that contains the fix; the pre-filled measures above concern your dependencies, not your users' actions")}`,
189
+ `- How sensitive you consider the information to be (where applicable): ${TODO("your assessment")}`,
190
+ "",
191
+ "## 3. Final report",
192
+ "",
193
+ "Article 14(2)(c): no later than 14 days after a corrective or mitigating measure is available, unless the information was already provided.",
194
+ finalDue,
195
+ "",
196
+ "Pre-filled from local data:",
197
+ "",
198
+ "**Description of the vulnerability, including its severity and impact**",
199
+ "",
200
+ ...advisoryBlock(cveId, details),
201
+ `- Impact on your product: ${TODO("what an attacker could do against your product and your users")}`,
202
+ "",
203
+ "**Information on any malicious actor exploiting the vulnerability, where available**",
204
+ "",
205
+ ...(details?.kev?.knownRansomwareCampaignUse
206
+ ? [`- CISA's ransomware-use field: ${details.kev.knownRansomwareCampaignUse}`]
207
+ : []),
208
+ `- ${TODO("what you know about who is exploiting it; leave empty if nothing is known")}`,
209
+ "",
210
+ "**Details of the security update or other corrective measures made available**",
211
+ "",
212
+ ...measuresBlock(findings),
213
+ `- Release that ships the fix to your users: ${TODO("version and date")}`,
214
+ "",
215
+ "## Afterwards",
216
+ "",
217
+ "- Article 14(8): inform the impacted users, and where appropriate all users, about the vulnerability and the measures they can take, where appropriate in a structured, machine-readable format. `vex/vex.cdx.json` and `vex/vex.openvex.json` in this pack are machine-readable statements about your dependencies; whether they suit your users is your decision.",
218
+ "- Article 14(6): the CSIRT may ask for an intermediate report.",
219
+ "",
220
+ "## Sources",
221
+ "",
222
+ "- Regulation (EU) 2024/2847 (Cyber Resilience Act), Official Journal L, 20.11.2024; Article 14 paragraphs 1, 2, 6, 7 and 8, Article 3(42), Article 16.",
223
+ "- The field lists above follow the text of Article 14(2) as read on springlex.eu and cross-checked against secondary commentary; confirm them against the Official Journal text and against the fields the reporting platform actually shows.",
224
+ "",
225
+ ];
226
+ return {
227
+ cveId,
228
+ fileName: `${safeFileStem(cveId)}.md`,
229
+ markdown: lines.join("\n"),
230
+ ...(deadlines ? { deadlines } : {}),
231
+ status,
232
+ };
233
+ }
234
+ //# sourceMappingURL=cra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cra.js","sourceRoot":"","sources":["../../../src/api/evidence-pack/cra.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type KeyObject } from "node:crypto";
2
+ /** Payload type of an in-toto statement inside a DSSE envelope. */
3
+ export declare const INTOTO_PAYLOAD_TYPE = "application/vnd.in-toto+json";
4
+ /**
5
+ * DSSE pre-authentication encoding (DSSE protocol, "Signature Protocol"):
6
+ * `"DSSEv1" SP LEN(type) SP type SP LEN(body) SP body`, where SP is one ASCII space and LEN is the
7
+ * length in bytes as ASCII decimal with no leading zeros. Lengths count UTF-8 bytes, not characters.
8
+ */
9
+ export declare function pae(payloadType: string, body: string | Uint8Array): Buffer;
10
+ export interface DsseSignature {
11
+ keyid?: string;
12
+ /** Base64 of the signature over PAE(payloadType, payload). */
13
+ sig: string;
14
+ }
15
+ export interface DsseEnvelope {
16
+ payloadType: string;
17
+ /** Base64 of the serialized body. */
18
+ payload: string;
19
+ signatures: DsseSignature[];
20
+ }
21
+ export type SigningAlgorithm = "ed25519" | "ecdsa-p256-sha256" | "ecdsa-p384-sha384";
22
+ export interface SigningKey {
23
+ privateKey: KeyObject;
24
+ algorithm: SigningAlgorithm;
25
+ /** SHA-256 of the public key's SubjectPublicKeyInfo DER, hex. An unauthenticated hint, never a trust decision. */
26
+ keyid: string;
27
+ publicKeyPem: string;
28
+ }
29
+ /** SHA-256 over the SPKI DER of a public key, hex. */
30
+ export declare function keyIdOf(publicKey: KeyObject): string;
31
+ /** Read an unencrypted PEM private key (PKCS#8 or SEC1). Never logs or returns the key material. */
32
+ export declare function loadSigningKey(path: string): SigningKey;
33
+ /** Read a PEM public key for verification. */
34
+ export declare function loadPublicKey(path: string): KeyObject;
35
+ /** Sign `PAE(payloadType, body)`. ECDSA signatures are DER encoded, as Sigstore tooling expects. */
36
+ export declare function signPayload(key: SigningKey, payloadType: string, body: string | Uint8Array): DsseSignature;
37
+ /** A DSSE envelope around `body`; unsigned (`signatures: []`) when no key is given. */
38
+ export declare function createEnvelope(body: string, key: SigningKey | undefined, payloadType?: string): DsseEnvelope;
39
+ /** Decode base64 in either the standard or the URL-safe alphabet; the DSSE protocol allows both. */
40
+ export declare function decodeBase64(text: string): Buffer;
41
+ export type EnvelopeCheck = {
42
+ ok: true;
43
+ keyid: string;
44
+ } | {
45
+ ok: false;
46
+ reason: string;
47
+ };
48
+ /**
49
+ * Check that at least one signature of the envelope verifies against `publicKey` over the PAE of
50
+ * the envelope's own payload type and payload. The `keyid` is not used to decide anything.
51
+ */
52
+ export declare function verifyEnvelope(envelope: DsseEnvelope, publicKey: KeyObject): EnvelopeCheck;
53
+ //# sourceMappingURL=dsse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsse.d.ts","sourceRoot":"","sources":["../../../src/api/evidence-pack/dsse.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAGrB,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAS1E;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErF,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,kHAAkH;IAClH,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,sDAAsD;AACtD,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAIpD;AAqBD,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA2BvD;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAoBrD;AAED,oGAAoG;AACpG,wBAAgB,WAAW,CACzB,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,aAAa,CAGf;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,UAAU,GAAG,SAAS,EAC3B,WAAW,GAAE,MAA4B,GACxC,YAAY,CAMd;AAED,oGAAoG;AACpG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAsB1F"}
@@ -0,0 +1,132 @@
1
+ import { createHash, createPrivateKey, createPublicKey, sign as cryptoSign, verify as cryptoVerify, } from "node:crypto";
2
+ import { readFileSync } from "node:fs";
3
+ /** Payload type of an in-toto statement inside a DSSE envelope. */
4
+ export const INTOTO_PAYLOAD_TYPE = "application/vnd.in-toto+json";
5
+ /**
6
+ * DSSE pre-authentication encoding (DSSE protocol, "Signature Protocol"):
7
+ * `"DSSEv1" SP LEN(type) SP type SP LEN(body) SP body`, where SP is one ASCII space and LEN is the
8
+ * length in bytes as ASCII decimal with no leading zeros. Lengths count UTF-8 bytes, not characters.
9
+ */
10
+ export function pae(payloadType, body) {
11
+ const type = Buffer.from(payloadType, "utf8");
12
+ const payload = typeof body === "string" ? Buffer.from(body, "utf8") : Buffer.from(body);
13
+ return Buffer.concat([
14
+ Buffer.from(`DSSEv1 ${type.length} `, "ascii"),
15
+ type,
16
+ Buffer.from(` ${payload.length} `, "ascii"),
17
+ payload,
18
+ ]);
19
+ }
20
+ /** SHA-256 over the SPKI DER of a public key, hex. */
21
+ export function keyIdOf(publicKey) {
22
+ return createHash("sha256")
23
+ .update(publicKey.export({ type: "spki", format: "der" }))
24
+ .digest("hex");
25
+ }
26
+ function algorithmOf(key) {
27
+ if (key.asymmetricKeyType === "ed25519")
28
+ return "ed25519";
29
+ if (key.asymmetricKeyType === "ec") {
30
+ const curve = key.asymmetricKeyDetails?.namedCurve;
31
+ if (curve === "prime256v1" || curve === "P-256")
32
+ return "ecdsa-p256-sha256";
33
+ if (curve === "secp384r1" || curve === "P-384")
34
+ return "ecdsa-p384-sha384";
35
+ throw new Error(`Unsupported ECDSA curve ${String(curve)}; use P-256 or P-384.`);
36
+ }
37
+ throw new Error(`Unsupported key type ${String(key.asymmetricKeyType)}; use an Ed25519 or ECDSA (P-256, P-384) key.`);
38
+ }
39
+ const HASH_OF = {
40
+ ed25519: null,
41
+ "ecdsa-p256-sha256": "sha256",
42
+ "ecdsa-p384-sha384": "sha384",
43
+ };
44
+ /** Read an unencrypted PEM private key (PKCS#8 or SEC1). Never logs or returns the key material. */
45
+ export function loadSigningKey(path) {
46
+ let pem;
47
+ try {
48
+ pem = readFileSync(path, "utf8");
49
+ }
50
+ catch (error) {
51
+ throw new Error(`Cannot read the signing key at "${path}": ${error instanceof Error ? error.message : String(error)}`, { cause: error });
52
+ }
53
+ let privateKey;
54
+ try {
55
+ privateKey = createPrivateKey(pem);
56
+ }
57
+ catch (error) {
58
+ throw new Error(`The signing key at "${path}" is not a usable unencrypted PEM private key (PKCS#8 or SEC1). Generate one with: openssl genpkey -algorithm ed25519 -out evidence-signing.pem`, { cause: error });
59
+ }
60
+ const algorithm = algorithmOf(privateKey);
61
+ const publicKey = createPublicKey(privateKey);
62
+ return {
63
+ privateKey,
64
+ algorithm,
65
+ keyid: keyIdOf(publicKey),
66
+ publicKeyPem: publicKey.export({ type: "spki", format: "pem" }),
67
+ };
68
+ }
69
+ /** Read a PEM public key for verification. */
70
+ export function loadPublicKey(path) {
71
+ let pem;
72
+ try {
73
+ pem = readFileSync(path, "utf8");
74
+ }
75
+ catch (error) {
76
+ throw new Error(`Cannot read the public key at "${path}": ${error instanceof Error ? error.message : String(error)}`, { cause: error });
77
+ }
78
+ try {
79
+ const key = createPublicKey(pem);
80
+ algorithmOf(key);
81
+ return key;
82
+ }
83
+ catch (error) {
84
+ throw new Error(`The file at "${path}" is not a usable PEM public key (Ed25519 or ECDSA P-256/P-384): ${error instanceof Error ? error.message : String(error)}`, { cause: error });
85
+ }
86
+ }
87
+ /** Sign `PAE(payloadType, body)`. ECDSA signatures are DER encoded, as Sigstore tooling expects. */
88
+ export function signPayload(key, payloadType, body) {
89
+ const signature = cryptoSign(HASH_OF[key.algorithm], pae(payloadType, body), key.privateKey);
90
+ return { keyid: key.keyid, sig: signature.toString("base64") };
91
+ }
92
+ /** A DSSE envelope around `body`; unsigned (`signatures: []`) when no key is given. */
93
+ export function createEnvelope(body, key, payloadType = INTOTO_PAYLOAD_TYPE) {
94
+ return {
95
+ payloadType,
96
+ payload: Buffer.from(body, "utf8").toString("base64"),
97
+ signatures: key ? [signPayload(key, payloadType, body)] : [],
98
+ };
99
+ }
100
+ /** Decode base64 in either the standard or the URL-safe alphabet; the DSSE protocol allows both. */
101
+ export function decodeBase64(text) {
102
+ return Buffer.from(text.replaceAll("-", "+").replaceAll("_", "/"), "base64");
103
+ }
104
+ /**
105
+ * Check that at least one signature of the envelope verifies against `publicKey` over the PAE of
106
+ * the envelope's own payload type and payload. The `keyid` is not used to decide anything.
107
+ */
108
+ export function verifyEnvelope(envelope, publicKey) {
109
+ if (typeof envelope?.payloadType !== "string" ||
110
+ typeof envelope.payload !== "string" ||
111
+ !Array.isArray(envelope.signatures)) {
112
+ return { ok: false, reason: "not a DSSE envelope" };
113
+ }
114
+ if (envelope.signatures.length === 0)
115
+ return { ok: false, reason: "the envelope is not signed" };
116
+ const algorithm = algorithmOf(publicKey);
117
+ const data = pae(envelope.payloadType, decodeBase64(envelope.payload));
118
+ for (const entry of envelope.signatures) {
119
+ if (typeof entry?.sig !== "string")
120
+ continue;
121
+ try {
122
+ if (cryptoVerify(HASH_OF[algorithm], data, publicKey, decodeBase64(entry.sig))) {
123
+ return { ok: true, keyid: keyIdOf(publicKey) };
124
+ }
125
+ }
126
+ catch {
127
+ // A malformed signature is a failed one.
128
+ }
129
+ }
130
+ return { ok: false, reason: "no signature verifies against the key" };
131
+ }
132
+ //# sourceMappingURL=dsse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsse.js","sourceRoot":"","sources":["../../../src/api/evidence-pack/dsse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { CveDetails, VexSuppression } from "../../platform/types.js";
2
+ import type { RunRecord, RunStore } from "../../runs/run-store.js";
3
+ export type VexStatus = "fixed" | "affected" | "not_affected" | "under_investigation";
4
+ export type OpenVexJustification = "component_not_present" | "vulnerable_code_not_present" | "vulnerable_code_not_in_execute_path" | "vulnerable_code_cannot_be_controlled_by_adversary" | "inline_mitigations_already_exist";
5
+ export type CycloneDxJustification = "code_not_present" | "protected_by_mitigating_control";
6
+ export interface FindingComponent {
7
+ name: string;
8
+ version: string;
9
+ }
10
+ /** One assertion the evidence pack makes about one advisory and, where known, one component. */
11
+ export interface VexFinding {
12
+ cveId: string;
13
+ status: VexStatus;
14
+ /**
15
+ * What the statement is about: the locked package. For `fixed`, the version that now carries the
16
+ * fix; otherwise the version the advisory matched. Absent for a policy suppression that matched
17
+ * no recorded run.
18
+ */
19
+ component?: FindingComponent;
20
+ /** Where the claim comes from: a recorded run and the lockfile, or the project's policy file. */
21
+ basis: "run" | "policy";
22
+ runIds: string[];
23
+ /** One sentence for a human reader. */
24
+ detail: string;
25
+ openVexJustification?: OpenVexJustification;
26
+ cycloneDxJustification?: CycloneDxJustification;
27
+ /** Required by OpenVEX when the status is `affected`. */
28
+ actionStatement?: string;
29
+ /** Free-text reason for a `not_affected` or suppressed statement when no machine-readable justification applies. */
30
+ impactStatement?: string;
31
+ /** The version the plan or run moves the component to. */
32
+ targetVersion?: string;
33
+ /** Planned or applied fix exists, so CycloneDX `response: update`. */
34
+ updateAvailable: boolean;
35
+ }
36
+ export interface FindingsResult {
37
+ findings: VexFinding[];
38
+ /** Advisory details from the newest recorded report that has them. */
39
+ cves: Map<string, CveDetails | null>;
40
+ /** Runs whose report was used, newest first. */
41
+ usedRuns: string[];
42
+ notes: string[];
43
+ }
44
+ /**
45
+ * What the pack asserts, from two sources only: the project's policy suppressions, and the runs
46
+ * recorded under `.autoremediator/runs/`, read against what the lockfile locks now. Nothing is
47
+ * looked up and nothing is inferred beyond that; an advisory with no recorded run and no
48
+ * suppression does not appear.
49
+ */
50
+ export declare function collectFindings(input: {
51
+ store: RunStore;
52
+ runs: RunRecord[];
53
+ suppressions: VexSuppression[];
54
+ /** `name@version` the lockfile locks now, or undefined when no lockfile could be read. */
55
+ locked: Set<string> | undefined;
56
+ }): FindingsResult;
57
+ //# sourceMappingURL=findings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../../../src/api/evidence-pack/findings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,qBAAqB,CAAC;AAEtF,MAAM,MAAM,oBAAoB,GAC5B,uBAAuB,GACvB,6BAA6B,GAC7B,qCAAqC,GACrC,mDAAmD,GACnD,kCAAkC,CAAC;AAEvC,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG,iCAAiC,CAAC;AAE5F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gGAAgG;AAChG,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,iGAAiG;IACjG,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oHAAoH;IACpH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,sEAAsE;IACtE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;IACrC,gDAAgD;IAChD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAwLD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,0FAA0F;IAC1F,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACjC,GAAG,cAAc,CAgGjB"}