@cdxgen/cdxgen 13.3.0 → 13.5.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 (372) hide show
  1. package/README.md +12 -9
  2. package/bin/cdxgen-secure.js +15 -0
  3. package/bin/cdxgen.js +115 -31
  4. package/bin/evinse.js +23 -1
  5. package/bin/hbom.js +15 -7
  6. package/bin/repl.js +115 -0
  7. package/bin/sign.js +45 -15
  8. package/bin/tracebom.js +5 -1
  9. package/bin/validate.js +84 -18
  10. package/bin/verify.js +155 -86
  11. package/data/cbomosdb-queries.json +13 -1
  12. package/data/component-tags.json +8 -0
  13. package/data/helpers/init.gradle +46 -21
  14. package/data/queries-darwin.json +25 -1
  15. package/data/queries-win.json +19 -1
  16. package/data/queries.json +41 -0
  17. package/data/remediations.json +344 -1
  18. package/data/rules/cbom-security.yaml +235 -4
  19. package/data/rules/dependency-sources.yaml +67 -0
  20. package/data/rules/go-binaries.yaml +46 -0
  21. package/data/rules/golem-go.yaml +80 -0
  22. package/data/rules/hbom-compliance.yaml +40 -22
  23. package/data/rules/hbom-performance.yaml +7 -1
  24. package/data/rules/host-topology.yaml +1 -1
  25. package/data/rules/obom-runtime.yaml +31 -2
  26. package/data/rules/php-runtime.yaml +143 -0
  27. package/data/rules/scala-evidence.yaml +115 -0
  28. package/lib/audit/index.js +52 -6
  29. package/lib/cli/bomAssembly.js +28 -3
  30. package/lib/cli/cliOptions.js +110 -3
  31. package/lib/cli/index.js +186 -58
  32. package/lib/cli/jsBom.js +50 -29
  33. package/lib/cli/jvmBom.js +779 -146
  34. package/lib/cli/managedBom.js +1021 -261
  35. package/lib/cli/nativeBom.js +364 -58
  36. package/lib/core/activity.js +12 -0
  37. package/lib/core/env.js +47 -17
  38. package/lib/core/fs.js +31 -21
  39. package/lib/core/httpClient.js +233 -69
  40. package/lib/core/pluginRun.js +184 -0
  41. package/lib/core/processTree.js +100 -0
  42. package/lib/core/projectConfig.js +1 -0
  43. package/lib/core/projectTooling.js +97 -0
  44. package/lib/core/propertySanitizer.js +72 -0
  45. package/lib/core/runState.js +39 -0
  46. package/lib/core/toml.js +72 -0
  47. package/lib/ecosystems/asarutils.js +4 -2
  48. package/lib/ecosystems/bunutils.js +5 -7
  49. package/lib/ecosystems/cargoCache.js +231 -8
  50. package/lib/ecosystems/cmakeResolver.js +10 -21
  51. package/lib/ecosystems/cppBuildContext.js +631 -0
  52. package/lib/ecosystems/cppEvidence.js +337 -22
  53. package/lib/ecosystems/cppIncludeResolver.js +294 -0
  54. package/lib/ecosystems/denoutils.js +93 -66
  55. package/lib/ecosystems/ecosystems.js +1967 -788
  56. package/lib/ecosystems/golem.js +578 -18
  57. package/lib/ecosystems/gradleutils.js +340 -46
  58. package/lib/ecosystems/jsEvidence.js +85 -24
  59. package/lib/ecosystems/kosi.js +21 -4
  60. package/lib/ecosystems/npmutils.js +64 -0
  61. package/lib/ecosystems/parsers-dotnet.js +668 -153
  62. package/lib/ecosystems/parsers-elm.js +46 -28
  63. package/lib/ecosystems/parsers-gleam.js +3 -4
  64. package/lib/ecosystems/parsers-go.js +1283 -297
  65. package/lib/ecosystems/parsers-js.js +92 -26
  66. package/lib/ecosystems/parsers-julia.js +2 -3
  67. package/lib/ecosystems/parsers-jvm.js +463 -29
  68. package/lib/ecosystems/parsers-misc.js +405 -93
  69. package/lib/ecosystems/parsers-python.js +152 -20
  70. package/lib/ecosystems/parsers-rust.js +4 -4
  71. package/lib/ecosystems/parsers-terraform.js +1573 -19
  72. package/lib/ecosystems/pythonutils.js +102 -6
  73. package/lib/ecosystems/remote/huggingface.js +3 -0
  74. package/lib/ecosystems/rubyutils.js +73 -20
  75. package/lib/ecosystems/rusi.js +32 -9
  76. package/lib/ecosystems/sbtutils.js +243 -187
  77. package/lib/ecosystems/scalacliutils.js +343 -0
  78. package/lib/ecosystems/scalasem.js +2620 -0
  79. package/lib/ecosystems/terraformRegistry.js +288 -0
  80. package/lib/ecosystems/utils.js +2 -0
  81. package/lib/ecosystems/vendoredCode.js +156 -0
  82. package/lib/evinser/evinser.js +695 -78
  83. package/lib/evinser/swiftsem.js +68 -5
  84. package/lib/helpers/agenticToolutils.js +2 -2
  85. package/lib/helpers/bomSigner.js +576 -128
  86. package/lib/inventory/agentSkillSpec.js +17 -0
  87. package/lib/inventory/aiCollector.js +4 -1
  88. package/lib/inventory/analyzer.js +110 -127
  89. package/lib/inventory/apkInstalledDb.js +243 -0
  90. package/lib/inventory/atomUtils.js +204 -48
  91. package/lib/inventory/auditCategories.js +10 -3
  92. package/lib/inventory/buildToolRateLimit.js +144 -0
  93. package/lib/inventory/cacheCommands.js +2 -1
  94. package/lib/inventory/cacheDir.js +52 -9
  95. package/lib/inventory/certificates.js +2371 -0
  96. package/lib/inventory/cmakeBuildDirs.js +254 -0
  97. package/lib/inventory/communityAiConfigParser.js +4 -9
  98. package/lib/inventory/deps.js +507 -128
  99. package/lib/inventory/display.js +200 -3
  100. package/lib/inventory/dosai.js +747 -101
  101. package/lib/inventory/dosaiParsers.js +310 -15
  102. package/lib/inventory/dynamic.js +96 -8
  103. package/lib/inventory/envcontext.js +168 -5
  104. package/lib/inventory/evidenceUtils.js +590 -132
  105. package/lib/inventory/fetchBatch.js +574 -38
  106. package/lib/inventory/fetchDiskCache.js +597 -0
  107. package/lib/inventory/forgeEnricher.js +14 -5
  108. package/lib/inventory/formulationParsers.js +3 -2
  109. package/lib/inventory/goBuildInfo.js +140 -0
  110. package/lib/inventory/hbom.js +67 -7
  111. package/lib/inventory/hbomAnalysis.js +16 -0
  112. package/lib/inventory/hostTopology.js +21 -0
  113. package/lib/inventory/jvmLocalRepos.js +917 -0
  114. package/lib/inventory/mcpConfigParser.js +2 -3
  115. package/lib/inventory/osPackagePurl.js +244 -0
  116. package/lib/inventory/osPackageResolver.js +89 -87
  117. package/lib/inventory/osinfo.js +79 -31
  118. package/lib/inventory/osqueryTransform.js +114 -5
  119. package/lib/inventory/parentSelection.js +146 -0
  120. package/lib/inventory/phpBuildInfo.js +487 -0
  121. package/lib/inventory/phpHostProbe.js +641 -0
  122. package/lib/inventory/rootfsCerts.js +426 -0
  123. package/lib/inventory/rustFormulationParser.js +3 -4
  124. package/lib/inventory/scalaCoords.js +153 -0
  125. package/lib/inventory/source.js +215 -11
  126. package/lib/inventory/spdx.js +245 -0
  127. package/lib/inventory/traceRunner.js +93 -8
  128. package/lib/inventory/tracedCrypto.js +423 -0
  129. package/lib/managers/binary.js +529 -183
  130. package/lib/managers/docker.js +199 -44
  131. package/lib/managers/oci.js +24 -2
  132. package/lib/parsers/cmakeCache.js +69 -0
  133. package/lib/parsers/cmakeLists.js +16 -2
  134. package/lib/parsers/cmakePresets.js +400 -0
  135. package/lib/parsers/compileCommands.js +557 -0
  136. package/lib/parsers/email.js +277 -0
  137. package/lib/parsers/largeJson.js +34 -2
  138. package/lib/parsers/strictJson.js +322 -0
  139. package/lib/parsers/terraformConfig.js +1073 -0
  140. package/lib/parsers/terraformSource.js +652 -0
  141. package/lib/server/server.js +209 -1
  142. package/lib/stages/postgen/annotator.js +17 -1
  143. package/lib/stages/postgen/introspection/markers.js +1 -1
  144. package/lib/stages/postgen/introspection/reflect.js +4 -1
  145. package/lib/stages/postgen/postgen.js +20 -6
  146. package/lib/stages/postgen/ruleEngine.js +58 -1
  147. package/lib/stages/postgen/specVersionCompat.js +62 -0
  148. package/lib/stages/pregen/pregen.js +117 -5
  149. package/lib/validator/bomValidator.js +26 -5
  150. package/lib/validator/generated/runtime.mjs +13 -0
  151. package/lib/validator/generated/validate-1.6.mjs +26 -7
  152. package/lib/validator/generated/validate-1.7.mjs +31 -12
  153. package/lib/validator/generated/validate-2.0.mjs +30 -11
  154. package/lib/validator/index.js +25 -10
  155. package/lib/validator/reporters/json.js +1 -0
  156. package/package.json +23 -23
  157. package/types/bin/cdxgen-secure.d.ts +3 -0
  158. package/types/bin/cdxgen-secure.d.ts.map +1 -0
  159. package/types/bin/repl.d.ts.map +1 -1
  160. package/types/lib/audit/index.d.ts.map +1 -1
  161. package/types/lib/cli/bomAssembly.d.ts +9 -2
  162. package/types/lib/cli/bomAssembly.d.ts.map +1 -1
  163. package/types/lib/cli/cliOptions.d.ts +43 -0
  164. package/types/lib/cli/cliOptions.d.ts.map +1 -1
  165. package/types/lib/cli/index.d.ts.map +1 -1
  166. package/types/lib/cli/jsBom.d.ts.map +1 -1
  167. package/types/lib/cli/jvmBom.d.ts +44 -1
  168. package/types/lib/cli/jvmBom.d.ts.map +1 -1
  169. package/types/lib/cli/managedBom.d.ts +7 -4
  170. package/types/lib/cli/managedBom.d.ts.map +1 -1
  171. package/types/lib/cli/nativeBom.d.ts +3 -1
  172. package/types/lib/cli/nativeBom.d.ts.map +1 -1
  173. package/types/lib/core/activity.d.ts.map +1 -1
  174. package/types/lib/core/env.d.ts +27 -2
  175. package/types/lib/core/env.d.ts.map +1 -1
  176. package/types/lib/core/fs.d.ts.map +1 -1
  177. package/types/lib/core/httpClient.d.ts +13 -8
  178. package/types/lib/core/httpClient.d.ts.map +1 -1
  179. package/types/lib/core/pluginRun.d.ts +97 -0
  180. package/types/lib/core/pluginRun.d.ts.map +1 -0
  181. package/types/lib/core/processTree.d.ts +36 -0
  182. package/types/lib/core/processTree.d.ts.map +1 -0
  183. package/types/lib/core/projectConfig.d.ts.map +1 -1
  184. package/types/lib/core/projectTooling.d.ts +41 -0
  185. package/types/lib/core/projectTooling.d.ts.map +1 -0
  186. package/types/lib/core/propertySanitizer.d.ts +26 -0
  187. package/types/lib/core/propertySanitizer.d.ts.map +1 -1
  188. package/types/lib/core/runState.d.ts +29 -0
  189. package/types/lib/core/runState.d.ts.map +1 -0
  190. package/types/lib/core/toml.d.ts +20 -0
  191. package/types/lib/core/toml.d.ts.map +1 -0
  192. package/types/lib/ecosystems/asarutils.d.ts.map +1 -1
  193. package/types/lib/ecosystems/bunutils.d.ts.map +1 -1
  194. package/types/lib/ecosystems/cargoCache.d.ts +12 -0
  195. package/types/lib/ecosystems/cargoCache.d.ts.map +1 -1
  196. package/types/lib/ecosystems/cmakeResolver.d.ts +5 -3
  197. package/types/lib/ecosystems/cmakeResolver.d.ts.map +1 -1
  198. package/types/lib/ecosystems/cppBuildContext.d.ts +55 -0
  199. package/types/lib/ecosystems/cppBuildContext.d.ts.map +1 -0
  200. package/types/lib/ecosystems/cppEvidence.d.ts +19 -3
  201. package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -1
  202. package/types/lib/ecosystems/cppIncludeResolver.d.ts +92 -0
  203. package/types/lib/ecosystems/cppIncludeResolver.d.ts.map +1 -0
  204. package/types/lib/ecosystems/denoutils.d.ts +9 -3
  205. package/types/lib/ecosystems/denoutils.d.ts.map +1 -1
  206. package/types/lib/ecosystems/ecosystems.d.ts +62 -13
  207. package/types/lib/ecosystems/ecosystems.d.ts.map +1 -1
  208. package/types/lib/ecosystems/golem.d.ts +81 -1
  209. package/types/lib/ecosystems/golem.d.ts.map +1 -1
  210. package/types/lib/ecosystems/gradleutils.d.ts +59 -7
  211. package/types/lib/ecosystems/gradleutils.d.ts.map +1 -1
  212. package/types/lib/ecosystems/jsEvidence.d.ts.map +1 -1
  213. package/types/lib/ecosystems/kosi.d.ts.map +1 -1
  214. package/types/lib/ecosystems/npmutils.d.ts +15 -0
  215. package/types/lib/ecosystems/npmutils.d.ts.map +1 -1
  216. package/types/lib/ecosystems/parsers-dotnet.d.ts +155 -5
  217. package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -1
  218. package/types/lib/ecosystems/parsers-elm.d.ts.map +1 -1
  219. package/types/lib/ecosystems/parsers-gleam.d.ts.map +1 -1
  220. package/types/lib/ecosystems/parsers-go.d.ts +119 -5
  221. package/types/lib/ecosystems/parsers-go.d.ts.map +1 -1
  222. package/types/lib/ecosystems/parsers-js.d.ts +6 -1
  223. package/types/lib/ecosystems/parsers-js.d.ts.map +1 -1
  224. package/types/lib/ecosystems/parsers-julia.d.ts.map +1 -1
  225. package/types/lib/ecosystems/parsers-jvm.d.ts +74 -3
  226. package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -1
  227. package/types/lib/ecosystems/parsers-misc.d.ts +21 -59
  228. package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -1
  229. package/types/lib/ecosystems/parsers-python.d.ts +57 -6
  230. package/types/lib/ecosystems/parsers-python.d.ts.map +1 -1
  231. package/types/lib/ecosystems/parsers-terraform.d.ts +38 -21
  232. package/types/lib/ecosystems/parsers-terraform.d.ts.map +1 -1
  233. package/types/lib/ecosystems/pythonutils.d.ts +26 -1
  234. package/types/lib/ecosystems/pythonutils.d.ts.map +1 -1
  235. package/types/lib/ecosystems/remote/huggingface.d.ts.map +1 -1
  236. package/types/lib/ecosystems/rubyutils.d.ts +21 -1
  237. package/types/lib/ecosystems/rubyutils.d.ts.map +1 -1
  238. package/types/lib/ecosystems/rusi.d.ts.map +1 -1
  239. package/types/lib/ecosystems/sbtutils.d.ts +88 -2
  240. package/types/lib/ecosystems/sbtutils.d.ts.map +1 -1
  241. package/types/lib/ecosystems/scalacliutils.d.ts +56 -0
  242. package/types/lib/ecosystems/scalacliutils.d.ts.map +1 -0
  243. package/types/lib/ecosystems/scalasem.d.ts +311 -0
  244. package/types/lib/ecosystems/scalasem.d.ts.map +1 -0
  245. package/types/lib/ecosystems/terraformRegistry.d.ts +9 -0
  246. package/types/lib/ecosystems/terraformRegistry.d.ts.map +1 -0
  247. package/types/lib/ecosystems/utils.d.ts +2 -2
  248. package/types/lib/ecosystems/utils.d.ts.map +1 -1
  249. package/types/lib/ecosystems/vendoredCode.d.ts +32 -0
  250. package/types/lib/ecosystems/vendoredCode.d.ts.map +1 -0
  251. package/types/lib/evinser/evinser.d.ts +100 -8
  252. package/types/lib/evinser/evinser.d.ts.map +1 -1
  253. package/types/lib/evinser/swiftsem.d.ts +10 -0
  254. package/types/lib/evinser/swiftsem.d.ts.map +1 -1
  255. package/types/lib/helpers/bomSigner.d.ts +80 -4
  256. package/types/lib/helpers/bomSigner.d.ts.map +1 -1
  257. package/types/lib/inventory/agentSkillSpec.d.ts +13 -0
  258. package/types/lib/inventory/agentSkillSpec.d.ts.map +1 -0
  259. package/types/lib/inventory/aiCollector.d.ts.map +1 -1
  260. package/types/lib/inventory/analyzer.d.ts.map +1 -1
  261. package/types/lib/inventory/apkInstalledDb.d.ts +42 -0
  262. package/types/lib/inventory/apkInstalledDb.d.ts.map +1 -0
  263. package/types/lib/inventory/atomUtils.d.ts +96 -10
  264. package/types/lib/inventory/atomUtils.d.ts.map +1 -1
  265. package/types/lib/inventory/auditCategories.d.ts +3 -0
  266. package/types/lib/inventory/auditCategories.d.ts.map +1 -1
  267. package/types/lib/inventory/buildToolRateLimit.d.ts +38 -0
  268. package/types/lib/inventory/buildToolRateLimit.d.ts.map +1 -0
  269. package/types/lib/inventory/cacheCommands.d.ts +2 -1
  270. package/types/lib/inventory/cacheCommands.d.ts.map +1 -1
  271. package/types/lib/inventory/cacheDir.d.ts +12 -4
  272. package/types/lib/inventory/cacheDir.d.ts.map +1 -1
  273. package/types/lib/inventory/certificates.d.ts +205 -0
  274. package/types/lib/inventory/certificates.d.ts.map +1 -0
  275. package/types/lib/inventory/cmakeBuildDirs.d.ts +58 -0
  276. package/types/lib/inventory/cmakeBuildDirs.d.ts.map +1 -0
  277. package/types/lib/inventory/communityAiConfigParser.d.ts.map +1 -1
  278. package/types/lib/inventory/deps.d.ts +61 -2
  279. package/types/lib/inventory/deps.d.ts.map +1 -1
  280. package/types/lib/inventory/display.d.ts +18 -0
  281. package/types/lib/inventory/display.d.ts.map +1 -1
  282. package/types/lib/inventory/dosai.d.ts +202 -14
  283. package/types/lib/inventory/dosai.d.ts.map +1 -1
  284. package/types/lib/inventory/dosaiParsers.d.ts +53 -7
  285. package/types/lib/inventory/dosaiParsers.d.ts.map +1 -1
  286. package/types/lib/inventory/dynamic.d.ts +16 -1
  287. package/types/lib/inventory/dynamic.d.ts.map +1 -1
  288. package/types/lib/inventory/envcontext.d.ts +40 -2
  289. package/types/lib/inventory/envcontext.d.ts.map +1 -1
  290. package/types/lib/inventory/evidenceUtils.d.ts +48 -14
  291. package/types/lib/inventory/evidenceUtils.d.ts.map +1 -1
  292. package/types/lib/inventory/fetchBatch.d.ts +83 -14
  293. package/types/lib/inventory/fetchBatch.d.ts.map +1 -1
  294. package/types/lib/inventory/fetchDiskCache.d.ts +169 -0
  295. package/types/lib/inventory/fetchDiskCache.d.ts.map +1 -0
  296. package/types/lib/inventory/forgeEnricher.d.ts.map +1 -1
  297. package/types/lib/inventory/formulationParsers.d.ts.map +1 -1
  298. package/types/lib/inventory/goBuildInfo.d.ts +10 -0
  299. package/types/lib/inventory/goBuildInfo.d.ts.map +1 -0
  300. package/types/lib/inventory/hbom.d.ts.map +1 -1
  301. package/types/lib/inventory/hbomAnalysis.d.ts +10 -0
  302. package/types/lib/inventory/hbomAnalysis.d.ts.map +1 -1
  303. package/types/lib/inventory/hostTopology.d.ts.map +1 -1
  304. package/types/lib/inventory/jvmLocalRepos.d.ts +178 -0
  305. package/types/lib/inventory/jvmLocalRepos.d.ts.map +1 -0
  306. package/types/lib/inventory/mcpConfigParser.d.ts.map +1 -1
  307. package/types/lib/inventory/osPackagePurl.d.ts +99 -0
  308. package/types/lib/inventory/osPackagePurl.d.ts.map +1 -0
  309. package/types/lib/inventory/osPackageResolver.d.ts +6 -2
  310. package/types/lib/inventory/osPackageResolver.d.ts.map +1 -1
  311. package/types/lib/inventory/osinfo.d.ts +31 -6
  312. package/types/lib/inventory/osinfo.d.ts.map +1 -1
  313. package/types/lib/inventory/osqueryTransform.d.ts +51 -0
  314. package/types/lib/inventory/osqueryTransform.d.ts.map +1 -1
  315. package/types/lib/inventory/parentSelection.d.ts +34 -0
  316. package/types/lib/inventory/parentSelection.d.ts.map +1 -0
  317. package/types/lib/inventory/phpBuildInfo.d.ts +142 -0
  318. package/types/lib/inventory/phpBuildInfo.d.ts.map +1 -0
  319. package/types/lib/inventory/phpHostProbe.d.ts +35 -0
  320. package/types/lib/inventory/phpHostProbe.d.ts.map +1 -0
  321. package/types/lib/inventory/rootfsCerts.d.ts +27 -0
  322. package/types/lib/inventory/rootfsCerts.d.ts.map +1 -0
  323. package/types/lib/inventory/rustFormulationParser.d.ts.map +1 -1
  324. package/types/lib/inventory/scalaCoords.d.ts +80 -0
  325. package/types/lib/inventory/scalaCoords.d.ts.map +1 -0
  326. package/types/lib/inventory/source.d.ts +28 -0
  327. package/types/lib/inventory/source.d.ts.map +1 -1
  328. package/types/lib/inventory/spdx.d.ts +24 -0
  329. package/types/lib/inventory/spdx.d.ts.map +1 -1
  330. package/types/lib/inventory/traceRunner.d.ts +16 -1
  331. package/types/lib/inventory/traceRunner.d.ts.map +1 -1
  332. package/types/lib/inventory/tracedCrypto.d.ts +64 -0
  333. package/types/lib/inventory/tracedCrypto.d.ts.map +1 -0
  334. package/types/lib/managers/binary.d.ts +10 -0
  335. package/types/lib/managers/binary.d.ts.map +1 -1
  336. package/types/lib/managers/docker.d.ts +12 -0
  337. package/types/lib/managers/docker.d.ts.map +1 -1
  338. package/types/lib/managers/oci.d.ts +3 -1
  339. package/types/lib/managers/oci.d.ts.map +1 -1
  340. package/types/lib/parsers/cmakeCache.d.ts +16 -0
  341. package/types/lib/parsers/cmakeCache.d.ts.map +1 -1
  342. package/types/lib/parsers/cmakeLists.d.ts +2 -1
  343. package/types/lib/parsers/cmakeLists.d.ts.map +1 -1
  344. package/types/lib/parsers/cmakePresets.d.ts +78 -0
  345. package/types/lib/parsers/cmakePresets.d.ts.map +1 -0
  346. package/types/lib/parsers/compileCommands.d.ts +115 -0
  347. package/types/lib/parsers/compileCommands.d.ts.map +1 -0
  348. package/types/lib/parsers/email.d.ts +19 -0
  349. package/types/lib/parsers/email.d.ts.map +1 -0
  350. package/types/lib/parsers/largeJson.d.ts +13 -0
  351. package/types/lib/parsers/largeJson.d.ts.map +1 -1
  352. package/types/lib/parsers/strictJson.d.ts +46 -0
  353. package/types/lib/parsers/strictJson.d.ts.map +1 -0
  354. package/types/lib/parsers/terraformConfig.d.ts +70 -0
  355. package/types/lib/parsers/terraformConfig.d.ts.map +1 -0
  356. package/types/lib/parsers/terraformSource.d.ts +66 -0
  357. package/types/lib/parsers/terraformSource.d.ts.map +1 -0
  358. package/types/lib/server/server.d.ts +8 -0
  359. package/types/lib/server/server.d.ts.map +1 -1
  360. package/types/lib/stages/postgen/annotator.d.ts.map +1 -1
  361. package/types/lib/stages/postgen/introspection/reflect.d.ts.map +1 -1
  362. package/types/lib/stages/postgen/postgen.d.ts.map +1 -1
  363. package/types/lib/stages/postgen/ruleEngine.d.ts +7 -4
  364. package/types/lib/stages/postgen/ruleEngine.d.ts.map +1 -1
  365. package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -1
  366. package/types/lib/stages/pregen/pregen.d.ts +14 -1
  367. package/types/lib/stages/pregen/pregen.d.ts.map +1 -1
  368. package/types/lib/validator/bomValidator.d.ts.map +1 -1
  369. package/types/lib/validator/index.d.ts +8 -0
  370. package/types/lib/validator/index.d.ts.map +1 -1
  371. package/types/lib/validator/reporters/json.d.ts.map +1 -1
  372. package/lib/third-party/arborist/snapshots/calc-dep-flags.test.cjs +0 -462
