autoremediator 0.18.0 → 0.20.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 (195) hide show
  1. package/README.md +20 -28
  2. package/dist/api/change-request/index.d.ts.map +1 -1
  3. package/dist/api/context.d.ts.map +1 -1
  4. package/dist/api/options-schema.d.ts +3 -0
  5. package/dist/api/options-schema.d.ts.map +1 -1
  6. package/dist/api/patches/reconcile.d.ts.map +1 -1
  7. package/dist/api/scan-execution.d.ts.map +1 -1
  8. package/dist/api/vex/index.d.ts +6 -2
  9. package/dist/api/vex/index.d.ts.map +1 -1
  10. package/dist/{chunk-FXOUJDQ3.js → chunk-ZGLGT4XQ.js} +3213 -774
  11. package/dist/cli/program.d.ts.map +1 -1
  12. package/dist/cli/runners.d.ts.map +1 -1
  13. package/dist/cli/triage.d.ts +9 -1
  14. package/dist/cli/triage.d.ts.map +1 -1
  15. package/dist/cli/types.d.ts +3 -0
  16. package/dist/cli/types.d.ts.map +1 -1
  17. package/dist/cli.js +82 -31
  18. package/dist/index.js +2956 -639
  19. package/dist/index.js.map +1 -1
  20. package/dist/intelligence/snapshot.d.ts +2 -0
  21. package/dist/intelligence/snapshot.d.ts.map +1 -0
  22. package/dist/intelligence/sources/github-advisory.d.ts.map +1 -1
  23. package/dist/intelligence/sources/registry.d.ts +1 -0
  24. package/dist/intelligence/sources/registry.d.ts.map +1 -1
  25. package/dist/intelligence/sources/snapshot.d.ts +1 -1
  26. package/dist/intelligence/sources/snapshot.d.ts.map +1 -1
  27. package/dist/mcp/server.js +1 -1
  28. package/dist/openapi/handlers/routes.d.ts.map +1 -1
  29. package/dist/openapi/handlers/validators.d.ts.map +1 -1
  30. package/dist/openapi/http-utils.d.ts.map +1 -1
  31. package/dist/openapi/server.js +20 -7
  32. package/dist/platform/evidence.d.ts +2 -0
  33. package/dist/platform/evidence.d.ts.map +1 -1
  34. package/dist/platform/jobs.d.ts +39 -1
  35. package/dist/platform/jobs.d.ts.map +1 -1
  36. package/dist/platform/package-manager/index.d.ts.map +1 -1
  37. package/dist/platform/policy.d.ts +10 -0
  38. package/dist/platform/policy.d.ts.map +1 -1
  39. package/dist/platform/rollback.d.ts +11 -0
  40. package/dist/platform/rollback.d.ts.map +1 -1
  41. package/dist/platform/supply-chain.d.ts.map +1 -1
  42. package/dist/platform/types.d.ts +37 -3
  43. package/dist/platform/types.d.ts.map +1 -1
  44. package/dist/remediation/local/disposition.d.ts +5 -2
  45. package/dist/remediation/local/disposition.d.ts.map +1 -1
  46. package/dist/remediation/local/fallback.d.ts +2 -0
  47. package/dist/remediation/local/fallback.d.ts.map +1 -1
  48. package/dist/remediation/local/options.d.ts +3 -0
  49. package/dist/remediation/local/options.d.ts.map +1 -1
  50. package/dist/remediation/local/primary-strategy.d.ts +6 -11
  51. package/dist/remediation/local/primary-strategy.d.ts.map +1 -1
  52. package/dist/remediation/local/run.d.ts.map +1 -1
  53. package/dist/remediation/pipeline-runtime/tool-wrappers.d.ts.map +1 -1
  54. package/dist/remediation/proof-of-fix/runner.d.ts +68 -0
  55. package/dist/remediation/proof-of-fix/runner.d.ts.map +1 -0
  56. package/dist/remediation/refactor/call-site-finder.d.ts +36 -0
  57. package/dist/remediation/refactor/call-site-finder.d.ts.map +1 -0
  58. package/dist/remediation/refactor/refactor-agent.d.ts +52 -0
  59. package/dist/remediation/refactor/refactor-agent.d.ts.map +1 -0
  60. package/dist/remediation/tools/apply-package-override/index.d.ts +4 -0
  61. package/dist/remediation/tools/apply-package-override/index.d.ts.map +1 -1
  62. package/dist/remediation/tools/apply-patch-file/index.d.ts +5 -1
  63. package/dist/remediation/tools/apply-patch-file/index.d.ts.map +1 -1
  64. package/dist/remediation/tools/apply-version-bump.d.ts +5 -0
  65. package/dist/remediation/tools/apply-version-bump.d.ts.map +1 -1
  66. package/dist/remediation/tools/check-inventory.d.ts +1 -0
  67. package/dist/remediation/tools/check-inventory.d.ts.map +1 -1
  68. package/dist/remediation/tools/check-reachability.d.ts.map +1 -1
  69. package/dist/remediation/tools/fetch-package-source.d.ts.map +1 -1
  70. package/dist/remediation/tools/find-fixed-version.d.ts.map +1 -1
  71. package/dist/remediation/tools/generate-patch/helpers.d.ts +3 -3
  72. package/dist/remediation/tools/generate-patch/helpers.d.ts.map +1 -1
  73. package/dist/scanner/adapters/yarn-audit.d.ts.map +1 -1
  74. package/dist/scanner/lockfile-diff.d.ts.map +1 -1
  75. package/package.json +13 -11
  76. package/dist/api/change-request/index.test.d.ts +0 -2
  77. package/dist/api/change-request/index.test.d.ts.map +0 -1
  78. package/dist/api/delta-scan/delta-scan.test.d.ts +0 -2
  79. package/dist/api/delta-scan/delta-scan.test.d.ts.map +0 -1
  80. package/dist/api/evaluate/evaluate.test.d.ts +0 -2
  81. package/dist/api/evaluate/evaluate.test.d.ts.map +0 -1
  82. package/dist/api/index.test.d.ts +0 -2
  83. package/dist/api/index.test.d.ts.map +0 -1
  84. package/dist/api/jobs/index.test.d.ts +0 -2
  85. package/dist/api/jobs/index.test.d.ts.map +0 -1
  86. package/dist/api/patches/reconcile.test.d.ts +0 -2
  87. package/dist/api/patches/reconcile.test.d.ts.map +0 -1
  88. package/dist/api/patches.test.d.ts +0 -2
  89. package/dist/api/patches.test.d.ts.map +0 -1
  90. package/dist/api/portfolio/portfolio.test.d.ts +0 -2
  91. package/dist/api/portfolio/portfolio.test.d.ts.map +0 -1
  92. package/dist/api/portfolio/risk-score.test.d.ts +0 -2
  93. package/dist/api/portfolio/risk-score.test.d.ts.map +0 -1
  94. package/dist/api/reachability/reachability.test.d.ts +0 -2
  95. package/dist/api/reachability/reachability.test.d.ts.map +0 -1
  96. package/dist/api/update-outdated/index.test.d.ts +0 -2
  97. package/dist/api/update-outdated/index.test.d.ts.map +0 -1
  98. package/dist/api/vex/index.test.d.ts +0 -2
  99. package/dist/api/vex/index.test.d.ts.map +0 -1
  100. package/dist/cli/index.test.d.ts +0 -2
  101. package/dist/cli/index.test.d.ts.map +0 -1
  102. package/dist/intelligence/sources/certcc.test.d.ts +0 -2
  103. package/dist/intelligence/sources/certcc.test.d.ts.map +0 -1
  104. package/dist/intelligence/sources/cisa-kev.test.d.ts +0 -2
  105. package/dist/intelligence/sources/cisa-kev.test.d.ts.map +0 -1
  106. package/dist/intelligence/sources/cve-services.test.d.ts +0 -2
  107. package/dist/intelligence/sources/cve-services.test.d.ts.map +0 -1
  108. package/dist/intelligence/sources/deps-dev.test.d.ts +0 -2
  109. package/dist/intelligence/sources/deps-dev.test.d.ts.map +0 -1
  110. package/dist/intelligence/sources/epss.test.d.ts +0 -2
  111. package/dist/intelligence/sources/epss.test.d.ts.map +0 -1
  112. package/dist/intelligence/sources/external-feeds.test.d.ts +0 -2
  113. package/dist/intelligence/sources/external-feeds.test.d.ts.map +0 -1
  114. package/dist/intelligence/sources/gitlab-advisory.test.d.ts +0 -2
  115. package/dist/intelligence/sources/gitlab-advisory.test.d.ts.map +0 -1
  116. package/dist/intelligence/sources/nvd.test.d.ts +0 -2
  117. package/dist/intelligence/sources/nvd.test.d.ts.map +0 -1
  118. package/dist/intelligence/sources/ossf-scorecard.test.d.ts +0 -2
  119. package/dist/intelligence/sources/ossf-scorecard.test.d.ts.map +0 -1
  120. package/dist/intelligence/sources/osv.test.d.ts +0 -2
  121. package/dist/intelligence/sources/osv.test.d.ts.map +0 -1
  122. package/dist/intelligence/sources/registry.test.d.ts +0 -2
  123. package/dist/intelligence/sources/registry.test.d.ts.map +0 -1
  124. package/dist/intelligence/sources/snapshot.test.d.ts +0 -2
  125. package/dist/intelligence/sources/snapshot.test.d.ts.map +0 -1
  126. package/dist/mcp/server.test.d.ts +0 -2
  127. package/dist/mcp/server.test.d.ts.map +0 -1
  128. package/dist/openapi/server.test.d.ts +0 -2
  129. package/dist/openapi/server.test.d.ts.map +0 -1
  130. package/dist/platform/architecture-guardrails.test.d.ts +0 -2
  131. package/dist/platform/architecture-guardrails.test.d.ts.map +0 -1
  132. package/dist/platform/audit-logger.test.d.ts +0 -2
  133. package/dist/platform/audit-logger.test.d.ts.map +0 -1
  134. package/dist/platform/escalation.test.d.ts +0 -2
  135. package/dist/platform/escalation.test.d.ts.map +0 -1
  136. package/dist/platform/evidence.test.d.ts +0 -2
  137. package/dist/platform/evidence.test.d.ts.map +0 -1
  138. package/dist/platform/package-manager/index.test.d.ts +0 -2
  139. package/dist/platform/package-manager/index.test.d.ts.map +0 -1
  140. package/dist/platform/package-manager/list-parser.test.d.ts +0 -2
  141. package/dist/platform/package-manager/list-parser.test.d.ts.map +0 -1
  142. package/dist/platform/package-manager.test.d.ts +0 -2
  143. package/dist/platform/package-manager.test.d.ts.map +0 -1
  144. package/dist/platform/policy.test.d.ts +0 -2
  145. package/dist/platform/policy.test.d.ts.map +0 -1
  146. package/dist/platform/repo-lock.test.d.ts +0 -2
  147. package/dist/platform/repo-lock.test.d.ts.map +0 -1
  148. package/dist/platform/rollback.test.d.ts +0 -2
  149. package/dist/platform/rollback.test.d.ts.map +0 -1
  150. package/dist/platform/safe-exec.test.d.ts +0 -2
  151. package/dist/platform/safe-exec.test.d.ts.map +0 -1
  152. package/dist/platform/sla.test.d.ts +0 -2
  153. package/dist/platform/sla.test.d.ts.map +0 -1
  154. package/dist/platform/supply-chain.test.d.ts +0 -2
  155. package/dist/platform/supply-chain.test.d.ts.map +0 -1
  156. package/dist/platform/workspace.test.d.ts +0 -2
  157. package/dist/platform/workspace.test.d.ts.map +0 -1
  158. package/dist/remediation/local/consensus-gate.test.d.ts +0 -2
  159. package/dist/remediation/local/consensus-gate.test.d.ts.map +0 -1
  160. package/dist/remediation/local/disposition.test.d.ts +0 -2
  161. package/dist/remediation/local/disposition.test.d.ts.map +0 -1
  162. package/dist/remediation/local/run.secops.test.d.ts +0 -2
  163. package/dist/remediation/local/run.secops.test.d.ts.map +0 -1
  164. package/dist/remediation/local/sbom.test.d.ts +0 -2
  165. package/dist/remediation/local/sbom.test.d.ts.map +0 -1
  166. package/dist/remediation/local/vulnerability-match.test.d.ts +0 -2
  167. package/dist/remediation/local/vulnerability-match.test.d.ts.map +0 -1
  168. package/dist/remediation/pipeline.test.d.ts +0 -2
  169. package/dist/remediation/pipeline.test.d.ts.map +0 -1
  170. package/dist/remediation/tools/apply-package-override.test.d.ts +0 -2
  171. package/dist/remediation/tools/apply-package-override.test.d.ts.map +0 -1
  172. package/dist/remediation/tools/apply-patch-file.test.d.ts +0 -2
  173. package/dist/remediation/tools/apply-patch-file.test.d.ts.map +0 -1
  174. package/dist/remediation/tools/apply-version-bump.test.d.ts +0 -2
  175. package/dist/remediation/tools/apply-version-bump.test.d.ts.map +0 -1
  176. package/dist/remediation/tools/check-exploit-signal.test.d.ts +0 -2
  177. package/dist/remediation/tools/check-exploit-signal.test.d.ts.map +0 -1
  178. package/dist/remediation/tools/check-reachability.test.d.ts +0 -2
  179. package/dist/remediation/tools/check-reachability.test.d.ts.map +0 -1
  180. package/dist/remediation/tools/check-suppression.test.d.ts +0 -2
  181. package/dist/remediation/tools/check-suppression.test.d.ts.map +0 -1
  182. package/dist/remediation/tools/generate-patch/helpers.test.d.ts +0 -2
  183. package/dist/remediation/tools/generate-patch/helpers.test.d.ts.map +0 -1
  184. package/dist/remediation/tools/lookup-cve.test.d.ts +0 -2
  185. package/dist/remediation/tools/lookup-cve.test.d.ts.map +0 -1
  186. package/dist/scanner/adapters/npm-audit.test.d.ts +0 -2
  187. package/dist/scanner/adapters/npm-audit.test.d.ts.map +0 -1
  188. package/dist/scanner/adapters/sarif.test.d.ts +0 -2
  189. package/dist/scanner/adapters/sarif.test.d.ts.map +0 -1
  190. package/dist/scanner/adapters/yarn-audit.test.d.ts +0 -2
  191. package/dist/scanner/adapters/yarn-audit.test.d.ts.map +0 -1
  192. package/dist/scanner/lockfile-diff.test.d.ts +0 -2
  193. package/dist/scanner/lockfile-diff.test.d.ts.map +0 -1
  194. package/dist/scanner/parse-input.test.d.ts +0 -2
  195. package/dist/scanner/parse-input.test.d.ts.map +0 -1
