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.
- package/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/a2a/agent-card.d.ts +89 -0
- package/dist/a2a/agent-card.d.ts.map +1 -0
- package/dist/a2a/agent-card.js +127 -0
- package/dist/a2a/agent-card.js.map +1 -0
- package/dist/a2a/index.d.ts +7 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +4 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/a2a/server.d.ts +46 -0
- package/dist/a2a/server.d.ts.map +1 -0
- package/dist/a2a/server.js +312 -0
- package/dist/a2a/server.js.map +1 -0
- package/dist/a2a/sign.d.ts +28 -0
- package/dist/a2a/sign.d.ts.map +1 -0
- package/dist/a2a/sign.js +123 -0
- package/dist/a2a/sign.js.map +1 -0
- package/dist/a2a/task-store.d.ts +55 -0
- package/dist/a2a/task-store.d.ts.map +1 -0
- package/dist/a2a/task-store.js +90 -0
- package/dist/a2a/task-store.js.map +1 -0
- package/dist/api/assess/index.d.ts +45 -0
- package/dist/api/assess/index.d.ts.map +1 -0
- package/dist/api/assess/index.js +21 -0
- package/dist/api/assess/index.js.map +1 -0
- package/dist/api/autonomy/index.d.ts +65 -0
- package/dist/api/autonomy/index.d.ts.map +1 -0
- package/dist/api/autonomy/index.js +166 -0
- package/dist/api/autonomy/index.js.map +1 -0
- package/dist/api/bisect/changes.d.ts +20 -0
- package/dist/api/bisect/changes.d.ts.map +1 -0
- package/dist/api/bisect/changes.js +47 -0
- package/dist/api/bisect/changes.js.map +1 -0
- package/dist/api/bisect/ddmin.d.ts +33 -0
- package/dist/api/bisect/ddmin.d.ts.map +1 -0
- package/dist/api/bisect/ddmin.js +91 -0
- package/dist/api/bisect/ddmin.js.map +1 -0
- package/dist/api/bisect/index.d.ts +20 -0
- package/dist/api/bisect/index.d.ts.map +1 -0
- package/dist/api/bisect/index.js +463 -0
- package/dist/api/bisect/index.js.map +1 -0
- package/dist/api/bisect/pins.d.ts +40 -0
- package/dist/api/bisect/pins.d.ts.map +1 -0
- package/dist/api/bisect/pins.js +83 -0
- package/dist/api/bisect/pins.js.map +1 -0
- package/dist/api/bisect/remedy.d.ts +25 -0
- package/dist/api/bisect/remedy.d.ts.map +1 -0
- package/dist/api/bisect/remedy.js +116 -0
- package/dist/api/bisect/remedy.js.map +1 -0
- package/dist/api/bisect/shell.d.ts +41 -0
- package/dist/api/bisect/shell.d.ts.map +1 -0
- package/dist/api/bisect/shell.js +155 -0
- package/dist/api/bisect/shell.js.map +1 -0
- package/dist/api/bisect/types.d.ts +130 -0
- package/dist/api/bisect/types.d.ts.map +1 -0
- package/dist/api/bisect/types.js +2 -0
- package/dist/api/bisect/types.js.map +1 -0
- package/dist/api/change-request/branch.d.ts +13 -0
- package/dist/api/change-request/branch.d.ts.map +1 -0
- package/dist/api/change-request/branch.js +78 -0
- package/dist/api/change-request/branch.js.map +1 -0
- package/dist/api/change-request/hosts.d.ts +83 -0
- package/dist/api/change-request/hosts.d.ts.map +1 -0
- package/dist/api/change-request/hosts.js +292 -0
- package/dist/api/change-request/hosts.js.map +1 -0
- package/dist/api/change-request/index.d.ts +3 -1
- package/dist/api/change-request/index.d.ts.map +1 -1
- package/dist/api/change-request/index.js +302 -56
- package/dist/api/change-request/index.js.map +1 -1
- package/dist/api/diet/analyze.d.ts +8 -0
- package/dist/api/diet/analyze.d.ts.map +1 -0
- package/dist/api/diet/analyze.js +214 -0
- package/dist/api/diet/analyze.js.map +1 -0
- package/dist/api/diet/apply.d.ts +31 -0
- package/dist/api/diet/apply.d.ts.map +1 -0
- package/dist/api/diet/apply.js +175 -0
- package/dist/api/diet/apply.js.map +1 -0
- package/dist/api/diet/duplicates.d.ts +9 -0
- package/dist/api/diet/duplicates.d.ts.map +1 -0
- package/dist/api/diet/duplicates.js +125 -0
- package/dist/api/diet/duplicates.js.map +1 -0
- package/dist/api/diet/files.d.ts +30 -0
- package/dist/api/diet/files.d.ts.map +1 -0
- package/dist/api/diet/files.js +182 -0
- package/dist/api/diet/files.js.map +1 -0
- package/dist/api/diet/index.d.ts +4 -0
- package/dist/api/diet/index.d.ts.map +1 -0
- package/dist/api/diet/index.js +3 -0
- package/dist/api/diet/index.js.map +1 -0
- package/dist/api/diet/lockfile.d.ts +65 -0
- package/dist/api/diet/lockfile.d.ts.map +1 -0
- package/dist/api/diet/lockfile.js +329 -0
- package/dist/api/diet/lockfile.js.map +1 -0
- package/dist/api/diet/replaceable.d.ts +46 -0
- package/dist/api/diet/replaceable.d.ts.map +1 -0
- package/dist/api/diet/replaceable.js +115 -0
- package/dist/api/diet/replaceable.js.map +1 -0
- package/dist/api/diet/replaceable.json +168 -0
- package/dist/api/diet/scan.d.ts +43 -0
- package/dist/api/diet/scan.d.ts.map +1 -0
- package/dist/api/diet/scan.js +357 -0
- package/dist/api/diet/scan.js.map +1 -0
- package/dist/api/diet/surface.d.ts +32 -0
- package/dist/api/diet/surface.d.ts.map +1 -0
- package/dist/api/diet/surface.js +130 -0
- package/dist/api/diet/surface.js.map +1 -0
- package/dist/api/diet/types.d.ts +205 -0
- package/dist/api/diet/types.d.ts.map +1 -0
- package/dist/api/diet/types.js +2 -0
- package/dist/api/diet/types.js.map +1 -0
- package/dist/api/diet/unused.d.ts +73 -0
- package/dist/api/diet/unused.d.ts.map +1 -0
- package/dist/api/diet/unused.js +342 -0
- package/dist/api/diet/unused.js.map +1 -0
- package/dist/api/evidence-pack/attest.d.ts +43 -0
- package/dist/api/evidence-pack/attest.d.ts.map +1 -0
- package/dist/api/evidence-pack/attest.js +140 -0
- package/dist/api/evidence-pack/attest.js.map +1 -0
- package/dist/api/evidence-pack/components.d.ts +49 -0
- package/dist/api/evidence-pack/components.d.ts.map +1 -0
- package/dist/api/evidence-pack/components.js +278 -0
- package/dist/api/evidence-pack/components.js.map +1 -0
- package/dist/api/evidence-pack/cra.d.ts +54 -0
- package/dist/api/evidence-pack/cra.d.ts.map +1 -0
- package/dist/api/evidence-pack/cra.js +234 -0
- package/dist/api/evidence-pack/cra.js.map +1 -0
- package/dist/api/evidence-pack/dsse.d.ts +53 -0
- package/dist/api/evidence-pack/dsse.d.ts.map +1 -0
- package/dist/api/evidence-pack/dsse.js +132 -0
- package/dist/api/evidence-pack/dsse.js.map +1 -0
- package/dist/api/evidence-pack/findings.d.ts +57 -0
- package/dist/api/evidence-pack/findings.d.ts.map +1 -0
- package/dist/api/evidence-pack/findings.js +232 -0
- package/dist/api/evidence-pack/findings.js.map +1 -0
- package/dist/api/evidence-pack/index.d.ts +70 -0
- package/dist/api/evidence-pack/index.d.ts.map +1 -0
- package/dist/api/evidence-pack/index.js +482 -0
- package/dist/api/evidence-pack/index.js.map +1 -0
- package/dist/api/evidence-pack/readme.d.ts +5 -0
- package/dist/api/evidence-pack/readme.d.ts.map +1 -0
- package/dist/api/evidence-pack/readme.js +55 -0
- package/dist/api/evidence-pack/readme.js.map +1 -0
- package/dist/api/evidence-pack/sbom.d.ts +87 -0
- package/dist/api/evidence-pack/sbom.d.ts.map +1 -0
- package/dist/api/evidence-pack/sbom.js +221 -0
- package/dist/api/evidence-pack/sbom.js.map +1 -0
- package/dist/api/evidence-pack/types.d.ts +62 -0
- package/dist/api/evidence-pack/types.d.ts.map +1 -0
- package/dist/api/evidence-pack/types.js +2 -0
- package/dist/api/evidence-pack/types.js.map +1 -0
- package/dist/api/evidence-pack/vex.d.ts +114 -0
- package/dist/api/evidence-pack/vex.d.ts.map +1 -0
- package/dist/api/evidence-pack/vex.js +197 -0
- package/dist/api/evidence-pack/vex.js.map +1 -0
- package/dist/api/freshness/deps.d.ts +27 -0
- package/dist/api/freshness/deps.d.ts.map +1 -0
- package/dist/api/freshness/deps.js +60 -0
- package/dist/api/freshness/deps.js.map +1 -0
- package/dist/api/freshness/distance.d.ts +42 -0
- package/dist/api/freshness/distance.d.ts.map +1 -0
- package/dist/api/freshness/distance.js +86 -0
- package/dist/api/freshness/distance.js.map +1 -0
- package/dist/api/freshness/index.d.ts +12 -0
- package/dist/api/freshness/index.d.ts.map +1 -0
- package/dist/api/freshness/index.js +11 -0
- package/dist/api/freshness/index.js.map +1 -0
- package/dist/api/freshness/path.d.ts +29 -0
- package/dist/api/freshness/path.d.ts.map +1 -0
- package/dist/api/freshness/path.js +103 -0
- package/dist/api/freshness/path.js.map +1 -0
- package/dist/api/freshness/report.d.ts +55 -0
- package/dist/api/freshness/report.d.ts.map +1 -0
- package/dist/api/freshness/report.js +334 -0
- package/dist/api/freshness/report.js.map +1 -0
- package/dist/api/freshness/step.d.ts +47 -0
- package/dist/api/freshness/step.d.ts.map +1 -0
- package/dist/api/freshness/step.js +286 -0
- package/dist/api/freshness/step.js.map +1 -0
- package/dist/api/freshness/types.d.ts +192 -0
- package/dist/api/freshness/types.d.ts.map +1 -0
- package/dist/api/freshness/types.js +2 -0
- package/dist/api/freshness/types.js.map +1 -0
- package/dist/api/guard/checks.d.ts +31 -0
- package/dist/api/guard/checks.d.ts.map +1 -0
- package/dist/api/guard/checks.js +101 -0
- package/dist/api/guard/checks.js.map +1 -0
- package/dist/api/guard/diff.d.ts +46 -0
- package/dist/api/guard/diff.d.ts.map +1 -0
- package/dist/api/guard/diff.js +89 -0
- package/dist/api/guard/diff.js.map +1 -0
- package/dist/api/guard/hook.d.ts +59 -0
- package/dist/api/guard/hook.d.ts.map +1 -0
- package/dist/api/guard/hook.js +179 -0
- package/dist/api/guard/hook.js.map +1 -0
- package/dist/api/guard/index.d.ts +32 -0
- package/dist/api/guard/index.d.ts.map +1 -0
- package/dist/api/guard/index.js +199 -0
- package/dist/api/guard/index.js.map +1 -0
- package/dist/api/guard/popular.d.ts +7 -0
- package/dist/api/guard/popular.d.ts.map +1 -0
- package/dist/api/guard/popular.js +206 -0
- package/dist/api/guard/popular.js.map +1 -0
- package/dist/api/guard/spec.d.ts +22 -0
- package/dist/api/guard/spec.d.ts.map +1 -0
- package/dist/api/guard/spec.js +124 -0
- package/dist/api/guard/spec.js.map +1 -0
- package/dist/api/guard/types.d.ts +34 -0
- package/dist/api/guard/types.d.ts.map +1 -0
- package/dist/api/guard/types.js +2 -0
- package/dist/api/guard/types.js.map +1 -0
- package/dist/api/hooks/detect.d.ts +28 -0
- package/dist/api/hooks/detect.d.ts.map +1 -0
- package/dist/api/hooks/detect.js +112 -0
- package/dist/api/hooks/detect.js.map +1 -0
- package/dist/api/hooks/index.d.ts +14 -0
- package/dist/api/hooks/index.d.ts.map +1 -0
- package/dist/api/hooks/index.js +77 -0
- package/dist/api/hooks/index.js.map +1 -0
- package/dist/api/hooks/merge.d.ts +35 -0
- package/dist/api/hooks/merge.d.ts.map +1 -0
- package/dist/api/hooks/merge.js +345 -0
- package/dist/api/hooks/merge.js.map +1 -0
- package/dist/api/hooks/plan.d.ts +18 -0
- package/dist/api/hooks/plan.d.ts.map +1 -0
- package/dist/api/hooks/plan.js +270 -0
- package/dist/api/hooks/plan.js.map +1 -0
- package/dist/api/hooks/scripts.d.ts +18 -0
- package/dist/api/hooks/scripts.d.ts.map +1 -0
- package/dist/api/hooks/scripts.js +193 -0
- package/dist/api/hooks/scripts.js.map +1 -0
- package/dist/api/hooks/types.d.ts +85 -0
- package/dist/api/hooks/types.d.ts.map +1 -0
- package/dist/api/hooks/types.js +5 -0
- package/dist/api/hooks/types.js.map +1 -0
- package/dist/api/incident/ci-secrets.d.ts +76 -0
- package/dist/api/incident/ci-secrets.d.ts.map +1 -0
- package/dist/api/incident/ci-secrets.js +420 -0
- package/dist/api/incident/ci-secrets.js.map +1 -0
- package/dist/api/incident/history.d.ts +81 -0
- package/dist/api/incident/history.d.ts.map +1 -0
- package/dist/api/incident/history.js +379 -0
- package/dist/api/incident/history.js.map +1 -0
- package/dist/api/incident/index.d.ts +36 -0
- package/dist/api/incident/index.d.ts.map +1 -0
- package/dist/api/incident/index.js +165 -0
- package/dist/api/incident/index.js.map +1 -0
- package/dist/api/incident/markdown.d.ts +8 -0
- package/dist/api/incident/markdown.d.ts.map +1 -0
- package/dist/api/incident/markdown.js +208 -0
- package/dist/api/incident/markdown.js.map +1 -0
- package/dist/api/incident/project.d.ts +28 -0
- package/dist/api/incident/project.d.ts.map +1 -0
- package/dist/api/incident/project.js +111 -0
- package/dist/api/incident/project.js.map +1 -0
- package/dist/api/incident/rollback.d.ts +50 -0
- package/dist/api/incident/rollback.d.ts.map +1 -0
- package/dist/api/incident/rollback.js +132 -0
- package/dist/api/incident/rollback.js.map +1 -0
- package/dist/api/incident/target.d.ts +18 -0
- package/dist/api/incident/target.d.ts.map +1 -0
- package/dist/api/incident/target.js +110 -0
- package/dist/api/incident/target.js.map +1 -0
- package/dist/api/incident/text.d.ts +3 -0
- package/dist/api/incident/text.d.ts.map +1 -0
- package/dist/api/incident/text.js +13 -0
- package/dist/api/incident/text.js.map +1 -0
- package/dist/api/incident/types.d.ts +118 -0
- package/dist/api/incident/types.d.ts.map +1 -0
- package/dist/api/incident/types.js +2 -0
- package/dist/api/incident/types.js.map +1 -0
- package/dist/api/index.d.ts +30 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +24 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/init/assets.d.ts +47 -0
- package/dist/api/init/assets.d.ts.map +1 -0
- package/dist/api/init/assets.js +195 -0
- package/dist/api/init/assets.js.map +1 -0
- package/dist/api/init/detect.d.ts +8 -0
- package/dist/api/init/detect.d.ts.map +1 -0
- package/dist/api/init/detect.js +136 -0
- package/dist/api/init/detect.js.map +1 -0
- package/dist/api/init/diff.d.ts +3 -0
- package/dist/api/init/diff.d.ts.map +1 -0
- package/dist/api/init/diff.js +40 -0
- package/dist/api/init/diff.js.map +1 -0
- package/dist/api/init/guard-assets.d.ts +37 -0
- package/dist/api/init/guard-assets.d.ts.map +1 -0
- package/dist/api/init/guard-assets.js +173 -0
- package/dist/api/init/guard-assets.js.map +1 -0
- package/dist/api/init/index.d.ts +13 -0
- package/dist/api/init/index.d.ts.map +1 -0
- package/dist/api/init/index.js +50 -0
- package/dist/api/init/index.js.map +1 -0
- package/dist/api/init/merge.d.ts +43 -0
- package/dist/api/init/merge.d.ts.map +1 -0
- package/dist/api/init/merge.js +303 -0
- package/dist/api/init/merge.js.map +1 -0
- package/dist/api/init/plan.d.ts +4 -0
- package/dist/api/init/plan.d.ts.map +1 -0
- package/dist/api/init/plan.js +168 -0
- package/dist/api/init/plan.js.map +1 -0
- package/dist/api/init/plugin-files.d.ts +3 -0
- package/dist/api/init/plugin-files.d.ts.map +1 -0
- package/dist/api/init/plugin-files.js +80 -0
- package/dist/api/init/plugin-files.js.map +1 -0
- package/dist/api/init/types.d.ts +72 -0
- package/dist/api/init/types.d.ts.map +1 -0
- package/dist/api/init/types.js +10 -0
- package/dist/api/init/types.js.map +1 -0
- package/dist/api/maintain/index.d.ts +21 -0
- package/dist/api/maintain/index.d.ts.map +1 -0
- package/dist/api/maintain/index.js +367 -0
- package/dist/api/maintain/index.js.map +1 -0
- package/dist/api/maintain/package-files.d.ts +37 -0
- package/dist/api/maintain/package-files.d.ts.map +1 -0
- package/dist/api/maintain/package-files.js +156 -0
- package/dist/api/maintain/package-files.js.map +1 -0
- package/dist/api/maintain/types.d.ts +87 -0
- package/dist/api/maintain/types.d.ts.map +1 -0
- package/dist/api/maintain/types.js +2 -0
- package/dist/api/maintain/types.js.map +1 -0
- package/dist/api/maintain/vex-file.d.ts +33 -0
- package/dist/api/maintain/vex-file.d.ts.map +1 -0
- package/dist/api/maintain/vex-file.js +95 -0
- package/dist/api/maintain/vex-file.js.map +1 -0
- package/dist/api/maintainer-vex/index.d.ts +57 -0
- package/dist/api/maintainer-vex/index.d.ts.map +1 -0
- package/dist/api/maintainer-vex/index.js +107 -0
- package/dist/api/maintainer-vex/index.js.map +1 -0
- package/dist/api/memory/index.d.ts +88 -0
- package/dist/api/memory/index.d.ts.map +1 -0
- package/dist/api/memory/index.js +89 -0
- package/dist/api/memory/index.js.map +1 -0
- package/dist/api/options-schema.d.ts +9 -61
- package/dist/api/options-schema.d.ts.map +1 -1
- package/dist/api/options-schema.js +21 -315
- package/dist/api/options-schema.js.map +1 -1
- package/dist/api/patches/reconcile.d.ts.map +1 -1
- package/dist/api/patches/reconcile.js +4 -1
- package/dist/api/patches/reconcile.js.map +1 -1
- package/dist/api/policy-nl/apply-patch.d.ts +23 -0
- package/dist/api/policy-nl/apply-patch.d.ts.map +1 -0
- package/dist/api/policy-nl/apply-patch.js +153 -0
- package/dist/api/policy-nl/apply-patch.js.map +1 -0
- package/dist/api/policy-nl/compile.d.ts +98 -0
- package/dist/api/policy-nl/compile.d.ts.map +1 -0
- package/dist/api/policy-nl/compile.js +308 -0
- package/dist/api/policy-nl/compile.js.map +1 -0
- package/dist/api/policy-nl/explain.d.ts +33 -0
- package/dist/api/policy-nl/explain.d.ts.map +1 -0
- package/dist/api/policy-nl/explain.js +137 -0
- package/dist/api/policy-nl/explain.js.map +1 -0
- package/dist/api/policy-nl/index.d.ts +6 -0
- package/dist/api/policy-nl/index.d.ts.map +1 -0
- package/dist/api/policy-nl/index.js +6 -0
- package/dist/api/policy-nl/index.js.map +1 -0
- package/dist/api/policy-nl/prompt.d.ts +16 -0
- package/dist/api/policy-nl/prompt.d.ts.map +1 -0
- package/dist/api/policy-nl/prompt.js +45 -0
- package/dist/api/policy-nl/prompt.js.map +1 -0
- package/dist/api/policy-nl/proposal.d.ts +438 -0
- package/dist/api/policy-nl/proposal.d.ts.map +1 -0
- package/dist/api/policy-nl/proposal.js +105 -0
- package/dist/api/policy-nl/proposal.js.map +1 -0
- package/dist/api/policy-nl/request-match.d.ts +20 -0
- package/dist/api/policy-nl/request-match.d.ts.map +1 -0
- package/dist/api/policy-nl/request-match.js +94 -0
- package/dist/api/policy-nl/request-match.js.map +1 -0
- package/dist/api/policy-nl/sanitize.d.ts +21 -0
- package/dist/api/policy-nl/sanitize.d.ts.map +1 -0
- package/dist/api/policy-nl/sanitize.js +65 -0
- package/dist/api/policy-nl/sanitize.js.map +1 -0
- package/dist/api/policy-nl/vocabulary.d.ts +9 -0
- package/dist/api/policy-nl/vocabulary.d.ts.map +1 -0
- package/dist/api/policy-nl/vocabulary.js +118 -0
- package/dist/api/policy-nl/vocabulary.js.map +1 -0
- package/dist/api/premortem/index.d.ts +16 -0
- package/dist/api/premortem/index.d.ts.map +1 -0
- package/dist/api/premortem/index.js +274 -0
- package/dist/api/premortem/index.js.map +1 -0
- package/dist/api/premortem/playbook.d.ts +8 -0
- package/dist/api/premortem/playbook.d.ts.map +1 -0
- package/dist/api/premortem/playbook.js +131 -0
- package/dist/api/premortem/playbook.js.map +1 -0
- package/dist/api/premortem/types.d.ts +75 -0
- package/dist/api/premortem/types.d.ts.map +1 -0
- package/dist/api/premortem/types.js +2 -0
- package/dist/api/premortem/types.js.map +1 -0
- package/dist/api/prove/advisory.d.ts +26 -0
- package/dist/api/prove/advisory.d.ts.map +1 -0
- package/dist/api/prove/advisory.js +81 -0
- package/dist/api/prove/advisory.js.map +1 -0
- package/dist/api/prove/agent.d.ts +9 -0
- package/dist/api/prove/agent.d.ts.map +1 -0
- package/dist/api/prove/agent.js +203 -0
- package/dist/api/prove/agent.js.map +1 -0
- package/dist/api/prove/evidence.d.ts +108 -0
- package/dist/api/prove/evidence.d.ts.map +1 -0
- package/dist/api/prove/evidence.js +176 -0
- package/dist/api/prove/evidence.js.map +1 -0
- package/dist/api/prove/harness.d.ts +27 -0
- package/dist/api/prove/harness.d.ts.map +1 -0
- package/dist/api/prove/harness.js +148 -0
- package/dist/api/prove/harness.js.map +1 -0
- package/dist/api/prove/index.d.ts +84 -0
- package/dist/api/prove/index.d.ts.map +1 -0
- package/dist/api/prove/index.js +289 -0
- package/dist/api/prove/index.js.map +1 -0
- package/dist/api/prove/install.d.ts +24 -0
- package/dist/api/prove/install.d.ts.map +1 -0
- package/dist/api/prove/install.js +150 -0
- package/dist/api/prove/install.js.map +1 -0
- package/dist/api/prove/sandbox.d.ts +48 -0
- package/dist/api/prove/sandbox.d.ts.map +1 -0
- package/dist/api/prove/sandbox.js +269 -0
- package/dist/api/prove/sandbox.js.map +1 -0
- package/dist/api/prove/screen.d.ts +17 -0
- package/dist/api/prove/screen.d.ts.map +1 -0
- package/dist/api/prove/screen.js +256 -0
- package/dist/api/prove/screen.js.map +1 -0
- package/dist/api/prove/types.d.ts +105 -0
- package/dist/api/prove/types.d.ts.map +1 -0
- package/dist/api/prove/types.js +2 -0
- package/dist/api/prove/types.js.map +1 -0
- package/dist/api/radar/deps.d.ts +7 -0
- package/dist/api/radar/deps.d.ts.map +1 -0
- package/dist/api/radar/deps.js +263 -0
- package/dist/api/radar/deps.js.map +1 -0
- package/dist/api/radar/index.d.ts +16 -0
- package/dist/api/radar/index.d.ts.map +1 -0
- package/dist/api/radar/index.js +429 -0
- package/dist/api/radar/index.js.map +1 -0
- package/dist/api/radar/render.d.ts +6 -0
- package/dist/api/radar/render.d.ts.map +1 -0
- package/dist/api/radar/render.js +51 -0
- package/dist/api/radar/render.js.map +1 -0
- package/dist/api/radar/types.d.ts +162 -0
- package/dist/api/radar/types.d.ts.map +1 -0
- package/dist/api/radar/types.js +2 -0
- package/dist/api/radar/types.js.map +1 -0
- package/dist/api/reachability/index.d.ts.map +1 -1
- package/dist/api/reachability/index.js +35 -1
- package/dist/api/reachability/index.js.map +1 -1
- package/dist/api/recipes/index.d.ts +93 -0
- package/dist/api/recipes/index.d.ts.map +1 -0
- package/dist/api/recipes/index.js +159 -0
- package/dist/api/recipes/index.js.map +1 -0
- package/dist/api/remediate/index.d.ts.map +1 -1
- package/dist/api/remediate/index.js +25 -1
- package/dist/api/remediate/index.js.map +1 -1
- package/dist/api/remediate.evidence.d.ts.map +1 -1
- package/dist/api/remediate.evidence.js +1 -0
- package/dist/api/remediate.evidence.js.map +1 -1
- package/dist/api/reporting.d.ts +21 -0
- package/dist/api/reporting.d.ts.map +1 -1
- package/dist/api/reporting.js +39 -1
- package/dist/api/reporting.js.map +1 -1
- package/dist/api/runs/attempts.d.ts +86 -0
- package/dist/api/runs/attempts.d.ts.map +1 -0
- package/dist/api/runs/attempts.js +378 -0
- package/dist/api/runs/attempts.js.map +1 -0
- package/dist/api/runs/autonomy-events.d.ts +41 -0
- package/dist/api/runs/autonomy-events.d.ts.map +1 -0
- package/dist/api/runs/autonomy-events.js +130 -0
- package/dist/api/runs/autonomy-events.js.map +1 -0
- package/dist/api/runs/deps.d.ts +23 -0
- package/dist/api/runs/deps.d.ts.map +1 -0
- package/dist/api/runs/deps.js +51 -0
- package/dist/api/runs/deps.js.map +1 -0
- package/dist/api/runs/index.d.ts +167 -0
- package/dist/api/runs/index.d.ts.map +1 -0
- package/dist/api/runs/index.js +601 -0
- package/dist/api/runs/index.js.map +1 -0
- package/dist/api/runs/memory-events.d.ts +19 -0
- package/dist/api/runs/memory-events.d.ts.map +1 -0
- package/dist/api/runs/memory-events.js +78 -0
- package/dist/api/runs/memory-events.js.map +1 -0
- package/dist/api/runs/recipes.d.ts +40 -0
- package/dist/api/runs/recipes.d.ts.map +1 -0
- package/dist/api/runs/recipes.js +110 -0
- package/dist/api/runs/recipes.js.map +1 -0
- package/dist/api/runs/repair.d.ts +73 -0
- package/dist/api/runs/repair.d.ts.map +1 -0
- package/dist/api/runs/repair.js +226 -0
- package/dist/api/runs/repair.js.map +1 -0
- package/dist/api/trace/index.d.ts +6 -0
- package/dist/api/trace/index.d.ts.map +1 -0
- package/dist/api/trace/index.js +5 -0
- package/dist/api/trace/index.js.map +1 -0
- package/dist/api/update-outdated/index.d.ts.map +1 -1
- package/dist/api/update-outdated/index.js +13 -1
- package/dist/api/update-outdated/index.js.map +1 -1
- package/dist/api/vex/index.d.ts +44 -1
- package/dist/api/vex/index.d.ts.map +1 -1
- package/dist/api/vex/index.js +131 -3
- package/dist/api/vex/index.js.map +1 -1
- package/dist/autonomy/compute.d.ts +117 -0
- package/dist/autonomy/compute.d.ts.map +1 -0
- package/dist/autonomy/compute.js +346 -0
- package/dist/autonomy/compute.js.map +1 -0
- package/dist/autonomy/record.d.ts +21 -0
- package/dist/autonomy/record.d.ts.map +1 -0
- package/dist/autonomy/record.js +228 -0
- package/dist/autonomy/record.js.map +1 -0
- package/dist/autonomy/types.d.ts +78 -0
- package/dist/autonomy/types.d.ts.map +1 -0
- package/dist/autonomy/types.js +59 -0
- package/dist/autonomy/types.js.map +1 -0
- package/dist/catalog/adapters/http.d.ts +27 -0
- package/dist/catalog/adapters/http.d.ts.map +1 -0
- package/dist/catalog/adapters/http.js +190 -0
- package/dist/catalog/adapters/http.js.map +1 -0
- package/dist/catalog/adapters/mcp.d.ts +53 -0
- package/dist/catalog/adapters/mcp.d.ts.map +1 -0
- package/dist/catalog/adapters/mcp.js +105 -0
- package/dist/catalog/adapters/mcp.js.map +1 -0
- package/dist/catalog/api-deps.d.ts +64 -0
- package/dist/catalog/api-deps.d.ts.map +1 -0
- package/dist/catalog/api-deps.js +60 -0
- package/dist/catalog/api-deps.js.map +1 -0
- package/dist/catalog/define-operation.d.ts +59 -0
- package/dist/catalog/define-operation.d.ts.map +1 -0
- package/dist/catalog/define-operation.js +9 -0
- package/dist/catalog/define-operation.js.map +1 -0
- package/dist/catalog/evidence-pack-operations.d.ts +3 -0
- package/dist/catalog/evidence-pack-operations.d.ts.map +1 -0
- package/dist/catalog/evidence-pack-operations.js +93 -0
- package/dist/catalog/evidence-pack-operations.js.map +1 -0
- package/dist/catalog/freshness-operations.d.ts +3 -0
- package/dist/catalog/freshness-operations.d.ts.map +1 -0
- package/dist/catalog/freshness-operations.js +91 -0
- package/dist/catalog/freshness-operations.js.map +1 -0
- package/dist/catalog/incident-operations.d.ts +3 -0
- package/dist/catalog/incident-operations.d.ts.map +1 -0
- package/dist/catalog/incident-operations.js +125 -0
- package/dist/catalog/incident-operations.js.map +1 -0
- package/dist/catalog/index.d.ts +12 -0
- package/dist/catalog/index.d.ts.map +1 -0
- package/dist/catalog/index.js +7 -0
- package/dist/catalog/index.js.map +1 -0
- package/dist/catalog/maintainer-vex-operations.d.ts +3 -0
- package/dist/catalog/maintainer-vex-operations.d.ts.map +1 -0
- package/dist/catalog/maintainer-vex-operations.js +107 -0
- package/dist/catalog/maintainer-vex-operations.js.map +1 -0
- package/dist/catalog/memory-operations.d.ts +3 -0
- package/dist/catalog/memory-operations.d.ts.map +1 -0
- package/dist/catalog/memory-operations.js +128 -0
- package/dist/catalog/memory-operations.js.map +1 -0
- package/dist/catalog/operations.d.ts +4 -0
- package/dist/catalog/operations.d.ts.map +1 -0
- package/dist/catalog/operations.js +797 -0
- package/dist/catalog/operations.js.map +1 -0
- package/dist/catalog/policy-operations.d.ts +3 -0
- package/dist/catalog/policy-operations.d.ts.map +1 -0
- package/dist/catalog/policy-operations.js +87 -0
- package/dist/catalog/policy-operations.js.map +1 -0
- package/dist/catalog/prove-operations.d.ts +3 -0
- package/dist/catalog/prove-operations.d.ts.map +1 -0
- package/dist/catalog/prove-operations.js +87 -0
- package/dist/catalog/prove-operations.js.map +1 -0
- package/dist/catalog/radar-operations.d.ts +3 -0
- package/dist/catalog/radar-operations.d.ts.map +1 -0
- package/dist/catalog/radar-operations.js +82 -0
- package/dist/catalog/radar-operations.js.map +1 -0
- package/dist/catalog/responses.d.ts +229 -0
- package/dist/catalog/responses.d.ts.map +1 -0
- package/dist/catalog/responses.js +313 -0
- package/dist/catalog/responses.js.map +1 -0
- package/dist/catalog/schema.d.ts +11 -0
- package/dist/catalog/schema.d.ts.map +1 -0
- package/dist/catalog/schema.js +13 -0
- package/dist/catalog/schema.js.map +1 -0
- package/dist/cli/autonomy.d.ts +11 -0
- package/dist/cli/autonomy.d.ts.map +1 -0
- package/dist/cli/autonomy.js +80 -0
- package/dist/cli/autonomy.js.map +1 -0
- package/dist/cli/bisect.d.ts +19 -0
- package/dist/cli/bisect.d.ts.map +1 -0
- package/dist/cli/bisect.js +109 -0
- package/dist/cli/bisect.js.map +1 -0
- package/dist/cli/errors.d.ts +8 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +23 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/evidence-pack-commands.d.ts +21 -0
- package/dist/cli/evidence-pack-commands.d.ts.map +1 -0
- package/dist/cli/evidence-pack-commands.js +109 -0
- package/dist/cli/evidence-pack-commands.js.map +1 -0
- package/dist/cli/freshness-commands.d.ts +31 -0
- package/dist/cli/freshness-commands.d.ts.map +1 -0
- package/dist/cli/freshness-commands.js +241 -0
- package/dist/cli/freshness-commands.js.map +1 -0
- package/dist/cli/incident-commands.d.ts +29 -0
- package/dist/cli/incident-commands.d.ts.map +1 -0
- package/dist/cli/incident-commands.js +131 -0
- package/dist/cli/incident-commands.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/maintain-commands.d.ts +22 -0
- package/dist/cli/maintain-commands.d.ts.map +1 -0
- package/dist/cli/maintain-commands.js +161 -0
- package/dist/cli/maintain-commands.js.map +1 -0
- package/dist/cli/memory-commands.d.ts +23 -0
- package/dist/cli/memory-commands.d.ts.map +1 -0
- package/dist/cli/memory-commands.js +172 -0
- package/dist/cli/memory-commands.js.map +1 -0
- package/dist/cli/policy-commands.d.ts +29 -0
- package/dist/cli/policy-commands.d.ts.map +1 -0
- package/dist/cli/policy-commands.js +138 -0
- package/dist/cli/policy-commands.js.map +1 -0
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +254 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/prove-commands.d.ts +22 -0
- package/dist/cli/prove-commands.d.ts.map +1 -0
- package/dist/cli/prove-commands.js +65 -0
- package/dist/cli/prove-commands.js.map +1 -0
- package/dist/cli/radar-commands.d.ts +20 -0
- package/dist/cli/radar-commands.d.ts.map +1 -0
- package/dist/cli/radar-commands.js +60 -0
- package/dist/cli/radar-commands.js.map +1 -0
- package/dist/cli/recipes.d.ts +3 -0
- package/dist/cli/recipes.d.ts.map +1 -0
- package/dist/cli/recipes.js +124 -0
- package/dist/cli/recipes.js.map +1 -0
- package/dist/cli/runners.d.ts +95 -1
- package/dist/cli/runners.d.ts.map +1 -1
- package/dist/cli/runners.js +586 -157
- package/dist/cli/runners.js.map +1 -1
- package/dist/cli/trace.d.ts +12 -0
- package/dist/cli/trace.d.ts.map +1 -0
- package/dist/cli/trace.js +79 -0
- package/dist/cli/trace.js.map +1 -0
- package/dist/cli/types.d.ts +4 -2
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/cli/validators.d.ts.map +1 -1
- package/dist/cli/validators.js +5 -0
- package/dist/cli/validators.js.map +1 -1
- package/dist/intelligence/sources/cisa-kev.d.ts +6 -0
- package/dist/intelligence/sources/cisa-kev.d.ts.map +1 -1
- package/dist/intelligence/sources/cisa-kev.js +27 -3
- package/dist/intelligence/sources/cisa-kev.js.map +1 -1
- package/dist/intelligence/sources/registry.d.ts +55 -6
- package/dist/intelligence/sources/registry.d.ts.map +1 -1
- package/dist/intelligence/sources/registry.js +182 -61
- package/dist/intelligence/sources/registry.js.map +1 -1
- package/dist/mcp/http.d.ts +23 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/http.js +102 -0
- package/dist/mcp/http.js.map +1 -0
- package/dist/mcp/prompts.d.ts +25 -0
- package/dist/mcp/prompts.d.ts.map +1 -0
- package/dist/mcp/prompts.js +89 -0
- package/dist/mcp/prompts.js.map +1 -0
- package/dist/mcp/resources.d.ts +58 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +131 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/server.d.ts +19 -350
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +72 -423
- package/dist/mcp/server.js.map +1 -1
- package/dist/openapi/handlers/index.d.ts.map +1 -1
- package/dist/openapi/handlers/index.js +42 -35
- package/dist/openapi/handlers/index.js.map +1 -1
- package/dist/openapi/handlers/run-operation.d.ts +9 -0
- package/dist/openapi/handlers/run-operation.d.ts.map +1 -0
- package/dist/openapi/handlers/run-operation.js +46 -0
- package/dist/openapi/handlers/run-operation.js.map +1 -0
- package/dist/openapi/handlers/validators.d.ts +2 -3
- package/dist/openapi/handlers/validators.d.ts.map +1 -1
- package/dist/openapi/handlers/validators.js +1 -21
- package/dist/openapi/handlers/validators.js.map +1 -1
- package/dist/openapi/http-utils.d.ts +1 -14
- package/dist/openapi/http-utils.d.ts.map +1 -1
- package/dist/openapi/http-utils.js +1 -82
- package/dist/openapi/http-utils.js.map +1 -1
- package/dist/openapi/rbac.d.ts +1 -21
- package/dist/openapi/rbac.d.ts.map +1 -1
- package/dist/openapi/rbac.js +9 -135
- package/dist/openapi/rbac.js.map +1 -1
- package/dist/openapi/server.d.ts +7 -16
- package/dist/openapi/server.d.ts.map +1 -1
- package/dist/openapi/server.js +2 -16
- package/dist/openapi/server.js.map +1 -1
- package/dist/openapi/spec/index.d.ts +10 -1012
- package/dist/openapi/spec/index.d.ts.map +1 -1
- package/dist/openapi/spec/index.js +36 -2
- package/dist/openapi/spec/index.js.map +1 -1
- package/dist/platform/cooldown.d.ts +15 -0
- package/dist/platform/cooldown.d.ts.map +1 -0
- package/dist/platform/cooldown.js +136 -0
- package/dist/platform/cooldown.js.map +1 -0
- package/dist/platform/freshness-policy.d.ts +25 -0
- package/dist/platform/freshness-policy.d.ts.map +1 -0
- package/dist/platform/freshness-policy.js +25 -0
- package/dist/platform/freshness-policy.js.map +1 -0
- package/dist/platform/git-ref.d.ts +8 -0
- package/dist/platform/git-ref.d.ts.map +1 -0
- package/dist/platform/git-ref.js +35 -0
- package/dist/platform/git-ref.js.map +1 -0
- package/dist/platform/http-auth.d.ts +42 -0
- package/dist/platform/http-auth.d.ts.map +1 -0
- package/dist/platform/http-auth.js +151 -0
- package/dist/platform/http-auth.js.map +1 -0
- package/dist/platform/http-security.d.ts +25 -0
- package/dist/platform/http-security.d.ts.map +1 -0
- package/dist/platform/http-security.js +102 -0
- package/dist/platform/http-security.js.map +1 -0
- package/dist/platform/maintainer-vex/find.d.ts +25 -0
- package/dist/platform/maintainer-vex/find.d.ts.map +1 -0
- package/dist/platform/maintainer-vex/find.js +109 -0
- package/dist/platform/maintainer-vex/find.js.map +1 -0
- package/dist/platform/maintainer-vex/index.d.ts +5 -0
- package/dist/platform/maintainer-vex/index.d.ts.map +1 -0
- package/dist/platform/maintainer-vex/index.js +5 -0
- package/dist/platform/maintainer-vex/index.js.map +1 -0
- package/dist/platform/maintainer-vex/openvex.d.ts +91 -0
- package/dist/platform/maintainer-vex/openvex.d.ts.map +1 -0
- package/dist/platform/maintainer-vex/openvex.js +154 -0
- package/dist/platform/maintainer-vex/openvex.js.map +1 -0
- package/dist/platform/maintainer-vex/purl.d.ts +16 -0
- package/dist/platform/maintainer-vex/purl.d.ts.map +1 -0
- package/dist/platform/maintainer-vex/purl.js +46 -0
- package/dist/platform/maintainer-vex/purl.js.map +1 -0
- package/dist/platform/maintainer-vex/read.d.ts +78 -0
- package/dist/platform/maintainer-vex/read.d.ts.map +1 -0
- package/dist/platform/maintainer-vex/read.js +276 -0
- package/dist/platform/maintainer-vex/read.js.map +1 -0
- package/dist/platform/memory/consume.d.ts +35 -0
- package/dist/platform/memory/consume.d.ts.map +1 -0
- package/dist/platform/memory/consume.js +130 -0
- package/dist/platform/memory/consume.js.map +1 -0
- package/dist/platform/memory/entries.d.ts +119 -0
- package/dist/platform/memory/entries.d.ts.map +1 -0
- package/dist/platform/memory/entries.js +306 -0
- package/dist/platform/memory/entries.js.map +1 -0
- package/dist/platform/memory/format.d.ts +83 -0
- package/dist/platform/memory/format.d.ts.map +1 -0
- package/dist/platform/memory/format.js +285 -0
- package/dist/platform/memory/format.js.map +1 -0
- package/dist/platform/memory/index.d.ts +7 -0
- package/dist/platform/memory/index.d.ts.map +1 -0
- package/dist/platform/memory/index.js +7 -0
- package/dist/platform/memory/index.js.map +1 -0
- package/dist/platform/memory/path.d.ts +7 -0
- package/dist/platform/memory/path.d.ts.map +1 -0
- package/dist/platform/memory/path.js +7 -0
- package/dist/platform/memory/path.js.map +1 -0
- package/dist/platform/memory/propose.d.ts +30 -0
- package/dist/platform/memory/propose.d.ts.map +1 -0
- package/dist/platform/memory/propose.js +71 -0
- package/dist/platform/memory/propose.js.map +1 -0
- package/dist/platform/memory/store.d.ts +64 -0
- package/dist/platform/memory/store.d.ts.map +1 -0
- package/dist/platform/memory/store.js +206 -0
- package/dist/platform/memory/store.js.map +1 -0
- package/dist/platform/option-schemas.d.ts +1225 -0
- package/dist/platform/option-schemas.d.ts.map +1 -0
- package/dist/platform/option-schemas.js +484 -0
- package/dist/platform/option-schemas.js.map +1 -0
- package/dist/platform/package-manager/index.d.ts +11 -2
- package/dist/platform/package-manager/index.d.ts.map +1 -1
- package/dist/platform/package-manager/index.js +24 -1
- package/dist/platform/package-manager/index.js.map +1 -1
- package/dist/platform/package-manager/list-parser.d.ts +4 -2
- package/dist/platform/package-manager/list-parser.d.ts.map +1 -1
- package/dist/platform/package-manager/list-parser.js +13 -4
- package/dist/platform/package-manager/list-parser.js.map +1 -1
- package/dist/platform/package-name.d.ts +11 -0
- package/dist/platform/package-name.d.ts.map +1 -0
- package/dist/platform/package-name.js +18 -0
- package/dist/platform/package-name.js.map +1 -0
- package/dist/platform/path-guard.d.ts +29 -0
- package/dist/platform/path-guard.d.ts.map +1 -0
- package/dist/platform/path-guard.js +113 -0
- package/dist/platform/path-guard.js.map +1 -0
- package/dist/platform/policy-loosening.d.ts +31 -0
- package/dist/platform/policy-loosening.d.ts.map +1 -0
- package/dist/platform/policy-loosening.js +371 -0
- package/dist/platform/policy-loosening.js.map +1 -0
- package/dist/platform/policy.d.ts +248 -1
- package/dist/platform/policy.d.ts.map +1 -1
- package/dist/platform/policy.js +23 -51
- package/dist/platform/policy.js.map +1 -1
- package/dist/platform/redact.d.ts +7 -0
- package/dist/platform/redact.d.ts.map +1 -0
- package/dist/platform/redact.js +11 -0
- package/dist/platform/redact.js.map +1 -0
- package/dist/platform/registry-config.d.ts +27 -0
- package/dist/platform/registry-config.d.ts.map +1 -0
- package/dist/platform/registry-config.js +175 -0
- package/dist/platform/registry-config.js.map +1 -0
- package/dist/platform/repair-agent.d.ts +84 -0
- package/dist/platform/repair-agent.d.ts.map +1 -0
- package/dist/platform/repair-agent.js +7 -0
- package/dist/platform/repair-agent.js.map +1 -0
- package/dist/platform/rollback.d.ts.map +1 -1
- package/dist/platform/rollback.js +12 -0
- package/dist/platform/rollback.js.map +1 -1
- package/dist/platform/supply-chain.d.ts +2 -1
- package/dist/platform/supply-chain.d.ts.map +1 -1
- package/dist/platform/supply-chain.js +10 -4
- package/dist/platform/supply-chain.js.map +1 -1
- package/dist/platform/track-record-path.d.ts +8 -0
- package/dist/platform/track-record-path.d.ts.map +1 -0
- package/dist/platform/track-record-path.js +8 -0
- package/dist/platform/track-record-path.js.map +1 -0
- package/dist/platform/types.d.ts +97 -4
- package/dist/platform/types.d.ts.map +1 -1
- package/dist/platform/types.js +6 -1
- package/dist/platform/types.js.map +1 -1
- package/dist/recipes/capture.d.ts +36 -0
- package/dist/recipes/capture.d.ts.map +1 -0
- package/dist/recipes/capture.js +153 -0
- package/dist/recipes/capture.js.map +1 -0
- package/dist/recipes/discover.d.ts +42 -0
- package/dist/recipes/discover.d.ts.map +1 -0
- package/dist/recipes/discover.js +152 -0
- package/dist/recipes/discover.js.map +1 -0
- package/dist/recipes/engine.d.ts +38 -0
- package/dist/recipes/engine.d.ts.map +1 -0
- package/dist/recipes/engine.js +174 -0
- package/dist/recipes/engine.js.map +1 -0
- package/dist/recipes/schema.d.ts +53 -0
- package/dist/recipes/schema.d.ts.map +1 -0
- package/dist/recipes/schema.js +126 -0
- package/dist/recipes/schema.js.map +1 -0
- package/dist/recipes/store.d.ts +33 -0
- package/dist/recipes/store.d.ts.map +1 -0
- package/dist/recipes/store.js +114 -0
- package/dist/recipes/store.js.map +1 -0
- package/dist/remediation/evaluate-package.d.ts.map +1 -1
- package/dist/remediation/evaluate-package.js +4 -2
- package/dist/remediation/evaluate-package.js.map +1 -1
- package/dist/remediation/impact/api-diff.d.ts +51 -0
- package/dist/remediation/impact/api-diff.d.ts.map +1 -0
- package/dist/remediation/impact/api-diff.js +374 -0
- package/dist/remediation/impact/api-diff.js.map +1 -0
- package/dist/remediation/impact/assess.d.ts +51 -0
- package/dist/remediation/impact/assess.d.ts.map +1 -0
- package/dist/remediation/impact/assess.js +118 -0
- package/dist/remediation/impact/assess.js.map +1 -0
- package/dist/remediation/impact/ast.d.ts +37 -0
- package/dist/remediation/impact/ast.d.ts.map +1 -0
- package/dist/remediation/impact/ast.js +201 -0
- package/dist/remediation/impact/ast.js.map +1 -0
- package/dist/remediation/impact/dts-surface.d.ts +48 -0
- package/dist/remediation/impact/dts-surface.d.ts.map +1 -0
- package/dist/remediation/impact/dts-surface.js +658 -0
- package/dist/remediation/impact/dts-surface.js.map +1 -0
- package/dist/remediation/impact/fix-diff.d.ts +84 -0
- package/dist/remediation/impact/fix-diff.d.ts.map +1 -0
- package/dist/remediation/impact/fix-diff.js +493 -0
- package/dist/remediation/impact/fix-diff.js.map +1 -0
- package/dist/remediation/impact/impact.d.ts +96 -0
- package/dist/remediation/impact/impact.d.ts.map +1 -0
- package/dist/remediation/impact/impact.js +404 -0
- package/dist/remediation/impact/impact.js.map +1 -0
- package/dist/remediation/impact/js-exports.d.ts +63 -0
- package/dist/remediation/impact/js-exports.d.ts.map +1 -0
- package/dist/remediation/impact/js-exports.js +546 -0
- package/dist/remediation/impact/js-exports.js.map +1 -0
- package/dist/remediation/impact/manifest-diff.d.ts +23 -0
- package/dist/remediation/impact/manifest-diff.d.ts.map +1 -0
- package/dist/remediation/impact/manifest-diff.js +223 -0
- package/dist/remediation/impact/manifest-diff.js.map +1 -0
- package/dist/remediation/impact/package-index.d.ts +37 -0
- package/dist/remediation/impact/package-index.d.ts.map +1 -0
- package/dist/remediation/impact/package-index.js +313 -0
- package/dist/remediation/impact/package-index.js.map +1 -0
- package/dist/remediation/impact/tarball.d.ts +43 -0
- package/dist/remediation/impact/tarball.d.ts.map +1 -0
- package/dist/remediation/impact/tarball.js +216 -0
- package/dist/remediation/impact/tarball.js.map +1 -0
- package/dist/remediation/impact/types.d.ts +42 -0
- package/dist/remediation/impact/types.d.ts.map +1 -0
- package/dist/remediation/impact/types.js +3 -0
- package/dist/remediation/impact/types.js.map +1 -0
- package/dist/remediation/impact/usage-index.d.ts +28 -0
- package/dist/remediation/impact/usage-index.d.ts.map +1 -0
- package/dist/remediation/impact/usage-index.js +406 -0
- package/dist/remediation/impact/usage-index.js.map +1 -0
- package/dist/remediation/local/fallback.d.ts.map +1 -1
- package/dist/remediation/local/fallback.js +1 -0
- package/dist/remediation/local/fallback.js.map +1 -1
- package/dist/remediation/local/options.d.ts +3 -0
- package/dist/remediation/local/options.d.ts.map +1 -1
- package/dist/remediation/local/options.js +2 -0
- package/dist/remediation/local/options.js.map +1 -1
- package/dist/remediation/local/primary-strategy.d.ts +4 -0
- package/dist/remediation/local/primary-strategy.d.ts.map +1 -1
- package/dist/remediation/local/primary-strategy.js +61 -17
- package/dist/remediation/local/primary-strategy.js.map +1 -1
- package/dist/remediation/local/run.d.ts.map +1 -1
- package/dist/remediation/local/run.js +85 -6
- package/dist/remediation/local/run.js.map +1 -1
- package/dist/remediation/local/sbom.d.ts +3 -1
- package/dist/remediation/local/sbom.d.ts.map +1 -1
- package/dist/remediation/local/sbom.js +15 -9
- package/dist/remediation/local/sbom.js.map +1 -1
- package/dist/remediation/local/secops-preflight.d.ts +2 -1
- package/dist/remediation/local/secops-preflight.d.ts.map +1 -1
- package/dist/remediation/local/secops-preflight.js +1 -0
- package/dist/remediation/local/secops-preflight.js.map +1 -1
- package/dist/remediation/local/select-target.d.ts +53 -0
- package/dist/remediation/local/select-target.d.ts.map +1 -0
- package/dist/remediation/local/select-target.js +74 -0
- package/dist/remediation/local/select-target.js.map +1 -0
- package/dist/remediation/patch/llm-generator.d.ts.map +1 -1
- package/dist/remediation/patch/llm-generator.js +4 -4
- package/dist/remediation/patch/llm-generator.js.map +1 -1
- package/dist/remediation/radar/changelog.d.ts +38 -0
- package/dist/remediation/radar/changelog.d.ts.map +1 -0
- package/dist/remediation/radar/changelog.js +311 -0
- package/dist/remediation/radar/changelog.js.map +1 -0
- package/dist/remediation/radar/code-diff.d.ts +30 -0
- package/dist/remediation/radar/code-diff.d.ts.map +1 -0
- package/dist/remediation/radar/code-diff.js +512 -0
- package/dist/remediation/radar/code-diff.js.map +1 -0
- package/dist/remediation/radar/metadata.d.ts +14 -0
- package/dist/remediation/radar/metadata.d.ts.map +1 -0
- package/dist/remediation/radar/metadata.js +105 -0
- package/dist/remediation/radar/metadata.js.map +1 -0
- package/dist/remediation/radar/model.d.ts +40 -0
- package/dist/remediation/radar/model.d.ts.map +1 -0
- package/dist/remediation/radar/model.js +74 -0
- package/dist/remediation/radar/model.js.map +1 -0
- package/dist/remediation/radar/sanitize.d.ts +15 -0
- package/dist/remediation/radar/sanitize.d.ts.map +1 -0
- package/dist/remediation/radar/sanitize.js +47 -0
- package/dist/remediation/radar/sanitize.js.map +1 -0
- package/dist/remediation/radar/score.d.ts +12 -0
- package/dist/remediation/radar/score.d.ts.map +1 -0
- package/dist/remediation/radar/score.js +27 -0
- package/dist/remediation/radar/score.js.map +1 -0
- package/dist/remediation/radar/types.d.ts +74 -0
- package/dist/remediation/radar/types.d.ts.map +1 -0
- package/dist/remediation/radar/types.js +65 -0
- package/dist/remediation/radar/types.js.map +1 -0
- package/dist/remediation/repair/attempt.d.ts +74 -0
- package/dist/remediation/repair/attempt.d.ts.map +1 -0
- package/dist/remediation/repair/attempt.js +262 -0
- package/dist/remediation/repair/attempt.js.map +1 -0
- package/dist/remediation/repair/builtin-agent.d.ts +9 -0
- package/dist/remediation/repair/builtin-agent.d.ts.map +1 -0
- package/dist/remediation/repair/builtin-agent.js +139 -0
- package/dist/remediation/repair/builtin-agent.js.map +1 -0
- package/dist/remediation/repair/patch-apply.d.ts +12 -0
- package/dist/remediation/repair/patch-apply.d.ts.map +1 -0
- package/dist/remediation/repair/patch-apply.js +75 -0
- package/dist/remediation/repair/patch-apply.js.map +1 -0
- package/dist/remediation/repair/recipe-attempt.d.ts +56 -0
- package/dist/remediation/repair/recipe-attempt.d.ts.map +1 -0
- package/dist/remediation/repair/recipe-attempt.js +99 -0
- package/dist/remediation/repair/recipe-attempt.js.map +1 -0
- package/dist/remediation/repair/scope-guard.d.ts +18 -0
- package/dist/remediation/repair/scope-guard.d.ts.map +1 -0
- package/dist/remediation/repair/scope-guard.js +62 -0
- package/dist/remediation/repair/scope-guard.js.map +1 -0
- package/dist/remediation/repair/tools.d.ts +30 -0
- package/dist/remediation/repair/tools.d.ts.map +1 -0
- package/dist/remediation/repair/tools.js +370 -0
- package/dist/remediation/repair/tools.js.map +1 -0
- package/dist/remediation/tools/apply-package-override/helpers.d.ts +0 -1
- package/dist/remediation/tools/apply-package-override/helpers.d.ts.map +1 -1
- package/dist/remediation/tools/apply-package-override/helpers.js +0 -30
- package/dist/remediation/tools/apply-package-override/helpers.js.map +1 -1
- package/dist/remediation/tools/apply-package-override/index.d.ts.map +1 -1
- package/dist/remediation/tools/apply-package-override/index.js +51 -13
- package/dist/remediation/tools/apply-package-override/index.js.map +1 -1
- package/dist/remediation/tools/apply-package-override/pnpm-workspace.d.ts +19 -0
- package/dist/remediation/tools/apply-package-override/pnpm-workspace.d.ts.map +1 -0
- package/dist/remediation/tools/apply-package-override/pnpm-workspace.js +47 -0
- package/dist/remediation/tools/apply-package-override/pnpm-workspace.js.map +1 -0
- package/dist/remediation/tools/apply-patch-file/index.js +1 -1
- package/dist/remediation/tools/apply-patch-file/index.js.map +1 -1
- package/dist/remediation/tools/apply-version-bump.d.ts.map +1 -1
- package/dist/remediation/tools/apply-version-bump.js +20 -45
- package/dist/remediation/tools/apply-version-bump.js.map +1 -1
- package/dist/remediation/tools/check-inventory.d.ts +6 -0
- package/dist/remediation/tools/check-inventory.d.ts.map +1 -1
- package/dist/remediation/tools/check-inventory.js +39 -8
- package/dist/remediation/tools/check-inventory.js.map +1 -1
- package/dist/remediation/tools/check-reachability.d.ts +6 -0
- package/dist/remediation/tools/check-reachability.d.ts.map +1 -1
- package/dist/remediation/tools/check-reachability.js +32 -12
- package/dist/remediation/tools/check-reachability.js.map +1 -1
- package/dist/remediation/tools/fetch-package-source.d.ts +1 -0
- package/dist/remediation/tools/fetch-package-source.d.ts.map +1 -1
- package/dist/remediation/tools/fetch-package-source.js +29 -22
- package/dist/remediation/tools/fetch-package-source.js.map +1 -1
- package/dist/remediation/tools/manifest-format.d.ts +7 -0
- package/dist/remediation/tools/manifest-format.d.ts.map +1 -0
- package/dist/remediation/tools/manifest-format.js +14 -0
- package/dist/remediation/tools/manifest-format.js.map +1 -0
- package/dist/remediation/verify/changes.d.ts +33 -0
- package/dist/remediation/verify/changes.d.ts.map +1 -0
- package/dist/remediation/verify/changes.js +204 -0
- package/dist/remediation/verify/changes.js.map +1 -0
- package/dist/remediation/verify/checks.d.ts +30 -0
- package/dist/remediation/verify/checks.d.ts.map +1 -0
- package/dist/remediation/verify/checks.js +239 -0
- package/dist/remediation/verify/checks.js.map +1 -0
- package/dist/remediation/verify/command-check.d.ts +11 -0
- package/dist/remediation/verify/command-check.d.ts.map +1 -0
- package/dist/remediation/verify/command-check.js +26 -0
- package/dist/remediation/verify/command-check.js.map +1 -0
- package/dist/remediation/verify/types.d.ts +66 -0
- package/dist/remediation/verify/types.d.ts.map +1 -0
- package/dist/remediation/verify/types.js +4 -0
- package/dist/remediation/verify/types.js.map +1 -0
- package/dist/remediation/verify/verifier.d.ts +12 -0
- package/dist/remediation/verify/verifier.d.ts.map +1 -0
- package/dist/remediation/verify/verifier.js +56 -0
- package/dist/remediation/verify/verifier.js.map +1 -0
- package/dist/runs/fingerprint.d.ts +14 -0
- package/dist/runs/fingerprint.d.ts.map +1 -0
- package/dist/runs/fingerprint.js +55 -0
- package/dist/runs/fingerprint.js.map +1 -0
- package/dist/runs/hash.d.ts +4 -0
- package/dist/runs/hash.d.ts.map +1 -0
- package/dist/runs/hash.js +18 -0
- package/dist/runs/hash.js.map +1 -0
- package/dist/runs/ids.d.ts +6 -0
- package/dist/runs/ids.d.ts.map +1 -0
- package/dist/runs/ids.js +15 -0
- package/dist/runs/ids.js.map +1 -0
- package/dist/runs/ledger.d.ts +26 -0
- package/dist/runs/ledger.d.ts.map +1 -0
- package/dist/runs/ledger.js +61 -0
- package/dist/runs/ledger.js.map +1 -0
- package/dist/runs/plan.d.ts +67 -0
- package/dist/runs/plan.d.ts.map +1 -0
- package/dist/runs/plan.js +68 -0
- package/dist/runs/plan.js.map +1 -0
- package/dist/runs/run-store.d.ts +83 -0
- package/dist/runs/run-store.d.ts.map +1 -0
- package/dist/runs/run-store.js +161 -0
- package/dist/runs/run-store.js.map +1 -0
- package/dist/runs/snapshot-store.d.ts +13 -0
- package/dist/runs/snapshot-store.d.ts.map +1 -0
- package/dist/runs/snapshot-store.js +78 -0
- package/dist/runs/snapshot-store.js.map +1 -0
- package/dist/runs/worktree.d.ts +40 -0
- package/dist/runs/worktree.d.ts.map +1 -0
- package/dist/runs/worktree.js +144 -0
- package/dist/runs/worktree.js.map +1 -0
- package/dist/scanner/delta-scan.d.ts +10 -1
- package/dist/scanner/delta-scan.d.ts.map +1 -1
- package/dist/scanner/delta-scan.js +15 -3
- package/dist/scanner/delta-scan.js.map +1 -1
- package/dist/scanner/lock-graph/bun.d.ts +6 -0
- package/dist/scanner/lock-graph/bun.d.ts.map +1 -0
- package/dist/scanner/lock-graph/bun.js +116 -0
- package/dist/scanner/lock-graph/bun.js.map +1 -0
- package/dist/scanner/lock-graph/index.d.ts +32 -0
- package/dist/scanner/lock-graph/index.d.ts.map +1 -0
- package/dist/scanner/lock-graph/index.js +125 -0
- package/dist/scanner/lock-graph/index.js.map +1 -0
- package/dist/scanner/lock-graph/npm.d.ts +4 -0
- package/dist/scanner/lock-graph/npm.d.ts.map +1 -0
- package/dist/scanner/lock-graph/npm.js +119 -0
- package/dist/scanner/lock-graph/npm.js.map +1 -0
- package/dist/scanner/lock-graph/pnpm.d.ts +4 -0
- package/dist/scanner/lock-graph/pnpm.d.ts.map +1 -0
- package/dist/scanner/lock-graph/pnpm.js +101 -0
- package/dist/scanner/lock-graph/pnpm.js.map +1 -0
- package/dist/scanner/lock-graph/types.d.ts +44 -0
- package/dist/scanner/lock-graph/types.d.ts.map +1 -0
- package/dist/scanner/lock-graph/types.js +32 -0
- package/dist/scanner/lock-graph/types.js.map +1 -0
- package/dist/scanner/lock-graph/yarn.d.ts +4 -0
- package/dist/scanner/lock-graph/yarn.d.ts.map +1 -0
- package/dist/scanner/lock-graph/yarn.js +132 -0
- package/dist/scanner/lock-graph/yarn.js.map +1 -0
- package/dist/scanner/lockfile-diff.d.ts.map +1 -1
- package/dist/scanner/lockfile-diff.js +2 -2
- package/dist/scanner/lockfile-diff.js.map +1 -1
- package/dist/scanner/pnpm-lock-document.d.ts +8 -0
- package/dist/scanner/pnpm-lock-document.d.ts.map +1 -0
- package/dist/scanner/pnpm-lock-document.js +15 -0
- package/dist/scanner/pnpm-lock-document.js.map +1 -0
- package/dist/trace/esm-instrument.d.ts +26 -0
- package/dist/trace/esm-instrument.d.ts.map +1 -0
- package/dist/trace/esm-instrument.js +153 -0
- package/dist/trace/esm-instrument.js.map +1 -0
- package/dist/trace/fold.d.ts +24 -0
- package/dist/trace/fold.d.ts.map +1 -0
- package/dist/trace/fold.js +169 -0
- package/dist/trace/fold.js.map +1 -0
- package/dist/trace/locate.d.ts +18 -0
- package/dist/trace/locate.d.ts.map +1 -0
- package/dist/trace/locate.js +55 -0
- package/dist/trace/locate.js.map +1 -0
- package/dist/trace/register.d.ts +2 -0
- package/dist/trace/register.d.ts.map +1 -0
- package/dist/trace/register.js +15 -0
- package/dist/trace/register.js.map +1 -0
- package/dist/trace/run.d.ts +42 -0
- package/dist/trace/run.d.ts.map +1 -0
- package/dist/trace/run.js +97 -0
- package/dist/trace/run.js.map +1 -0
- package/dist/trace/runtime.d.ts +9 -0
- package/dist/trace/runtime.d.ts.map +1 -0
- package/dist/trace/runtime.js +341 -0
- package/dist/trace/runtime.js.map +1 -0
- package/dist/trace/types.d.ts +98 -0
- package/dist/trace/types.d.ts.map +1 -0
- package/dist/trace/types.js +16 -0
- package/dist/trace/types.js.map +1 -0
- package/dist/trace/verdict.d.ts +8 -0
- package/dist/trace/verdict.d.ts.map +1 -0
- package/dist/trace/verdict.js +111 -0
- package/dist/trace/verdict.js.map +1 -0
- package/dist/trace/wrap.d.ts +32 -0
- package/dist/trace/wrap.d.ts.map +1 -0
- package/dist/trace/wrap.js +151 -0
- package/dist/trace/wrap.js.map +1 -0
- package/llms.txt +21 -3
- package/package.json +23 -17
- package/dist/openapi/handlers/routes.d.ts +0 -6
- package/dist/openapi/handlers/routes.d.ts.map +0 -1
- package/dist/openapi/handlers/routes.js +0 -122
- package/dist/openapi/handlers/routes.js.map +0 -1
- package/dist/openapi/path-guard.d.ts +0 -12
- package/dist/openapi/path-guard.d.ts.map +0 -1
- package/dist/openapi/path-guard.js +0 -79
- package/dist/openapi/path-guard.js.map +0 -1
- package/dist/openapi/spec/paths.d.ts +0 -1053
- package/dist/openapi/spec/paths.d.ts.map +0 -1
- package/dist/openapi/spec/paths.js +0 -623
- package/dist/openapi/spec/paths.js.map +0 -1
- package/dist/openapi/spec/schemas.d.ts +0 -74
- package/dist/openapi/spec/schemas.d.ts.map +0 -1
- package/dist/openapi/spec/schemas.js +0 -32
- package/dist/openapi/spec/schemas.js.map +0 -1
|
@@ -1,11 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { readCooldown, withCooldown } from "../../platform/cooldown.js";
|
|
2
|
+
import { loadRegistryConfig } from "../../platform/registry-config.js";
|
|
3
3
|
import { applyPackageOverrideTool } from "../tools/apply-package-override/index.js";
|
|
4
4
|
import { applyVersionBumpTool } from "../tools/apply-version-bump.js";
|
|
5
|
+
import { describeSkipped, selectUpgradeTarget } from "./select-target.js";
|
|
6
|
+
/** Every fixed version was rejected in an earlier run: nothing to propose until a person says otherwise. */
|
|
7
|
+
function memoryBlocked(pkg, target, dryRun, vulnerable) {
|
|
8
|
+
return {
|
|
9
|
+
packageName: pkg.name,
|
|
10
|
+
strategy: "none",
|
|
11
|
+
fromVersion: pkg.version,
|
|
12
|
+
applied: false,
|
|
13
|
+
dryRun,
|
|
14
|
+
unresolvedReason: "constraint-blocked",
|
|
15
|
+
vulnerableRange: vulnerable.affected.vulnerableRange,
|
|
16
|
+
message: `Remediation memory blocks every fixed version of "${pkg.name}": ${target.reason}. Remove the entry with \`autoremediator memory remove\`, or pass --ignore-memory.`,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
5
19
|
export async function resolvePrimaryResult(params) {
|
|
6
|
-
const { vulnerable, cwd, packageManager, dryRun, policy, runTests, constraints, proofOfFix, requireProofOfFix = constraints.requireProofOfFix, reproductionTest, patchesDir, } = params;
|
|
20
|
+
const { vulnerable, cwd, packageManager, dryRun, policy, runTests, constraints, proofOfFix, requireProofOfFix = constraints.requireProofOfFix, reproductionTest, patchesDir, offlineIntelligence, rejectedVersions, } = params;
|
|
7
21
|
const pkg = vulnerable.installed;
|
|
8
22
|
const firstPatchedVersion = vulnerable.affected.firstPatchedVersion;
|
|
23
|
+
const registry = loadRegistryConfig(cwd);
|
|
24
|
+
const cooldown = readCooldown(cwd, packageManager);
|
|
9
25
|
if (pkg.type === "transitive") {
|
|
10
26
|
if (constraints.directDependenciesOnly) {
|
|
11
27
|
return {
|
|
@@ -47,8 +63,19 @@ export async function resolvePrimaryResult(params) {
|
|
|
47
63
|
},
|
|
48
64
|
};
|
|
49
65
|
}
|
|
50
|
-
const
|
|
51
|
-
|
|
66
|
+
const target = await selectUpgradeTarget({
|
|
67
|
+
packageName: pkg.name,
|
|
68
|
+
installedVersion: pkg.version,
|
|
69
|
+
firstPatchedVersion,
|
|
70
|
+
vulnerableRange: vulnerable.affected.vulnerableRange,
|
|
71
|
+
registry,
|
|
72
|
+
supplyChainPolicy: withCooldown(constraints.supplyChainPolicy, cooldown, pkg.name),
|
|
73
|
+
offline: offlineIntelligence,
|
|
74
|
+
rejected: rejectedVersions,
|
|
75
|
+
});
|
|
76
|
+
if (target.status === "memory-blocked")
|
|
77
|
+
return { result: memoryBlocked(pkg, target, dryRun, vulnerable) };
|
|
78
|
+
if (target.status === "no-safe-version") {
|
|
52
79
|
return {
|
|
53
80
|
result: {
|
|
54
81
|
packageName: pkg.name,
|
|
@@ -62,8 +89,7 @@ export async function resolvePrimaryResult(params) {
|
|
|
62
89
|
},
|
|
63
90
|
};
|
|
64
91
|
}
|
|
65
|
-
|
|
66
|
-
if (!trust.trusted) {
|
|
92
|
+
if (target.status === "trust-blocked") {
|
|
67
93
|
return {
|
|
68
94
|
result: {
|
|
69
95
|
packageName: pkg.name,
|
|
@@ -73,7 +99,7 @@ export async function resolvePrimaryResult(params) {
|
|
|
73
99
|
dryRun,
|
|
74
100
|
unresolvedReason: "policy-blocked",
|
|
75
101
|
vulnerableRange: vulnerable.affected.vulnerableRange,
|
|
76
|
-
message: `Supply chain trust gate blocked "${pkg.name}@${
|
|
102
|
+
message: `Supply chain trust gate blocked "${pkg.name}@${target.version}": ${target.reason}`,
|
|
77
103
|
},
|
|
78
104
|
};
|
|
79
105
|
}
|
|
@@ -82,7 +108,7 @@ export async function resolvePrimaryResult(params) {
|
|
|
82
108
|
packageManager,
|
|
83
109
|
packageName: pkg.name,
|
|
84
110
|
fromVersion: pkg.version,
|
|
85
|
-
toVersion:
|
|
111
|
+
toVersion: target.version,
|
|
86
112
|
dryRun,
|
|
87
113
|
policy,
|
|
88
114
|
runTests,
|
|
@@ -96,7 +122,11 @@ export async function resolvePrimaryResult(params) {
|
|
|
96
122
|
patchesDir,
|
|
97
123
|
});
|
|
98
124
|
return {
|
|
99
|
-
result: {
|
|
125
|
+
result: {
|
|
126
|
+
...overrideResult,
|
|
127
|
+
vulnerableRange: vulnerable.affected.vulnerableRange,
|
|
128
|
+
message: `${overrideResult.message}${describeSkipped(target.skipped)}`,
|
|
129
|
+
},
|
|
100
130
|
};
|
|
101
131
|
}
|
|
102
132
|
if (!firstPatchedVersion) {
|
|
@@ -113,8 +143,19 @@ export async function resolvePrimaryResult(params) {
|
|
|
113
143
|
},
|
|
114
144
|
};
|
|
115
145
|
}
|
|
116
|
-
const
|
|
117
|
-
|
|
146
|
+
const target = await selectUpgradeTarget({
|
|
147
|
+
packageName: pkg.name,
|
|
148
|
+
installedVersion: pkg.version,
|
|
149
|
+
firstPatchedVersion,
|
|
150
|
+
vulnerableRange: vulnerable.affected.vulnerableRange,
|
|
151
|
+
registry,
|
|
152
|
+
supplyChainPolicy: withCooldown(constraints.supplyChainPolicy, cooldown, pkg.name),
|
|
153
|
+
offline: offlineIntelligence,
|
|
154
|
+
rejected: rejectedVersions,
|
|
155
|
+
});
|
|
156
|
+
if (target.status === "memory-blocked")
|
|
157
|
+
return { result: memoryBlocked(pkg, target, dryRun, vulnerable) };
|
|
158
|
+
if (target.status === "no-safe-version") {
|
|
118
159
|
return {
|
|
119
160
|
result: {
|
|
120
161
|
packageName: pkg.name,
|
|
@@ -128,8 +169,7 @@ export async function resolvePrimaryResult(params) {
|
|
|
128
169
|
},
|
|
129
170
|
};
|
|
130
171
|
}
|
|
131
|
-
|
|
132
|
-
if (!trust.trusted) {
|
|
172
|
+
if (target.status === "trust-blocked") {
|
|
133
173
|
return {
|
|
134
174
|
result: {
|
|
135
175
|
packageName: pkg.name,
|
|
@@ -139,7 +179,7 @@ export async function resolvePrimaryResult(params) {
|
|
|
139
179
|
dryRun,
|
|
140
180
|
unresolvedReason: "policy-blocked",
|
|
141
181
|
vulnerableRange: vulnerable.affected.vulnerableRange,
|
|
142
|
-
message: `Supply chain trust gate blocked "${pkg.name}@${
|
|
182
|
+
message: `Supply chain trust gate blocked "${pkg.name}@${target.version}": ${target.reason}`,
|
|
143
183
|
},
|
|
144
184
|
};
|
|
145
185
|
}
|
|
@@ -148,7 +188,7 @@ export async function resolvePrimaryResult(params) {
|
|
|
148
188
|
packageManager,
|
|
149
189
|
packageName: pkg.name,
|
|
150
190
|
fromVersion: pkg.version,
|
|
151
|
-
toVersion:
|
|
191
|
+
toVersion: target.version,
|
|
152
192
|
dryRun,
|
|
153
193
|
policy,
|
|
154
194
|
runTests,
|
|
@@ -164,7 +204,11 @@ export async function resolvePrimaryResult(params) {
|
|
|
164
204
|
patchesDir,
|
|
165
205
|
});
|
|
166
206
|
return {
|
|
167
|
-
result: {
|
|
207
|
+
result: {
|
|
208
|
+
...applyResult,
|
|
209
|
+
vulnerableRange: vulnerable.affected.vulnerableRange,
|
|
210
|
+
message: `${applyResult.message}${describeSkipped(target.skipped)}`,
|
|
211
|
+
},
|
|
168
212
|
};
|
|
169
213
|
}
|
|
170
214
|
//# sourceMappingURL=primary-strategy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primary-strategy.js","sourceRoot":"","sources":["../../../src/remediation/local/primary-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"primary-strategy.js","sourceRoot":"","sources":["../../../src/remediation/local/primary-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/remediation/local/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/remediation/local/run.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAIV,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAajC,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CA4V5B"}
|
|
@@ -5,6 +5,8 @@ import { enrichWithNvd } from "../../intelligence/sources/nvd.js";
|
|
|
5
5
|
import { lookupCveOsv } from "../../intelligence/sources/osv.js";
|
|
6
6
|
import { loadIntelligenceSnapshot, lookupSnapshotCve, } from "../../intelligence/sources/snapshot.js";
|
|
7
7
|
import { computeEscalationAction } from "../../platform/escalation.js";
|
|
8
|
+
import { findMaintainerVex, readInstalledMaintainerVex, } from "../../platform/maintainer-vex/index.js";
|
|
9
|
+
import { loadMemoryConstraints, pinnedMessage, rejectedMessage, } from "../../platform/memory/consume.js";
|
|
8
10
|
import { isPackageAllowed, loadPolicy } from "../../platform/policy.js";
|
|
9
11
|
import { createProjectSnapshot } from "../../platform/rollback.js";
|
|
10
12
|
import { resolvePatchGenerator } from "../patch/resolve.js";
|
|
@@ -14,7 +16,7 @@ import { applyDispositionAndContainment } from "./disposition.js";
|
|
|
14
16
|
import { shouldAttemptPatchFallback, tryPatchFallback } from "./fallback.js";
|
|
15
17
|
import { resolveLocalRunOptions } from "./options.js";
|
|
16
18
|
import { resolvePrimaryResult } from "./primary-strategy.js";
|
|
17
|
-
import { buildSbom } from "./sbom.js";
|
|
19
|
+
import { buildSbom, sbomKey } from "./sbom.js";
|
|
18
20
|
import { runSecOpsPreflight } from "./secops-preflight.js";
|
|
19
21
|
import { buildLocalSummary } from "./summary.js";
|
|
20
22
|
import { findVulnerablePackages } from "./vulnerability-match.js";
|
|
@@ -79,12 +81,39 @@ export async function runLocalRemediationPipeline(cveId, options = {}) {
|
|
|
79
81
|
}
|
|
80
82
|
const preflight = await runSecOpsPreflight(normalizedId, cveDetails, resolved);
|
|
81
83
|
if (preflight.suppressed) {
|
|
84
|
+
// Nothing is modified for a suppressed CVE, but the report still names the installed copies it
|
|
85
|
+
// covers so VEX can assert not_affected and the SBOM can mark them suppressed.
|
|
86
|
+
const suppressedInventory = cveDetails.affectedPackages.length > 0
|
|
87
|
+
? await checkInventoryTool.execute({
|
|
88
|
+
cwd,
|
|
89
|
+
packageManager,
|
|
90
|
+
policy: options.policy,
|
|
91
|
+
workspace: constraints.workspace,
|
|
92
|
+
})
|
|
93
|
+
: { packages: [] };
|
|
94
|
+
const suppressedInstalled = suppressedInventory.error ? [] : suppressedInventory.packages;
|
|
95
|
+
const suppressedPackages = findVulnerablePackages(cveDetails, suppressedInstalled);
|
|
96
|
+
const suppressedBy = {
|
|
97
|
+
justification: preflight.suppression.justification,
|
|
98
|
+
...(preflight.suppression.notes ? { notes: preflight.suppression.notes } : {}),
|
|
99
|
+
};
|
|
100
|
+
const suppressedResults = suppressedPackages.map((vulnerable) => ({
|
|
101
|
+
packageName: vulnerable.installed.name,
|
|
102
|
+
fromVersion: vulnerable.installed.version,
|
|
103
|
+
strategy: "none",
|
|
104
|
+
applied: false,
|
|
105
|
+
dryRun,
|
|
106
|
+
dependencyScope: vulnerable.installed.type === "direct" ? "direct" : "transitive",
|
|
107
|
+
suppressedBy,
|
|
108
|
+
message: preflight.summary,
|
|
109
|
+
}));
|
|
82
110
|
return {
|
|
83
111
|
cveId,
|
|
84
112
|
cveDetails,
|
|
85
|
-
vulnerablePackages:
|
|
86
|
-
results:
|
|
113
|
+
vulnerablePackages: suppressedPackages,
|
|
114
|
+
results: suppressedResults,
|
|
87
115
|
summary: preflight.summary,
|
|
116
|
+
sbom: buildSbom(suppressedInstalled, new Set(suppressedPackages.map((v) => sbomKey(v.installed.name, v.installed.version))), suppressedResults),
|
|
88
117
|
correlation,
|
|
89
118
|
};
|
|
90
119
|
}
|
|
@@ -124,8 +153,19 @@ export async function runLocalRemediationPipeline(cveId, options = {}) {
|
|
|
124
153
|
const effectivePolicy = loadPolicy(cwd, options.policy);
|
|
125
154
|
const containmentMode = options.containmentMode ?? effectivePolicy.containmentMode ?? false;
|
|
126
155
|
const dispositionPolicy = options.dispositionPolicy ?? effectivePolicy.dispositionPolicy;
|
|
156
|
+
// What earlier runs and people recorded: pinned packages and upgrades that were tried and rejected.
|
|
157
|
+
const memory = resolved.ignoreMemory ? undefined : loadMemoryConstraints(cwd);
|
|
158
|
+
// Read the VEX documents installed packages ship once, and only when something is vulnerable.
|
|
159
|
+
let shippedVex;
|
|
127
160
|
for (const vulnerable of vulnerablePackages) {
|
|
128
161
|
const snapshot = await createProjectSnapshot(cwd);
|
|
162
|
+
shippedVex ??= readInstalledMaintainerVex(cwd);
|
|
163
|
+
const maintainerVex = findMaintainerVex(shippedVex, normalizedId, vulnerable.installed);
|
|
164
|
+
const withMaintainerVex = (result) => ({
|
|
165
|
+
...result,
|
|
166
|
+
...(maintainerVex.evidence.length > 0 ? { maintainerVex: maintainerVex.evidence } : {}),
|
|
167
|
+
...(maintainerVex.ignored.length > 0 ? { maintainerVexIgnored: maintainerVex.ignored } : {}),
|
|
168
|
+
});
|
|
129
169
|
const finalizePatchResult = (result) => {
|
|
130
170
|
const withDisposition = applyDispositionAndContainment(result, {
|
|
131
171
|
exploitSignalTriggered,
|
|
@@ -139,7 +179,7 @@ export async function runLocalRemediationPipeline(cveId, options = {}) {
|
|
|
139
179
|
if (withDisposition.unresolvedReason) {
|
|
140
180
|
withDisposition.escalationAction = computeEscalationAction(withDisposition.unresolvedReason, resolved.escalationGraph);
|
|
141
181
|
}
|
|
142
|
-
return withDisposition;
|
|
182
|
+
return withMaintainerVex(withDisposition);
|
|
143
183
|
};
|
|
144
184
|
if (!isPackageAllowed(effectivePolicy, vulnerable.installed.name)) {
|
|
145
185
|
collectedResults.push(finalizePatchResult({
|
|
@@ -153,6 +193,40 @@ export async function runLocalRemediationPipeline(cveId, options = {}) {
|
|
|
153
193
|
}));
|
|
154
194
|
continue;
|
|
155
195
|
}
|
|
196
|
+
// A person's pin comes first: the package is left alone whatever else says.
|
|
197
|
+
const pinned = memory?.pinned.get(vulnerable.installed.name);
|
|
198
|
+
if (pinned) {
|
|
199
|
+
collectedResults.push(finalizePatchResult({
|
|
200
|
+
packageName: vulnerable.installed.name,
|
|
201
|
+
fromVersion: vulnerable.installed.version,
|
|
202
|
+
strategy: "none",
|
|
203
|
+
applied: false,
|
|
204
|
+
dryRun,
|
|
205
|
+
unresolvedReason: "constraint-blocked",
|
|
206
|
+
message: pinnedMessage(pinned),
|
|
207
|
+
}));
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
// Opt-in only: by default the maintainer's verdict is evidence and remediation goes ahead.
|
|
211
|
+
const maintainerClaim = maintainerVex.evidence[0];
|
|
212
|
+
if (resolved.trustMaintainerVex && maintainerClaim) {
|
|
213
|
+
const { maintainer } = maintainerClaim;
|
|
214
|
+
collectedResults.push(withMaintainerVex({
|
|
215
|
+
packageName: vulnerable.installed.name,
|
|
216
|
+
fromVersion: vulnerable.installed.version,
|
|
217
|
+
strategy: "none",
|
|
218
|
+
applied: false,
|
|
219
|
+
dryRun,
|
|
220
|
+
dependencyScope: vulnerable.installed.type === "direct" ? "direct" : "transitive",
|
|
221
|
+
suppressedBy: {
|
|
222
|
+
justification: "not_affected",
|
|
223
|
+
source: "maintainer-vex",
|
|
224
|
+
notes: `${maintainer.name}@${maintainer.version} (${maintainerClaim.author}): ${maintainerClaim.justification}${maintainerClaim.impactStatement ? `. ${maintainerClaim.impactStatement}` : ""}`,
|
|
225
|
+
},
|
|
226
|
+
message: `Suppressed by maintainer VEX: ${maintainer.name}@${maintainer.version} (author ${maintainerClaim.author}) declares not_affected (${maintainerClaim.justification}) for ${normalizedId}.`,
|
|
227
|
+
}));
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
156
230
|
if (resolved.skipUnreachable) {
|
|
157
231
|
const reach = assessPackageReachability(cwd, vulnerable.installed.name);
|
|
158
232
|
if (reach.status === "not-reachable") {
|
|
@@ -180,6 +254,11 @@ export async function runLocalRemediationPipeline(cveId, options = {}) {
|
|
|
180
254
|
requireProofOfFix: resolved.requireProofOfFix,
|
|
181
255
|
reproductionTest: options.reproductionTest,
|
|
182
256
|
patchesDir: resolved.patchesDir,
|
|
257
|
+
offlineIntelligence: resolved.offlineIntelligence,
|
|
258
|
+
rejectedVersions: new Map([...(memory?.rejected.get(vulnerable.installed.name) ?? [])].map(([version, entry]) => [
|
|
259
|
+
version,
|
|
260
|
+
rejectedMessage(entry),
|
|
261
|
+
])),
|
|
183
262
|
});
|
|
184
263
|
if (shouldAttemptPatchFallback(primary.result, constraints.preferVersionBump ?? false)) {
|
|
185
264
|
const fallback = await tryPatchFallback({
|
|
@@ -216,8 +295,8 @@ export async function runLocalRemediationPipeline(cveId, options = {}) {
|
|
|
216
295
|
};
|
|
217
296
|
collectedResults.push(finalizePatchResult(primaryResult));
|
|
218
297
|
}
|
|
219
|
-
const
|
|
220
|
-
const sbom = buildSbom(installedPackages,
|
|
298
|
+
const vulnerableKeys = new Set(vulnerablePackages.map((v) => sbomKey(v.installed.name, v.installed.version)));
|
|
299
|
+
const sbom = buildSbom(installedPackages, vulnerableKeys, collectedResults);
|
|
221
300
|
return {
|
|
222
301
|
cveId,
|
|
223
302
|
cveDetails,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/remediation/local/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/remediation/local/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { InventoryPackage, PatchResult, SbomEntry } from "../../platform/types.js";
|
|
2
|
+
/** Identity of one installed copy; a package can be installed at several versions. */
|
|
3
|
+
export declare function sbomKey(name: string, version: string): string;
|
|
2
4
|
/**
|
|
3
5
|
* Build a Software Bill of Materials from the installed package inventory,
|
|
4
6
|
* cross-referencing each package against the vulnerable and remediated sets.
|
|
5
7
|
*/
|
|
6
|
-
export declare function buildSbom(packages: InventoryPackage[],
|
|
8
|
+
export declare function buildSbom(packages: InventoryPackage[], vulnerableKeys: Set<string>, results: PatchResult[]): SbomEntry[];
|
|
7
9
|
//# sourceMappingURL=sbom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sbom.d.ts","sourceRoot":"","sources":["../../../src/remediation/local/sbom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAc,MAAM,yBAAyB,CAAC;AAEpG;;;GAGG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,
|
|
1
|
+
{"version":3,"file":"sbom.d.ts","sourceRoot":"","sources":["../../../src/remediation/local/sbom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAc,MAAM,yBAAyB,CAAC;AAEpG,sFAAsF;AACtF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAC3B,OAAO,EAAE,WAAW,EAAE,GACrB,SAAS,EAAE,CA6Bb"}
|
|
@@ -1,34 +1,40 @@
|
|
|
1
|
+
/** Identity of one installed copy; a package can be installed at several versions. */
|
|
2
|
+
export function sbomKey(name, version) {
|
|
3
|
+
return `${name}@${version}`;
|
|
4
|
+
}
|
|
1
5
|
/**
|
|
2
6
|
* Build a Software Bill of Materials from the installed package inventory,
|
|
3
7
|
* cross-referencing each package against the vulnerable and remediated sets.
|
|
4
8
|
*/
|
|
5
|
-
export function buildSbom(packages,
|
|
6
|
-
const
|
|
9
|
+
export function buildSbom(packages, vulnerableKeys, results) {
|
|
10
|
+
const statusByCopy = new Map();
|
|
7
11
|
for (const result of results) {
|
|
8
|
-
|
|
12
|
+
const key = sbomKey(result.packageName, result.fromVersion);
|
|
13
|
+
if (!vulnerableKeys.has(key))
|
|
9
14
|
continue;
|
|
10
15
|
if (result.suppressedBy) {
|
|
11
|
-
|
|
16
|
+
statusByCopy.set(key, "suppressed");
|
|
12
17
|
}
|
|
13
18
|
else if (!result.applied && result.strategy === "none") {
|
|
14
|
-
|
|
19
|
+
statusByCopy.set(key, "skipped");
|
|
15
20
|
}
|
|
16
21
|
else if (result.applied) {
|
|
17
|
-
|
|
22
|
+
statusByCopy.set(key, "patched");
|
|
18
23
|
}
|
|
19
24
|
else {
|
|
20
|
-
|
|
25
|
+
statusByCopy.set(key, "unpatched");
|
|
21
26
|
}
|
|
22
27
|
}
|
|
23
28
|
return packages.map((pkg) => {
|
|
24
|
-
const
|
|
29
|
+
const key = sbomKey(pkg.name, pkg.version);
|
|
30
|
+
const isVulnerable = vulnerableKeys.has(key);
|
|
25
31
|
const entry = {
|
|
26
32
|
name: pkg.name,
|
|
27
33
|
version: pkg.version,
|
|
28
34
|
scope: pkg.type === "direct" ? "direct" : "transitive",
|
|
29
35
|
};
|
|
30
36
|
if (isVulnerable) {
|
|
31
|
-
entry.status =
|
|
37
|
+
entry.status = statusByCopy.get(key) ?? "unpatched";
|
|
32
38
|
}
|
|
33
39
|
return entry;
|
|
34
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sbom.js","sourceRoot":"","sources":["../../../src/remediation/local/sbom.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,QAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"sbom.js","sourceRoot":"","sources":["../../../src/remediation/local/sbom.ts"],"names":[],"mappings":"AAEA,sFAAsF;AACtF,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe;IACnD,OAAO,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,QAA4B,EAC5B,cAA2B,EAC3B,OAAsB;IAEtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACvC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACzD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAc;YACvB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;SACvD,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SecOps pre-flight checks for the local remediation pipeline.
|
|
3
3
|
*
|
|
4
4
|
* Runs before inventory and per-package remediation:
|
|
5
|
-
* 1. VEX suppression —
|
|
5
|
+
* 1. VEX suppression — stops remediation if the CVE is actively suppressed
|
|
6
6
|
* 2. Exploit signal — KEV / EPSS override gate
|
|
7
7
|
* 3. SLA breach — detects response-window violations
|
|
8
8
|
*/
|
|
@@ -17,6 +17,7 @@ export interface SecOpsPreflightOptions {
|
|
|
17
17
|
export type SecOpsPreflightResult = {
|
|
18
18
|
suppressed: true;
|
|
19
19
|
summary: string;
|
|
20
|
+
suppression: VexSuppression;
|
|
20
21
|
} | {
|
|
21
22
|
suppressed: false;
|
|
22
23
|
exploitSignalTriggered?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secops-preflight.d.ts","sourceRoot":"","sources":["../../../src/remediation/local/secops-preflight.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,OAAO,KAAK,EACV,UAAU,EACV,2BAA2B,EAC3B,SAAS,EACT,SAAS,EACT,cAAc,EACf,MAAM,yBAAyB,CAAC;AAGjC,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,2BAA2B,CAAC;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,UAAU,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"secops-preflight.d.ts","sourceRoot":"","sources":["../../../src/remediation/local/secops-preflight.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,OAAO,KAAK,EACV,UAAU,EACV,2BAA2B,EAC3B,SAAS,EACT,SAAS,EACT,cAAc,EACf,MAAM,yBAAyB,CAAC;AAGjC,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,2BAA2B,CAAC;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,UAAU,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,cAAc,CAAA;CAAE,GAClE;IACE,UAAU,EAAE,KAAK,CAAC;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B,CAAC;AAEN,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CA6ChC"}
|
|
@@ -9,6 +9,7 @@ export async function runSecOpsPreflight(normalizedId, cveDetails, opts) {
|
|
|
9
9
|
return {
|
|
10
10
|
suppressed: true,
|
|
11
11
|
summary: `CVE ${normalizedId} suppressed by VEX policy: ${activeSuppression.justification}${activeSuppression.notes ? ` — ${activeSuppression.notes}` : ""}`,
|
|
12
|
+
suppression: activeSuppression,
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
let exploitSignalTriggered;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secops-preflight.js","sourceRoot":"","sources":["../../../src/remediation/local/secops-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAgBlC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAkB1E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAAoB,EACpB,UAAsB,EACtB,IAA4B;IAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB;QAC3C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAEtB,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAC1D,CAAC;IACF,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,OAAO,YAAY,8BAA8B,iBAAiB,CAAC,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"secops-preflight.js","sourceRoot":"","sources":["../../../src/remediation/local/secops-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAgBlC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAkB1E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAAoB,EACpB,UAAsB,EACtB,IAA4B;IAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB;QAC3C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAEtB,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAC1D,CAAC;IACF,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,OAAO,YAAY,8BAA8B,iBAAiB,CAAC,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5J,WAAW,EAAE,iBAAiB;SAC/B,CAAC;IACJ,CAAC;IAED,IAAI,sBAA2C,CAAC;IAChD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC;YAClD,UAAU,EAAE;gBACV,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,GAAG,EAAE,UAAU,CAAC,GAAG;gBACnB,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB;YACD,MAAM,EAAE,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE;SAC9D,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAClC,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,WAAoC,CAAC;IACzC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,cAAc,CAC3B,YAAY,EACZ,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,WAAW,EACtB,IAAI,CAAC,SAAS,CACf,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { resolveSafeUpgradeVersion } from "../../intelligence/sources/registry.js";
|
|
2
|
+
import type { RegistryConfig } from "../../platform/registry-config.js";
|
|
3
|
+
import { verifyPackageTrust } from "../../platform/supply-chain.js";
|
|
4
|
+
import type { SupplyChainPolicy } from "../../platform/types.js";
|
|
5
|
+
export interface SkippedCandidate {
|
|
6
|
+
version: string;
|
|
7
|
+
reason: string;
|
|
8
|
+
}
|
|
9
|
+
export type TargetSelection = {
|
|
10
|
+
status: "selected";
|
|
11
|
+
version: string;
|
|
12
|
+
knownAdvisories?: number;
|
|
13
|
+
skipped: SkippedCandidate[];
|
|
14
|
+
} | {
|
|
15
|
+
status: "no-safe-version";
|
|
16
|
+
} | {
|
|
17
|
+
status: "trust-blocked";
|
|
18
|
+
version: string;
|
|
19
|
+
reason?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Every fixed version was rejected earlier (see remediation memory). */
|
|
22
|
+
| {
|
|
23
|
+
status: "memory-blocked";
|
|
24
|
+
version: string;
|
|
25
|
+
reason: string;
|
|
26
|
+
};
|
|
27
|
+
export interface SelectTargetParams {
|
|
28
|
+
packageName: string;
|
|
29
|
+
installedVersion: string;
|
|
30
|
+
firstPatchedVersion: string;
|
|
31
|
+
vulnerableRange?: string;
|
|
32
|
+
registry?: RegistryConfig;
|
|
33
|
+
supplyChainPolicy?: SupplyChainPolicy;
|
|
34
|
+
/** Skip the advisory lookup on candidate versions (offline intelligence). */
|
|
35
|
+
offline?: boolean;
|
|
36
|
+
/** Versions of this package that remediation memory says were tried and rejected, with why. */
|
|
37
|
+
rejected?: ReadonlyMap<string, string>;
|
|
38
|
+
}
|
|
39
|
+
export interface SelectTargetDeps {
|
|
40
|
+
resolve: typeof resolveSafeUpgradeVersion;
|
|
41
|
+
verifyTrust: typeof verifyPackageTrust;
|
|
42
|
+
queryAdvisories: (packageName: string, version: string) => Promise<unknown[]>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Choose the version to move to. Walks the fixed versions best-first and takes the first that
|
|
46
|
+
* passes the supply-chain trust gate and has no known advisories of its own. A fixed version that
|
|
47
|
+
* is itself vulnerable is only used when no clean one is available, because moving onto another
|
|
48
|
+
* advisory is still progress. An advisory lookup that fails never blocks the choice.
|
|
49
|
+
*/
|
|
50
|
+
export declare function selectUpgradeTarget(params: SelectTargetParams, deps?: SelectTargetDeps): Promise<TargetSelection>;
|
|
51
|
+
/** Suffix for result messages naming candidates passed over on the way to the chosen version. */
|
|
52
|
+
export declare function describeSkipped(skipped: SkippedCandidate[]): string;
|
|
53
|
+
//# sourceMappingURL=select-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-target.d.ts","sourceRoot":"","sources":["../../../src/remediation/local/select-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAKjE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAAE,GAC9F;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAC7B;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AAC/D,yEAAyE;GACvE;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,yBAAyB,CAAC;IAC1C,WAAW,EAAE,OAAO,kBAAkB,CAAC;IACvC,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC/E;AAQD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,IAAI,GAAE,gBAA8B,GACnC,OAAO,CAAC,eAAe,CAAC,CA+D1B;AAED,iGAAiG;AACjG,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAGnE"}
|