@@ -1,3 +1,41 @@
1
+ /**
2
+ * The .NET runtime a framework-dependent dosai needs, read from the error the
3
+ * .NET host prints when it refuses to start dosai.
4
+ *
5
+ * When an older runtime is installed, the host names the exact framework
6
+ * version it looked for. When it finds no .NET at all, it names only its own
7
+ * version. The app host comes from the pack of the runtime the app targets, so
8
+ * its major version is still the .NET release to install.
9
+ *
10
+ * @param {Object|string} resultOrOutput spawnSync result, or the text it printed
11
+ * @returns {{version: (string|undefined), major: (string|undefined)}|undefined}
12
+ * The framework version, when the host named it, and the .NET major version;
13
+ * undefined when the output is not a .NET host launch failure
14
+ */
15
+ export declare function dosaiDotnetRequirement(resultOrOutput: Object | string): {
16
+ version: (string | undefined);
17
+ major: (string | undefined);
18
+ } | undefined;
19
+ /**
20
+ * What stopped dosai from starting, for warnings and ledger details.
21
+ *
22
+ * @param {{version: (string|undefined), major: (string|undefined)}} [requirement] Result of dosaiDotnetRequirement
23
+ * @returns {string} A clause naming the missing .NET runtime when it is known
24
+ */
25
+ export declare function dosaiDotnetRequirementDetail(requirement?: {
26
+ version: (string | undefined);
27
+ major: (string | undefined);
28
+ }): string;
29
+ /**
30
+ * How to get dosai running when the .NET host refused to start it.
31
+ *
32
+ * @param {{version: (string|undefined), major: (string|undefined)}} [requirement] Result of dosaiDotnetRequirement
33
+ * @returns {string} Install instructions, naming the .NET major version when it is known
34
+ */
35
+ export declare function dosaiDotnetRequirementAdvice(requirement?: {
36
+ version: (string | undefined);
37
+ major: (string | undefined);
38
+ }): string;
1
39
  /**
2
40
  * Translate cdxgen --exclude globs into dosai --exclude globs.
3
41
  *
@@ -41,6 +79,55 @@ export declare function isDosaiDotnetLanguage(language: string): boolean;
41
79
  * @returns {Object|undefined} Parsed JSON content, or undefined when missing or invalid
42
80
  */