package/README.md CHANGED
@@ -29,33 +29,34 @@ The result is a closed-loop remediation workflow rather than an ever-growing tri
29
29
 
30
30
  ## Exploitability-informed prioritization
31
31
 
32
- Severity scores alone are poor remediation signals. Autoremediator enriches each CVE with corroborating signals before any fix is attempted:
32
+ Severity scores alone are poor remediation signals. Autoremediator enriches each CVE with corroborating signals before attempting a fix:
33
33
 
34
34
  - **CISA KEV** — confirms whether a vulnerability is actively exploited in the wild
35
35
  - **EPSS** — quantifies exploit probability as a continuous percentile score
36
36
  - **Advisory consensus** — cross-references OSV, GitHub Advisory Database, and NVD to validate affected ranges and fixed versions
37
+ - **AST reachability** — analyzes import and call graphs to verify whether vulnerable functions are actually invoked in source code
37
38
 
38
- This enrichment drives prioritization and disposition decisions, so high-risk, actively exploited vulnerabilities are handled with higher urgency than theoretical severities would suggest.
39
+ This enrichment drives prioritization and disposition decisions, so high-risk, actively exploited vulnerabilities are handled with higher urgency than theoretical severities suggest.
39
40
 
40
41
  ## Multi-strategy remediation
