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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Rawlings
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -67,10 +67,15 @@ fixed that was not verified.
67
67
  | **CLI and [SDK](docs/reference/sdk.md)** | Local runs, scripts, pipelines |
68
68
  | **[GitHub Action](docs/integrations/github-action.md)** | A nightly pull request that fixes what audit finds |
69
69
  | **[GitHub App](docs/integrations/github-app.md)** | Remediation across every repository you install it on |
70
+ | **[Coding agents](docs/integrations/coding-agents.md)** | `npx autoremediator init` sets up Claude Code, Cursor, VS Code, Copilot, Codex and Gemini CLI; a Claude Code plugin is included |
71
+ | **[Other CI](docs/integrations/other-ci.md)** | GitLab, Bitbucket Pipelines, Azure DevOps, Docker and Dagger |
72
+ | **[A2A](docs/integrations/a2a.md)** | An Agent2Agent card and endpoint so other agents can delegate to it |
70
73
  | **[MCP server](docs/integrations/mcp-server.md)** | Give your editor or agent a safe way to fix dependencies |
71
74
  | **[HTTP server](docs/integrations/http-server.md)** | Call it from internal services |
72
75
  | **[VS Code](packages/vscode-extension/README.md)** | Findings and one-click fixes in `package.json` |
73
76
 
77
+ Beyond fixing a CVE: assemble a [CRA evidence pack](docs/guides/evidence-pack.md), have a model write and prove an [exploit reproduction](docs/guides/proof-of-fix-generation.md), spot [silent security fixes](docs/guides/silent-fix-radar.md), keep dependencies [fresh](docs/guides/freshness.md) in small verified steps, and compile rules into a [policy](docs/guides/policy-in-plain-language.md). Also: [guard](docs/guides/guard.md) packages before an agent installs them, [diet](docs/guides/dependency-diet.md) what you depend on, [bisect](docs/guides/bisect.md) a broken lockfile, respond to a [compromised package](docs/guides/incident-response.md), and let a repository [earn autonomy](docs/guides/earned-autonomy.md).
78
+
74
79
  Works with npm, pnpm, Yarn, Bun and Deno projects. Requires Node.js 26 or later.
75
80
 
76
81
  > [!WARNING]