43
81
  export declare function readDosaiJsonFile(jsonFile: string): Object | undefined;
82
+ /**
83
+ * The `--sections` value that writes exactly the sections cdxgen reads.
84
+ *
85
+ * Passed as `dosaiMethodsSections` by callers that know their run will not
86
+ * need the whole report (see {@link runsEvidenceAnalysis}); an older dosai
87
+ * that rejects `--sections` falls back to the full report on its own.
88
+ *
89
+ * @returns {string} Comma-separated section list for dosai `--sections`
90
+ */
91
+ export declare function dosaiMethodsSectionsArgument(): string;
92
+ /**
93
+ * Whether this scan will run the evidence (evinse) analysis.
94
+ *
95
+ * One place answers for both the trim decision in `createCsharpBom` and the
96
+ * evinse gate in `bin/cdxgen.js`: `--evidence` alone runs it, and so does
97
+ * `--include-crypto` alone, after profiles are applied (`--profile research`
98
+ * turns on both). Testing `options.evidence` alone would trim a report that
99
+ * `--include-crypto` then needs full.
100
+ *
101
+ * @param {Object} options Scan options after profile expansion
102
+ * @returns {boolean} True when the scan will run evinse
103
+ */
104
+ export declare function runsEvidenceAnalysis(options: Object): boolean;
105
+ /**
106
+ * The top-level sections a dosai methods report left out, empty for a full
107
+ * report. dosai v4 reports have no `OmittedSections`, so they count as full.
108
+ *
109
+ * @param {Object} [report] A dosai methods report as read by readDosaiMethodsReport
110
+ * @returns {string[]} The omitted section names
111
+ */
112
+ export declare function dosaiOmittedSections(report?: Object): string[];
113
+ /**
114
+ * The top-level sections a dosai methods report file left out, read from its
115
+ * Metadata alone. dosai writes Metadata first, so this reads only the head of
116
+ * the file, however large the report is. A missing or unreadable file counts
117
+ * as full: the read that follows reports it.
118
+ *
119
+ * @param {string} reportFile Path to the dosai methods JSON
120
+ * @returns {string[]} The omitted section names
121
+ */
122
+ export declare function dosaiReportFileOmittedSections(reportFile: string): string[];
123
+ /**
124
+ * The omitted sections of a dosai methods report that cdxgen reads, so the
125
+ * evidence built from the report lacks their input.
126
+ *
127
+ * @param {string[]} omittedSections Sections the report left out
128
+ * @returns {string[]} The ones cdxgen reads
129
+ */
130
+ export declare function dosaiSectionsCdxgenReads(omittedSections: string[]): string[];
44
131
  /**
45
132
  * Read a dosai methods report of any size.
46
133
  *
@@ -75,14 +162,67 @@ export declare function readDosaiMethodsReport(reportFile: string, options?: {
75
162
  export declare function readDosaiDataFlowReport(reportFile: string, options?: {
76
163
  maxTextBytes?: number;
77
164
  }): Object | undefined;
165
+ /**
166
+ * Whether a dosai run ended because it ran out of time.
167
+ *
168
+ * dosai has no limit of its own: cdxgen's spawn timeout
169
+ * (CDXGEN_TIMEOUT_MS) stops the process, which reaches the caller only as an
170
+ * ETIMEDOUT error looking like any other failure (issue 4438).
171
+ *
172
+ * @param {Object} result spawnSync result
173
+ * @returns {boolean} true when the run was stopped by the spawn timeout
174
+ */
175
+ export declare function dosaiRunTimedOut(result: Object): boolean;
176
+ /**
177
+ * How a dosai run was stopped before it could finish, if it was.
178
+ *
179
+ * Besides the spawn timeout, a run is stopped when its console output outgrows
180
+ * CDXGEN_MAX_BUFFER (ENOBUFS) or a signal ends it, such as the kernel's
181
+ * out-of-memory killer. A stopped run can leave its slice half written.
182
+ *
183
+ * @param {Object} result spawnSync result
184
+ * @returns {"timeout"|"buffer"|"signal"|undefined} Why the run was stopped, or undefined when it ended by itself
185
+ */
186
+ export declare function dosaiRunStopReason(result: Object): "timeout" | "buffer" | "signal" | undefined;
187
+ /**
188
+ * Note that the .NET host's refusal to start a dosai executable has been
189
+ * reported, so dosai runs of the same executable do not repeat the warning.
190
+ *
191
+ * @param {string} executable dosai executable
192
+ */
193
+ export declare function markDosaiLaunchFailureReported(executable: string): void;
194
+ /**
195
+ * Whether the dosai run that should have written a file was stopped (by the
196
+ * time limit, the output buffer limit, or a signal) and already reported so.
197
+ *
198
+ * @param {string} outputFile Output file passed to the dosai run
199
+ * @returns {boolean} true when the run was stopped
200
+ */
201
+ export declare function dosaiRunWasStopped(outputFile: string): boolean;
202
+ /**
203
+ * Whether the dosai run that should have written a file failed in a way it has
204
+ * already reported: it was stopped (see dosaiRunWasStopped), or the .NET host
205
+ * refused to start dosai and the warning named the missing runtime.
206
+ *
207
+ * @param {string} outputFile Output file passed to the dosai run
208
+ * @returns {boolean} true when the failure has been reported
209
+ */
210
+ export declare function dosaiFailureReported(outputFile: string): boolean;
78
211
  /**
79
212
  * Run a dosai subcommand ("methods", "dataflows", or "crypto") against a source
80
213
  * tree and write its JSON output to the given file.
81
214
  *
215
+ * Flags cdxgen adds for its own benefit that an older dosai may not know
216
+ * (--exclude, --sections, --crypto-dataflows) are optional: when dosai reports
217
+ * them as unknown, every rejected one is dropped in a single retry, later runs
218
+ * of the same executable skip them up front, and dropping is reported once
219
+ * (a warning for --exclude, whose loss changes results; a debug line for the
220
+ * size-only flags). A run that rejects anything else has simply failed.
221
+ *
82
222
  * @param {string} command Dosai subcommand to execute
83
223
  * @param {string} src Source directory to analyze
84
224
  * @param {string} outputFile Path where the dosai JSON output is written
85
- * @param {Object} [options] Options carrying dosaiCommand, dataFlowPatterns, patternPacks, or exclude globs
225
+ * @param {Object} [options] Options carrying dosaiCommand, dataFlowPatterns, patternPacks, exclude globs, or dosaiMethodsSections
86
226
  * @returns {boolean} True when the command succeeded and produced the output file, false otherwise
87
227
  */