41
42
 
42
43
  Autoremediator selects the safest applicable fix strategy for each vulnerability:
43
44
 
44
- - **Direct version upgrade** — the preferred path when a safe fixed version exists in the direct dependency graph
45
- - **Transitive override** — applied when exposure is in a transitive dependency and a direct upgrade is not feasible
46
- - **Controlled patch generation** — a confidence-scored fallback when no safe fixed version exists; produces auditable patch artifacts tracked through their full lifecycle with synthesized reproduction tests
47
- - **Upstream patch reconciliation** — detects when upstream package releases supersede local patch files and safely retires them (`patches reconcile`)
45
+ - **Direct version upgrade** — the preferred path for direct dependencies; automatically refactors consumer call sites if the upgrade introduces breaking changes
46
+ - **Transitive override** — applied via package manager overrides or resolutions when exposure is in a transitive dependency
47
+ - **Controlled patch generation** — confidence-scored fallback when no safe fixed version exists, validated against dual-stage exploit reproduction gates
48
+ - **Upstream patch reconciliation** — detects when upstream package releases supersede local patch files and safely retires them
48
49
 
49
- Unresolved findings are never silently dropped. Each one is classified with an explicit reason and treated as an escalation input for downstream security workflows.
50
+ Unresolved findings are never silently dropped. Each is classified with an explicit reason and treated as an escalation input for downstream security workflows.
50
51
 
