autoremediator 0.16.0 → 0.18.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 (93) hide show
  1. package/README.md +2 -1
  2. package/dist/api/change-request/index.d.ts +2 -1
  3. package/dist/api/change-request/index.d.ts.map +1 -1
  4. package/dist/api/delta-scan/delta-scan.test.d.ts +2 -0
  5. package/dist/api/delta-scan/delta-scan.test.d.ts.map +1 -0
  6. package/dist/api/delta-scan/index.d.ts +5 -0
  7. package/dist/api/delta-scan/index.d.ts.map +1 -0
  8. package/dist/api/evaluate/evaluate.test.d.ts +2 -0
  9. package/dist/api/evaluate/evaluate.test.d.ts.map +1 -0
  10. package/dist/api/evaluate/index.d.ts +5 -0
  11. package/dist/api/evaluate/index.d.ts.map +1 -0
  12. package/dist/api/index.d.ts +5 -2
  13. package/dist/api/index.d.ts.map +1 -1
  14. package/dist/api/patches/index.d.ts +1 -0
  15. package/dist/api/patches/index.d.ts.map +1 -1
  16. package/dist/api/patches/reconcile.d.ts +7 -0
  17. package/dist/api/patches/reconcile.d.ts.map +1 -0
  18. package/dist/api/patches/reconcile.test.d.ts +2 -0
  19. package/dist/api/patches/reconcile.test.d.ts.map +1 -0
  20. package/dist/api/reachability/index.d.ts +3 -0
  21. package/dist/api/reachability/index.d.ts.map +1 -0
  22. package/dist/api/reachability/reachability.test.d.ts +2 -0
  23. package/dist/api/reachability/reachability.test.d.ts.map +1 -0
  24. package/dist/api/remediate/validators.d.ts +3 -0
  25. package/dist/api/remediate/validators.d.ts.map +1 -1
  26. package/dist/api/reporting.d.ts.map +1 -1
  27. package/dist/api/vex/index.d.ts +1 -1
  28. package/dist/api/vex/index.d.ts.map +1 -1
  29. package/dist/{chunk-CQXNIRHT.js → chunk-FXOUJDQ3.js} +2003 -756
  30. package/dist/cli/program.d.ts.map +1 -1
  31. package/dist/cli/runners.d.ts +22 -0
  32. package/dist/cli/runners.d.ts.map +1 -1
  33. package/dist/cli/triage.d.ts +7 -0
  34. package/dist/cli/triage.d.ts.map +1 -0
  35. package/dist/cli/types.d.ts +2 -0
  36. package/dist/cli/types.d.ts.map +1 -1
  37. package/dist/cli.js +365 -3
  38. package/dist/index.js +1967 -721
  39. package/dist/index.js.map +1 -1
  40. package/dist/intelligence/index.d.ts +1 -1
  41. package/dist/intelligence/index.d.ts.map +1 -1
  42. package/dist/intelligence/sources/github-advisory.d.ts +8 -0
  43. package/dist/intelligence/sources/github-advisory.d.ts.map +1 -1
  44. package/dist/intelligence/sources/osv.d.ts +4 -0
  45. package/dist/intelligence/sources/osv.d.ts.map +1 -1
  46. package/dist/mcp/server.d.ts +106 -1
  47. package/dist/mcp/server.d.ts.map +1 -1
  48. package/dist/mcp/server.js +100 -1
  49. package/dist/openapi/rbac.d.ts +2 -2
  50. package/dist/openapi/rbac.d.ts.map +1 -1
  51. package/dist/openapi/server.d.ts.map +1 -1
  52. package/dist/openapi/server.js +13 -6
  53. package/dist/platform/package-manager/index.d.ts +1 -0
  54. package/dist/platform/package-manager/index.d.ts.map +1 -1
  55. package/dist/platform/supply-chain.d.ts +10 -0
  56. package/dist/platform/supply-chain.d.ts.map +1 -0
  57. package/dist/platform/supply-chain.test.d.ts +2 -0
  58. package/dist/platform/supply-chain.test.d.ts.map +1 -0
  59. package/dist/platform/types.d.ts +121 -4
  60. package/dist/platform/types.d.ts.map +1 -1
  61. package/dist/platform/workspace.d.ts +28 -0
  62. package/dist/platform/workspace.d.ts.map +1 -0
  63. package/dist/platform/workspace.test.d.ts +2 -0
  64. package/dist/platform/workspace.test.d.ts.map +1 -0
  65. package/dist/remediation/evaluate-package.d.ts +3 -0
  66. package/dist/remediation/evaluate-package.d.ts.map +1 -0
  67. package/dist/remediation/local/options.d.ts.map +1 -1
  68. package/dist/remediation/local/primary-strategy.d.ts +3 -1
  69. package/dist/remediation/local/primary-strategy.d.ts.map +1 -1
  70. package/dist/remediation/runtime-tools.d.ts +1 -1
  71. package/dist/remediation/runtime-tools.d.ts.map +1 -1
  72. package/dist/remediation/strategies/patch-synthesis-prompt.d.ts.map +1 -1
  73. package/dist/remediation/tools/apply-patch-file/helpers.d.ts.map +1 -1
  74. package/dist/remediation/tools/apply-patch-file/index.d.ts +1 -0
  75. package/dist/remediation/tools/apply-patch-file/index.d.ts.map +1 -1
  76. package/dist/remediation/tools/apply-version-bump.d.ts +1 -0
  77. package/dist/remediation/tools/apply-version-bump.d.ts.map +1 -1
  78. package/dist/remediation/tools/check-inventory.d.ts.map +1 -1
  79. package/dist/remediation/tools/check-reachability.d.ts +6 -1
  80. package/dist/remediation/tools/check-reachability.d.ts.map +1 -1
  81. package/dist/remediation/tools/generate-patch/helpers.d.ts +1 -0
  82. package/dist/remediation/tools/generate-patch/helpers.d.ts.map +1 -1
  83. package/dist/remediation/tools/generate-patch/index.d.ts +1 -0
  84. package/dist/remediation/tools/generate-patch/index.d.ts.map +1 -1
  85. package/dist/scanner/adapters/npm-audit.d.ts.map +1 -1
  86. package/dist/scanner/adapters/yarn-audit.d.ts.map +1 -1
  87. package/dist/scanner/delta-scan.d.ts +3 -0
  88. package/dist/scanner/delta-scan.d.ts.map +1 -0
  89. package/dist/scanner/lockfile-diff.d.ts +10 -0
  90. package/dist/scanner/lockfile-diff.d.ts.map +1 -0
  91. package/dist/scanner/lockfile-diff.test.d.ts +2 -0
  92. package/dist/scanner/lockfile-diff.test.d.ts.map +1 -0
  93. package/package.json +7 -9