88
228
  export declare function runDosaiCommand(command: string, src: string, outputFile: string, options?: Object): boolean;
@@ -91,7 +231,7 @@ export declare function runDosaiCommand(command: string, src: string, outputFile
91
231
  *
92
232
  * @param {string} src Source directory to analyze
93
233
  * @param {string} outputFile Path where the methods slice JSON is written
94
- * @param {Object} [options] Options forwarded to runDosaiCommand
234
+ * @param {Object} [options] Options forwarded to runDosaiCommand; `dosaiMethodsSections` names the top-level sections to write (see dosaiMethodsSectionsArgument), omitted for the full report
95
235
  * @returns {boolean} True when the slice was produced successfully
96
236
  */
97
237
  export declare function createDosaiMethodsSlice(src: string, outputFile: string, options?: Object): boolean;
@@ -121,6 +261,27 @@ export declare function createDosaiCryptoAnalysis(src: string, outputFile: strin
121
261
  * @returns {Object|undefined} Parsed crypto analysis JSON, or undefined when the analysis fails
122
262
  */
123
263
  export declare function analyzeDosaiCrypto(src: string, options?: Object): Object | undefined;
264
+ /**
265
+ * The tool component naming the dosai behind a methods report.
266
+ *
267
+ * A report that a dosai run of this process wrote names the executable that
268
+ * wrote it, with the version that executable reports. A report reused from an
269
+ * earlier run names the version recorded in its Metadata, or the configured
270
+ * dosai's own version when that is a build of the same release. No component
271
+ * is returned for a report that is missing or that no dosai wrote, such as
272
+ * when the .NET host refused to start dosai.
273
+ *
274
+ * The cdxgen-plugins-bin manifest component is returned as-is only for its
275
+ * own binary at its own version. Any other dosai gets a component built from
276
+ * the manifest's project fields (description, licenses, references), without
277
+ * the bundled binary's hashes or path.
278
+ *
279
+ * @param {string} reportFile Path of the dosai methods report
280
+ * @param {Object} [report] The report as read, for its Metadata
281
+ * @param {Object} [manifestComponent] dosai component of the cdxgen-plugins-bin manifest
282
+ * @returns {Object[]} The dosai tool component, or an empty array
283
+ */
284
+ export declare function dosaiToolComponents(reportFile: string, report?: Object, manifestComponent?: Object): Object[];
124
285
  /**
125
286
  * Persist the combined native dosai report to options.semanticsSlicesFile.
126
287
  *
@@ -128,27 +289,33 @@ export declare function analyzeDosaiCrypto(src: string, options?: Object): Objec
128
289
  * analyzeGolemProject on branch feat/rusi-persist-report): when a semantics-
129
290
  * slices path is provided, the FULL native report is written there and kept so
130
291
  * downstream tools (depscan) can consume the complete methods + data-flow
131
- * facts that cdxgen only projects a subset of into the SBOM evidence. dotnet
132
- * does not otherwise use the semantics slice (atom is never run for dotnet),
133
- * so the path is free to carry the combined dosai report. Returns the resolved
134
- * durable path when something was persisted, otherwise undefined.
292
+ * facts that cdxgen only projects a subset of into the SBOM evidence. A
293
+ * methods report the user supplied with --usages-slices-file is written as
294
+ * given, with a recorded degradation when it was trimmed with --sections.
295
+ * dotnet does not otherwise use the semantics slice (atom is never run for
296
+ * dotnet), so the path is free to carry the combined dosai report. Returns the
297
+ * resolved durable path when something was persisted, otherwise undefined.
135
298
  */
136
299
  export declare function persistDosaiSemanticsReport(options: any, methodsSlice: any, dataFlowSlice: any): any;
137
300
  /**
138
301
  * Build a purl alias map for a list of components.
139
302
  *
140
303
  * @param {Object[]} [components] Component objects with purl fields
141
- * @returns {Map<string, string>} Map of exact purls and normalized type/namespace/name keys to canonical purls
304
+ * @param {Object} [options] Options passed to {@link buildDosaiPurlAliasMap} (`srcPath`)
305
+ * @returns {Map<string, string>} Map of component purls, carrying the version-free identity index
142
306
  */
143
- export declare function buildPurlAliasMap(components?: Object[]): Map<string, string>;
307
+ export declare function buildPurlAliasMap(components?: Object[], options?: Object): Map<string, string>;
144
308
  /**
145
- * Resolve a possibly-aliased purl to the canonical component purl.
309
+ * Resolve a dosai purl to the canonical component purl, by version, and for a
310
+ * package the BOM holds in several versions by the record's location.
146
311
  *
147
312
  * @param {string} purl Purl from a dosai report
148
313
  * @param {Map<string, string>} purlAliasMap Alias map built by buildPurlAliasMap
149
- * @returns {string|undefined} Canonical component purl, the input purl when unaliased, or undefined when empty
314
+ * @param {string} [location] Source location of the dosai record
315
+ * @returns {string|undefined} Canonical component purl, the input purl when the BOM has no such package,
316
+ * or undefined when empty or ambiguous
150
317
  */
151
- export declare function resolveComponentPurl(purl: string, purlAliasMap: Map<string, string>): string | undefined;
318
+ export declare function resolveComponentPurl(purl: string, purlAliasMap: Map<string, string>, location?: string): string | undefined;
152
319
  /**
153
320
  * Copy one dosai PackageReachability fact onto a component as properties.
154
321
  *
@@ -169,9 +336,14 @@ export declare function addDosaiReachabilityProperties(component: Object, reacha
169
336
  *
170
337
  * @param {Object} methodsSlice Parsed dosai methods slice JSON
171
338
  * @param {Object[]} [components] BOM components used to resolve purl aliases and mutate
339
+ * @param {Object} [options] Options
340
+ * @param {string} [options.srcPath] Directory dosai analyzed; a package the BOM holds in several
341
+ * versions is matched by the project of the record's file
172
342
  * @returns {number} Number of distinct components enriched
173
343
  */
174
- export declare function applyDosaiReachabilityEvidence(methodsSlice: Object, components?: Object[]): number;
344
+ export declare function applyDosaiReachabilityEvidence(methodsSlice: Object, components?: Object[], options?: {
345
+ srcPath?: string;
346
+ }): number;
175
347
  /**
176
348
  * Map a dosai methods slice to per-purl occurrence evidence.
177
349
  *
@@ -180,9 +352,14 @@ export declare function applyDosaiReachabilityEvidence(methodsSlice: Object, com
180
352
  *
181
353
  * @param {Object} methodsSlice Parsed dosai methods slice JSON
182
354
  * @param {Object[]} [components] BOM components used to resolve purl aliases
355
+ * @param {Object} [options] Options
356
+ * @param {string} [options.srcPath] Directory dosai analyzed; a package the BOM holds in several
357
+ * versions is matched by the project of the record's file
183
358
  * @returns {Object} Object with purlLocationMap, purlModulesMap, and purlMethodsMap keyed by purl
184
359
  */
185
- export declare function collectDosaiPurlEvidence(methodsSlice: Object, components?: Object[]): Object;
360
+ export declare function collectDosaiPurlEvidence(methodsSlice: Object, components?: Object[], options?: {
361
+ srcPath?: string;
362
+ }): Object;
186
363
  /**
187
364
  * Extract data-flow call frames per component purl from a dosai data-flow result.
188
365
  *
@@ -191,9 +368,14 @@ export declare function collectDosaiPurlEvidence(methodsSlice: Object, component
191
368
  *
192
369
  * @param {Object} dataFlowResult Parsed dosai data-flow slice JSON
193
370
  * @param {Object[]} [components] BOM components used to resolve purl aliases
371
+ * @param {Object} [options] Options
372
+ * @param {string} [options.srcPath] Directory dosai analyzed; a package the BOM holds in several
373
+ * versions is matched by the project of the record's file
194
374
  * @returns {Object} Map of canonical purl to arrays of call-stack frame objects
195
375
  */
196
- export declare function collectDosaiDataFlowFrames(dataFlowResult: Object, components?: Object[]): Object;
376
+ export declare function collectDosaiDataFlowFrames(dataFlowResult: Object, components?: Object[], options?: {
377
+ srcPath?: string;
378
+ }): Object;
197
379
  /**
198
380
  * Consume dosai's AiComponents[] inventory (schema 4.0.0): model identifiers,
199
381
  * on-disk model artifacts with hashes, MCP tools, prompts (redacted), and agents
@@ -229,6 +411,12 @@ export declare function collectDosaiServicesFromMethods(methodsSlice: Object, se
229
411
  /**
230
412
  * Normalize a services map into a sorted array of CycloneDX service objects.
231
413
  *
414
+ * This is where evinse's service maps — dosai, golem, kosi, scalasem, an
415
+ * OpenAPI document, and the atom usage and type detectors — become
416
+ * `services[]`, so it is also where every endpoint is percent-encoded into the
417
+ * iri-reference CycloneDX requires. The collectors keep the readable template
418
+ * (`/users/{id}`); the BOM gets `/users/%7Bid%7D`.
419
+ *
232
420
  * @param {Object} [servicesMap] Map of service name to service definition with Set-backed endpoints
233
421
  * @returns {Object[]} Array of service objects with sorted endpoint arrays and properties
234
422
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dosai.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dosai.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dosai.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dosai.js"],"names":[],"mappings":"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"}
@@ -24,6 +24,25 @@ export declare function addDosaiSetValue(map: Object, key: string, value: string
24
24
  * @returns {string|undefined} Location string with a `#line` suffix when available, or undefined when no file is known
25
25
  */
26
26
  export declare function dosaiLocation(item: Object): string | undefined;
27
+ /**
28
+ * Format the `file#line` location of a dosai MethodCalls row, relative to the
29
+ * scanned directory like dosai's source rows.
30
+ *
31
+ * A call site found in assembly IL names its file through the PDB. dosai 5
32
+ * writes it relative to the scan root and leaves Path out when the file has
33
+ * no place in the tree; dosai 4 writes the PDB path as it is: absolute for a
34
+ * local build, `/_/` for a deterministic one (owasp-dep-scan/dosai#79). An
35
+ * absolute path under the scanned directory is made relative to it, and any
36
+ * other build path, or a missing one, gives way to the file name, as for call
37
+ * graph edges, so both versions list a call site found in source and in IL
38
+ * once. Where no sequence point covers a call, the row names the assembly and
39
+ * its line is an IL offset, which is no source location.
40
+ *
41
+ * @param {Object} methodCall Dosai MethodCalls row
42
+ * @param {string} [srcPath] Directory dosai analyzed
43
+ * @returns {string|undefined} Location string, or undefined when the row names no source file
44
+ */
45
+ export declare function dosaiCallSiteLocation(methodCall: Object, srcPath?: string): string | undefined;
27
46
  /**
28
47
  * Return a validated source location for .NET source extensions, from a call graph node.
29
48
  *
@@ -41,19 +60,46 @@ export declare function dosaiSourceLocation(location: Object): string | undefine
41
60
  /**
42
61
  * Build a purl alias map from BOM components.
43
62
  *
44
- * Maps both exact component purls and normalized type/namespace/name keys to
45
- * the canonical component purl so dosai-reported purls can be reconciled.
63
+ * Maps each component purl to itself, and indexes the components by their
64
+ * version-free identity, so a dosai-reported purl can be reconciled by version
65
+ * (see {@link resolveDosaiComponentPurl}). Two versions of one package are two
66
+ * components, and nothing here picks one of them on a name alone.
46
67
  *
47
68
  * @param {Object[]} [components] Component objects with purl fields
48
- * @returns {Map<string, string>} Map of purl or normalized key to canonical component purl
69
+ * @param {Object} [options] Options
70
+ * @param {string} [options.srcPath] Directory dosai analyzed, which its relative locations
71
+ * and the BOM's relative manifest paths are relative to
72
+ * @returns {Map<string, string>} Map of purl to canonical component purl, carrying the identity index
49
73
  */
50
- export declare function buildDosaiPurlAliasMap(components?: Object[]): Map<string, string>;
74
+ export declare function buildDosaiPurlAliasMap(components?: Object[], options?: {
75
+ srcPath?: string;
76
+ }): Map<string, string>;
51
77
  /**
52
- * Resolve a purl to the canonical component purl via the alias map.
78
+ * Choose among the components that share a file name (two versions of a
79
+ * package ship the same DLLs): the only one, else the one whose project
80
+ * directory is nearest the record's location.
81
+ *
82
+ * @param {Iterable<string>} purls Candidate component purls
83
+ * @param {Map<string, string>} purlAliasMap Alias map built by buildDosaiPurlAliasMap
84
+ * @param {string} [location] Source location of the dosai record (`path` or `path#line`)
85
+ * @returns {string|undefined} The component purl, or undefined when it cannot be told
86
+ */
87
+ export declare function pickDosaiComponentByLocation(purls: Iterable<string>, purlAliasMap: Map<string, string>, location?: string): string | undefined;
88
+ /**
89
+ * Resolve a dosai-reported purl to a BOM component purl.
90
+ *
91
+ * The exact purl wins, then the same package at the same version (ids compare
92
+ * case-insensitively). A versionless purl, or a version the BOM does not hold,
93
+ * maps to the package's only component when it has one. When the BOM holds
94
+ * several versions, the record's location picks the version of the project
95
+ * that file belongs to; without a location that settles it the purl maps to
96
+ * nothing rather than to an arbitrary version (issue dosai#72).
53
97
  *
54
98
  * @param {string} purl Purl reported by dosai
55
99
  * @param {Map<string, string>} purlAliasMap Alias map built by buildDosaiPurlAliasMap
56
- * @returns {string|undefined} Canonical component purl, the input purl when unaliased, or undefined when empty
100
+ * @param {string} [location] Source location of the dosai record (`path` or `path#line`)
101
+ * @returns {string|undefined} Canonical component purl, the input purl when the BOM has no
102
+ * component of that package, or undefined when empty or ambiguous
57
103
  */
58
- export declare function resolveDosaiComponentPurl(purl: string, purlAliasMap: Map<string, string>): string | undefined;
104
+ export declare function resolveDosaiComponentPurl(purl: string, purlAliasMap: Map<string, string>, location?: string): string | undefined;
59
105
  //# sourceMappingURL=dosaiParsers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dosaiParsers.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dosaiParsers.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAH/B,MAG+B,GAF7B,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EALzB,MAKyB,EAAE,GAAG,EAJ9B,MAI8B,EAAE,KAAK,EAHrC,MAGqC,GAFnC,IAAI,CAQhB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAHvB,MAGuB,GAFrB,MAAM,GAAC,SAAS,CAc5B;AAcD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAHrC,MAGqC,GAFnC,MAAM,GAAC,SAAS,CAa5B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAHjC,MAGiC,GAF/B,MAAM,GAAC,SAAS,CAa5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,AAH9C,CACA,EADQ,MAAM,EAGqC,GAFzC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAe/B;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAJnC,MAImC,EAAE,YAAY,EAHjD,GAAG,CAAC,MAAM,EAAE,MAAM,CAG+B,GAF/C,MAAM,GAAC,SAAS,CAW5B"}
1
+ {"version":3,"file":"dosaiParsers.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dosaiParsers.js"],"names":[],"mappings":"AAeA;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAH/B,MAG+B,GAF7B,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EALzB,MAKyB,EAAE,GAAG,EAJ9B,MAI8B,EAAE,KAAK,EAHrC,MAGqC,GAFnC,IAAI,CAQhB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAHvB,MAGuB,GAFrB,MAAM,GAAC,SAAS,CAc5B;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAJrC,MAIqC,EAAE,OAAO,AAHtD,CACA,EADQ,MAG8C,GAF5C,MAAM,GAAC,SAAS,CAU5B;AA8BD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAHrC,MAGqC,GAFnC,MAAM,GAAC,SAAS,CAa5B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAHjC,MAGiC,GAF/B,MAAM,GAAC,SAAS,CAa5B;AAiHD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,AAN9C,CACA,EADQ,MAAM,EAMqC,EAAE,OAAO,AAL5D,CAGA,EAFA;IAAyB,OAAO,AAAhC,CAEA,EAFQ,MAAM,CAEd;CAEiE,GAFvD,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAqC/B;AAsCD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EALvC,QAAQ,CAAC,MAAM,CAKwB,EAAE,YAAY,EAJrD,GAAG,CAAC,MAAM,EAAE,MAAM,CAImC,EAAE,QAAQ,AAHvE,CACA,EADQ,MAG+D,GAF7D,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EANnC,MAMmC,EAAE,YAAY,EALjD,GAAG,CAAC,MAAM,EAAE,MAAM,CAK+B,EAAE,QAAQ,AAJnE,CACA,EADQ,MAI2D,GAHzD,MAAM,GAAC,SAAS,CA6B5B"}
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Converts a traced library path into a purl subpath. Windows paths
3
+ * ("C:\Windows\System32\bcrypt.dll", "\\server\share\x.dll") use forward
4
+ * slashes and drop the drive or UNC prefix, which a purl subpath cannot carry;
5
+ * the full path stays in the cdx:dynamic:filePath property.
6
+ *
7
+ * @param {string} libPath - Absolute path of the loaded library
8
+ * @returns {string|null} Subpath without leading separators, or null
9
+ */
10
+ export declare function librarySubpath(libPath: string): string | null;
1
11
  /**
2
12
  * Builds a flat list of CycloneDX component objects and services by executing
3
13
  * the given command and inspecting which shared libraries it loads at runtime
@@ -13,13 +23,18 @@
13
23
  * Services are detected from HTTP request URLs collected during tracing and
14
24
  * follow the CycloneDX service schema with endpoints.
15
25
  *
26
+ * The certificate chains servers presented in TLS ≤ 1.2 handshakes become the
27
+ * shared certificate model, with `provides` edges from the TLS protocol
28
+ * components.
29
+ *
16
30
  * @param {string} commandStr - Shell command to execute and trace (e.g. "node --version")
17
31
  * @param {string} workingDir - Working directory for the traced process
18
32
  * @param {Object} [traceOptions] - Additional sandbox options forwarded to executeAndTrace
19
- * @returns {Promise<{components: Array<Object>, services: Array<Object>}>} Components and services
33
+ * @returns {Promise<{components: Array<Object>, services: Array<Object>, dependencies: Array<Object>}>} Components, services and dependencies
20
34
  */
21
35
  export declare function buildDynamicComponents(commandStr: string, workingDir: string, traceOptions?: Object): Promise<{
22
36
  components: Array<Object>;
23
37
  services: Array<Object>;
38
+ dependencies: Array<Object>;
24
39
  }>;
25
40
  //# sourceMappingURL=dynamic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dynamic.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAND,MAMC,EACV,UAAU,EAND,MAMC,EACV,YAAY,AANX,CACA,EADQ,MAMQ,GALN,OAAO,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAAC,CAAC,CA4JzE"}
1
+ {"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../../../lib/inventory/dynamic.js"],"names":[],"mappings":"AAaA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAH3B,MAG2B,GAFzB,MAAM,GAAC,IAAI,CAevB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAND,MAMC,EACV,UAAU,EAND,MAMC,EACV,YAAY,AANX,CACA,EADQ,MAMQ,GALN,OAAO,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAAC,CAAC,CAmNtG"}
@@ -187,6 +187,41 @@ export declare function collectRubyInfo(dir: string): {
187
187
  name: string;
188
188
  version: string;
189
189
  } | undefined;