51
52
  ## Policy-governed automation
52
53
 
53
- Autoremediator is designed to operate autonomously without sacrificing control. Remediation behavior is governed by a policy layer that determines disposition for every finding:
54
+ Remediation behavior is governed by a policy layer (`.github/autoremediator.yml`) that determines disposition for each finding:
54
55
 
55
- - **Auto-apply** for high-confidence remediations within acceptable risk thresholds
56
- - **Simulation** for preview and dry-run validation before mutations are committed
57
- - **Hold for approval** when human review is warranted before applying a fix
58
- - **Escalation** for findings that exceed risk tolerance, with configurable follow-on actions such as issue creation, channel notification, or draft PR
56
+ - **Auto-apply** — applies high-confidence remediations within acceptable risk thresholds
57
+ - **Simulate** — previews planned mutations and validation results without modifying files
58
+ - **Hold for approval** — pauses execution for manual review when confidence or policy warrants
59
+ - **Escalate** — flags findings that exceed risk tolerance to block unsafe mutations and trigger follow-on workflows
59
60
 
60
61
  Portfolio-scale campaigns apply risk ranking to prioritize remediation order across large target sets.
61
62
 
@@ -82,22 +83,13 @@ Exploitability and trust enrichment:
82
83
 
83
84
  Autoremediator is designed to meet security operations where they already run:
84
85
 
85
- - **CLI** — direct invocation in developer workflows and CI/CD pipeline jobs
86
- - **SDK** — programmatic integration for platforms, internal tooling, and security automation
87
- - **GitHub Actions** — reusable workflow and Marketplace action for scan-to-remediation CI pipelines
88
- - **MCP server** — native tool integration for AI agents, LLM orchestrators, and copilot surfaces
89
- - **OpenAPI server** — HTTP-accessible remediation endpoint for centralized or service-based deployments
90
- - **VS Code extension** — editor-side vulnerability scanning and fix actions
91
-
92
- ```yaml
93
- jobs:
94
- gate:
95
- uses: rawlings/autoremediator/.github/workflows/reusable-remediate-from-audit.yml@v1
96
- with:
97
- audit: true
98
- dry-run: true
99
- ci: true
100
- ```
86
+ - **CLI** — direct invocation in local developer workflows and CI/CD pipelines
87
+ - **SDK** — programmatic integration for security automation and internal platforms
88
+ - **GitHub Actions** — reusable workflows and Marketplace actions for scan-to-remediation pipelines
89
+ - **GitHub App** — webhook-driven remediation with PR lifecycle management and automated healing
90
+ - **MCP server** — native tool integration for AI agents and LLM orchestrators
91
+ - **OpenAPI server** — HTTP endpoints for centralized or service-based remediation deployments
92
+ - **VS Code extension** — editor diagnostics, reachability checks, and one-click fixes
101
93
 
102
94
  For configuration reference, workflow variants, and MCP host setup, see the [Integrations](https://rawlings.github.io/autoremediator/docs/integrations) and [Agent Ecosystems](https://rawlings.github.io/autoremediator/docs/agent-ecosystems) guides.
103
95
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/change-request/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAsDjC,wBAAgB,YAAY,CAC1B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,QAAQ,EAAE,qBAAqB,GAC9B,iBAAiB,EAAE,EAAE,CAgDvB;AA8FD,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA+GjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/change-request/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAsDjC,wBAAgB,YAAY,CAC1B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,QAAQ,EAAE,qBAAqB,GAC9B,iBAAiB,EAAE,EAAE,CAgDvB;AA0JD,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAgKjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAO9B,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,GACxB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,GAAG,kBAAkB,CAMtE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAKrF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAiBjG"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAO9B,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,GACxB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,GAAG,kBAAkB,CAMtE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAKrF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,CA8BjG"}
@@ -66,6 +66,9 @@ export declare const OPTION_DESCRIPTIONS: {
66
66
  readonly escalationGraph: "Optional mapping from unresolved reasons to intended escalation actions";
67
67
  readonly offlineIntelligence: "Skip all network calls to intelligence sources. Only local inventory and npm-registry version resolution proceed.";
68
68
  readonly intelligenceSnapshotPath: "Path to a local JSON snapshot of pre-fetched CVE intelligence (keyed by CVE ID) used when offline mode is active.";
69
+ readonly proofOfFix: "If true, enforce dual-stage exploit reproduction proof-of-fix verification (assert failure pre-patch, assert pass post-patch)";
70
+ readonly requireProofOfFix: "If true, reject patches and roll back if proof-of-fix verification fails";
71
+ readonly breakingChangeRefactor: "If true, attempt agentic call-site refactoring when major version upgrades introduce breaking API changes";
69
72
  };
