@cdxgen/cdxgen 0.0.1 → 13.0.1

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 (722) hide show
  1. package/README.md +921 -87
  2. package/bin/audit.js +239 -0
  3. package/bin/cdxgen.js +2335 -0
  4. package/bin/convert.js +220 -0
  5. package/bin/evinse.js +353 -0
  6. package/bin/hbom.js +504 -0
  7. package/bin/repl.js +2224 -0
  8. package/bin/sign.js +195 -0
  9. package/bin/tracebom.js +303 -0
  10. package/bin/validate.js +268 -0
  11. package/bin/verify.js +189 -0
  12. package/data/README.md +307 -0
  13. package/data/bom-1.4.schema.json +1605 -0
  14. package/data/bom-1.5.schema.json +3660 -0
  15. package/data/bom-1.6.schema.json +5511 -0
  16. package/data/bom-1.7.schema.json +6700 -0
  17. package/data/cbomosdb-queries.json +68 -0
  18. package/data/component-tags.json +339 -0
  19. package/data/container-knowledge-index.json +125 -0
  20. package/data/cosdb-queries.json +17 -0
  21. package/data/crypto-oid.json +1998 -0
  22. package/data/cryptography-defs.json +3793 -0
  23. package/data/cryptography-defs.schema.json +576 -0
  24. package/data/cyclonedx-2.0-bundled.schema.json +7182 -0
  25. package/data/frameworks-list.json +219 -0
  26. package/data/glibc-stdlib.json +117 -0
  27. package/data/gtfobins-index.json +6296 -0
  28. package/data/helpers/init.gradle +71 -0
  29. package/data/jsf-0.82.schema.json +211 -0
  30. package/data/known-licenses.json +82 -0
  31. package/data/lic-mapping.json +338 -0
  32. package/data/license-aliases.json +6624 -0
  33. package/data/license-db.json +39059 -0
  34. package/data/license-deprecations.json +302 -0
  35. package/data/lolbas-index.json +150 -0
  36. package/data/predictive-audit-allowlist.json +11 -0
  37. package/data/pypi-pkg-aliases.json +1199 -0
  38. package/data/python-stdlib.json +308 -0
  39. package/data/queries-darwin.json +193 -0
  40. package/data/queries-win.json +257 -0
  41. package/data/queries.json +268 -0
  42. package/data/ruby-known-modules.json +281 -0
  43. package/data/rules/ai-agent-governance.yaml +323 -0
  44. package/data/rules/ai-bom.yaml +268 -0
  45. package/data/rules/ai-oversight.yaml +186 -0
  46. package/data/rules/ai-provenance.yaml +92 -0
  47. package/data/rules/asar-archives.yaml +150 -0
  48. package/data/rules/cbom-security.yaml +165 -0
  49. package/data/rules/chrome-extensions.yaml +248 -0
  50. package/data/rules/ci-permissions.yaml +802 -0
  51. package/data/rules/container-risk.yaml +353 -0
  52. package/data/rules/dependency-sources.yaml +236 -0
  53. package/data/rules/golem-go.yaml +229 -0
  54. package/data/rules/hbom-compliance.yaml +325 -0
  55. package/data/rules/hbom-performance.yaml +307 -0
  56. package/data/rules/hbom-security.yaml +248 -0
  57. package/data/rules/host-topology.yaml +165 -0
  58. package/data/rules/mcp-servers.yaml +388 -0
  59. package/data/rules/obom-runtime.yaml +1776 -0
  60. package/data/rules/package-integrity.yaml +364 -0
  61. package/data/rules/rootfs-hardening.yaml +179 -0
  62. package/data/rules/vscode-extensions.yaml +237 -0
  63. package/data/spdx-export.schema.json +6794 -0
  64. package/data/spdx-license-list.json +7449 -0
  65. package/data/spdx-licenses.json +759 -0
  66. package/data/spdx.schema.json +819 -0
  67. package/data/templates/README.md +3 -0
  68. package/data/templates/asvs-4.0.3.cdx.json +2943 -0
  69. package/data/templates/asvs-5.0.cdx.json +3046 -0
  70. package/data/templates/bsimm-v13.cdx.json +1008 -0
  71. package/data/templates/masvs-2.0.0.cdx.json +225 -0
  72. package/data/templates/nist-ssdf-1.1.cdx.json +828 -0
  73. package/data/templates/pcissc-secure-slc-1.1.cdx.json +1027 -0
  74. package/data/templates/scvs-1.0.0.cdx.json +813 -0
  75. package/data/templates/ssaf-DRAFT-2023-11.cdx.json +127 -0
  76. package/data/vendor-alias.json +41967 -0
  77. package/data/wrapdb-releases.json +4227 -0
  78. package/index.cjs +15 -0
  79. package/lib/audit/index.js +2800 -0
  80. package/lib/audit/progress.js +114 -0
  81. package/lib/audit/reporters.js +937 -0
  82. package/lib/audit/scoring.js +560 -0
  83. package/lib/audit/targets.js +798 -0
  84. package/lib/cli/bomAssembly.js +1882 -0
  85. package/lib/cli/cliOptions.js +543 -0
  86. package/lib/cli/index.js +2759 -0
  87. package/lib/cli/jsBom.js +2087 -0
  88. package/lib/cli/jvmBom.js +1858 -0
  89. package/lib/cli/managedBom.js +2083 -0
  90. package/lib/cli/nativeBom.js +2125 -0
  91. package/lib/core/activity.js +1087 -0
  92. package/lib/core/env.js +719 -0
  93. package/lib/core/fs.js +1058 -0
  94. package/lib/core/httpClient.js +730 -0
  95. package/lib/core/logger.js +280 -0
  96. package/lib/core/parallel.js +323 -0
  97. package/lib/core/paths.js +70 -0
  98. package/lib/core/projectConfig.js +122 -0
  99. package/lib/core/propertySanitizer.js +174 -0
  100. package/lib/core/spdx.js +5 -0
  101. package/lib/core/state.js +59 -0
  102. package/lib/core/text.js +207 -0
  103. package/lib/core/ui.js +920 -0
  104. package/lib/core/urls.js +84 -0
  105. package/lib/ecosystems/asarutils.js +1636 -0
  106. package/lib/ecosystems/bunutils.js +402 -0
  107. package/lib/ecosystems/caxa.js +77 -0
  108. package/lib/ecosystems/chromextutils.js +1174 -0
  109. package/lib/ecosystems/cmakeResolver.js +587 -0
  110. package/lib/ecosystems/cppEvidence.js +305 -0
  111. package/lib/ecosystems/denoutils.js +1094 -0
  112. package/lib/ecosystems/dotnetutils.js +132 -0
  113. package/lib/ecosystems/ecosystems.js +2772 -0
  114. package/lib/ecosystems/golem.js +1807 -0
  115. package/lib/ecosystems/gradleutils.js +1048 -0
  116. package/lib/ecosystems/jsEvidence.js +317 -0
  117. package/lib/ecosystems/npmutils.js +586 -0
  118. package/lib/ecosystems/parsers-bazel.js +875 -0
  119. package/lib/ecosystems/parsers-dotnet.js +1430 -0
  120. package/lib/ecosystems/parsers-gleam.js +302 -0
  121. package/lib/ecosystems/parsers-go.js +818 -0
  122. package/lib/ecosystems/parsers-js.js +4222 -0
  123. package/lib/ecosystems/parsers-jvm.js +948 -0
  124. package/lib/ecosystems/parsers-misc.js +3191 -0
  125. package/lib/ecosystems/parsers-python.js +2070 -0
  126. package/lib/ecosystems/parsers-rust.js +1294 -0
  127. package/lib/ecosystems/parsers-zig.js +861 -0
  128. package/lib/ecosystems/pep770.js +341 -0
  129. package/lib/ecosystems/pylockutils.js +427 -0
  130. package/lib/ecosystems/pythonutils.js +1281 -0
  131. package/lib/ecosystems/registryProvenance.js +1003 -0
  132. package/lib/ecosystems/remote/huggingface.js +1343 -0
  133. package/lib/ecosystems/rubyutils.js +1629 -0
  134. package/lib/ecosystems/rusi.js +820 -0
  135. package/lib/ecosystems/sbtutils.js +972 -0
  136. package/lib/ecosystems/tea.js +607 -0
  137. package/lib/ecosystems/utils.js +583 -0
  138. package/lib/ecosystems/zigResolver.js +410 -0
  139. package/lib/evinser/db.js +145 -0
  140. package/lib/evinser/evinser.js +2362 -0
  141. package/lib/evinser/scalasem.js +65 -0
  142. package/lib/evinser/swiftsem.js +767 -0
  143. package/lib/helpers/annotationFormatter.js +84 -0
  144. package/lib/helpers/bomSigner.js +312 -0
  145. package/lib/helpers/exportUtils.js +160 -0
  146. package/lib/helpers/remote/dependency-track.js +117 -0
  147. package/lib/helpers/versutils.js +202 -0
  148. package/lib/helpers/vsixutils.js +1069 -0
  149. package/lib/inventory/agentFormulationParser.js +322 -0
  150. package/lib/inventory/aiCollector.js +2140 -0
  151. package/lib/inventory/aiInventory.js +414 -0
  152. package/lib/inventory/aiModelVariants.js +121 -0
  153. package/lib/inventory/aiOversightCollector.js +661 -0
  154. package/lib/inventory/aiProvenanceCollector.js +822 -0
  155. package/lib/inventory/analyzer.js +6089 -0
  156. package/lib/inventory/analyzerScope.js +807 -0
  157. package/lib/inventory/astWorker.js +20 -0
  158. package/lib/inventory/atomUtils.js +1092 -0
  159. package/lib/inventory/auditCategories.js +192 -0
  160. package/lib/inventory/bomUtils.js +369 -0
  161. package/lib/inventory/cacheCommands.js +182 -0
  162. package/lib/inventory/cacheDir.js +104 -0
  163. package/lib/inventory/cbomutils.js +590 -0
  164. package/lib/inventory/cdxrs.js +434 -0
  165. package/lib/inventory/ciParsers/azurePipelines.js +295 -0
  166. package/lib/inventory/ciParsers/circleCi.js +286 -0
  167. package/lib/inventory/ciParsers/common.js +24 -0
  168. package/lib/inventory/ciParsers/githubActions.js +2434 -0
  169. package/lib/inventory/ciParsers/gitlabCi.js +213 -0
  170. package/lib/inventory/ciParsers/jenkins.js +180 -0
  171. package/lib/inventory/citations.js +234 -0
  172. package/lib/inventory/communityAiConfigParser.js +756 -0
  173. package/lib/inventory/containerRisk.js +204 -0
  174. package/lib/inventory/cryptoAlgorithmFamily.js +258 -0
  175. package/lib/inventory/deps.js +807 -0
  176. package/lib/inventory/depsUtils.js +588 -0
  177. package/lib/inventory/display.js +2128 -0
  178. package/lib/inventory/dosai.js +601 -0
  179. package/lib/inventory/dosaiParsers.js +154 -0
  180. package/lib/inventory/dynamic.js +145 -0
  181. package/lib/inventory/envcontext.js +1793 -0
  182. package/lib/inventory/evidenceUtils.js +774 -0
  183. package/lib/inventory/fetchBatch.js +779 -0
  184. package/lib/inventory/fetchRate.js +255 -0
  185. package/lib/inventory/forgeEnricher.js +300 -0
  186. package/lib/inventory/formulationParsers.js +422 -0
  187. package/lib/inventory/gtfobins.js +339 -0
  188. package/lib/inventory/hbom.js +719 -0
  189. package/lib/inventory/hbomAnalysis.js +310 -0
  190. package/lib/inventory/hbomLoader.js +35 -0
  191. package/lib/inventory/hostTopology.js +835 -0
  192. package/lib/inventory/inventoryStats.js +100 -0
  193. package/lib/inventory/jsonLike.js +121 -0
  194. package/lib/inventory/licenseEnhancer.js +918 -0
  195. package/lib/inventory/lolbas.js +285 -0
  196. package/lib/inventory/mcp.js +253 -0
  197. package/lib/inventory/mcpConfigParser.js +683 -0
  198. package/lib/inventory/mcpDiscovery.js +112 -0
  199. package/lib/inventory/mcpPinning.js +209 -0
  200. package/lib/inventory/osPackageResolver.js +493 -0
  201. package/lib/inventory/osinfo.js +383 -0
  202. package/lib/inventory/osqueryTransform.js +274 -0
  203. package/lib/inventory/plugins.js +466 -0
  204. package/lib/inventory/protobom.js +231 -0
  205. package/lib/inventory/protobomLoader.js +43 -0
  206. package/lib/inventory/provenanceUtils.js +224 -0
  207. package/lib/inventory/purl.js +749 -0
  208. package/lib/inventory/rustFormulationParser.js +339 -0
  209. package/lib/inventory/sbomDocument.js +340 -0
  210. package/lib/inventory/source.js +1488 -0
  211. package/lib/inventory/spdx.js +361 -0
  212. package/lib/inventory/spdxExpression.js +512 -0
  213. package/lib/inventory/spdxUtils.js +107 -0
  214. package/lib/inventory/table.js +267 -0
  215. package/lib/inventory/traceRunner.js +439 -0
  216. package/lib/inventory/unicodeScan.js +147 -0
  217. package/lib/managers/binary.js +3459 -0
  218. package/lib/managers/containerutils.js +125 -0
  219. package/lib/managers/docker.js +2145 -0
  220. package/lib/managers/dockerConnection.js +162 -0
  221. package/lib/managers/oci.js +704 -0
  222. package/lib/managers/piptree.js +267 -0
  223. package/lib/parsers/cmakeCache.js +199 -0
  224. package/lib/parsers/gguf.js +492 -0
  225. package/lib/parsers/gitAiNotes.js +233 -0
  226. package/lib/parsers/gitmodules.js +239 -0
  227. package/lib/parsers/htmlExtract.js +610 -0
  228. package/lib/parsers/huggingfaceManifest.js +551 -0
  229. package/lib/parsers/huggingfaceUtils.js +506 -0
  230. package/lib/parsers/iri.js +618 -0
  231. package/lib/parsers/npmrc.js +99 -0
  232. package/lib/parsers/ollama.js +101 -0
  233. package/lib/parsers/xml.js +841 -0
  234. package/lib/server/openapi.yaml +433 -0
  235. package/lib/server/server.js +616 -0
  236. package/lib/stages/postgen/annotator.js +977 -0
  237. package/lib/stages/postgen/auditBom.js +468 -0
  238. package/lib/stages/postgen/postgen.js +1239 -0
  239. package/lib/stages/postgen/ruleEngine.js +731 -0
  240. package/lib/stages/postgen/sortBom.js +195 -0
  241. package/lib/stages/postgen/spdxConverter.js +796 -0
  242. package/lib/stages/postgen/specVersionCompat.js +703 -0
  243. package/lib/stages/pregen/envAudit.js +388 -0
  244. package/lib/stages/pregen/pregen.js +637 -0
  245. package/lib/third-party/README.md +9 -0
  246. package/lib/third-party/arborist/CHANGELOG.md +1109 -0
  247. package/lib/third-party/arborist/LICENSE.md +20 -0
  248. package/lib/third-party/arborist/README.md +315 -0
  249. package/lib/third-party/arborist/lib/arborist/index.js +258 -0
  250. package/lib/third-party/arborist/lib/arborist/load-actual.js +605 -0
  251. package/lib/third-party/arborist/lib/arborist/load-virtual.js +300 -0
  252. package/lib/third-party/arborist/lib/bin-links.js +120 -0
  253. package/lib/third-party/arborist/lib/calc-dep-flags.js +130 -0
  254. package/lib/third-party/arborist/lib/case-insensitive-map.js +51 -0
  255. package/lib/third-party/arborist/lib/consistent-resolve.js +42 -0
  256. package/lib/third-party/arborist/lib/debug.js +50 -0
  257. package/lib/third-party/arborist/lib/dep-valid.js +190 -0
  258. package/lib/third-party/arborist/lib/edge.js +417 -0
  259. package/lib/third-party/arborist/lib/from-path.js +36 -0
  260. package/lib/third-party/arborist/lib/gather-dep-set.js +43 -0
  261. package/lib/third-party/arborist/lib/index.js +22 -0
  262. package/lib/third-party/arborist/lib/inventory.js +138 -0
  263. package/lib/third-party/arborist/lib/link.js +169 -0
  264. package/lib/third-party/arborist/lib/node.js +1673 -0
  265. package/lib/third-party/arborist/lib/npm-extension.js +45 -0
  266. package/lib/third-party/arborist/lib/override-resolves.js +11 -0
  267. package/lib/third-party/arborist/lib/override-set.js +319 -0
  268. package/lib/third-party/arborist/lib/package-extensions.js +289 -0
  269. package/lib/third-party/arborist/lib/printable.js +210 -0
  270. package/lib/third-party/arborist/lib/proc-log.js +30 -0
  271. package/lib/third-party/arborist/lib/realpath.js +100 -0
  272. package/lib/third-party/arborist/lib/relpath.js +4 -0
  273. package/lib/third-party/arborist/lib/shrinkwrap.js +1291 -0
  274. package/lib/third-party/arborist/lib/spec-from-lock.js +34 -0
  275. package/lib/third-party/arborist/lib/tree-check.js +165 -0
  276. package/lib/third-party/arborist/lib/validate-npm-package-name.js +107 -0
  277. package/lib/third-party/arborist/lib/version-from-tgz.js +51 -0
  278. package/lib/third-party/arborist/lib/yarn-lock.js +397 -0
  279. package/lib/validator/bomValidator.js +985 -0
  280. package/lib/validator/complianceEngine.js +241 -0
  281. package/lib/validator/complianceRules.js +1680 -0
  282. package/lib/validator/generated/runtime.mjs +17 -0
  283. package/lib/validator/generated/validate-1.6.mjs +21258 -0
  284. package/lib/validator/generated/validate-1.7.mjs +24803 -0
  285. package/lib/validator/generated/validate-2.0.mjs +22931 -0
  286. package/lib/validator/index.js +246 -0
  287. package/lib/validator/reporters/annotations.js +142 -0
  288. package/lib/validator/reporters/console.js +160 -0
  289. package/lib/validator/reporters/index.js +41 -0
  290. package/lib/validator/reporters/json.js +37 -0
  291. package/lib/validator/reporters/sarif.js +184 -0
  292. package/package.json +209 -26
  293. package/types/bin/audit.d.ts +3 -0
  294. package/types/bin/audit.d.ts.map +1 -0
  295. package/types/bin/cdxgen.d.ts +3 -0
  296. package/types/bin/cdxgen.d.ts.map +1 -0
  297. package/types/bin/convert.d.ts +3 -0
  298. package/types/bin/convert.d.ts.map +1 -0
  299. package/types/bin/evinse.d.ts +3 -0
  300. package/types/bin/evinse.d.ts.map +1 -0
  301. package/types/bin/hbom.d.ts +3 -0
  302. package/types/bin/hbom.d.ts.map +1 -0
  303. package/types/bin/repl.d.ts +3 -0
  304. package/types/bin/repl.d.ts.map +1 -0
  305. package/types/bin/sign.d.ts +3 -0
  306. package/types/bin/sign.d.ts.map +1 -0
  307. package/types/bin/tracebom.d.ts +3 -0
  308. package/types/bin/tracebom.d.ts.map +1 -0
  309. package/types/bin/validate.d.ts +14 -0
  310. package/types/bin/validate.d.ts.map +1 -0
  311. package/types/bin/verify.d.ts +3 -0
  312. package/types/bin/verify.d.ts.map +1 -0
  313. package/types/lib/audit/index.d.ts +153 -0
  314. package/types/lib/audit/index.d.ts.map +1 -0
  315. package/types/lib/audit/progress.d.ts +31 -0
  316. package/types/lib/audit/progress.d.ts.map +1 -0
  317. package/types/lib/audit/reporters.d.ts +62 -0
  318. package/types/lib/audit/reporters.d.ts.map +1 -0
  319. package/types/lib/audit/scoring.d.ts +36 -0
  320. package/types/lib/audit/scoring.d.ts.map +1 -0
  321. package/types/lib/audit/targets.d.ts +77 -0
  322. package/types/lib/audit/targets.d.ts.map +1 -0
  323. package/types/lib/cli/bomAssembly.d.ts +329 -0
  324. package/types/lib/cli/bomAssembly.d.ts.map +1 -0
  325. package/types/lib/cli/cliOptions.d.ts +156 -0
  326. package/types/lib/cli/cliOptions.d.ts.map +1 -0
  327. package/types/lib/cli/index.d.ts +107 -0
  328. package/types/lib/cli/index.d.ts.map +1 -0
  329. package/types/lib/cli/jsBom.d.ts +94 -0
  330. package/types/lib/cli/jsBom.d.ts.map +1 -0
  331. package/types/lib/cli/jvmBom.d.ts +54 -0
  332. package/types/lib/cli/jvmBom.d.ts.map +1 -0
  333. package/types/lib/cli/managedBom.d.ts +105 -0
  334. package/types/lib/cli/managedBom.d.ts.map +1 -0
  335. package/types/lib/cli/nativeBom.d.ts +143 -0
  336. package/types/lib/cli/nativeBom.d.ts.map +1 -0
  337. package/types/lib/core/activity.d.ts +178 -0
  338. package/types/lib/core/activity.d.ts.map +1 -0
  339. package/types/lib/core/env.d.ts +192 -0
  340. package/types/lib/core/env.d.ts.map +1 -0
  341. package/types/lib/core/fs.d.ts +158 -0
  342. package/types/lib/core/fs.d.ts.map +1 -0
  343. package/types/lib/core/httpClient.d.ts +149 -0
  344. package/types/lib/core/httpClient.d.ts.map +1 -0
  345. package/types/lib/core/logger.d.ts +50 -0
  346. package/types/lib/core/logger.d.ts.map +1 -0
  347. package/types/lib/core/parallel.d.ts +95 -0
  348. package/types/lib/core/parallel.d.ts.map +1 -0
  349. package/types/lib/core/paths.d.ts +36 -0
  350. package/types/lib/core/paths.d.ts.map +1 -0
  351. package/types/lib/core/projectConfig.d.ts +23 -0
  352. package/types/lib/core/projectConfig.d.ts.map +1 -0
  353. package/types/lib/core/propertySanitizer.d.ts +23 -0
  354. package/types/lib/core/propertySanitizer.d.ts.map +1 -0
  355. package/types/lib/core/spdx.d.ts +5 -0
  356. package/types/lib/core/spdx.d.ts.map +1 -0
  357. package/types/lib/core/state.d.ts +20 -0
  358. package/types/lib/core/state.d.ts.map +1 -0
  359. package/types/lib/core/text.d.ts +78 -0
  360. package/types/lib/core/text.d.ts.map +1 -0
  361. package/types/lib/core/ui.d.ts +87 -0
  362. package/types/lib/core/ui.d.ts.map +1 -0
  363. package/types/lib/core/urls.d.ts +43 -0
  364. package/types/lib/core/urls.d.ts.map +1 -0
  365. package/types/lib/ecosystems/asarutils.d.ts +71 -0
  366. package/types/lib/ecosystems/asarutils.d.ts.map +1 -0
  367. package/types/lib/ecosystems/bunutils.d.ts +38 -0
  368. package/types/lib/ecosystems/bunutils.d.ts.map +1 -0
  369. package/types/lib/ecosystems/caxa.d.ts +8 -0
  370. package/types/lib/ecosystems/caxa.d.ts.map +1 -0
  371. package/types/lib/ecosystems/chromextutils.d.ts +97 -0
  372. package/types/lib/ecosystems/chromextutils.d.ts.map +1 -0
  373. package/types/lib/ecosystems/cmakeResolver.d.ts +176 -0
  374. package/types/lib/ecosystems/cmakeResolver.d.ts.map +1 -0
  375. package/types/lib/ecosystems/cppEvidence.d.ts +35 -0
  376. package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -0
  377. package/types/lib/ecosystems/denoutils.d.ts +76 -0
  378. package/types/lib/ecosystems/denoutils.d.ts.map +1 -0
  379. package/types/lib/ecosystems/dotnetutils.d.ts +45 -0
  380. package/types/lib/ecosystems/dotnetutils.d.ts.map +1 -0
  381. package/types/lib/ecosystems/ecosystems.d.ts +279 -0
  382. package/types/lib/ecosystems/ecosystems.d.ts.map +1 -0
  383. package/types/lib/ecosystems/golem.d.ts +60 -0
  384. package/types/lib/ecosystems/golem.d.ts.map +1 -0
  385. package/types/lib/ecosystems/gradleutils.d.ts +139 -0
  386. package/types/lib/ecosystems/gradleutils.d.ts.map +1 -0
  387. package/types/lib/ecosystems/jsEvidence.d.ts +17 -0
  388. package/types/lib/ecosystems/jsEvidence.d.ts.map +1 -0
  389. package/types/lib/ecosystems/npmutils.d.ts +183 -0
  390. package/types/lib/ecosystems/npmutils.d.ts.map +1 -0
  391. package/types/lib/ecosystems/parsers-bazel.d.ts +36 -0
  392. package/types/lib/ecosystems/parsers-bazel.d.ts.map +1 -0
  393. package/types/lib/ecosystems/parsers-dotnet.d.ts +116 -0
  394. package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -0
  395. package/types/lib/ecosystems/parsers-gleam.d.ts +33 -0
  396. package/types/lib/ecosystems/parsers-gleam.d.ts.map +1 -0
  397. package/types/lib/ecosystems/parsers-go.d.ts +92 -0
  398. package/types/lib/ecosystems/parsers-go.d.ts.map +1 -0
  399. package/types/lib/ecosystems/parsers-js.d.ts +242 -0
  400. package/types/lib/ecosystems/parsers-js.d.ts.map +1 -0
  401. package/types/lib/ecosystems/parsers-jvm.d.ts +100 -0
  402. package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -0
  403. package/types/lib/ecosystems/parsers-misc.d.ts +450 -0
  404. package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -0
  405. package/types/lib/ecosystems/parsers-python.d.ts +145 -0
  406. package/types/lib/ecosystems/parsers-python.d.ts.map +1 -0
  407. package/types/lib/ecosystems/parsers-rust.d.ts +56 -0
  408. package/types/lib/ecosystems/parsers-rust.d.ts.map +1 -0
  409. package/types/lib/ecosystems/parsers-zig.d.ts +83 -0
  410. package/types/lib/ecosystems/parsers-zig.d.ts.map +1 -0
  411. package/types/lib/ecosystems/pep770.d.ts +38 -0
  412. package/types/lib/ecosystems/pep770.d.ts.map +1 -0
  413. package/types/lib/ecosystems/pylockutils.d.ts +68 -0
  414. package/types/lib/ecosystems/pylockutils.d.ts.map +1 -0
  415. package/types/lib/ecosystems/pythonutils.d.ts +70 -0
  416. package/types/lib/ecosystems/pythonutils.d.ts.map +1 -0
  417. package/types/lib/ecosystems/registryProvenance.d.ts +26 -0
  418. package/types/lib/ecosystems/registryProvenance.d.ts.map +1 -0
  419. package/types/lib/ecosystems/remote/huggingface.d.ts +31 -0
  420. package/types/lib/ecosystems/remote/huggingface.d.ts.map +1 -0
  421. package/types/lib/ecosystems/rubyutils.d.ts +182 -0
  422. package/types/lib/ecosystems/rubyutils.d.ts.map +1 -0
  423. package/types/lib/ecosystems/rusi.d.ts +40 -0
  424. package/types/lib/ecosystems/rusi.d.ts.map +1 -0
  425. package/types/lib/ecosystems/sbtutils.d.ts +179 -0
  426. package/types/lib/ecosystems/sbtutils.d.ts.map +1 -0
  427. package/types/lib/ecosystems/tea.d.ts +180 -0
  428. package/types/lib/ecosystems/tea.d.ts.map +1 -0
  429. package/types/lib/ecosystems/utils.d.ts +41 -0
  430. package/types/lib/ecosystems/utils.d.ts.map +1 -0
  431. package/types/lib/ecosystems/zigResolver.d.ts +70 -0
  432. package/types/lib/ecosystems/zigResolver.d.ts.map +1 -0
  433. package/types/lib/evinser/db.d.ts +17 -0
  434. package/types/lib/evinser/db.d.ts.map +1 -0
  435. package/types/lib/evinser/evinser.d.ts +354 -0
  436. package/types/lib/evinser/evinser.d.ts.map +1 -0
  437. package/types/lib/evinser/scalasem.d.ts +15 -0
  438. package/types/lib/evinser/scalasem.d.ts.map +1 -0
  439. package/types/lib/evinser/swiftsem.d.ts +103 -0
  440. package/types/lib/evinser/swiftsem.d.ts.map +1 -0
  441. package/types/lib/helpers/annotationFormatter.d.ts +23 -0
  442. package/types/lib/helpers/annotationFormatter.d.ts.map +1 -0
  443. package/types/lib/helpers/bomSigner.d.ts +28 -0
  444. package/types/lib/helpers/bomSigner.d.ts.map +1 -0
  445. package/types/lib/helpers/exportUtils.d.ts +52 -0
  446. package/types/lib/helpers/exportUtils.d.ts.map +1 -0
  447. package/types/lib/helpers/remote/dependency-track.d.ts +23 -0
  448. package/types/lib/helpers/remote/dependency-track.d.ts.map +1 -0
  449. package/types/lib/helpers/versutils.d.ts +8 -0
  450. package/types/lib/helpers/versutils.d.ts.map +1 -0
  451. package/types/lib/helpers/vsixutils.d.ts +130 -0
  452. package/types/lib/helpers/vsixutils.d.ts.map +1 -0
  453. package/types/lib/inventory/agentFormulationParser.d.ts +21 -0
  454. package/types/lib/inventory/agentFormulationParser.d.ts.map +1 -0
  455. package/types/lib/inventory/aiCollector.d.ts +61 -0
  456. package/types/lib/inventory/aiCollector.d.ts.map +1 -0
  457. package/types/lib/inventory/aiInventory.d.ts +103 -0
  458. package/types/lib/inventory/aiInventory.d.ts.map +1 -0
  459. package/types/lib/inventory/aiModelVariants.d.ts +31 -0
  460. package/types/lib/inventory/aiModelVariants.d.ts.map +1 -0
  461. package/types/lib/inventory/aiOversightCollector.d.ts +28 -0
  462. package/types/lib/inventory/aiOversightCollector.d.ts.map +1 -0
  463. package/types/lib/inventory/aiProvenanceCollector.d.ts +13 -0
  464. package/types/lib/inventory/aiProvenanceCollector.d.ts.map +1 -0
  465. package/types/lib/inventory/analyzer.d.ts +157 -0
  466. package/types/lib/inventory/analyzer.d.ts.map +1 -0
  467. package/types/lib/inventory/analyzerScope.d.ts +106 -0
  468. package/types/lib/inventory/analyzerScope.d.ts.map +1 -0
  469. package/types/lib/inventory/astWorker.d.ts +9 -0
  470. package/types/lib/inventory/astWorker.d.ts.map +1 -0
  471. package/types/lib/inventory/atomUtils.d.ts +159 -0
  472. package/types/lib/inventory/atomUtils.d.ts.map +1 -0
  473. package/types/lib/inventory/auditCategories.d.ts +80 -0
  474. package/types/lib/inventory/auditCategories.d.ts.map +1 -0
  475. package/types/lib/inventory/bomUtils.d.ts +145 -0
  476. package/types/lib/inventory/bomUtils.d.ts.map +1 -0
  477. package/types/lib/inventory/cacheCommands.d.ts +28 -0
  478. package/types/lib/inventory/cacheCommands.d.ts.map +1 -0
  479. package/types/lib/inventory/cacheDir.d.ts +55 -0
  480. package/types/lib/inventory/cacheDir.d.ts.map +1 -0
  481. package/types/lib/inventory/cbomutils.d.ts +37 -0
  482. package/types/lib/inventory/cbomutils.d.ts.map +1 -0
  483. package/types/lib/inventory/cdxrs.d.ts +90 -0
  484. package/types/lib/inventory/cdxrs.d.ts.map +1 -0
  485. package/types/lib/inventory/ciParsers/azurePipelines.d.ts +27 -0
  486. package/types/lib/inventory/ciParsers/azurePipelines.d.ts.map +1 -0
  487. package/types/lib/inventory/ciParsers/circleCi.d.ts +27 -0
  488. package/types/lib/inventory/ciParsers/circleCi.d.ts.map +1 -0
  489. package/types/lib/inventory/ciParsers/common.d.ts +11 -0
  490. package/types/lib/inventory/ciParsers/common.d.ts.map +1 -0
  491. package/types/lib/inventory/ciParsers/githubActions.d.ts +38 -0
  492. package/types/lib/inventory/ciParsers/githubActions.d.ts.map +1 -0
  493. package/types/lib/inventory/ciParsers/gitlabCi.d.ts +26 -0
  494. package/types/lib/inventory/ciParsers/gitlabCi.d.ts.map +1 -0
  495. package/types/lib/inventory/ciParsers/jenkins.d.ts +26 -0
  496. package/types/lib/inventory/ciParsers/jenkins.d.ts.map +1 -0
  497. package/types/lib/inventory/citations.d.ts +90 -0
  498. package/types/lib/inventory/citations.d.ts.map +1 -0
  499. package/types/lib/inventory/communityAiConfigParser.d.ts +14 -0
  500. package/types/lib/inventory/communityAiConfigParser.d.ts.map +1 -0
  501. package/types/lib/inventory/containerRisk.d.ts +20 -0
  502. package/types/lib/inventory/containerRisk.d.ts.map +1 -0
  503. package/types/lib/inventory/cryptoAlgorithmFamily.d.ts +37 -0
  504. package/types/lib/inventory/cryptoAlgorithmFamily.d.ts.map +1 -0
  505. package/types/lib/inventory/deps.d.ts +140 -0
  506. package/types/lib/inventory/deps.d.ts.map +1 -0
  507. package/types/lib/inventory/depsUtils.d.ts +74 -0
  508. package/types/lib/inventory/depsUtils.d.ts.map +1 -0
  509. package/types/lib/inventory/display.d.ts +227 -0
  510. package/types/lib/inventory/display.d.ts.map +1 -0
  511. package/types/lib/inventory/dosai.d.ts +130 -0
  512. package/types/lib/inventory/dosai.d.ts.map +1 -0
  513. package/types/lib/inventory/dosaiParsers.d.ts +59 -0
  514. package/types/lib/inventory/dosaiParsers.d.ts.map +1 -0
  515. package/types/lib/inventory/dynamic.d.ts +25 -0
  516. package/types/lib/inventory/dynamic.d.ts.map +1 -0
  517. package/types/lib/inventory/envcontext.d.ts +377 -0
  518. package/types/lib/inventory/envcontext.d.ts.map +1 -0
  519. package/types/lib/inventory/evidenceUtils.d.ts +74 -0
  520. package/types/lib/inventory/evidenceUtils.d.ts.map +1 -0
  521. package/types/lib/inventory/fetchBatch.d.ts +127 -0
  522. package/types/lib/inventory/fetchBatch.d.ts.map +1 -0
  523. package/types/lib/inventory/fetchRate.d.ts +118 -0
  524. package/types/lib/inventory/fetchRate.d.ts.map +1 -0
  525. package/types/lib/inventory/forgeEnricher.d.ts +31 -0
  526. package/types/lib/inventory/forgeEnricher.d.ts.map +1 -0
  527. package/types/lib/inventory/formulationParsers.d.ts +50 -0
  528. package/types/lib/inventory/formulationParsers.d.ts.map +1 -0
  529. package/types/lib/inventory/gtfobins.d.ts +27 -0
  530. package/types/lib/inventory/gtfobins.d.ts.map +1 -0
  531. package/types/lib/inventory/hbom.d.ts +58 -0
  532. package/types/lib/inventory/hbom.d.ts.map +1 -0
  533. package/types/lib/inventory/hbomAnalysis.d.ts +56 -0
  534. package/types/lib/inventory/hbomAnalysis.d.ts.map +1 -0
  535. package/types/lib/inventory/hbomLoader.d.ts +7 -0
  536. package/types/lib/inventory/hbomLoader.d.ts.map +1 -0
  537. package/types/lib/inventory/hostTopology.d.ts +47 -0
  538. package/types/lib/inventory/hostTopology.d.ts.map +1 -0
  539. package/types/lib/inventory/inventoryStats.d.ts +42 -0
  540. package/types/lib/inventory/inventoryStats.d.ts.map +1 -0
  541. package/types/lib/inventory/jsonLike.d.ts +23 -0
  542. package/types/lib/inventory/jsonLike.d.ts.map +1 -0
  543. package/types/lib/inventory/licenseEnhancer.d.ts +70 -0
  544. package/types/lib/inventory/licenseEnhancer.d.ts.map +1 -0
  545. package/types/lib/inventory/lolbas.d.ts +16 -0
  546. package/types/lib/inventory/lolbas.d.ts.map +1 -0
  547. package/types/lib/inventory/mcp.d.ts +29 -0
  548. package/types/lib/inventory/mcp.d.ts.map +1 -0
  549. package/types/lib/inventory/mcpConfigParser.d.ts +20 -0
  550. package/types/lib/inventory/mcpConfigParser.d.ts.map +1 -0
  551. package/types/lib/inventory/mcpDiscovery.d.ts +33 -0
  552. package/types/lib/inventory/mcpDiscovery.d.ts.map +1 -0
  553. package/types/lib/inventory/mcpPinning.d.ts +11 -0
  554. package/types/lib/inventory/mcpPinning.d.ts.map +1 -0
  555. package/types/lib/inventory/osPackageResolver.d.ts +49 -0
  556. package/types/lib/inventory/osPackageResolver.d.ts.map +1 -0
  557. package/types/lib/inventory/osinfo.d.ts +201 -0
  558. package/types/lib/inventory/osinfo.d.ts.map +1 -0
  559. package/types/lib/inventory/osqueryTransform.d.ts +84 -0
  560. package/types/lib/inventory/osqueryTransform.d.ts.map +1 -0
  561. package/types/lib/inventory/plugins.d.ts +58 -0
  562. package/types/lib/inventory/plugins.d.ts.map +1 -0
  563. package/types/lib/inventory/protobom.d.ts +71 -0
  564. package/types/lib/inventory/protobom.d.ts.map +1 -0
  565. package/types/lib/inventory/protobomLoader.d.ts +17 -0
  566. package/types/lib/inventory/protobomLoader.d.ts.map +1 -0
  567. package/types/lib/inventory/provenanceUtils.d.ts +98 -0
  568. package/types/lib/inventory/provenanceUtils.d.ts.map +1 -0
  569. package/types/lib/inventory/purl.d.ts +313 -0
  570. package/types/lib/inventory/purl.d.ts.map +1 -0
  571. package/types/lib/inventory/rustFormulationParser.d.ts +17 -0
  572. package/types/lib/inventory/rustFormulationParser.d.ts.map +1 -0
  573. package/types/lib/inventory/sbomDocument.d.ts +59 -0
  574. package/types/lib/inventory/sbomDocument.d.ts.map +1 -0
  575. package/types/lib/inventory/source.d.ts +163 -0
  576. package/types/lib/inventory/source.d.ts.map +1 -0
  577. package/types/lib/inventory/spdx.d.ts +66 -0
  578. package/types/lib/inventory/spdx.d.ts.map +1 -0
  579. package/types/lib/inventory/spdxExpression.d.ts +58 -0
  580. package/types/lib/inventory/spdxExpression.d.ts.map +1 -0
  581. package/types/lib/inventory/spdxUtils.d.ts +12 -0
  582. package/types/lib/inventory/spdxUtils.d.ts.map +1 -0
  583. package/types/lib/inventory/table.d.ts +22 -0
  584. package/types/lib/inventory/table.d.ts.map +1 -0
  585. package/types/lib/inventory/traceRunner.d.ts +80 -0
  586. package/types/lib/inventory/traceRunner.d.ts.map +1 -0
  587. package/types/lib/inventory/unicodeScan.d.ts +46 -0
  588. package/types/lib/inventory/unicodeScan.d.ts.map +1 -0
  589. package/types/lib/managers/binary.d.ts +147 -0
  590. package/types/lib/managers/binary.d.ts.map +1 -0
  591. package/types/lib/managers/containerutils.d.ts +30 -0
  592. package/types/lib/managers/containerutils.d.ts.map +1 -0
  593. package/types/lib/managers/docker.d.ts +157 -0
  594. package/types/lib/managers/docker.d.ts.map +1 -0
  595. package/types/lib/managers/dockerConnection.d.ts +42 -0
  596. package/types/lib/managers/dockerConnection.d.ts.map +1 -0
  597. package/types/lib/managers/oci.d.ts +21 -0
  598. package/types/lib/managers/oci.d.ts.map +1 -0
  599. package/types/lib/managers/piptree.d.ts +13 -0
  600. package/types/lib/managers/piptree.d.ts.map +1 -0
  601. package/types/lib/parsers/cmakeCache.d.ts +70 -0
  602. package/types/lib/parsers/cmakeCache.d.ts.map +1 -0
  603. package/types/lib/parsers/gguf.d.ts +39 -0
  604. package/types/lib/parsers/gguf.d.ts.map +1 -0
  605. package/types/lib/parsers/gitAiNotes.d.ts +15 -0
  606. package/types/lib/parsers/gitAiNotes.d.ts.map +1 -0
  607. package/types/lib/parsers/gitmodules.d.ts +88 -0
  608. package/types/lib/parsers/gitmodules.d.ts.map +1 -0
  609. package/types/lib/parsers/htmlExtract.d.ts +34 -0
  610. package/types/lib/parsers/htmlExtract.d.ts.map +1 -0
  611. package/types/lib/parsers/huggingfaceManifest.d.ts +153 -0
  612. package/types/lib/parsers/huggingfaceManifest.d.ts.map +1 -0
  613. package/types/lib/parsers/huggingfaceUtils.d.ts +155 -0
  614. package/types/lib/parsers/huggingfaceUtils.d.ts.map +1 -0
  615. package/types/lib/parsers/iri.d.ts +68 -0
  616. package/types/lib/parsers/iri.d.ts.map +1 -0
  617. package/types/lib/parsers/npmrc.d.ts +33 -0
  618. package/types/lib/parsers/npmrc.d.ts.map +1 -0
  619. package/types/lib/parsers/ollama.d.ts +22 -0
  620. package/types/lib/parsers/ollama.d.ts.map +1 -0
  621. package/types/lib/parsers/xml.d.ts +47 -0
  622. package/types/lib/parsers/xml.d.ts.map +1 -0
  623. package/types/lib/server/server.d.ts +51 -0
  624. package/types/lib/server/server.d.ts.map +1 -0
  625. package/types/lib/stages/postgen/annotator.d.ts +36 -0
  626. package/types/lib/stages/postgen/annotator.d.ts.map +1 -0
  627. package/types/lib/stages/postgen/auditBom.d.ts +92 -0
  628. package/types/lib/stages/postgen/auditBom.d.ts.map +1 -0
  629. package/types/lib/stages/postgen/postgen.d.ts +59 -0
  630. package/types/lib/stages/postgen/postgen.d.ts.map +1 -0
  631. package/types/lib/stages/postgen/ruleEngine.d.ts +18 -0
  632. package/types/lib/stages/postgen/ruleEngine.d.ts.map +1 -0
  633. package/types/lib/stages/postgen/sortBom.d.ts +34 -0
  634. package/types/lib/stages/postgen/sortBom.d.ts.map +1 -0
  635. package/types/lib/stages/postgen/spdxConverter.d.ts +11 -0
  636. package/types/lib/stages/postgen/spdxConverter.d.ts.map +1 -0
  637. package/types/lib/stages/postgen/specVersionCompat.d.ts +71 -0
  638. package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -0
  639. package/types/lib/stages/pregen/envAudit.d.ts +14 -0
  640. package/types/lib/stages/pregen/envAudit.d.ts.map +1 -0
  641. package/types/lib/stages/pregen/pregen.d.ts +59 -0
  642. package/types/lib/stages/pregen/pregen.d.ts.map +1 -0
  643. package/types/lib/third-party/arborist/lib/arborist/index.d.ts +47 -0
  644. package/types/lib/third-party/arborist/lib/arborist/index.d.ts.map +1 -0
  645. package/types/lib/third-party/arborist/lib/arborist/load-actual.d.ts +4 -0
  646. package/types/lib/third-party/arborist/lib/arborist/load-actual.d.ts.map +1 -0
  647. package/types/lib/third-party/arborist/lib/arborist/load-virtual.d.ts +4 -0
  648. package/types/lib/third-party/arborist/lib/arborist/load-virtual.d.ts.map +1 -0
  649. package/types/lib/third-party/arborist/lib/bin-links.d.ts +18 -0
  650. package/types/lib/third-party/arborist/lib/bin-links.d.ts.map +1 -0
  651. package/types/lib/third-party/arborist/lib/calc-dep-flags.d.ts +3 -0
  652. package/types/lib/third-party/arborist/lib/calc-dep-flags.d.ts.map +1 -0
  653. package/types/lib/third-party/arborist/lib/case-insensitive-map.d.ts +9 -0
  654. package/types/lib/third-party/arborist/lib/case-insensitive-map.d.ts.map +1 -0
  655. package/types/lib/third-party/arborist/lib/consistent-resolve.d.ts +3 -0
  656. package/types/lib/third-party/arborist/lib/consistent-resolve.d.ts.map +1 -0
  657. package/types/lib/third-party/arborist/lib/debug.d.ts +3 -0
  658. package/types/lib/third-party/arborist/lib/debug.d.ts.map +1 -0
  659. package/types/lib/third-party/arborist/lib/dep-valid.d.ts +3 -0
  660. package/types/lib/third-party/arborist/lib/dep-valid.d.ts.map +1 -0
  661. package/types/lib/third-party/arborist/lib/edge.d.ts +46 -0
  662. package/types/lib/third-party/arborist/lib/edge.d.ts.map +1 -0
  663. package/types/lib/third-party/arborist/lib/from-path.d.ts +3 -0
  664. package/types/lib/third-party/arborist/lib/from-path.d.ts.map +1 -0
  665. package/types/lib/third-party/arborist/lib/gather-dep-set.d.ts +3 -0
  666. package/types/lib/third-party/arborist/lib/gather-dep-set.d.ts.map +1 -0
  667. package/types/lib/third-party/arborist/lib/index.d.ts +3 -0
  668. package/types/lib/third-party/arborist/lib/index.d.ts.map +1 -0
  669. package/types/lib/third-party/arborist/lib/inventory.d.ts +14 -0
  670. package/types/lib/third-party/arborist/lib/inventory.d.ts.map +1 -0
  671. package/types/lib/third-party/arborist/lib/link.d.ts +18 -0
  672. package/types/lib/third-party/arborist/lib/link.d.ts.map +1 -0
  673. package/types/lib/third-party/arborist/lib/node.d.ts +112 -0
  674. package/types/lib/third-party/arborist/lib/node.d.ts.map +1 -0
  675. package/types/lib/third-party/arborist/lib/npm-extension.d.ts +18 -0
  676. package/types/lib/third-party/arborist/lib/npm-extension.d.ts.map +1 -0
  677. package/types/lib/third-party/arborist/lib/override-resolves.d.ts +3 -0
  678. package/types/lib/third-party/arborist/lib/override-resolves.d.ts.map +1 -0
  679. package/types/lib/third-party/arborist/lib/override-set.d.ts +27 -0
  680. package/types/lib/third-party/arborist/lib/override-set.d.ts.map +1 -0
  681. package/types/lib/third-party/arborist/lib/package-extensions.d.ts +36 -0
  682. package/types/lib/third-party/arborist/lib/package-extensions.d.ts.map +1 -0
  683. package/types/lib/third-party/arborist/lib/printable.d.ts +3 -0
  684. package/types/lib/third-party/arborist/lib/printable.d.ts.map +1 -0
  685. package/types/lib/third-party/arborist/lib/proc-log.d.ts +20 -0
  686. package/types/lib/third-party/arborist/lib/proc-log.d.ts.map +1 -0
  687. package/types/lib/third-party/arborist/lib/realpath.d.ts +3 -0
  688. package/types/lib/third-party/arborist/lib/realpath.d.ts.map +1 -0
  689. package/types/lib/third-party/arborist/lib/relpath.d.ts +3 -0
  690. package/types/lib/third-party/arborist/lib/relpath.d.ts.map +1 -0
  691. package/types/lib/third-party/arborist/lib/shrinkwrap.d.ts +54 -0
  692. package/types/lib/third-party/arborist/lib/shrinkwrap.d.ts.map +1 -0
  693. package/types/lib/third-party/arborist/lib/spec-from-lock.d.ts +3 -0
  694. package/types/lib/third-party/arborist/lib/spec-from-lock.d.ts.map +1 -0
  695. package/types/lib/third-party/arborist/lib/tree-check.d.ts +3 -0
  696. package/types/lib/third-party/arborist/lib/tree-check.d.ts.map +1 -0
  697. package/types/lib/third-party/arborist/lib/validate-npm-package-name.d.ts +13 -0
  698. package/types/lib/third-party/arborist/lib/validate-npm-package-name.d.ts.map +1 -0
  699. package/types/lib/third-party/arborist/lib/version-from-tgz.d.ts +6 -0
  700. package/types/lib/third-party/arborist/lib/version-from-tgz.d.ts.map +1 -0
  701. package/types/lib/third-party/arborist/lib/yarn-lock.d.ts +35 -0
  702. package/types/lib/third-party/arborist/lib/yarn-lock.d.ts.map +1 -0
  703. package/types/lib/validator/bomValidator.d.ts +40 -0
  704. package/types/lib/validator/bomValidator.d.ts.map +1 -0
  705. package/types/lib/validator/complianceEngine.d.ts +72 -0
  706. package/types/lib/validator/complianceEngine.d.ts.map +1 -0
  707. package/types/lib/validator/complianceRules.d.ts +61 -0
  708. package/types/lib/validator/complianceRules.d.ts.map +1 -0
  709. package/types/lib/validator/index.d.ts +101 -0
  710. package/types/lib/validator/index.d.ts.map +1 -0
  711. package/types/lib/validator/reporters/annotations.d.ts +37 -0
  712. package/types/lib/validator/reporters/annotations.d.ts.map +1 -0
  713. package/types/lib/validator/reporters/console.d.ts +34 -0
  714. package/types/lib/validator/reporters/console.d.ts.map +1 -0
  715. package/types/lib/validator/reporters/index.d.ts +30 -0
  716. package/types/lib/validator/reporters/index.d.ts.map +1 -0
  717. package/types/lib/validator/reporters/json.d.ts +11 -0
  718. package/types/lib/validator/reporters/json.d.ts.map +1 -0
  719. package/types/lib/validator/reporters/sarif.d.ts +22 -0
  720. package/types/lib/validator/reporters/sarif.d.ts.map +1 -0
  721. package/mod.d.ts +0 -7
  722. package/mod.js +0 -22