@@ -0,0 +1,89 @@
1
+ /**
2
+ * A2A (Agent2Agent) Agent Card, protocol version 1.0.
3
+ *
4
+ * Field names and shapes follow the A2A 1.0.0 specification (section 4.4, "Agent Discovery
5
+ * Objects") and its normative proto (`a2a.proto`, package `lf.a2a.v1`) in JSON form. Nothing here
6
+ * adds a field the specification does not define. See `docs/integrations/a2a.md` for sources.
7
+ */
8
+ import { type Operation } from "../catalog/index.js";
9
+ /** The A2A protocol version the card advertises and the endpoint implements. */
10
+ export declare const A2A_PROTOCOL_VERSION = "1.0";
11
+ /** Where the card is served (A2A 1.0 section 8.2). */
12
+ export declare const AGENT_CARD_PATH = "/.well-known/agent-card.json";
13
+ /** Where the JSON-RPC binding is served. The card's `supportedInterfaces` points here. */
14
+ export declare const A2A_ENDPOINT_PATH = "/a2a";
15
+ /** Key of the bearer scheme in `securitySchemes`. */
16
+ export declare const BEARER_SCHEME_NAME = "bearerAuth";
17
+ export interface AgentInterface {
18
+ url: string;
19
+ protocolBinding: string;
20
+ protocolVersion: string;
21
+ }
22
+ export interface AgentSkill {
23
+ id: string;
24
+ name: string;
25
+ description: string;
26
+ tags: string[];
27
+ inputModes: string[];
28
+ outputModes: string[];
29
+ }
30
+ export interface AgentCardSignature {
31
+ /** Base64url of the JSON protected header (`alg`, `typ`, `kid`). */
32
+ protected: string;
33
+ /** Base64url of the JWS signature. */
34
+ signature: string;
35
+ }
36
+ export interface SecurityRequirement {
37
+ schemes: Record<string, {
38
+ list: string[];
39
+ }>;
40
+ }
41
+ export interface SecurityScheme {
42
+ httpAuthSecurityScheme: {
43
+ description?: string;
44
+ scheme: string;
45
+ bearerFormat?: string;
46
+ };
47
+ }
48
+ export interface AgentCard {
49
+ name: string;
50
+ description: string;
51
+ supportedInterfaces: AgentInterface[];
52
+ provider: {
53
+ organization: string;
54
+ url: string;
55
+ };
56
+ version: string;
57
+ documentationUrl: string;
58
+ capabilities: {
59
+ streaming: boolean;
60
+ pushNotifications: boolean;
61
+ extendedAgentCard: boolean;
62
+ };
63
+ securitySchemes: Record<string, SecurityScheme>;
64
+ securityRequirements: SecurityRequirement[];
65
+ defaultInputModes: string[];
66
+ defaultOutputModes: string[];
67
+ skills: AgentSkill[];
68
+ signatures?: AgentCardSignature[];
69
+ }
70
+ /**
71
+ * The operations offered over A2A: a curated subset of the catalog. Anything that edits the project
72
+ * outside a run's own plan/apply flow (rollback, attempts, portfolio, jobs) stays on the HTTP API
73
+ * and MCP.
74
+ */
75
+ export declare const A2A_SKILL_NAMES: readonly ["remediate", "planRemediation", "remediateFromScan", "guardPackage", "evaluatePackage", "scanDelta", "checkReachability", "verifyRun", "getRun", "listRuns", "toVex"];
76
+ /** The catalog operations behind the A2A skills. Throws if the catalog no longer has one. */
77
+ export declare function a2aSkillOperations(): Operation[];
78
+ /** Strip trailing slashes; only an absolute http(s) URL is a usable base. */
79
+ export declare function normalizeBaseUrl(baseUrl: string): string;
80
+ /**
81
+ * Build the Agent Card. Pure: the same inputs give the same card. Skills come from catalog
82
+ * operations, so ids, names and descriptions cannot drift from what the server runs.
83
+ */
84
+ export declare function buildAgentCard(input: {
85
+ baseUrl: string;
86
+ version: string;
87
+ skills?: readonly Operation[];
88
+ }): AgentCard;
89
+ //# sourceMappingURL=agent-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../src/a2a/agent-card.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE5E,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,sDAAsD;AACtD,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAE9D,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAM/C,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,sBAAsB,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzF;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,cAAc,EAAE,CAAC;IACtC,QAAQ,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE;QACZ,SAAS,EAAE,OAAO,CAAC;QACnB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAChD,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,YAC1B,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,OAAO,CACC,CAAC;AAgBX,6FAA6F;AAC7F,wBAAgB,kBAAkB,IAAI,SAAS,EAAE,CAMhD;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWxD;AAcD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CAC/B,GAAG,SAAS,CAyCZ"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * A2A (Agent2Agent) Agent Card, protocol version 1.0.
3
+ *
4
+ * Field names and shapes follow the A2A 1.0.0 specification (section 4.4, "Agent Discovery
5
+ * Objects") and its normative proto (`a2a.proto`, package `lf.a2a.v1`) in JSON form. Nothing here
6
+ * adds a field the specification does not define. See `docs/integrations/a2a.md` for sources.
7
+ */
8
+ import { getOperation, roleFor } from "../catalog/index.js";
9
+ /** The A2A protocol version the card advertises and the endpoint implements. */
10
+ export const A2A_PROTOCOL_VERSION = "1.0";
11
+ /** Where the card is served (A2A 1.0 section 8.2). */
12
+ export const AGENT_CARD_PATH = "/.well-known/agent-card.json";
13
+ /** Where the JSON-RPC binding is served. The card's `supportedInterfaces` points here. */
14
+ export const A2A_ENDPOINT_PATH = "/a2a";
15
+ /** Key of the bearer scheme in `securitySchemes`. */
16
+ export const BEARER_SCHEME_NAME = "bearerAuth";
17
+ const JSON_MEDIA_TYPE = "application/json";
18
+ const PROJECT_URL = "https://github.com/Rawlings/autoremediator";
19
+ /**
20
+ * The operations offered over A2A: a curated subset of the catalog. Anything that edits the project
21
+ * outside a run's own plan/apply flow (rollback, attempts, portfolio, jobs) stays on the HTTP API
22
+ * and MCP.
23
+ */
24
+ export const A2A_SKILL_NAMES = [
25
+ "remediate",
26
+ "planRemediation",
27
+ "remediateFromScan",
28
+ "guardPackage",
29
+ "evaluatePackage",
30
+ "scanDelta",
31
+ "checkReachability",
32
+ "verifyRun",
33
+ "getRun",
34
+ "listRuns",
35
+ "toVex",
36
+ ];
37
+ const SKILL_TAGS = {
38
+ remediate: ["vulnerability", "remediation", "npm", "cve"],
39
+ planRemediation: ["vulnerability", "remediation", "planning", "cve"],
40
+ remediateFromScan: ["vulnerability", "remediation", "scanner", "sarif"],
41
+ guardPackage: ["supply-chain", "malware", "npm", "install-guard"],
42
+ evaluatePackage: ["supply-chain", "npm", "package-health"],
43
+ scanDelta: ["vulnerability", "git", "delta"],
44
+ checkReachability: ["vulnerability", "reachability", "triage"],
45
+ verifyRun: ["verification", "remediation", "runs"],
46
+ getRun: ["runs", "audit"],
47
+ listRuns: ["runs", "audit"],
48
+ toVex: ["vex", "cyclonedx", "reporting"],
49
+ };
50
+ /** The catalog operations behind the A2A skills. Throws if the catalog no longer has one. */
51
+ export function a2aSkillOperations() {
52
+ return A2A_SKILL_NAMES.map((name) => {
53
+ const operation = getOperation(name);
54
+ if (!operation)
55
+ throw new Error(`A2A skill "${name}" is not in the operation catalog`);
56
+ return operation;
57
+ });
58
+ }
59
+ /** Strip trailing slashes; only an absolute http(s) URL is a usable base. */
60
+ export function normalizeBaseUrl(baseUrl) {
61
+ let parsed;
62
+ try {
63
+ parsed = new URL(baseUrl);
64
+ }
65
+ catch {
66
+ throw new Error(`Invalid base URL: ${baseUrl}`);
67
+ }
68
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
69
+ throw new Error(`Base URL must be http or https: ${baseUrl}`);
70
+ }
71
+ return `${parsed.origin}${parsed.pathname.replace(/\/+$/, "")}`;
72
+ }
73
+ function toSkill(operation) {
74
+ const tags = SKILL_TAGS[operation.name] ?? [operation.name];
75
+ return {
76
+ id: operation.name,
77
+ name: operation.title,
78
+ description: `${operation.description} Requires the "${roleFor(operation)}" role.`,
79
+ tags,
80
+ inputModes: [JSON_MEDIA_TYPE],
81
+ outputModes: [JSON_MEDIA_TYPE],
82
+ };
83
+ }
84
+ /**
85
+ * Build the Agent Card. Pure: the same inputs give the same card. Skills come from catalog
86
+ * operations, so ids, names and descriptions cannot drift from what the server runs.
87
+ */
88
+ export function buildAgentCard(input) {
89
+ const baseUrl = normalizeBaseUrl(input.baseUrl);
90
+ const operations = input.skills ?? a2aSkillOperations();
91
+ return {
92
+ name: "autoremediator",
93
+ description: "Remediates vulnerable npm dependencies and screens packages before an agent installs them. " +
94
+ "Delegate by sending a SendMessage request whose message carries one data part " +
95
+ '{"operation": <skill id>, "input": {...}}; the operation runs and its result comes back as a ' +
96
+ "JSON artifact on a completed task. Skills map one-to-one to operations of the " +
97
+ "autoremediator HTTP API and MCP server. Streaming, push notifications and an extended card " +
98
+ "are not supported.",
99
+ supportedInterfaces: [
100
+ {
101
+ url: `${baseUrl}${A2A_ENDPOINT_PATH}`,
102
+ protocolBinding: "JSONRPC",
103
+ protocolVersion: A2A_PROTOCOL_VERSION,
104
+ },
105
+ ],
106
+ provider: { organization: "Rawlings", url: PROJECT_URL },
107
+ version: input.version,
108
+ documentationUrl: `${PROJECT_URL}/blob/master/docs/integrations/a2a.md`,
109
+ capabilities: { streaming: false, pushNotifications: false, extendedAgentCard: false },
110
+ securitySchemes: {
111
+ [BEARER_SCHEME_NAME]: {
112
+ httpAuthSecurityScheme: {
113
+ description: "Bearer token: either a static token from AUTOREMEDIATOR_API_TOKENS or an HS256 JWT " +
114
+ "with a role claim (admin, operator or reader). The role decides which skills a token " +
115
+ "may use; each skill's description names the role it needs.",
116
+ scheme: "Bearer",
117
+ bearerFormat: "JWT",
118
+ },
119
+ },
120
+ },
121
+ securityRequirements: [{ schemes: { [BEARER_SCHEME_NAME]: { list: [] } } }],
122
+ defaultInputModes: [JSON_MEDIA_TYPE],
123
+ defaultOutputModes: [JSON_MEDIA_TYPE],
124
+ skills: operations.map((operation) => toSkill(operation)),
125
+ };
126
+ }
127
+ //# sourceMappingURL=agent-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../src/a2a/agent-card.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAE5E,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAE9D,0FAA0F;AAC1F,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE/C,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,MAAM,WAAW,GAAG,4CAA4C,CAAC;AAoDjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,WAAW;IACX,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,iBAAiB;IACjB,WAAW;IACX,mBAAmB;IACnB,WAAW;IACX,QAAQ;IACR,UAAU;IACV,OAAO;CACC,CAAC;AAEX,MAAM,UAAU,GAAuD;IACrE,SAAS,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC;IACzD,eAAe,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC;IACpE,iBAAiB,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC;IACvE,YAAY,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC;IACjE,eAAe,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,gBAAgB,CAAC;IAC1D,SAAS,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC;IAC5C,iBAAiB,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC;IAC9D,SAAS,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC;IAClD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC;CACzC,CAAC;AAEF,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,mCAAmC,CAAC,CAAC;QACvF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,OAAO,CAAC,SAAoB;IACnC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvF,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,IAAI;QAClB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,WAAW,EAAE,GAAG,SAAS,CAAC,WAAW,kBAAkB,OAAO,CAAC,SAAS,CAAC,SAAS;QAClF,IAAI;QACJ,UAAU,EAAE,CAAC,eAAe,CAAC;QAC7B,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAI9B;IACC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;IAExD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,6FAA6F;YAC7F,gFAAgF;YAChF,+FAA+F;YAC/F,gFAAgF;YAChF,6FAA6F;YAC7F,oBAAoB;QACtB,mBAAmB,EAAE;YACnB;gBACE,GAAG,EAAE,GAAG,OAAO,GAAG,iBAAiB,EAAE;gBACrC,eAAe,EAAE,SAAS;gBAC1B,eAAe,EAAE,oBAAoB;aACtC;SACF;QACD,QAAQ,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE;QACxD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,gBAAgB,EAAE,GAAG,WAAW,uCAAuC;QACvE,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE;QACtF,eAAe,EAAE;YACf,CAAC,kBAAkB,CAAC,EAAE;gBACpB,sBAAsB,EAAE;oBACtB,WAAW,EACT,qFAAqF;wBACrF,uFAAuF;wBACvF,4DAA4D;oBAC9D,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,KAAK;iBACpB;aACF;SACF;QACD,oBAAoB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC3E,iBAAiB,EAAE,CAAC,eAAe,CAAC;QACpC,kBAAkB,EAAE,CAAC,eAAe,CAAC;QACrC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { A2A_ENDPOINT_PATH, A2A_PROTOCOL_VERSION, A2A_SKILL_NAMES, AGENT_CARD_PATH, BEARER_SCHEME_NAME, a2aSkillOperations, buildAgentCard, normalizeBaseUrl, } from "./agent-card.js";
2
+ export type { AgentCard, AgentCardSignature, AgentInterface, AgentSkill, SecurityRequirement, SecurityScheme, } from "./agent-card.js";
3
+ export { agentCardFor, handleA2aRequest, handleAgentCardRequest, resolveBaseUrl, } from "./server.js";
4
+ export type { A2aTask } from "./server.js";
5
+ export { canonicalize, signAgentCard, signingKeyFromEnv, signingKeyFromPem, verifyAgentCard, } from "./sign.js";
6
+ export type { JwsAlgorithm, SigningKey } from "./sign.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { A2A_ENDPOINT_PATH, A2A_PROTOCOL_VERSION, A2A_SKILL_NAMES, AGENT_CARD_PATH, BEARER_SCHEME_NAME, a2aSkillOperations, buildAgentCard, normalizeBaseUrl, } from "./agent-card.js";
2
+ export { agentCardFor, handleA2aRequest, handleAgentCardRequest, resolveBaseUrl, } from "./server.js";
3
+ export { canonicalize, signAgentCard, signingKeyFromEnv, signingKeyFromPem, verifyAgentCard, } from "./sign.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type http from "node:http";
2
+ import { type ApiDeps } from "../catalog/index.js";
3
+ import { type AgentCard } from "./agent-card.js";
4
+ type TaskState = "TASK_STATE_COMPLETED" | "TASK_STATE_FAILED";
5
+ interface A2aPart {
6
+ text?: string;
7
+ data?: unknown;
8
+ mediaType?: string;
9
+ }
10
+ interface A2aMessage {
11
+ messageId: string;
12
+ contextId?: string;
13
+ taskId?: string;
14
+ role: string;
15
+ parts: A2aPart[];
16
+ }
17
+ export interface A2aTask {
18
+ id: string;
19
+ contextId: string;
20
+ status: {
21
+ state: TaskState;
22
+ message?: A2aMessage;
23
+ timestamp: string;
24
+ };
25
+ artifacts?: Array<{
26
+ artifactId: string;
27
+ name: string;
28
+ parts: A2aPart[];
29
+ }>;
30
+ history?: A2aMessage[];
31
+ metadata?: Record<string, unknown>;
32
+ }
33
+ /**
34
+ * The URL the card advertises: `AUTOREMEDIATOR_A2A_BASE_URL` when set (use it behind a TLS proxy),
35
+ * otherwise the request's `Host` over http. The caller has already checked the host against the
36
+ * allowed list; the shape check here keeps userinfo or paths out of the advertised URL.
37
+ */
38
+ export declare function resolveBaseUrl(req: http.IncomingMessage, env?: NodeJS.ProcessEnv): string;
39
+ /** The card for this request, signed when `AUTOREMEDIATOR_A2A_SIGNING_KEY` is set. */
40
+ export declare function agentCardFor(req: http.IncomingMessage, env?: NodeJS.ProcessEnv): AgentCard;
41
+ /** `GET /.well-known/agent-card.json`: public, like `/health` and `/openapi.json`. */
42
+ export declare function handleAgentCardRequest(req: http.IncomingMessage, res: http.ServerResponse): void;
43
+ /** `POST /a2a`: the JSON-RPC endpoint the Agent Card's `supportedInterfaces` points at. */
44
+ export declare function handleA2aRequest(req: http.IncomingMessage, res: http.ServerResponse, deps?: Partial<ApiDeps>): Promise<void>;
45
+ export {};
46
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/a2a/server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAIL,KAAK,OAAO,EAEb,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAoBzB,KAAK,SAAS,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE9D,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAQD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAKR;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAC1B,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,SAAS,CAIX;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAEhG;AAoQD,2FAA2F;AAC3F,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyDf"}
@@ -0,0 +1,312 @@
1
+ /**
2
+ * A2A over the HTTP server: the public Agent Card, and a JSON-RPC 2.0 endpoint implementing the two
3
+ * methods of the 1.0 binding autoremediator supports, `SendMessage` and `GetTask`.
4
+ *
5
+ * A `SendMessage` message carries a data part `{"operation": <skill id>, "input": {...}}`. The
6
+ * operation runs to completion before the reply, so a reply is always a task in a terminal state.
7
+ * Authorization is the HTTP API's: the same bearer tokens, the role `roleFor` assigns the operation,
8
+ * and the same path confinement.
9
+ */
10
+ import { randomUUID } from "node:crypto";
11
+ import { defaultApiDeps, inputJsonSchema, roleFor, } from "../catalog/index.js";
12
+ import { authorizeRole, callerIdentity } from "../platform/http-auth.js";
13
+ import { HttpError, readBody, sendJson } from "../platform/http-security.js";
14
+ import { confinePaths, getAllowedRoots, PathNotAllowedError } from "../platform/path-guard.js";
15
+ import { PACKAGE_VERSION } from "../version.js";
16
+ import { A2A_PROTOCOL_VERSION, a2aSkillOperations, buildAgentCard, normalizeBaseUrl, } from "./agent-card.js";
17
+ import { signAgentCard, signingKeyFromEnv } from "./sign.js";
18
+ import { TaskStore, truncateMessage } from "./task-store.js";
19
+ const JSON_MEDIA_TYPE = "application/json";
20
+ /** JSON-RPC 2.0 and A2A error codes (A2A 1.0 sections 5.4 and 9.5). */
21
+ const ERROR = {
22
+ parse: -32_700,
23
+ invalidRequest: -32_600,
24
+ methodNotFound: -32_601,
25
+ invalidParams: -32_602,
26
+ taskNotFound: -32_001,
27
+ unsupportedOperation: -32_004,
28
+ contentTypeNotSupported: -32_005,
29
+ versionNotSupported: -32_009,
30
+ };
31
+ // ---------------------------------------------------------------------------
32
+ // Agent Card
33
+ // ---------------------------------------------------------------------------
34
+ const SAFE_HOST = /^(?:\[[0-9a-f:.]+\]|[a-z0-9.-]+)(?::\d{1,5})?$/i;
35
+ /**
36
+ * The URL the card advertises: `AUTOREMEDIATOR_A2A_BASE_URL` when set (use it behind a TLS proxy),
37
+ * otherwise the request's `Host` over http. The caller has already checked the host against the
38
+ * allowed list; the shape check here keeps userinfo or paths out of the advertised URL.
39
+ */
40
+ export function resolveBaseUrl(req, env = process.env) {
41
+ const configured = env["AUTOREMEDIATOR_A2A_BASE_URL"];
42
+ if (configured)
43
+ return normalizeBaseUrl(configured);
44
+ const host = req.headers.host ?? "";
45
+ return SAFE_HOST.test(host) ? `http://${host}` : "http://127.0.0.1";
46
+ }
47
+ /** The card for this request, signed when `AUTOREMEDIATOR_A2A_SIGNING_KEY` is set. */
48
+ export function agentCardFor(req, env = process.env) {
49
+ const card = buildAgentCard({ baseUrl: resolveBaseUrl(req, env), version: PACKAGE_VERSION });
50
+ const key = signingKeyFromEnv(env);
51
+ return key ? signAgentCard(card, key) : card;
52
+ }
53
+ /** `GET /.well-known/agent-card.json`: public, like `/health` and `/openapi.json`. */
54
+ export function handleAgentCardRequest(req, res) {
55
+ sendJson(res, 200, agentCardFor(req));
56
+ }
57
+ // ---------------------------------------------------------------------------
58
+ // Tasks
59
+ // ---------------------------------------------------------------------------
60
+ const TASK_TTL_MS = 60 * 60 * 1000;
61
+ /** One result larger than this is returned to its caller but not kept (4 MB). */
62
+ const MAX_TASK_BYTES = 4 * 1024 * 1024;
63
+ /** Finished tasks, in memory. Lost on restart; bounded by count, age and total size (64 MB). */
64
+ const tasks = new TaskStore({
65
+ maxTasks: 500,
66
+ maxBytes: 64 * 1024 * 1024,
67
+ ttlMs: TASK_TTL_MS,
68
+ });
69
+ /**
70
+ * Keep a finished task for `GetTask`, for the caller that ran it only. The record holds a short copy
71
+ * of the caller's message, not the message, and a result too big to keep is replaced by a notice.
72
+ */
73
+ function rememberTask(task, role, owner) {
74
+ const kept = {
75
+ ...task,
76
+ ...(task.history ? { history: task.history.map((message) => truncateMessage(message)) } : {}),
77
+ };
78
+ if (Buffer.byteLength(JSON.stringify(kept)) > MAX_TASK_BYTES && kept.artifacts) {
79
+ kept.artifacts = kept.artifacts.map((artifact) => ({
80
+ ...artifact,
81
+ parts: [
82
+ {
83
+ data: { omitted: "The result was too large to keep; it was returned by SendMessage." },
84
+ mediaType: JSON_MEDIA_TYPE,
85
+ },
86
+ ],
87
+ }));
88
+ }
89
+ tasks.remember(kept, role, owner);
90
+ }
91
+ function trimHistory(task, historyLength) {
92
+ if (typeof historyLength !== "number" || !Number.isInteger(historyLength) || historyLength < 0) {
93
+ return task;
94
+ }
95
+ const { history, ...rest } = task;
96
+ if (historyLength === 0 || !history)
97
+ return rest;
98
+ return { ...rest, history: history.slice(-historyLength) };
99
+ }
100
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
101
+ function rpcError(res, id, code, message) {
102
+ sendJson(res, 200, { jsonrpc: "2.0", id, error: { code, message } });
103
+ }
104
+ function describeIssues(error) {
105
+ return error.issues
106
+ .map((issue) => `${issue.path.length > 0 ? `${issue.path.map(String).join(".")}: ` : ""}${issue.message}`)
107
+ .join("; ");
108
+ }
109
+ function requestedVersionIsSupported(req) {
110
+ const header = req.headers["a2a-version"];
111
+ // Not sent: assume the version this agent implements. (The specification only says an empty
112
+ // value means 0.3, so an absent header is a lenient reading.)
113
+ if (header === undefined)
114
+ return true;
115
+ return (Array.isArray(header) ? header[0] : header) === A2A_PROTOCOL_VERSION;
116
+ }
117
+ function parseMessage(value) {
118
+ if (!isRecord(value))
119
+ return "params.message is required (object)";
120
+ if (typeof value["messageId"] !== "string" || value["messageId"] === "") {
121
+ return "message.messageId is required (string)";
122
+ }
123
+ if (value["role"] !== "ROLE_USER")
124
+ return 'message.role must be "ROLE_USER"';
125
+ if (!Array.isArray(value["parts"]) || value["parts"].length === 0) {
126
+ return "message.parts is required (non-empty array)";
127
+ }
128
+ return value;
129
+ }
130
+ /** The `{operation, input}` object carried by the message's first data part. */
131
+ function findInvocation(message) {
132
+ for (const part of message.parts) {
133
+ if (isRecord(part) && isRecord(part.data) && typeof part.data["operation"] === "string") {
134
+ return { operation: part.data["operation"], input: part.data["input"] ?? {} };
135
+ }
136
+ }
137
+ return 'message needs a data part {"operation": <skill id>, "input": {...}}';
138
+ }
139
+ function acceptsJson(configuration) {
140
+ if (!isRecord(configuration))
141
+ return true;
142
+ const modes = configuration["acceptedOutputModes"];
143
+ if (!Array.isArray(modes) || modes.length === 0)
144
+ return true;
145
+ return modes.some((mode) => mode === JSON_MEDIA_TYPE || mode === "application/*" || mode === "*/*");
146
+ }
147
+ /** Refuse (HTTP) when the caller's role is too low; returns whether the request may proceed. */
148
+ function authorize(req, res, role, label) {
149
+ const decision = authorizeRole(req, role, label);
150
+ if (!decision.ok)
151
+ sendJson(res, decision.status, { error: decision.error });
152
+ return decision.ok;
153
+ }
154
+ async function sendMessage(req, res, id, params, deps, operations) {
155
+ const message = parseMessage(params["message"]);
156
+ if (typeof message === "string")
157
+ return rpcError(res, id, ERROR.invalidParams, message);
158
+ if (message.taskId !== undefined) {
159
+ return rpcError(res, id, ERROR.unsupportedOperation, "Continuing an existing task is not supported: every SendMessage starts a new task");
160
+ }
161
+ if (!acceptsJson(params["configuration"])) {
162
+ return rpcError(res, id, ERROR.contentTypeNotSupported, `Only ${JSON_MEDIA_TYPE} output is produced`);
163
+ }
164
+ const invocation = findInvocation(message);
165
+ if (typeof invocation === "string")
166
+ return rpcError(res, id, ERROR.invalidParams, invocation);
167
+ const operation = operations.get(invocation.operation);
168
+ if (!operation) {
169
+ return rpcError(res, id, ERROR.invalidParams, `Unknown operation "${invocation.operation}". Available: ${[...operations.keys()].join(", ")}`);
170
+ }
171
+ if (!isRecord(invocation.input)) {
172
+ return rpcError(res, id, ERROR.invalidParams, "input must be an object");
173
+ }
174
+ const parsed = operation.input.safeParse(invocation.input);
175
+ if (!parsed.success)
176
+ return rpcError(res, id, ERROR.invalidParams, describeIssues(parsed.error));
177
+ const role = roleFor(operation);
178
+ if (!authorize(req, res, role, `A2A SendMessage ${operation.name}`))
179
+ return;
180
+ let confined;
181
+ try {
182
+ confined = confinePaths(inputJsonSchema(operation), parsed.data, getAllowedRoots());
183
+ }
184
+ catch (error) {
185
+ if (error instanceof PathNotAllowedError) {
186
+ sendJson(res, 403, { error: error.message });
187
+ return;
188
+ }
189
+ throw error;
190
+ }
191
+ const base = {
192
+ id: randomUUID(),
193
+ contextId: message.contextId ?? randomUUID(),
194
+ history: [message],
195
+ metadata: { operation: operation.name },
196
+ };
197
+ const timestamp = new Date().toISOString();
198
+ let task;
199
+ try {
200
+ const result = await operation.handler(confined, {
201
+ api: { ...defaultApiDeps, ...deps },
202
+ source: "openapi",
203
+ operationNames: [...operations.keys()],
204
+ });
205
+ // Round-trip so the artifact holds exactly what a JSON consumer would receive.
206
+ const serialized = JSON.stringify(result ?? null);
207
+ const data = JSON.parse(serialized);
208
+ task = {
209
+ ...base,
210
+ status: { state: "TASK_STATE_COMPLETED", timestamp },
211
+ artifacts: [
212
+ {
213
+ artifactId: randomUUID(),
214
+ name: operation.name,
215
+ parts: [{ data, mediaType: JSON_MEDIA_TYPE }],
216
+ },
217
+ ],
218
+ };
219
+ }
220
+ catch (error) {
221
+ const text = error instanceof Error ? error.message : String(error);
222
+ task = {
223
+ ...base,
224
+ status: {
225
+ state: "TASK_STATE_FAILED",
226
+ message: {
227
+ messageId: randomUUID(),
228
+ contextId: base.contextId,
229
+ taskId: base.id,
230
+ role: "ROLE_AGENT",
231
+ parts: [{ text }],
232
+ },
233
+ timestamp,
234
+ },
235
+ };
236
+ }
237
+ rememberTask(task, role, callerIdentity(req));
238
+ const configuration = isRecord(params["configuration"]) ? params["configuration"] : {};
239
+ sendJson(res, 200, {
240
+ jsonrpc: "2.0",
241
+ id,
242
+ result: { task: trimHistory(task, configuration["historyLength"]) },
243
+ });
244
+ }
245
+ function getTask(req, res, id, params) {
246
+ if (typeof params["id"] !== "string" || params["id"] === "") {
247
+ return rpcError(res, id, ERROR.invalidParams, "params.id is required (string)");
248
+ }
249
+ const stored = tasks.get(params["id"]);
250
+ if (!stored)
251
+ return rpcError(res, id, ERROR.taskNotFound, "Task not found");
252
+ if (!authorize(req, res, stored.role, "A2A GetTask"))
253
+ return;
254
+ // Someone else's task looks the same as one that does not exist.
255
+ if (stored.owner !== callerIdentity(req)) {
256
+ return rpcError(res, id, ERROR.taskNotFound, "Task not found");
257
+ }
258
+ sendJson(res, 200, {
259
+ jsonrpc: "2.0",
260
+ id,
261
+ result: trimHistory(stored.task, params["historyLength"]),
262
+ });
263
+ }
264
+ /** `POST /a2a`: the JSON-RPC endpoint the Agent Card's `supportedInterfaces` points at. */
265
+ export async function handleA2aRequest(req, res, deps = {}) {
266
+ // Anyone who reaches the endpoint must hold a valid token; the operation's own role is checked
267
+ // once the request says which operation it wants.
268
+ if (!authorize(req, res, "reader", "POST /a2a"))
269
+ return;
270
+ let body;
271
+ try {
272
+ body = await readBody(req);
273
+ }
274
+ catch (error) {
275
+ if (error instanceof HttpError && error.status === 400) {
276
+ return rpcError(res, null, ERROR.parse, "Invalid JSON body");
277
+ }
278
+ if (error instanceof HttpError) {
279
+ sendJson(res, error.status, { error: error.message });
280
+ if (error.status === 413)
281
+ res.once("finish", () => req.destroy());
282
+ return;
283
+ }
284
+ return rpcError(res, null, ERROR.parse, "Invalid JSON body");
285
+ }
286
+ if (!isRecord(body) || body["jsonrpc"] !== "2.0" || typeof body["method"] !== "string") {
287
+ return rpcError(res, null, ERROR.invalidRequest, "Not a JSON-RPC 2.0 request");
288
+ }
289
+ const id = body["id"];
290
+ if (typeof id !== "string" && typeof id !== "number") {
291
+ return rpcError(res, null, ERROR.invalidRequest, "id is required (string or number)");
292
+ }
293
+ if (!requestedVersionIsSupported(req)) {
294
+ return rpcError(res, id, ERROR.versionNotSupported, `Only A2A-Version ${A2A_PROTOCOL_VERSION} is supported`);
295
+ }
296
+ const params = body["params"] ?? {};
297
+ if (!isRecord(params))
298
+ return rpcError(res, id, ERROR.invalidParams, "params must be an object");
299
+ switch (body["method"]) {
300
+ case "SendMessage": {
301
+ const operations = new Map(a2aSkillOperations().map((operation) => [operation.name, operation]));
302
+ return sendMessage(req, res, id, params, deps, operations);
303
+ }
304
+ case "GetTask": {
305
+ return getTask(req, res, id, params);
306
+ }
307
+ default: {
308
+ return rpcError(res, id, ERROR.methodNotFound, `Method not supported: ${body["method"]}. Supported: SendMessage, GetTask`);
309
+ }
310
+ }
311
+ }
312
+ //# sourceMappingURL=server.js.map