@@ -1,4 +1,4 @@
1
- export { lookupCveOsv, fetchOsvVuln, parseOsvVuln } from "./sources/osv.js";
1
+ export { lookupCveOsv, fetchOsvVuln, parseOsvVuln, queryOsvPackage } from "./sources/osv.js";
2
2
  export { lookupCveGitHub, fetchGhAdvisories, parseGhAdvisories, mergeGhDataIntoCveDetails, } from "./sources/github-advisory.js";
3
3
  export { enrichWithNvd, fetchNvdCvss } from "./sources/nvd.js";
4
4
  export { enrichWithCisaKev, fetchCisaKevFeed, findKevEntry } from "./sources/cisa-kev.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intelligence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intelligence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * GitHub Advisory Database API client
3
+ *
4
+ * Used as a secondary source to enrich CVE data with `first_patched_version`.
5
+ * Unauthenticated access works; set GITHUB_TOKEN env var for higher rate limits.
6
+ *
7
+ * Uses shared HTTP client for all API communication.
8
+ */
1
9
  import type { AffectedPackage, CveDetails } from "../../platform/types.js";
2
10
  interface GhVulnerability {
3
11
  package: {
@@ -1 +1 @@
1
- {"version":3,"file":"github-advisory.d.ts","sourceRoot":"","sources":["../../../src/intelligence/sources/github-advisory.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAO3E,UAAU,eAAe;IACvB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/D,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpC;AAcD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAwB5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAkB7E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,eAAe,EAAE,GAC5B,UAAU,CAkBZ;AAED,yEAAyE;AACzE,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAG/E"}
1
+ {"version":3,"file":"github-advisory.d.ts","sourceRoot":"","sources":["../../../src/intelligence/sources/github-advisory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAQ3E,UAAU,eAAe;IACvB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/D,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpC;AAQD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAyD5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAkB7E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,eAAe,EAAE,GAC5B,UAAU,CAkBZ;AAED,yEAAyE;AACzE,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAG/E"}
@@ -51,6 +51,10 @@ interface OsvVulnerability {
51
51
  * Returns null if the CVE is not found in OSV.
52
52
  */
53
53
  export declare function fetchOsvVuln(cveId: string): Promise<OsvVulnerability | null>;
54
+ /**
55
+ * Query OSV for all vulnerabilities affecting a specific npm package and optional version.
56
+ */
57
+ export declare function queryOsvPackage(packageName: string, version?: string): Promise<OsvVulnerability[]>;
54
58
  /**
55
59
  * Parse an OSV vulnerability into autoremediator's CveDetails shape,
56
60
  * filtering affected entries to npm ecosystem only.
@@ -1 +1 @@
1
- {"version":3,"file":"osv.d.ts","sourceRoot":"","sources":["../../../src/intelligence/sources/osv.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAmB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAS3E,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,WAAW,CAAC;IACrC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,WAAW;IACnB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAmBlF;AA0BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAoC/D;AAqBD,4CAA4C;AAC5C,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAI5E"}
1
+ {"version":3,"file":"osv.d.ts","sourceRoot":"","sources":["../../../src/intelligence/sources/osv.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAmB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAS3E,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,WAAW,CAAC;IACrC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,WAAW;IACnB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAmBlF;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiC7B;AA0BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAoC/D;AAqBD,4CAA4C;AAC5C,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAI5E"}
@@ -8,13 +8,16 @@
8
8
  * Start: autoremediator-mcp (stdio transport)
9
9
  */
10
10
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
11
- import { inspectPatchArtifact, listPatchArtifacts, planRemediation, pollJob, remediate, remediatePortfolio, remediateFromScan, submitPortfolioJob, submitRemediateJob, submitScanJob, toCycloneDxVex, updateOutdated, validatePatchArtifact } from "../api/index.js";
11
+ import { checkReachability, evaluatePackage, inspectPatchArtifact, listPatchArtifacts, planRemediation, pollJob, remediate, remediatePortfolio, remediateFromScan, scanDelta, submitPortfolioJob, submitRemediateJob, submitScanJob, toCycloneDxVex, updateOutdated, validatePatchArtifact } from "../api/index.js";
12
12
  interface McpApiDeps {
13
13
  remediateFn: typeof remediate;
14
14
  planRemediationFn: typeof planRemediation;
15
15
  remediateFromScanFn: typeof remediateFromScan;
16
16
  remediatePortfolioFn: typeof remediatePortfolio;
17
17
  updateOutdatedFn: typeof updateOutdated;
18
+ checkReachabilityFn: typeof checkReachability;
19
+ evaluatePackageFn: typeof evaluatePackage;
20
+ scanDeltaFn: typeof scanDelta;
18
21
  healthFn: () => Promise<{
19
22
  status: "ok";
20
23
  }>;
@@ -41,6 +44,12 @@ export declare const TOOLS: ({
41
44
  report?: undefined;
42
45
  toolVersion?: undefined;
43
46
  jobId?: undefined;
47
+ cwd?: undefined;
48
+ symbol?: undefined;
49
+ packageName?: undefined;
50
+ version?: undefined;
51
+ packageManager?: undefined;
52
+ enrichIntelligence?: undefined;
44
53
  };
45
54
  };
46
55
  } | {
@@ -57,6 +66,12 @@ export declare const TOOLS: ({
57
66
  report?: undefined;
58
67
  toolVersion?: undefined;
59
68
  jobId?: undefined;
69
+ cwd?: undefined;
70
+ symbol?: undefined;
71
+ packageName?: undefined;
72
+ version?: undefined;
73
+ packageManager?: undefined;
74
+ enrichIntelligence?: undefined;
60
75
  };
61
76
  };
62
77
  } | {
@@ -101,6 +116,12 @@ export declare const TOOLS: ({
101
116
  report?: undefined;
102
117
  toolVersion?: undefined;
103
118
  jobId?: undefined;
119
+ cwd?: undefined;
120
+ symbol?: undefined;
121
+ packageName?: undefined;
122
+ version?: undefined;
123
+ packageManager?: undefined;
124
+ enrichIntelligence?: undefined;
104
125
  };
105
126
  };
106
127
  } | {
@@ -125,6 +146,10 @@ export declare const TOOLS: ({
125
146
  report?: undefined;
126
147
  toolVersion?: undefined;
127
148
  jobId?: undefined;
149
+ symbol?: undefined;
150
+ packageName?: undefined;
151
+ version?: undefined;
152
+ enrichIntelligence?: undefined;
128
153
  };
129
154
  required?: undefined;
130
155
  };
@@ -155,6 +180,10 @@ export declare const TOOLS: ({
155
180
  report?: undefined;
156
181
  toolVersion?: undefined;
157
182
  jobId?: undefined;
183
+ symbol?: undefined;
184
+ packageName?: undefined;
185
+ version?: undefined;
186
+ enrichIntelligence?: undefined;
158
187
  };
159
188
  };
160
189
  } | {
@@ -181,6 +210,12 @@ export declare const TOOLS: ({
181
210
  description: string;
182
211
  };
183
212
  jobId?: undefined;
213
+ cwd?: undefined;
214
+ symbol?: undefined;
215
+ packageName?: undefined;
216
+ version?: undefined;
217
+ packageManager?: undefined;
218
+ enrichIntelligence?: undefined;
184
219
  };
185
220
  };
186
221
  } | {
@@ -219,6 +254,12 @@ export declare const TOOLS: ({
219
254
  };
220
255
  };
221
256
  jobId?: undefined;
257
+ cwd?: undefined;
258
+ symbol?: undefined;
259
+ packageName?: undefined;
260
+ version?: undefined;
261
+ packageManager?: undefined;
262
+ enrichIntelligence?: undefined;
222
263
  };
223
264
  };
224
265
  } | {
@@ -234,6 +275,70 @@ export declare const TOOLS: ({
234
275
  type: string;
235
276
  description: string;
236
277
  };
278
+ cwd?: undefined;
279
+ symbol?: undefined;
280
+ packageName?: undefined;
281
+ version?: undefined;
282
+ packageManager?: undefined;
283
+ enrichIntelligence?: undefined;
284
+ };
285
+ };
286
+ } | {
287
+ name: string;
288
+ description: string;
289
+ inputSchema: {
290
+ type: string;
291
+ required: string[];
292
+ properties: {
293
+ report?: undefined;
294
+ toolVersion?: undefined;
295
+ jobId?: undefined;
296
+ packageName: {
297
+ type: string;
298
+ description: string;
299
+ };
300
+ cwd: {
301
+ type: string;
302
+ description: "Absolute path to the project root (default: process.cwd())";
303
+ };
304
+ symbol: {
305
+ type: string;
306
+ description: string;
307
+ };
308
+ version?: undefined;
309
+ packageManager?: undefined;
310
+ enrichIntelligence?: undefined;
311
+ };
312
+ };
313
+ } | {
314
+ name: string;
315
+ description: string;
316
+ inputSchema: {
317
+ type: string;
318
+ required: string[];
319
+ properties: {
320
+ report?: undefined;
321
+ toolVersion?: undefined;
322
+ jobId?: undefined;
323
+ cwd?: undefined;
324
+ symbol?: undefined;
325
+ packageName: {
326
+ type: string;
327
+ description: string;
328
+ };
329
+ version: {
330
+ type: string;
331
+ description: string;
332
+ };
333
+ packageManager: {
334
+ type: string;
335
+ enum: string[];
336
+ description: "Package manager override (auto-detected by default)";
337
+ };
338
+ enrichIntelligence: {
339
+ type: string;
340
+ description: string;
341
+ };
237
342
  };
238
343
  };
239
344
  })[];
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,11 @@
2
2
  import {
3
3
  OPTION_DESCRIPTIONS,
4
4
  PACKAGE_VERSION,
5
+ checkReachability,
5
6
  createRemediateOptionSchemaProperties,
6
7
  createScanOptionSchemaProperties,
7
8
  createUpdateOutdatedOptionSchemaProperties,
9
+ evaluatePackage,
8
10
  inspectPatchArtifact,
9
11
  listPatchArtifacts,
10
12
  planRemediation,
@@ -12,13 +14,14 @@ import {
12
14
  remediate,
13
15
  remediateFromScan,
14
16
  remediatePortfolio,
17
+ scanDelta,
15
18
  submitPortfolioJob,
16
19
  submitRemediateJob,
17
20
  submitScanJob,
18
21
  toCycloneDxVex,
19
22
  updateOutdated,
20
23
  validatePatchArtifact
21
- } from "../chunk-CQXNIRHT.js";
24
+ } from "../chunk-FXOUJDQ3.js";
22
25
 