70
73
  export declare function createConstraintSchemaProperties(): Record<string, JsonSchemaProperty>;
71
74
  export declare function createRemediateOptionSchemaProperties(options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"options-schema.d.ts","sourceRoot":"","sources":["../../src/api/options-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options-schema.d.ts","sourceRoot":"","sources":["../../src/api/options-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../../src/api/patches/reconcile.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAErB,MAAM,yBAAyB,CAAC;AAGjC;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAqK/B"}
1
+ {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../../src/api/patches/reconcile.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAErB,MAAM,yBAAyB,CAAC;AAGjC;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAuP/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan-execution.d.ts","sourceRoot":"","sources":["../../src/api/scan-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,KAAK,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7E,UAAU,EAAE,iBAAiB,CAAC;IAC9B,WAAW,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/E,QAAQ,EAAE,WAAW,CAAC;CACvB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA4D/B"}
1
+ {"version":3,"file":"scan-execution.d.ts","sourceRoot":"","sources":["../../src/api/scan-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,KAAK,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7E,UAAU,EAAE,iBAAiB,CAAC;IAC9B,WAAW,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/E,QAAQ,EAAE,WAAW,CAAC;CACvB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwD/B"}
@@ -1,4 +1,4 @@
1
- import type { RemediationReport } from "../../platform/types.js";
1
+ import type { RemediationReport, VexSuppression } from "../../platform/types.js";
2
2
  import type { ScanReport } from "../contracts.js";
3
3
  export interface CycloneDxVexVulnerabilityAnalysis {
4
4
  state: "resolved" | "not_affected" | "in_triage";
@@ -13,7 +13,7 @@ export interface CycloneDxVexVulnerability {
13
13
  export interface CycloneDxVexDocument {
14
14
  bomFormat: "CycloneDX";
15
15
  specVersion: "1.5";
16
- version: 1;
16
+ version: number;
17
17
  serialNumber: string;
18
18
  metadata: {
19
19
  timestamp: string;
@@ -28,4 +28,8 @@ export interface ToCycloneDxVexOptions {
28
28
  toolVersion?: string;
29
29
  }
30
30
  export declare function toCycloneDxVex(report: ScanReport | RemediationReport, options?: ToCycloneDxVexOptions): CycloneDxVexDocument;
31
+ /**
32
+ * Persists or updates a CycloneDX 1.5 VEX document with a suppressed vulnerability entry.
33
+ */
34
+ export declare function saveSuppressionToVexDocument(filePath: string, suppression: VexSuppression, toolVersion?: string): void;
31
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/vex/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC;IACjD,aAAa,CAAC,EAAE,0BAA0B,GAAG,oBAAoB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,sBAAsB,CAAC,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,iCAAiC,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjD,CAAC;IACF,eAAe,EAAE,yBAAyB,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA4DD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,GAAG,iBAAiB,EACtC,OAAO,GAAE,qBAA0B,GAClC,oBAAoB,CA2BtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/vex/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC;IACjD,aAAa,CAAC,EAAE,0BAA0B,GAAG,oBAAoB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,sBAAsB,CAAC,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,iCAAiC,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjD,CAAC;IACF,eAAe,EAAE,yBAAyB,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA4DD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,GAAG,iBAAiB,EACtC,OAAO,GAAE,qBAA0B,GAClC,oBAAoB,CA2BtB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,cAAc,EAC3B,WAAW,SAAY,GACtB,IAAI,CA4CN"}