190
+ /**
191
+ * Collect the PHP version of the PHP found on the PATH.
192
+ *
193
+ * `-n` stops PHP loading any php.ini, so a PHPRC or an auto_prepend_file cannot
194
+ * run code, and `-v` is used rather than `-r 'echo PHP_VERSION;'` because the
195
+ * shell on Windows does not quote arguments. The first line is
196
+ * `PHP 8.5.11 (cli) (built: Sep 22 2026 13:32:06) (NTS)`.
197
+ *
198
+ * The identity is `pkg:generic/php`: a probe of the PATH cannot tell which
199
+ * package manager, if any, installed this PHP. A banner with a distro revision,
200
+ * such as Ubuntu 22.04's `PHP 8.1.2-1ubuntu2.14`, is recorded as reported but
201
+ * without a CPE: the distro backports fixes under the old upstream number.
202
+ *
203
+ * @param {string} dir Working directory
204
+ * @returns Object containing the PHP details
205
+ */
206
+ export declare function collectPhpInfo(dir: string): Object | undefined;
207
+ /**
208
+ * Collect the Composer version.
209
+ *
210
+ * `--no-plugins` and `--no-scripts` keep the plugins and scripts of the
211
+ * project in the working directory from running, which `composer --version`
212
+ * would otherwise let a plugin do. It needs no network. The banner is
213
+ * `Composer version 2.10.3 2026-08-27 13:34:23`, but an older Composer on a
214
+ * newer PHP prints deprecation notices above it, so the first line that starts
215
+ * with it is read; the line after it names the PHP Composer runs on, with its
216
+ * path, and is never read. The banner must start its line: an indented echo of
217
+ * the project's composer.json in an error block does not count. Only a stable
218
+ * release is recorded: a pre-release or a snapshot has no version a CPE can
219
+ * name.
220
+ *
221
+ * @param {string} dir Working directory
222
+ * @returns Object containing the Composer details
223
+ */
224
+ export declare function collectComposerInfo(dir: string): Object | undefined;
190
225
  /**
191
226
  * Method to run a swift command
192
227
  *
@@ -199,12 +234,15 @@ export declare function runSwiftCommand(dir: string, args: any[]): string | unde
199
234
  * Collect toolchain information components for the current environment.
200
235
  *
201
236
  * Probes the working directory for java, dotnet, python, node, gcc, rust, go,
202
- * and ruby toolchains and returns one component per detected tool.
237
+ * ruby, php and composer toolchains and returns one component per detected
238
+ * tool.
203
239
  *
204
240
  * @param {string} dir Working directory to inspect
241
+ * @param {Object} [options] CLI options, which decide whether the project's
242
+ * own toolchain files may choose the tools that run
205
243
  * @returns {Object[]} Array of toolchain component objects; empty when nothing is detected
206
244
  */