23
26
  // src/mcp/server.ts
24
27
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
@@ -40,6 +43,9 @@ var defaultDeps = {
40
43
  remediateFromScanFn: remediateFromScan,
41
44
  remediatePortfolioFn: remediatePortfolio,
42
45
  updateOutdatedFn: updateOutdated,
46
+ checkReachabilityFn: checkReachability,
47
+ evaluatePackageFn: evaluatePackage,
48
+ scanDeltaFn: scanDelta,
43
49
  healthFn: async () => ({ status: "ok" }),
44
50
  listPatchArtifactsFn: listPatchArtifacts,
45
51
  inspectPatchArtifactFn: inspectPatchArtifact,
@@ -252,6 +258,65 @@ var TOOLS = [
252
258
  }
253
259
  }
254
260
  }
261
+ },
262
+ {
263
+ name: "checkReachability",
264
+ description: "Scan project source files using oxc-parser AST call-graph tracing to check if a package or vulnerable symbol is reachable and invoked.",
265
+ inputSchema: {
266
+ type: "object",
267
+ required: ["packageName"],
268
+ properties: {
269
+ packageName: {
270
+ type: "string",
271
+ description: "Target package name to trace in project source files."
272
+ },
273
+ cwd: { type: "string", description: OPTION_DESCRIPTIONS.cwd },
274
+ symbol: {
275
+ type: "string",
276
+ description: "Optional specific vulnerable function or export symbol to verify in call graph."
277
+ }
278
+ }
279
+ }
280
+ },
281
+ {
282
+ name: "evaluatePackage",
283
+ description: "Pre-flight security evaluator for npm packages. Queries OSV, CISA KEV, and FIRST EPSS telemetry before installation.",
284
+ inputSchema: {
285
+ type: "object",
286
+ required: ["packageName"],
287
+ properties: {
288
+ packageName: { type: "string", description: "Package name to evaluate." },
289
+ version: { type: "string", description: "Optional specific package version." },
290
+ packageManager: {
291
+ type: "string",
292
+ enum: ["npm", "pnpm", "yarn", "bun", "deno"],
293
+ description: OPTION_DESCRIPTIONS.packageManager
294
+ },
295
+ enrichIntelligence: {
296
+ type: "boolean",
297
+ description: "Enrich with live CISA KEV and EPSS intelligence feeds."
298
+ }
299
+ }
300
+ }
301
+ },
302
+ {
303
+ name: "scanDelta",
304
+ description: "Git-aware delta vulnerability scanner. Identifies new CVEs introduced by uncommitted edits (vs HEAD) or branch differences (vs base branch).",
305
+ inputSchema: {
306
+ type: "object",
307
+ properties: {
308
+ cwd: { type: "string", description: OPTION_DESCRIPTIONS.cwd },
309
+ baseRef: {
310
+ type: "string",
311
+ description: "Git base reference to compare against (e.g. 'HEAD', 'origin/main'). Defaults to 'HEAD'."
312
+ },
313
+ packageManager: {
314
+ type: "string",
315
+ enum: ["npm", "pnpm", "yarn", "bun", "deno"],
316
+ description: OPTION_DESCRIPTIONS.packageManager
317
+ }
318
+ }
319
+ }
255
320
  }