@@ -0,0 +1,98 @@
1
+ /** npm provenance evidence component property names. */
2
+ export declare const NPM_PROVENANCE_EVIDENCE_PROPERTIES: string[];
3
+ /** PyPI provenance evidence component property names. */
4
+ export declare const PYPI_PROVENANCE_EVIDENCE_PROPERTIES: string[];
5
+ /** Cargo provenance evidence component property names. */
6
+ export declare const CARGO_PROVENANCE_EVIDENCE_PROPERTIES: string[];
7
+ /** All registry provenance evidence component property names (npm, PyPI, and Cargo combined). */
8
+ export declare const REGISTRY_PROVENANCE_EVIDENCE_PROPERTIES: string[];
9
+ /** Trusted-publishing indicator component property names for each registry. */
10
+ export declare const TRUSTED_PUBLISHING_PROPERTIES: string[];
11
+ /** Icon appended to component names that carry registry provenance evidence. */
12
+ export declare const REGISTRY_PROVENANCE_ICON = "\uD83D\uDEE1";
13
+ /**
14
+ * Return a component property value by name.
15
+ *
16
+ * @param {object} component CycloneDX component
17
+ * @param {string} propertyName Property name to look up
18
+ * @returns {string | undefined} Property value if present
19
+ */
20
+ export declare function getComponentPropertyValue(component: object, propertyName: string): string | undefined;
21
+ /**
22
+ * Return a property value by name from a raw properties array.
23
+ *
24
+ * @param {object[]} properties CycloneDX properties array
25
+ * @param {string} propertyName Property name to look up
26
+ * @returns {string | undefined} Property value if present
27
+ */
28
+ export declare function getPropertyValue(properties: object[], propertyName: string): string | undefined;
29
+ /**
30
+ * Check whether any of the supplied properties exist and carry a value.
31
+ *
32
+ * @param {object[]} properties CycloneDX properties array
33
+ * @param {string[]} propertyNames Property names to test
34
+ * @returns {boolean} True when any named property has a non-empty value
35
+ */
36
+ export declare function hasAnyPropertyValue(properties: object[], propertyNames: string[]): boolean;
37
+ /**
38
+ * Determine whether a raw properties array includes trusted publishing metadata.
39
+ *
40
+ * @param {object[]} properties CycloneDX properties array
41
+ * @returns {boolean} True when trusted publishing is recorded for npm, PyPI, or Cargo
42
+ */
43
+ export declare function hasTrustedPublishingProperties(properties: object[]): boolean;
44
+ /**
45
+ * Determine whether a raw properties array includes direct registry provenance evidence.
46
+ *
47
+ * @param {object[]} properties CycloneDX properties array
48
+ * @returns {boolean} True when direct provenance evidence is present
49
+ */
50
+ export declare function hasRegistryProvenanceEvidenceProperties(properties: object[]): boolean;
51
+ /**
52
+ * Determine whether a component includes trusted publishing metadata.
53
+ *
54
+ * @param {object} component CycloneDX component
55
+ * @returns {boolean} True when trusted publishing is recorded for npm, PyPI, or Cargo
56
+ */
57
+ export declare function hasComponentTrustedPublishing(component: object): boolean;
58
+ /**
59
+ * Determine whether a component includes direct registry provenance evidence.
60
+ *
61
+ * @param {object} component CycloneDX component
62
+ * @returns {boolean} True when provenance URL, digests, signatures, or key IDs exist
63
+ */
64
+ export declare function hasComponentRegistryProvenanceEvidence(component: object): boolean;
65
+ /**
66
+ * Determine whether a component includes registry provenance metadata.
67
+ *
68
+ * @param {object} component CycloneDX component
69
+ * @returns {boolean} True when provenance or trusted publishing metadata exists
70
+ */
71
+ export declare function hasComponentRegistryProvenance(component: object): boolean;
72
+ /**
73
+ * Filter components to those carrying trusted publishing metadata.
74
+ *
75
+ * @param {object[]} components BOM components
76
+ * @returns {object[]} Trusted-publishing-backed components
77
+ */
78
+ export declare function getTrustedComponents(components: object[]): object[];
79
+ /**
80
+ * Filter components to those carrying direct registry provenance evidence.
81
+ *
82
+ * @param {object[]} components BOM components
83
+ * @returns {object[]} Provenance-backed components
84
+ */
85
+ export declare function getProvenanceComponents(components: object[]): object[];
86
+ /**
87
+ * Count components with trusted publishing metadata by registry ecosystem.
88
+ *
89
+ * @param {object[]} components BOM components
90
+ * @returns {{cargo: number, npm: number, pypi: number, total: number}} Trusted publishing counts
91
+ */
92
+ export declare function getTrustedPublishingComponentCounts(components: object[]): {
93
+ cargo: number;
94
+ npm: number;
95
+ pypi: number;
96
+ total: number;
97
+ };
98
+ //# sourceMappingURL=provenanceUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenanceUtils.d.ts","sourceRoot":"","sources":["../../../lib/inventory/provenanceUtils.js"],"names":[],"mappings":"AAOA,wDAAwD;AACxD,eAAO,MAAM,kCAAkC,UAQ9C,CAAC;AACF,yDAAyD;AACzD,eAAO,MAAM,mCAAmC,UAS/C,CAAC;AACF,0DAA0D;AAC1D,eAAO,MAAM,oCAAoC,UAOhD,CAAC;AACF,iGAAiG;AACjG,eAAO,MAAM,uCAAuC,UAInD,CAAC;AACF,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,UAIzC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,iBAAO,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAJxC,MAIwC,EAAE,YAAY,EAHtD,MAGsD,GAFpD,MAAM,GAAG,SAAS,CAK9B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAJhC,MAAM,EAI0B,EAAE,YAAY,EAH9C,MAG8C,GAF5C,MAAM,GAAG,SAAS,CAI9B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAJnC,MAAM,EAI6B,EAAE,aAAa,EAHlD,MAAM,EAG4C,GAFhD,OAAO,CAMnB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAH9C,MAAM,EAGwC,GAF5C,OAAO,CAMnB;AAED;;;;;GAKG;AACH,wBAAgB,uCAAuC,CAAC,UAAU,EAHvD,MAAM,EAGiD,GAFrD,OAAO,CAOnB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAH5C,MAG4C,GAF1C,OAAO,CAInB;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CAAC,SAAS,EAHrD,MAGqD,GAFnD,OAAO,CAInB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAH7C,MAG6C,GAF3C,OAAO,CAOnB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAHpC,MAAM,EAG8B,GAFlC,MAAM,EAAE,CASpB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAHvC,MAAM,EAGiC,GAFrC,MAAM,EAAE,CASpB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,UAAU,EAHnD,MAAM,EAG6C,GAFjD;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CA0CrE"}
@@ -0,0 +1,313 @@
1
+ /**
2
+ * The set of purl types that carry validation rules in cdx-purl.
3
+ *
4
+ * cdx-purl's `build()` is permissive: it accepts *any* type string (even an
5
+ * unregistered one like `pkg:nix/...`) without throwing, because the "type"
6
+ * segment of a Package URL is not restricted by the spec. What distinguishes a
7
+ * *registered* type is that cdx-purl ships a rule table for it
8
+ * (`TYPE_RULES_SOURCE`, exposed as `TypedPurls`) — namespace requirements,
9
+ * permitted qualifiers, and so on. A purl built with an unregistered type
10
+ * round-trips but gets no type-specific normalization, and more importantly it
11
+ * identifies a package in a namespace no vulnerability database or advisory
12
+ * feed recognises.
13
+ *
14
+ * Ecosystems cdxgen supports that have no registered type (nix, zig, mojo, and
15
+ * gleam when it is not published via hex) must therefore emit `pkg:generic/...`
16
+ * with a `cdx:purl:proposedType` property instead of squatting a type. This set
17
+ * is the single source of truth for that decision, sourced directly from
18
+ * cdx-purl so it updates automatically when a type is registered upstream.
19
+ */
20
+ export declare const REGISTERED_PURL_TYPES: Set<string>;
21
+ /**
22
+ * Report whether a purl type is registered in cdx-purl's rule table.
23
+ *
24
+ * @param {string} type Purl type (the segment after `pkg:`)
25
+ * @returns {boolean} `true` when the type carries validation rules upstream
26
+ */
27
+ export declare function purlTypeIsRegistered(type: string): boolean;
28
+ /**
29
+ * Report whether a purl string uses a type that cdx-purl has registered rules
30
+ * for. Purls that fail to parse are treated as unregistered rather than
31
+ * throwing, because the caller is vetting untrusted output.
32
+ *
33
+ * @param {string} purlString Purl string to vet
34
+ * @returns {boolean} `true` when the purl's type is registered upstream
35
+ */
36
+ export declare function purlTypeIsRegisteredString(purlString: string): boolean;
37
+ /**
38
+ * Encode a string for safe inclusion in a PackageURL, percent-encoding special characters
39
+ * while preserving already-encoded `%40` sequences and keeping `:` and `/` unencoded.
40
+ *
41
+ * @param {string} s String to encode
42
+ * @returns {string} Encoded string suitable for use in a PackageURL component
43
+ */
44
+ export declare function encodeForPurl(s: string): string;
45
+ /**
46
+ * Build a purl string, returning `null` instead of throwing when the parts do
47
+ * not form a valid purl.
48
+ *
49
+ * cdx-purl is strict: it rejects a maven purl without a groupId, a swift or
50
+ * golang purl without a namespace, a vscode-extension without a publisher, and
51
+ * so on. Those rejections are correct and must not be papered over — but they
52
+ * also must not crash a scan of an otherwise fine project. This helper is the
53
+ * one sanctioned place to turn a `PurlError` into an absent purl.
54
+ *
55
+ * Only `PurlError` is swallowed. Anything else (a `TypeError` from a bad call,
56
+ * for instance) is a defect in the caller and is rethrown.
57
+ *
58
+ * @param {object} parts Purl parts accepted by cdx-purl's `build()`
59
+ * @returns {string|null} Canonical purl string, or `null` if it is not valid
60
+ */
61
+ export declare function tryBuildPurl(parts: object): string | null;
62
+ /**
63
+ * Build a canonical npm purl from a package name and version.
64
+ *
65
+ * Prefer this over hand-assembling `pkg:npm/...` strings. Manual assembly has
66
+ * to re-implement percent-encoding and gets it wrong in ways cdx-purl then
67
+ * rejects: an unencoded `+` in a semver build-metadata version
68
+ * (`1.0.0+build.1`) throws `E_INVALID_CHARACTER`, and the scope separator has
69
+ * to survive encoding. `build()` handles both, so callers pass raw values.
70
+ *
71
+ * @param {string} pkgName Package name, optionally scoped (`@scope/name`)
72
+ * @param {string} [version] Package version, raw and unencoded
73
+ * @returns {string} Canonical npm purl string
74
+ */
75
+ export declare function npmPurl(pkgName: string, version?: string): string;
76
+ /**
77
+ * Detect whether a version string is a concrete version or an MSBuild
78
+ * expression / NuGet range that names no single version.
79
+ *
80
+ * NuGet project files express versions in a small language of their own:
81
+ * `$(TargetFSharpCoreVersion)` is an MSBuild property that only a build
82
+ * evaluates, `1.0-*` is a floating range, and `[1.0,2.0)` is an interval.
83
+ * None of them is a version, so none can be encoded into a purl — the result
84
+ * would parse but identify no package.
85
+ *
86
+ * Callers resolve such a version from a manifest that pins one (paket.lock,
87
+ * packages.lock.json, project.assets.json, Directory.Packages.props). This
88
+ * function is the last-resort guard for when no manifest pins it: the purl is
89
+ * then emitted without a version rather than with a meaningless one.
90
+ *
91
+ * It encodes NuGet's syntax specifically, so it belongs to the NuGet helpers
92
+ * and not to purl construction in general — an ecosystem that allows brackets
93
+ * or commas in a legitimate version must not have it applied.
94
+ *
95
+ * @param {string} version Candidate version
96
+ * @returns {string|null} The version when concrete, or null to omit it
97
+ */
98
+ export declare function concreteVersion(version: string): string | null;
99
+ /**
100
+ * Build a canonical NuGet purl from a package name and version.
101
+ *
102
+ * The version is expected to have been resolved from a manifest that pins one.
103
+ * An MSBuild expression or NuGet range that reaches here unresolved is dropped
104
+ * by {@link concreteVersion}, leaving a versionless purl that identifies the
105
+ * package rather than a version-shaped purl that identifies nothing.
106
+ *
107
+ * @param {string} name Package name
108
+ * @param {string} [version] Package version (may be non-concrete)
109
+ * @returns {string|null} Canonical purl, or null when the name is empty
110
+ */
111
+ export declare function nugetPurl(name: string, version?: string): string | null;
112
+ /**
113
+ * Build a canonical PyPI purl from a package name and version.
114
+ *
115
+ * PyPI normalises underscores to hyphens in the name component.
116
+ *
117
+ * @param {string} name Package name (underscores will be normalised)
118
+ * @param {string} [version] Package version
119
+ * @returns {string|null} Canonical purl, or null when invalid
120
+ */
121
+ export declare function pypiPurl(name: string, version?: string): string | null;
122
+ /**
123
+ * Identifier a dependency graph uses to reference a PyPI component.
124
+ *
125
+ * PyPI names are case-insensitive and treat `_` and `-` as equivalent, so
126
+ * cdx-purl folds both when it builds the purl. A reference assembled by hand
127
+ * from the raw name does not, and then names out of the same distribution
128
+ * disagree: a `zope_interface` requirement points at nothing while the
129
+ * component is `pkg:pypi/zope-interface`. Deriving the reference from the purl
130
+ * keeps the graph attached to the components.
131
+ *
132
+ * @param {string} name Package name
133
+ * @param {string} [version] Package version
134
+ * @returns {string} bom-ref for the component
135
+ */
136
+ export declare function pypiBomRef(name: string, version?: string): string;
137
+ /**
138
+ * Build a canonical Maven purl from group, name, and version.
139
+ *
140
+ * @param {string} group Group ID (required for Maven)
141
+ * @param {string} name Artifact ID
142
+ * @param {string} [version] Version
143
+ * @param {object} [qualifiers] Optional qualifiers (e.g. `{type: "jar"}`)
144
+ * @returns {string|null} Canonical purl, or null when invalid
145
+ */
146
+ export declare function mavenPurl(group: string, name: string, version?: string, qualifiers?: object): string | null;
147
+ /**
148
+ * Build a purl for a Nix flake input using the registered `generic` type.
149
+ *
150
+ * `nix` is not a registered purl type in cdx-purl, so emitting `pkg:nix/...`
151
+ * would squat a namespace no vulnerability database recognises. Nix inputs are
152
+ * therefore identified as generic packages, disambiguated by a `vcs_url`
153
+ * qualifier built from the flake lock, and tagged with a
154
+ * `cdx:purl:proposedType=nix` property on the component so the intended type is
155
+ * recoverable. If `nix` is ever registered upstream, callers can switch over
156
+ * without touching the property scheme.
157
+ *
158
+ * Callers pass the already-encoded qualifier values they derived from the lock
159
+ * node; this helper only owns purl construction.
160
+ *
161
+ * @param {string} name Package name
162
+ * @param {string} [version] Package version (typically the short revision)
163
+ * @param {object} [qualifiers] Optional qualifiers such as `{ vcs_url }`
164
+ * @returns {string|null} Canonical purl, or null when invalid
165
+ */
166
+ export declare function nixGenericPurl(name: string, version?: string, qualifiers?: object): string | null;
167
+ /**
168
+ * Identifier for a Nix flake project, whose version is not pinned by the flake
169
+ * itself.
170
+ *
171
+ * A flake project is named after its directory. The bom-ref deliberately uses
172
+ * the `application:name:version` shape (matching `fallbackBomRef`) rather than a
173
+ * `pkg:` string, because `nix` is not a registered purl type and a bom-ref that
174
+ * looks like a purl but is not valid would mislead downstream tooling.
175
+ *
176
+ * @param {string} name Project name
177
+ * @returns {string} bom-ref for the component
178
+ */
179
+ export declare function nixBomRef(name: string): string;
180
+ /**
181
+ * Build a canonical generic purl from a name.
182
+ *
183
+ * @param {string} name Package name
184
+ * @returns {string|null} Canonical purl, or null when invalid
185
+ */
186
+ export declare function genericPurl(name: string): string | null;
187
+ /**
188
+ * Report whether a string is a valid purl according to cdx-purl.
189
+ *
190
+ * Use this before writing anything into a CycloneDX `purl` field that did not
191
+ * come from `build()` — notably when recovering a purl from a `bom-ref`, which
192
+ * is an opaque identifier and frequently is not a purl at all.
193
+ *
194
+ * @param {string} candidate String to test
195
+ * @returns {boolean} true when cdx-purl parses it
196
+ */
197
+ export declare function isValidPurl(candidate: string): boolean;
198
+ /**
199
+ * Parse a purl string, returning `null` instead of throwing when it is invalid.
200
+ *
201
+ * The parse-side counterpart of {@link tryBuildPurl}, for callers that have
202
+ * already assembled a purl string. Only `PurlError` is swallowed.
203
+ *
204
+ * @param {string} purlString Candidate purl
205
+ * @returns {string|null} Canonical purl string, or `null` if it is not valid
206
+ */
207
+ export declare function tryParsePurl(purlString: string): string | null;
208
+ /**
209
+ * Build a `bom-ref` for a component that has no valid purl.
210
+ *
211
+ * `bom-ref` must be **unique within the document** — CycloneDX uses it as the
212
+ * key for the dependency graph, so two components sharing one silently merge
213
+ * their edges. The bare component name is therefore not usable: the syft go
214
+ * module graph contains eight versions of `go.opencensus.io`, none of which can
215
+ * carry a golang purl (cdx-purl requires a namespace), and naming them all
216
+ * `go.opencensus.io` collapsed eight distinct modules into one ref.
217
+ *
218
+ * The `type:group/name:version` shape matches the convention already used for
219
+ * root components (`application:swift-smoke:latest`) and for the dedupe key in
220
+ * `lib/stages/postgen/ruleEngine.js`.
221
+ *
222
+ * @param {object} component Component with `type`, `group`, `name`, `version`
223
+ * @returns {string} A document-unique, deterministic bom-ref
224
+ */
225
+ export declare function fallbackBomRef(component: object): string;
226
+ /**
227
+ * Attach a purl and `bom-ref` to a component, never emitting an invalid purl.
228
+ *
229
+ * CycloneDX requires `component.purl` to be a valid Package URL when present,
230
+ * so a component we cannot build a purl for must omit the field entirely — it
231
+ * must *not* fall back to the bare name, which is what produced
232
+ * `"purl": "swift-smoke"` in the swift golden.
233
+ *
234
+ * `bom-ref` has no syntax constraint but does have a uniqueness constraint, so
235
+ * the fallback goes through {@link fallbackBomRef} rather than using the name.
236
+ *
237
+ * Any pre-existing `purl` is deleted when the new one is invalid, so a
238
+ * component cannot retain a stale purl from an earlier enrichment pass.
239
+ *
240
+ * @param {object} component Component to mutate
241
+ * @param {string|null} purlString Canonical purl string, or `null`/`undefined`
242
+ * @param {string} [fallbackRef] Explicit `bom-ref` override for when there is no purl
243
+ * @returns {object} The same component, for chaining
244
+ */
245
+ export declare function applyPurl(component: object, purlString: string | null, fallbackRef?: string): object;
246
+ /**
247
+ * Sanitize a purl that cdxgen did not author.
248
+ *
249
+ * cdxgen ingests components from places it does not control — caxa binary
250
+ * metadata, existing SBOMs supplied as input, converter output. Those purls can
251
+ * be invalid (`@cdxgen/caxa` emitted `pkg:generic/...?arch=…&platform=…`, and
252
+ * `arch`/`platform` are not qualifiers the `generic` type allows), and cdxgen
253
+ * must neither emit an invalid purl it merely read nor hard-fail on third-party
254
+ * data.
255
+ *
256
+ * Order of preference:
257
+ * 1. Keep the purl when it is already valid.
258
+ * 2. Rebuild a canonical purl from the component's own type/group/name/version.
259
+ * 3. Drop the purl and assign a unique fallback `bom-ref`.
260
+ *
261
+ * The original string is preserved in a property whenever it is discarded, so the
262
+ * provenance of the change is visible in the output rather than silent.
263
+ *
264
+ * @param {object} component Component to sanitize in place
265
+ * @param {string} [purlType] purl type to use when rebuilding (default `generic`)
266
+ * @returns {object} The same component, for chaining
267
+ */
268
+ export declare function sanitizeIngestedPurl(component: object, purlType?: string): object;
269
+ /**
270
+ * Build an `oci` purl from a Docker/OCI repository digest.
271
+ *
272
+ * The `oci` type **prohibits** a namespace, so the registry-qualified repository
273
+ * cannot go in the purl path: `pkg:oci/docker.io/library/alpine@sha256:…` is
274
+ * invalid. Per the purl spec the name is the repository's last segment, the
275
+ * version is the digest, and the full repository travels in `repository_url`.
276
+ *
277
+ * @param {string} repoDigest e.g. `docker.io/library/alpine@sha256:abc…`
278
+ * @param {string} [tag] Optional image tag, emitted as the `tag` qualifier
279
+ * @returns {string|null} Canonical purl, or `null` when one cannot be built
280
+ */
281
+ export declare function ociPurl(repoDigest: string, tag?: string): string | null;
282
+ /**
283
+ * Create a PackageURL object from a repository URL string, package type, and version.
284
+ *
285
+ * Supports HTTPS URLs, SSH `git@` URLs, Bitbucket SSH URLs, and local paths.
286
+ * Extracts the namespace (host + path prefix) and repository name from the URL.
287
+ *
288
+ * @param {string} type PackageURL type (e.g. `"swift"`, `"generic"`)
289
+ * @param {string} repoUrl Repository URL string
290
+ * @param {string} version Package version
291
+ * @returns {PackageURL|undefined} PackageURL object, or undefined for unsupported URL formats
292
+ */
293
+ export declare function purlFromUrlString(type: string, repoUrl: string, version: string): PackageURL | undefined;
294
+ /**
295
+ * NOT IMPLEMENTED YET.
296
+ * A future method to locate a generic package given some name and properties
297
+ *
298
+ * @param {object} apkg Package to locate
299
+ * @returns Located project with precise purl or the original unmodified input.
300
+ */
301
+ export declare function locateGenericPackage(apkg: object): object;
302
+ /**
303
+ * Parse a Conan package reference into purl coordinates.
304
+ *
305
+ * Accepts references such as `name/version@user/channel#recipe_revision` and
306
+ * returns a `[purl, name, version]` tuple, or `[null, null, null]` when the
307
+ * reference cannot be parsed.
308
+ *
309
+ * @param {string} conanPkgRef Conan package reference
310
+ * @returns {(string|null)[]} Tuple of purl string, package name, and version
311
+ */
312
+ export declare function mapConanPkgRefToPurlStringAndNameAndVersion(conanPkgRef: string): (string | null)[];
313
+ //# sourceMappingURL=purl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purl.d.ts","sourceRoot":"","sources":["../../../lib/inventory/purl.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB,aAAmC,CAAC;AAEtE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAH9B,MAG8B,GAF5B,OAAO,CAInB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAH1C,MAG0C,GAFxC,OAAO,CASnB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAHpB,MAGoB,GAFlB,MAAM,CAMlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAHvB,MAGuB,GAFrB,MAAM,GAAC,IAAI,CAcvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAJpB,MAIoB,EAAE,OAAO,AAHrC,CACA,EADQ,MAG6B,GAF3B,MAAM,CAkBlB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAH5B,MAG4B,GAF1B,MAAM,GAAC,IAAI,CAuBvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAJnB,MAImB,EAAE,OAAO,AAHpC,CACA,EADQ,MAG4B,GAF1B,MAAM,GAAC,IAAI,CAQvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAJlB,MAIkB,EAAE,OAAO,AAHnC,CACA,EADQ,MAG2B,GAFzB,MAAM,GAAC,IAAI,CAQvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAJpB,MAIoB,EAAE,OAAO,AAHrC,CACA,EADQ,MAG6B,GAF3B,MAAM,CAQlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EANpB,MAMoB,EAAE,IAAI,EAL1B,MAK0B,EAAE,OAAO,AAJ3C,CACA,EADQ,MAImC,EAAE,UAAU,AAHvD,CACA,EADQ,MAG+C,GAF7C,MAAM,GAAC,IAAI,CAUvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EALxB,MAKwB,EAAE,OAAO,AAJzC,CACA,EADQ,MAIiC,EAAE,UAAU,AAHrD,CACA,EADQ,MAG6C,GAF3C,MAAM,GAAC,IAAI,CASvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAHnB,MAGmB,GAFjB,MAAM,CAIlB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAHrB,MAGqB,GAFnB,MAAM,GAAC,IAAI,CAOvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAH1B,MAG0B,GAFxB,OAAO,CAYnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAH5B,MAG4B,GAF1B,MAAM,GAAC,IAAI,CAWvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAH7B,MAG6B,GAF3B,MAAM,CAQlB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,SAAS,EALxB,MAKwB,EAAE,UAAU,EAJpC,MAAM,GAAC,IAI6B,EAAE,WAAW,AAHzD,CACA,EADQ,MAGiD,GAF/C,MAAM,CAWlB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAJnC,MAImC,EAAE,QAAQ,AAHrD,CACA,EADQ,MAG6C,GAF3C,MAAM,CAiClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAJvB,MAIuB,EAAE,GAAG,AAHpC,CACA,EADQ,MAG4B,GAF1B,MAAM,GAAC,IAAI,CA4BvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAL3B,MAK2B,EAAE,OAAO,EAJpC,MAIoC,EAAE,OAAO,EAH7C,MAG6C,GAF3C,UAAU,GAAC,SAAS,CAuDhC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAH9B,MAG8B,UAExC;AAwCD;;;;;;;;;GASG;AACH,wBAAgB,2CAA2C,CAAC,WAAW,EAH5D,MAG4D,GAF1D,CAAC,MAAM,GAAC,IAAI,CAAC,EAAE,CA6H3B"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Parser for Rust/Cargo and Pixi maturin formulation components.
3
+ *
4
+ * Matches `Cargo.toml` and `pyproject.toml` files and converts them into
5
+ * formulation components carrying build-tool, build-script capability, native
6
+ * build dependency, and maturin metadata properties.
7
+ *
8
+ * @type {{id: string, patterns: string[], parse(files: string[]): {components: Object[]}}}
9
+ */
10
+ export declare const rustFormulationParser: {
11
+ id: string;
12
+ patterns: string[];
13
+ parse(files: string[]): {
14
+ components: Object[];
15
+ };
16
+ };
17
+ //# sourceMappingURL=rustFormulationParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rustFormulationParser.d.ts","sourceRoot":"","sources":["../../../lib/inventory/rustFormulationParser.js"],"names":[],"mappings":"AAmTA;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAFxB;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAC,CAAA;CAwBxF,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Maximum size in bytes (5 MiB) of a third-party SBOM document accepted for parsing.
3
+ *
4
+ * @type {number}
5
+ */
6
+ export declare const MAX_SBOM_DOCUMENT_BYTES: number;
7
+ /**
8
+ * Parse a third-party SBOM document into components and dependencies.
9
+ *
10
+ * Returns null — never throws — when the document is too large, is not JSON, is
11
+ * not a recognised SBOM shape, or carries nothing worth merging. Every rejection
12
+ * is reported once, naming the source, so a skipped document is visible rather
13
+ * than silent.
14
+ *
15
+ * @param {string} text Raw document text
16
+ * @param {Object} [input] Parse inputs
17
+ * @param {string} [input.source] Provenance label used in warnings (path, entry name or URL)
18
+ * @param {number} [input.maxBytes] Size bound. Defaults to `MAX_SBOM_DOCUMENT_BYTES`
19
+ * @returns {{components: Object[], dependencies: Object[], format: string, rootRef: (string|undefined)}|null}
20
+ */
21
+ export declare function parseSbomDocument(text: string, { source, maxBytes }?: {
22
+ source?: string;
23
+ maxBytes?: number;
24
+ }): {
25
+ components: Object[];
26
+ dependencies: Object[];
27
+ format: string;
28
+ rootRef: (string | undefined);
29
+ } | null;
30
+ /**
31
+ * Repair the purl of a component read from a third-party document.
32
+ *
33
+ * Producers write a `download_url` as a bare URL, but a purl qualifier value is
34
+ * percent-encoded, so an unescaped `://` makes the whole purl unparseable. A
35
+ * `file:` URL is dropped instead of escaped: it names a path on the machine
36
+ * that built the document, so it identifies nothing for a reader of the BOM.
37
+ * Versions are escaped for build metadata in either case.
38
+ *
39
+ * A purl that is still unparseable afterwards is split on its separators and
40
+ * rebuilt, which escapes any remaining reserved character wherever it sits —
41
+ * a shared-library name such as `libstdc++.so.6`, for instance.
42
+ *
43
+ * @param {object} component Component whose purl is rewritten in place
44
+ */
45
+ export declare function repairPurl(component: object): void;
46
+ /**
47
+ * Attach provenance properties to every component of a parsed document. The
48
+ * caller owns the property names so each provenance channel stays
49
+ * distinguishable in the merged BOM.
50
+ *
51
+ * @param {Object[]} components Components from `parseSbomDocument`
52
+ * @param {Array<{name: string, value: string}>} properties Properties to add
53
+ * @returns {Object[]} The same array, with properties attached
54
+ */
55
+ export declare function tagSbomComponents(components: Object[], properties: Array<{
56
+ name: string;
57
+ value: string;
58
+ }>): Object[];
59
+ //# sourceMappingURL=sbomDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sbomDocument.d.ts","sourceRoot":"","sources":["../../../lib/inventory/sbomDocument.js"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAF1B,MAE4C,CAAC;AAsBvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAPK,MAOL,EACJ,EAAE,MAAkB,EAAE,QAAkC,EAAE,AAPzD,CAGA,EAFA;IAAuB,MAAM,AAA7B,CACA,EADQ,MAAM,CACd;IAAuB,QAAQ,AAA/B,CACA,EADQ,MAAM,CACd;CAI8D,GAJpD;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,MAAM,GAAC,SAAS,CAAC,CAAA;CAAC,GAAC,IAAI,CAoE5G;AA6FD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAFzB,MAEyB,QAsBnC;AAsDD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAJjC,MAAM,EAI2B,EAAE,UAAU,EAH7C,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAGU,GAF3C,MAAM,EAAE,CAoBpB"}
@@ -0,0 +1,163 @@
1
+ /** Warning emitted for repository URLs resolved from untrusted package registry metadata. */
2
+ export declare const PURL_REGISTRY_LOOKUP_WARNING = "Resolved repository URL from package registry metadata. This source can be inaccurate or malicious; review before trusting results.";
3
+ /** Purl types supported for source repository resolution. */
4
+ export declare const SUPPORTED_PURL_SOURCE_TYPES: string[];
5
+ /**
6
+ * Validate git ref names used as branch/tag values.
7
+ *
8
+ * @param {string|undefined} refName branch or tag name
9
+ * @returns {boolean} true if safe
10
+ */
11
+ export declare function isSafeGitRefName(refName: string | undefined): boolean;
12
+ /**
13
+ * Execute git with hardened defaults.
14
+ *
15
+ * @param {string[]} args git arguments
16
+ * @param {Object} options command options
17
+ * @param {string|undefined} options.cwd working directory
18
+ * @returns {Object} spawn result
19
+ */
20
+ export declare function hardenedGitCommand(args: string[], options?: {
21
+ cwd: string | undefined;
22
+ }): Object;
23
+ /**
24
+ * Build CycloneDX release notes from git tags and commits.
25
+ *
26
+ * @param {string|undefined} repoPath local repository path
27
+ * @param {Object} options options carrying release notes hints
28
+ * @returns {Object|undefined} releaseNotes object
29
+ */
30
+ export declare function buildReleaseNotesFromGit(repoPath: string | undefined, options?: Object): Object | undefined;
31
+ /**
32
+ * Return git allow protocol string from the environment variables.
33
+ *
34
+ * @returns {string} git allow protocol string
35
+ */
36
+ export declare function getGitAllowProtocol(): string;
37
+ /**
38
+ * Checks the given hostname against the allowed list.
39
+ *
40
+ * @param {string} hostname Host name to check
41
+ * @returns {boolean} true if the hostname in its entirety is allowed. false otherwise.
42
+ */
43
+ export declare function isAllowedHost(hostname: string): boolean;
44
+ /**
45
+ * Checks the given path string to belong to a drive in Windows.
46
+ *
47
+ * @param {string} p Path string to check
48
+ * @returns {boolean} true if the windows path belongs to a drive. false otherwise (device names)
49
+ */
50
+ export declare function isAllowedWinPath(p: string): boolean;
51
+ /**
52
+ * Checks the given path against the allowed list.
53
+ *
54
+ * @param {string} p Path string to check
55
+ * @returns {boolean} true if the path is present in the allowed paths. false otherwise.
56
+ */
57
+ export declare function isAllowedPath(p: string): boolean;
58
+ /**
59
+ * Determine if the path could be a package URL.
60
+ *
61
+ * @param {string} filePath Path or URL
62
+ * @returns {boolean} true if the file path looks like a purl
63
+ */
64
+ export declare function maybePurlSource(filePath: string): boolean;
65
+ /**
66
+ * Determine if the file path could be a remote URL.
67
+ *
68
+ * @param {string} filePath The Git URL or local path
69
+ * @returns {boolean} true if the file path is a remote URL. false otherwise.
70
+ */
71
+ export declare function maybeRemotePath(filePath: string): boolean;
72
+ /**
73
+ * Validates a given Git URL/Path against dangerous protocols and allowed hosts.
74
+ *
75
+ * @param {string} filePath The Git URL or local path
76
+ * @returns {Object|null} Error object if invalid, or null if valid
77
+ */
78
+ export declare function validateAndRejectGitSource(filePath: string): Object | null;
79
+ /**
80
+ * Clone a git repository into a temporary directory.
81
+ *
82
+ * @param {string} repoUrl Repository URL
83
+ * @param {string|string[]|null} branch Branch name
84
+ * @returns {string} cloned directory path
85
+ */
86
+ export declare function gitClone(repoUrl: string, branch?: string | string[] | null): string;
87
+ /**
88
+ * Sanitize remote URL for logging.
89
+ *
90
+ * @param {string|undefined} remoteUrl Repository URL
91
+ * @returns {string|undefined} sanitized URL
92
+ */
93
+ export declare function sanitizeRemoteUrlForLogs(remoteUrl: string | undefined): string | undefined;
94
+ /**
95
+ * Find a matching git ref for a package version.
96
+ *
97
+ * @param {string} repoUrl Repository URL
98
+ * @param {Object|undefined} purlResolution purl resolution metadata
99
+ * @returns {string|undefined} matching tag or branch reference
100
+ */
101
+ export declare function findGitRefForPurlVersion(repoUrl: string, purlResolution: Object | undefined): string | undefined;
102
+ /**
103
+ * Find the best source directory for purl-based npm monorepo scans.
104
+ *
105
+ * @param {string} srcDir cloned source directory
106
+ * @param {Object|undefined} purlResolution purl resolution metadata
107
+ * @returns {string|undefined} preferred source directory
108
+ */
109
+ export declare function resolvePurlSourceDirectory(srcDir: string, purlResolution: Object | undefined): string | undefined;
110
+ /**
111
+ * Validate package URL source input and return an error object when invalid.
112
+ *
113
+ * @param {string} purlString package URL string
114
+ * @returns {{status:number,error:string,details:string}|null} validation error or null
115
+ */
116
+ export declare function validatePurlSource(purlString: string): {
117
+ status: number;
118
+ error: string;
119
+ details: string;
120
+ } | null;
121
+ /**
122
+ * Discard prefetched registry documents. Tests only.
123
+ */
124
+ export declare function resetGitUrlSourcePrefetch(): void;
125
+ /**
126
+ * Prefetch the registry documents a list of purls will be resolved from.
127
+ *
128
+ * `resolveGitUrlFromPurl` takes a single purl, so on its own it can only ever
129
+ * make one request at a time. Callers that know the whole list up front — the
130
+ * predictive audit knows every target before it starts — can hand it over here
131
+ * and have the documents fetched in one round instead.
132
+ *
133
+ * @param {Array<string>} purlStrings Purls about to be resolved. Duplicates,
134
+ * empties and unparseable entries are fine.
135
+ * @returns {Promise<void>}
136
+ */
137
+ export declare function prefetchGitUrlSources(purlStrings: Array<string>): Promise<void>;
138
+ /**
139
+ * Resolve source repository details for a package from its purl.
140
+ *
141
+ * Queries the package registry (or constructs the URL directly for VCS-hosted
142
+ * purl types) and normalizes the repository or homepage URL found in registry
143
+ * metadata. Network and lookup failures are logged and yield `undefined`.
144
+ *
145
+ * @param {string} purlString Package URL string
146
+ * @param {Object} [helpers={}] Injected registry helpers (e.g. `fetchPomXmlAsJson` required for maven)
147
+ * @returns {Promise<{type: string, registry: string, repoUrl: string, version: string, namespace: string, name: string}|undefined>} Resolved source details, or `undefined` when no remote repository URL could be resolved
148
+ */
149
+ export declare function resolveGitUrlFromPurl(purlString: string, helpers?: Object): Promise<{
150
+ type: string;
151
+ registry: string;
152
+ repoUrl: string;
153
+ version: string;
154
+ namespace: string;
155
+ name: string;
156
+ } | undefined>;
157
+ /**
158
+ * Clean up cloned source directories.
159
+ *
160
+ * @param {string} srcDir directory path to remove
161
+ */
162
+ export declare function cleanupSourceDir(srcDir: string): void;
163
+ //# sourceMappingURL=source.d.ts.map