207
- export declare function collectEnvInfo(dir: string): Object[];
245
+ export declare function collectEnvInfo(dir: string, options?: Object): Object[];
208
246
  /**
209
247
  * Method to check if sdkman is available.
210
248
  */
@@ -1 +1 @@
1
- {"version":3,"file":"envcontext.d.ts","sourceRoot":"","sources":["../../../lib/inventory/envcontext.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envcontext.d.ts","sourceRoot":"","sources":["../../../lib/inventory/envcontext.js"],"names":[],"mappings":"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"}
@@ -44,15 +44,30 @@ export declare function attachIdentityTools(subjects: Object | Object[], toolRef
44
44
  * Enrich .NET package components with occurrence evidence and imported module/method
45
45
  * information from a dosai dependency slices file.
46
46
  *
47
- * Builds a mapping of DLL filenames to purls using the `internal:PackageFiles` property of each
48
- * package, then reads the slices file to add occurrence locations, imported modules,
49
- * called methods, and assembly version information where available.
47
+ * Each dosai record names its package by purl, resolved in the project of the
48
+ * record's file, and is attached to the component of that version (see
49
+ * {@link resolveDosaiComponentPurl}). The DLL files of each package
50
+ * (`internal:PackageFiles`) only fill in for a record whose purl names no
51
+ * component, and only when the DLL belongs to one component or the record's
52
+ * location says which: two versions of a package ship the same DLL names.
53
+ *
54
+ * The fallback is needed because dosai names a `System.*` assembly it cannot
55
+ * map to a package with a framework purl (`pkg:nuget/System.Runtime`), as it
56
+ * does whenever the tree has lock files but no restore output: the DLL of
57
+ * System.Data.SQLite.Core is still the package's. A DLL that only a package's
58
+ * build-time folders carry is not listed in `internal:PackageFiles`, so it
59
+ * credits no package with the project's framework calls (issue 4441).
50
60
  *
51
61
  * @param {Object[]} pkgList Array of .NET package component objects to enrich
52
62
  * @param {string} slicesFile Path to the dosai dependency slices JSON file
63
+ * @param {Object} [options] Options
64
+ * @param {string} [options.srcPath] Directory dosai analyzed, which its relative locations
65
+ * and the components' relative manifest paths are relative to
53
66
  * @returns {Object[]} The enriched package list (same array, mutated in place)
54
67
  */
55
- export declare function addEvidenceForDotnet(pkgList: Object[], slicesFile: string): Object[];
68
+ export declare function addEvidenceForDotnet(pkgList: Object[], slicesFile: string, options?: {
69
+ srcPath?: string;
70
+ }): Object[];
56
71
  /**
57
72
  * Convert OS query results
58
73
  *
@@ -61,14 +76,33 @@ export declare function addEvidenceForDotnet(pkgList: Object[], slicesFile: stri
61
76
  * @param {Array} results Query Results
62
77
  * @param {Boolean} enhance Optionally enhance results by invoking additional package manager commands
63
78
  */
64
- export declare function convertOSQueryResults(queryCategory: string, queryObj: Object, results: any[], enhance?: boolean, osPackageListers?: undefined): {
65
- name: string;
66
- group: string;
67
- version: string;
68
- description: any;
69
- publisher: string;
70
- "bom-ref": string;
71
- scope: any;
72
- type: any;
73
- }[];
79
+ export declare function convertOSQueryResults(queryCategory: string, queryObj: Object, results: any[], enhance?: boolean, osPackageListers?: undefined): any[];
80
+ /**
81
+ * Convert the packages of an apk installed database into components.
82
+ *
83
+ * The packages are named as the container scan names an Alpine, Wolfi or
84
+ * Chainguard package, and grouped with the other OS package categories under
85
+ * `cdx:osquery:category` = `apk_packages`. Beyond what an osquery package row
86
+ * gives, an apk record knows its licence and home page, which become
87
+ * `licenses` and a `website` external reference.
88
+ *
89
+ * @param {Object[]} packages Packages from readApkInstalledDb()
90
+ * @returns {Object[]} Components
91
+ */
92
+ export declare function convertApkPackages(packages: Object[]): Object[];
93
+ /**
94
+ * Convert the rows of the `ai_agent_skills` query into components.
95
+ *
96
+ * A skill installed on the host is what the `ai-skill` project scan finds in a
97
+ * repository, so it is a `file` component with the same `cdx:file:kind` and
98
+ * `cdx:skill:*` properties, and no purl: a skill has no package identity. Its
99
+ * bom-ref is the SHA-256 of its SKILL.md rather than the path, which is under a
100
+ * home directory, and where it was found is an occurrence. The same skill
101
+ * found under several roots, such as a plugin marketplace checkout and the
102
+ * plugin cache, is one component with one occurrence for each.
103
+ *
104
+ * @param {Object[]} results Rows of `ai_agent_skills` joined with `hash`
105
+ * @returns {Object[]} Components
106
+ */
107
+ export declare function convertAgentSkillRows(results: Object[]): Object[];
74
108
  //# sourceMappingURL=evidenceUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evidenceUtils.d.ts","sourceRoot":"","sources":["../../../lib/inventory/evidenceUtils.js"],"names":[],"mappings":"AA+BA;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAJtC,MAIsC,EAAE,OAAO,AAHvD,CACA,EADQ,MAGoD,GAFlD,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAJ7C,MAI6C,EAAE,OAAO,AAH9D,CACA,EADQ,MAG2D,GAFzD,MAAM,GAAC,SAAS,CA8B5B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAHxC,MAGwC,GAFtC,MAAM,CAalB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAJ1B,MAAM,EAAE,GAAC,MAIiB,EAAE,SAAS,UAAA,GAFnC,MAAM,EAAE,CAmDpB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAJjC,MAAM,GAAC,MAAM,EAIoB,EAAE,QAAQ,EAH3C,MAAM,EAGqC,GAFzC,MAAM,GAAC,MAAM,EAAE,CAwB3B;AAsCD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAJjC,MAAM,EAI2B,EAAE,UAAU,EAH7C,MAG6C,GAF3C,MAAM,EAAE,CAwOpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EANJ,MAMI,EACb,QAAQ,EANC,MAMD,EACR,OAAO,OAAA,EACP,OAAO,UAAQ,EACf,gBAAgB,YAAY;;;;;;;;;IA6H7B"}
1
+ {"version":3,"file":"evidenceUtils.d.ts","sourceRoot":"","sources":["../../../lib/inventory/evidenceUtils.js"],"names":[],"mappings":"AA6CA;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAJtC,MAIsC,EAAE,OAAO,AAHvD,CACA,EADQ,MAGoD,GAFlD,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAJ7C,MAI6C,EAAE,OAAO,AAH9D,CACA,EADQ,MAG2D,GAFzD,MAAM,GAAC,SAAS,CA8B5B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAHxC,MAGwC,GAFtC,MAAM,CAalB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAJ1B,MAAM,EAAE,GAAC,MAIiB,EAAE,SAAS,UAAA,GAFnC,MAAM,EAAE,CAmDpB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAJjC,MAAM,GAAC,MAAM,EAIoB,EAAE,QAAQ,EAH3C,MAAM,EAGqC,GAFzC,MAAM,GAAC,MAAM,EAAE,CAwB3B;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAPjC,MAAM,EAO2B,EAAE,UAAU,EAN7C,MAM6C,EAAE,OAAO,AAL9D,CAGA,EAFA;IAAyB,OAAO,AAAhC,CAEA,EAFQ,MAAM,CAEd;CAEmE,GAFzD,MAAM,EAAE,CAsQpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EANJ,MAMI,EACb,QAAQ,EANC,MAMD,EACR,OAAO,OAAA,EACP,OAAO,UAAQ,EACf,gBAAgB,YAAY,SAsO7B;AA6ID;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAHhC,MAAM,EAG0B,GAF9B,MAAM,EAAE,CAqCpB;AAgCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAHlC,MAAM,EAG4B,GAFhC,MAAM,EAAE,CAgEpB"}