256
321
  ];
257
322
  async function handleToolCall(name, args = {}, deps = defaultDeps) {
@@ -359,6 +424,40 @@ async function handleToolCall(name, args = {}, deps = defaultDeps) {
359
424
  const job = deps.pollJobFn(jobId);
360
425
  return { content: [{ type: "text", text: JSON.stringify(job, null, 2) }] };
361
426
  }
427
+ if (name === "checkReachability") {
428
+ const { packageName, cwd, symbol } = args;
429
+ if (!packageName || typeof packageName !== "string") {
430
+ return {
431
+ content: [
432
+ { type: "text", text: JSON.stringify({ error: "packageName is required (string)" }) }
433
+ ],
434
+ isError: true
435
+ };
436
+ }
437
+ const assessment = await deps.checkReachabilityFn({ packageName, cwd, symbol });
438
+ return { content: [{ type: "text", text: JSON.stringify(assessment, null, 2) }] };
439
+ }
440
+ if (name === "evaluatePackage") {
441
+ const { packageName, ...options } = args;
442
+ if (!packageName || typeof packageName !== "string") {
443
+ return {
444
+ content: [
445
+ { type: "text", text: JSON.stringify({ error: "packageName is required (string)" }) }
446
+ ],
447
+ isError: true
448
+ };
449
+ }
450
+ const report = await deps.evaluatePackageFn(
451
+ packageName,
452
+ options
453
+ );
454
+ return { content: [{ type: "text", text: JSON.stringify(report, null, 2) }] };
455
+ }
456
+ if (name === "scanDelta") {
457
+ const options = args;
458
+ const report = await deps.scanDeltaFn(options);
459
+ return { content: [{ type: "text", text: JSON.stringify(report, null, 2) }] };
460
+ }
362
461
  if (name === "toVex") {
363
462
  const { report, toolVersion } = args;
364
463
  if (!report || typeof report !== "object") {
@@ -2,8 +2,8 @@ import type http from "node:http";
2
2
  export type Role = "admin" | "operator" | "reader";
3
3
  export interface JwtPayload {
4
4
  sub?: string;
5
- role?: Role | string;
6
- roles?: Array<Role | string>;
5
+ role?: Role | (string & {});
6
+ roles?: Array<Role | (string & {})>;
7
7
  scope?: string;
8
8
  exp?: number;
9
9
  [key: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../src/openapi/rbac.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AA0BnD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAyC7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,SAAS,qBAAwC,EACjD,SAAS,qBAAwC,GAChD,IAAI,GAAG,SAAS,CA8BlB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAiCT"}
1
+ {"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../src/openapi/rbac.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AA0BnD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAyC7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,SAAS,qBAAwC,EACjD,SAAS,qBAAwC,GAChD,IAAI,GAAG,SAAS,CA8BlB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAiCT"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/openapi/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,OAAO,SAAS,CAAC;IAC9B,mBAAmB,EAAE,OAAO,iBAAiB,CAAC;IAC9C,oBAAoB,EAAE,OAAO,kBAAkB,CAAC;IAChD,iBAAiB,EAAE,OAAO,eAAe,CAAC;IAC1C,gBAAgB,EAAE,OAAO,cAAc,CAAC;IACxC,oBAAoB,EAAE,OAAO,kBAAkB,CAAC;IAChD,sBAAsB,EAAE,OAAO,oBAAoB,CAAC;IACpD,uBAAuB,EAAE,OAAO,qBAAqB,CAAC;IACtD,OAAO,EAAE,OAAO,cAAc,CAAC;IAC/B,oBAAoB,EAAE,OAAO,kBAAkB,CAAC;IAChD,eAAe,EAAE,OAAO,aAAa,CAAC;IACtC,oBAAoB,EAAE,OAAO,kBAAkB,CAAC;IAChD,SAAS,EAAE,OAAO,OAAO,CAAC;CAC3B;AAkBD,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,iBAA+B,GAAG,IAAI,CAAC,MAAM,CAOtF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/openapi/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,OAAO,SAAS,CAAC;IAC9B,mBAAmB,EAAE,OAAO,iBAAiB,CAAC;IAC9C,oBAAoB,EAAE,OAAO,kBAAkB,CAAC;IAChD,iBAAiB,EAAE,OAAO,eAAe,CAAC;IAC1C,gBAAgB,EAAE,OAAO,cAAc,CAAC;IACxC,oBAAoB,EAAE,OAAO,kBAAkB,CAAC;IAChD,sBAAsB,EAAE,OAAO,oBAAoB,CAAC;IACpD,uBAAuB,EAAE,OAAO,qBAAqB,CAAC;IACtD,OAAO,EAAE,OAAO,cAAc,CAAC;IAC/B,oBAAoB,EAAE,OAAO,kBAAkB,CAAC;IAChD,eAAe,EAAE,OAAO,aAAa,CAAC;IACtC,oBAAoB,EAAE,OAAO,kBAAkB,CAAC;IAChD,SAAS,EAAE,OAAO,OAAO,CAAC;CAC3B;AAkBD,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,iBAA+B,GAAG,IAAI,CAAC,MAAM,CActF"}
@@ -18,7 +18,7 @@ import {
18
18
  toCycloneDxVex,
19
19
  updateOutdated,
20
20
  validatePatchArtifact
21
- } from "../chunk-CQXNIRHT.js";
21
+ } from "../chunk-FXOUJDQ3.js";
22
22
 
23
23
  // src/openapi/server.ts
24
24
  import http from "http";
@@ -1102,11 +1102,18 @@ var defaultDeps = {
1102
1102
  pollJobFn: pollJob
1103
1103
  };
1104
1104
  function createOpenApiServer(deps = defaultDeps) {
1105
- return http.createServer(async (req, res) => {
1106
- if (await handleOpenApiRequest(req, res, deps)) {
1107
- return;
1108
- }
1109
- return sendJson(res, 404, { error: "Not found" });
1105
+ return http.createServer((req, res) => {
1106
+ void (async () => {
1107
+ try {
1108
+ if (await handleOpenApiRequest(req, res, deps)) {
1109
+ return;
1110
+ }
1111
+ sendJson(res, 404, { error: "Not found" });
1112
+ } catch (err) {
1113
+ const message = err instanceof Error ? err.message : "Internal Server Error";
1114
+ sendJson(res, 500, { error: message });
1115
+ }
1116
+ })();
1110
1117
  });
1111
1118
  }
1112
1119
  function isMainModule() {
@@ -20,6 +20,7 @@ export declare function detectPackageManager(cwd: string): PackageManager;
20
20
  export declare function resolveInstallCommand(pm: PackageManager, constraints?: RemediationConstraints, yarnMajor?: number): string[];
21
21
  export declare function resolveListCommand(pm: PackageManager, constraints?: RemediationConstraints): string[];
22
22
  export declare function resolveTestCommand(pm: PackageManager, constraints?: RemediationConstraints): string[];
23
+ export declare function resolveTypecheckCommand(pm: PackageManager, constraints?: RemediationConstraints, cwd?: string): string[];
23
24
  export declare function resolveAuditCommand(pm: PackageManager, constraints?: RemediationConstraints): string[];
24
25
  export declare function resolveWhyCommand(pm: PackageManager, packageName: string, constraints?: RemediationConstraints): string[];
25
26
  export declare function resolveDedupeCommand(pm: PackageManager, constraints?: RemediationConstraints): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/package-manager/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1E,cAAc,aAAa,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQtE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAMhE;AAkBD,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,EAAE,CAiDV;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAiBV;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAYV;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAQV;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAQV;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAIV;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,cAAc,GAAG,sBAAsB,CA0DpF;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/package-manager/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1E,cAAc,aAAa,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQtE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAMhE;AAkBD,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,EAAE,CAiDV;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAiBV;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAYV;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,EACpC,GAAG,GAAE,MAAsB,GAC1B,MAAM,EAAE,CAgCV;AAGD,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAQV;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAQV;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,sBAAsB,GACnC,MAAM,EAAE,CAIV;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,cAAc,GAAG,sBAAsB,CA0DpF;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvF"}
@@ -0,0 +1,10 @@
1
+ import type { SupplyChainPolicy } from "./types.js";
2
+ export interface PackageTrustVerdict {
3
+ trusted: boolean;
4
+ reason?: string;
5
+ publishAgeHours?: number;
6
+ hasInstallScripts?: boolean;
7
+ hasProvenance?: boolean;
8
+ }
9
+ export declare function verifyPackageTrust(packageName: string, targetVersion: string, policy?: SupplyChainPolicy): Promise<PackageTrustVerdict>;
10
+ //# sourceMappingURL=supply-chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supply-chain.d.ts","sourceRoot":"","sources":["../../src/platform/supply-chain.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAuBD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAiF9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=supply-chain.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supply-chain.test.d.ts","sourceRoot":"","sources":["../../src/platform/supply-chain.test.ts"],"names":[],"mappings":""}