@contrast/contrast 2.0.2-beta.0 → 2.0.2-beta.10

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 (395) hide show
  1. package/README.md +2 -1
  2. package/dist/assess/assessConfig.js +9 -0
  3. package/dist/assess/assessConfig.js.map +1 -0
  4. package/dist/assess/help.js +37 -0
  5. package/dist/assess/help.js.map +1 -0
  6. package/dist/assess/http/index.js +39 -0
  7. package/dist/assess/http/index.js.map +1 -0
  8. package/dist/assess/index.js +69 -0
  9. package/dist/assess/index.js.map +1 -0
  10. package/dist/assess/metadata/findYamlFile.js +59 -0
  11. package/dist/assess/metadata/findYamlFile.js.map +1 -0
  12. package/dist/assess/metadata/index.js +37 -0
  13. package/dist/assess/metadata/index.js.map +1 -0
  14. package/dist/assess/metadata/utils.js +159 -0
  15. package/dist/assess/metadata/utils.js.map +1 -0
  16. package/dist/assess/printing/index.js +11 -0
  17. package/dist/assess/printing/index.js.map +1 -0
  18. package/dist/assess/printing/utils.js +119 -0
  19. package/dist/assess/printing/utils.js.map +1 -0
  20. package/dist/audit/auditConfig.js +9 -0
  21. package/dist/audit/auditConfig.js.map +1 -0
  22. package/dist/{commands/audit → audit}/auditController.js +9 -13
  23. package/dist/audit/auditController.js.map +1 -0
  24. package/dist/audit/auditRequests.js +193 -0
  25. package/dist/audit/auditRequests.js.map +1 -0
  26. package/dist/audit/auditRequestsLegacy.js +63 -0
  27. package/dist/audit/auditRequestsLegacy.js.map +1 -0
  28. package/dist/audit/catalogueApplication/catalogueApplication.js +16 -29
  29. package/dist/audit/catalogueApplication/catalogueApplication.js.map +1 -0
  30. package/dist/audit/help.js +68 -0
  31. package/dist/audit/help.js.map +1 -0
  32. package/dist/audit/languageAnalysisEngine/commonApi.js +12 -14
  33. package/dist/audit/languageAnalysisEngine/commonApi.js.map +1 -0
  34. package/dist/audit/languageAnalysisEngine/filterProjectPath.js +2 -1
  35. package/dist/audit/languageAnalysisEngine/filterProjectPath.js.map +1 -0
  36. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js +9 -12
  37. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js.map +1 -0
  38. package/dist/audit/languageAnalysisEngine/sendSnapshot.js +18 -30
  39. package/dist/audit/languageAnalysisEngine/sendSnapshot.js.map +1 -0
  40. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +9 -9
  41. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js.map +1 -0
  42. package/dist/audit/processAudit.js +21 -0
  43. package/dist/audit/processAudit.js.map +1 -0
  44. package/dist/audit/report/commonReportingFunctions.js +33 -61
  45. package/dist/audit/report/commonReportingFunctions.js.map +1 -0
  46. package/dist/audit/report/models/reportGuidanceModel.js +2 -5
  47. package/dist/audit/report/models/reportGuidanceModel.js.map +1 -0
  48. package/dist/audit/report/models/reportLibraryModel.js +3 -7
  49. package/dist/audit/report/models/reportLibraryModel.js.map +1 -0
  50. package/dist/audit/report/models/reportListModel.js +4 -9
  51. package/dist/audit/report/models/reportListModel.js.map +1 -0
  52. package/dist/audit/report/models/reportOutputModel.js +4 -9
  53. package/dist/audit/report/models/reportOutputModel.js.map +1 -0
  54. package/dist/audit/report/models/reportSeverityModel.js +2 -5
  55. package/dist/audit/report/models/reportSeverityModel.js.map +1 -0
  56. package/dist/audit/report/models/severityCountModel.js +3 -5
  57. package/dist/audit/report/models/severityCountModel.js.map +1 -0
  58. package/dist/audit/report/reportingFeature.js +27 -55
  59. package/dist/audit/report/reportingFeature.js.map +1 -0
  60. package/dist/audit/report/utils/reportUtils.js +28 -59
  61. package/dist/audit/report/utils/reportUtils.js.map +1 -0
  62. package/dist/audit/save.js +14 -16
  63. package/dist/audit/save.js.map +1 -0
  64. package/dist/{commands/audit → audit}/saveFile.js +3 -6
  65. package/dist/audit/saveFile.js.map +1 -0
  66. package/dist/auth/auth.js +103 -0
  67. package/dist/auth/auth.js.map +1 -0
  68. package/dist/auth/authRequests.js +18 -0
  69. package/dist/auth/authRequests.js.map +1 -0
  70. package/dist/cliConstants.js +48 -18
  71. package/dist/cliConstants.js.map +1 -0
  72. package/dist/commands/config/config.js +12 -13
  73. package/dist/commands/config/config.js.map +1 -0
  74. package/dist/commands/learn/learn.js +3 -6
  75. package/dist/commands/learn/learn.js.map +1 -0
  76. package/dist/commands/learn/processLearn.js +3 -6
  77. package/dist/commands/learn/processLearn.js.map +1 -0
  78. package/dist/common/HTTPClient.js +193 -94
  79. package/dist/common/HTTPClient.js.map +1 -0
  80. package/dist/{scan → common}/autoDetection.js +53 -36
  81. package/dist/common/autoDetection.js.map +1 -0
  82. package/dist/common/baseRequest.js +59 -23
  83. package/dist/common/baseRequest.js.map +1 -0
  84. package/dist/common/commonHelp.js +13 -13
  85. package/dist/common/commonHelp.js.map +1 -0
  86. package/dist/common/errorHandling.js +49 -63
  87. package/dist/common/errorHandling.js.map +1 -0
  88. package/dist/common/fail.js +6 -12
  89. package/dist/common/fail.js.map +1 -0
  90. package/dist/common/stringManipulations.js +8 -0
  91. package/dist/common/stringManipulations.js.map +1 -0
  92. package/dist/common/versionChecker.js +16 -19
  93. package/dist/common/versionChecker.js.map +1 -0
  94. package/dist/constants/constants.js +46 -65
  95. package/dist/constants/constants.js.map +1 -0
  96. package/dist/constants/lambda.js +8 -5
  97. package/dist/constants/lambda.js.map +1 -0
  98. package/dist/constants/locales.js +14 -10
  99. package/dist/constants/locales.js.map +1 -0
  100. package/dist/github/fingerprintConfig.js +10 -0
  101. package/dist/github/fingerprintConfig.js.map +1 -0
  102. package/dist/github/processFingerprint.js +25 -0
  103. package/dist/github/processFingerprint.js.map +1 -0
  104. package/dist/github/projectGroup.js +225 -0
  105. package/dist/github/projectGroup.js.map +1 -0
  106. package/dist/github/repoServices.js +91 -0
  107. package/dist/github/repoServices.js.map +1 -0
  108. package/dist/index.js +42 -39
  109. package/dist/index.js.map +1 -0
  110. package/dist/lambda/analytics.js +6 -9
  111. package/dist/lambda/analytics.js.map +1 -0
  112. package/dist/lambda/arn.js +6 -9
  113. package/dist/lambda/arn.js.map +1 -0
  114. package/dist/lambda/aws.js +29 -34
  115. package/dist/lambda/aws.js.map +1 -0
  116. package/dist/lambda/cliError.js +13 -41
  117. package/dist/lambda/cliError.js.map +1 -0
  118. package/dist/lambda/constants.js +3 -4
  119. package/dist/lambda/constants.js.map +1 -0
  120. package/dist/lambda/help.js +39 -44
  121. package/dist/lambda/help.js.map +1 -0
  122. package/dist/lambda/lambda.js +61 -65
  123. package/dist/lambda/lambda.js.map +1 -0
  124. package/dist/lambda/lambdaUtils.js +38 -32
  125. package/dist/lambda/lambdaUtils.js.map +1 -0
  126. package/dist/lambda/logUtils.js +21 -17
  127. package/dist/lambda/logUtils.js.map +1 -0
  128. package/dist/lambda/scanDetailCompletion.js +19 -25
  129. package/dist/lambda/scanDetailCompletion.js.map +1 -0
  130. package/dist/lambda/scanRequest.js +34 -41
  131. package/dist/lambda/scanRequest.js.map +1 -0
  132. package/dist/lambda/scanResults.js +8 -10
  133. package/dist/lambda/scanResults.js.map +1 -0
  134. package/dist/lambda/types.js +5 -7
  135. package/dist/lambda/types.js.map +1 -0
  136. package/dist/lambda/utils.js +33 -35
  137. package/dist/lambda/utils.js.map +1 -0
  138. package/dist/sbom/generateSbom.js +6 -10
  139. package/dist/sbom/generateSbom.js.map +1 -0
  140. package/dist/scaAnalysis/common/auditReport.js +8 -12
  141. package/dist/scaAnalysis/common/auditReport.js.map +1 -0
  142. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +26 -32
  143. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
  144. package/dist/scaAnalysis/common/formatMessage.js +8 -17
  145. package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
  146. package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
  147. package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
  148. package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
  149. package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
  150. package/dist/scaAnalysis/common/scaServicesUpload.js +59 -90
  151. package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
  152. package/dist/scaAnalysis/common/treeUpload.js +15 -25
  153. package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
  154. package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
  155. package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
  156. package/dist/scaAnalysis/dotnet/analysis.js +12 -18
  157. package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
  158. package/dist/scaAnalysis/dotnet/index.js +4 -7
  159. package/dist/scaAnalysis/dotnet/index.js.map +1 -0
  160. package/dist/scaAnalysis/go/goAnalysis.js +8 -11
  161. package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
  162. package/dist/scaAnalysis/go/goParseDeps.js +9 -7
  163. package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
  164. package/dist/scaAnalysis/go/goReadDepFile.js +10 -8
  165. package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
  166. package/dist/scaAnalysis/java/analysis.js +23 -20
  167. package/dist/scaAnalysis/java/analysis.js.map +1 -0
  168. package/dist/scaAnalysis/java/index.js +7 -10
  169. package/dist/scaAnalysis/java/index.js.map +1 -0
  170. package/dist/scaAnalysis/java/javaBuildDepsParser.js +43 -43
  171. package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
  172. package/dist/scaAnalysis/javascript/analysis.js +16 -20
  173. package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
  174. package/dist/scaAnalysis/javascript/index.js +17 -19
  175. package/dist/scaAnalysis/javascript/index.js.map +1 -0
  176. package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
  177. package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
  178. package/dist/scaAnalysis/legacy/legacyFlow.js +13 -15
  179. package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
  180. package/dist/scaAnalysis/php/analysis.js +15 -16
  181. package/dist/scaAnalysis/php/analysis.js.map +1 -0
  182. package/dist/scaAnalysis/php/index.js +5 -8
  183. package/dist/scaAnalysis/php/index.js.map +1 -0
  184. package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
  185. package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
  186. package/dist/scaAnalysis/processServicesFlow.js +86 -32
  187. package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
  188. package/dist/scaAnalysis/python/analysis.js +16 -23
  189. package/dist/scaAnalysis/python/analysis.js.map +1 -0
  190. package/dist/scaAnalysis/python/index.js +4 -7
  191. package/dist/scaAnalysis/python/index.js.map +1 -0
  192. package/dist/scaAnalysis/repoMode/gradleParser.js +7 -13
  193. package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
  194. package/dist/scaAnalysis/repoMode/index.js +9 -12
  195. package/dist/scaAnalysis/repoMode/index.js.map +1 -0
  196. package/dist/scaAnalysis/repoMode/mavenParser.js +109 -73
  197. package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
  198. package/dist/scaAnalysis/ruby/analysis.js +32 -46
  199. package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
  200. package/dist/scaAnalysis/ruby/index.js +5 -8
  201. package/dist/scaAnalysis/ruby/index.js.map +1 -0
  202. package/dist/scaAnalysis/scaAnalysis.js +49 -51
  203. package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
  204. package/dist/scan/fileUtils.js +36 -40
  205. package/dist/scan/fileUtils.js.map +1 -0
  206. package/dist/scan/formatScanOutput.js +47 -61
  207. package/dist/scan/formatScanOutput.js.map +1 -0
  208. package/dist/scan/help.js +8 -11
  209. package/dist/scan/help.js.map +1 -0
  210. package/dist/scan/models/groupedResultsModel.js +2 -5
  211. package/dist/scan/models/groupedResultsModel.js.map +1 -0
  212. package/dist/scan/models/resultContentModel.js +2 -2
  213. package/dist/scan/models/resultContentModel.js.map +1 -0
  214. package/dist/scan/models/scanResultsModel.js +2 -5
  215. package/dist/scan/models/scanResultsModel.js.map +1 -0
  216. package/dist/scan/populateProjectIdAndProjectName.js +22 -60
  217. package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
  218. package/dist/scan/processScan.js +28 -0
  219. package/dist/scan/processScan.js.map +1 -0
  220. package/dist/scan/saveResults.js +3 -6
  221. package/dist/scan/saveResults.js.map +1 -0
  222. package/dist/scan/scan.js +33 -53
  223. package/dist/scan/scan.js.map +1 -0
  224. package/dist/scan/scanConfig.js +14 -12
  225. package/dist/scan/scanConfig.js.map +1 -0
  226. package/dist/scan/scanController.js +19 -21
  227. package/dist/scan/scanController.js.map +1 -0
  228. package/dist/scan/scanRequests.js +86 -0
  229. package/dist/scan/scanRequests.js.map +1 -0
  230. package/dist/scan/scanResults.js +26 -72
  231. package/dist/scan/scanResults.js.map +1 -0
  232. package/dist/telemetry/telemetry.js +29 -59
  233. package/dist/telemetry/telemetry.js.map +1 -0
  234. package/dist/utils/capabilities.js +2 -1
  235. package/dist/utils/capabilities.js.map +1 -0
  236. package/dist/utils/commonApi.js +58 -50
  237. package/dist/utils/commonApi.js.map +1 -0
  238. package/dist/utils/filterProjectPath.js +2 -1
  239. package/dist/utils/filterProjectPath.js.map +1 -0
  240. package/dist/utils/generalAPI.js +11 -33
  241. package/dist/utils/generalAPI.js.map +1 -0
  242. package/dist/utils/getConfig.js +8 -13
  243. package/dist/utils/getConfig.js.map +1 -0
  244. package/dist/utils/oraWrapper.js +7 -14
  245. package/dist/utils/oraWrapper.js.map +1 -0
  246. package/dist/utils/paramsUtil/commandlineParams.js +2 -5
  247. package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
  248. package/dist/utils/paramsUtil/configStoreParams.js +9 -10
  249. package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
  250. package/dist/utils/paramsUtil/envVariableParams.js +2 -3
  251. package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
  252. package/dist/utils/paramsUtil/paramHandler.js +12 -13
  253. package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
  254. package/dist/utils/parsedCLIOptions.js +4 -7
  255. package/dist/utils/parsedCLIOptions.js.map +1 -0
  256. package/dist/utils/requestUtils.js +7 -13
  257. package/dist/utils/requestUtils.js.map +1 -0
  258. package/dist/utils/saveFile.js +8 -11
  259. package/dist/utils/saveFile.js.map +1 -0
  260. package/dist/utils/validationCheck.js +5 -11
  261. package/dist/utils/validationCheck.js.map +1 -0
  262. package/package.json +40 -48
  263. package/.prettierignore +0 -1
  264. package/bin/contrast.js +0 -2
  265. package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
  266. package/dist/commands/audit/auditConfig.js +0 -12
  267. package/dist/commands/audit/help.js +0 -70
  268. package/dist/commands/audit/processAudit.js +0 -24
  269. package/dist/commands/auth/auth.js +0 -120
  270. package/dist/commands/github/fingerprintConfig.js +0 -13
  271. package/dist/commands/github/processFingerprint.js +0 -28
  272. package/dist/commands/github/projectGroup.js +0 -254
  273. package/dist/commands/github/repoServices.js +0 -108
  274. package/dist/commands/scan/processScan.js +0 -31
  275. package/dist/lambda/__mocks__/aws.js +0 -21
  276. package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
  277. package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
  278. package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
  279. package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
  280. package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
  281. package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
  282. package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
  283. package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
  284. package/src/audit/report/commonReportingFunctions.js +0 -412
  285. package/src/audit/report/models/reportGuidanceModel.ts +0 -5
  286. package/src/audit/report/models/reportLibraryModel.ts +0 -30
  287. package/src/audit/report/models/reportListModel.ts +0 -49
  288. package/src/audit/report/models/reportOutputModel.ts +0 -29
  289. package/src/audit/report/models/reportSeverityModel.ts +0 -18
  290. package/src/audit/report/models/severityCountModel.ts +0 -22
  291. package/src/audit/report/reportingFeature.ts +0 -110
  292. package/src/audit/report/utils/reportUtils.ts +0 -165
  293. package/src/audit/save.js +0 -67
  294. package/src/cliConstants.js +0 -522
  295. package/src/commands/audit/auditConfig.js +0 -18
  296. package/src/commands/audit/auditController.js +0 -50
  297. package/src/commands/audit/help.js +0 -72
  298. package/src/commands/audit/processAudit.js +0 -34
  299. package/src/commands/audit/saveFile.js +0 -15
  300. package/src/commands/auth/auth.js +0 -146
  301. package/src/commands/config/config.js +0 -41
  302. package/src/commands/github/fingerprintConfig.js +0 -19
  303. package/src/commands/github/processFingerprint.js +0 -37
  304. package/src/commands/github/projectGroup.js +0 -294
  305. package/src/commands/github/repoServices.js +0 -122
  306. package/src/commands/learn/learn.js +0 -10
  307. package/src/commands/learn/processLearn.js +0 -13
  308. package/src/commands/scan/processScan.js +0 -42
  309. package/src/common/HTTPClient.js +0 -775
  310. package/src/common/baseRequest.ts +0 -83
  311. package/src/common/commonHelp.js +0 -53
  312. package/src/common/errorHandling.js +0 -157
  313. package/src/common/fail.js +0 -79
  314. package/src/common/versionChecker.js +0 -75
  315. package/src/constants/constants.js +0 -71
  316. package/src/constants/lambda.js +0 -85
  317. package/src/constants/locales.js +0 -365
  318. package/src/index.ts +0 -142
  319. package/src/lambda/__mocks__/aws.ts +0 -32
  320. package/src/lambda/__mocks__/lambdaConfig.json +0 -42
  321. package/src/lambda/analytics.ts +0 -9
  322. package/src/lambda/arn.ts +0 -33
  323. package/src/lambda/aws.ts +0 -248
  324. package/src/lambda/cliError.ts +0 -72
  325. package/src/lambda/constants.ts +0 -11
  326. package/src/lambda/help.ts +0 -92
  327. package/src/lambda/lambda.ts +0 -230
  328. package/src/lambda/lambdaUtils.ts +0 -111
  329. package/src/lambda/logUtils.ts +0 -64
  330. package/src/lambda/scanDetailCompletion.ts +0 -78
  331. package/src/lambda/scanRequest.ts +0 -169
  332. package/src/lambda/scanResults.ts +0 -29
  333. package/src/lambda/types.ts +0 -36
  334. package/src/lambda/utils.ts +0 -188
  335. package/src/sbom/generateSbom.ts +0 -45
  336. package/src/scaAnalysis/common/auditReport.js +0 -59
  337. package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
  338. package/src/scaAnalysis/common/formatMessage.js +0 -67
  339. package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
  340. package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
  341. package/src/scaAnalysis/common/scaServicesUpload.js +0 -155
  342. package/src/scaAnalysis/common/treeUpload.js +0 -51
  343. package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
  344. package/src/scaAnalysis/dotnet/analysis.js +0 -72
  345. package/src/scaAnalysis/dotnet/index.js +0 -11
  346. package/src/scaAnalysis/go/goAnalysis.js +0 -26
  347. package/src/scaAnalysis/go/goParseDeps.js +0 -203
  348. package/src/scaAnalysis/go/goReadDepFile.js +0 -34
  349. package/src/scaAnalysis/java/analysis.js +0 -148
  350. package/src/scaAnalysis/java/index.js +0 -29
  351. package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
  352. package/src/scaAnalysis/javascript/analysis.js +0 -111
  353. package/src/scaAnalysis/javascript/index.js +0 -104
  354. package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
  355. package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
  356. package/src/scaAnalysis/php/analysis.js +0 -78
  357. package/src/scaAnalysis/php/index.js +0 -28
  358. package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
  359. package/src/scaAnalysis/processServicesFlow.js +0 -119
  360. package/src/scaAnalysis/python/analysis.js +0 -93
  361. package/src/scaAnalysis/python/index.js +0 -16
  362. package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
  363. package/src/scaAnalysis/repoMode/index.js +0 -21
  364. package/src/scaAnalysis/repoMode/mavenParser.js +0 -112
  365. package/src/scaAnalysis/ruby/analysis.js +0 -413
  366. package/src/scaAnalysis/ruby/index.js +0 -16
  367. package/src/scaAnalysis/scaAnalysis.js +0 -171
  368. package/src/scan/autoDetection.js +0 -175
  369. package/src/scan/fileUtils.js +0 -206
  370. package/src/scan/formatScanOutput.ts +0 -225
  371. package/src/scan/help.js +0 -56
  372. package/src/scan/models/groupedResultsModel.ts +0 -20
  373. package/src/scan/models/resultContentModel.ts +0 -86
  374. package/src/scan/models/scanResultsModel.ts +0 -55
  375. package/src/scan/populateProjectIdAndProjectName.js +0 -73
  376. package/src/scan/saveResults.js +0 -14
  377. package/src/scan/scan.ts +0 -68
  378. package/src/scan/scanConfig.js +0 -58
  379. package/src/scan/scanController.js +0 -98
  380. package/src/scan/scanResults.js +0 -171
  381. package/src/telemetry/telemetry.ts +0 -154
  382. package/src/utils/capabilities.js +0 -12
  383. package/src/utils/commonApi.js +0 -103
  384. package/src/utils/filterProjectPath.js +0 -25
  385. package/src/utils/generalAPI.js +0 -52
  386. package/src/utils/getConfig.ts +0 -34
  387. package/src/utils/oraWrapper.js +0 -29
  388. package/src/utils/paramsUtil/commandlineParams.js +0 -12
  389. package/src/utils/paramsUtil/configStoreParams.js +0 -19
  390. package/src/utils/paramsUtil/envVariableParams.js +0 -10
  391. package/src/utils/paramsUtil/paramHandler.js +0 -38
  392. package/src/utils/parsedCLIOptions.js +0 -32
  393. package/src/utils/requestUtils.js +0 -29
  394. package/src/utils/saveFile.js +0 -20
  395. package/src/utils/validationCheck.js +0 -39
@@ -1,14 +1,14 @@
1
- "use strict";
2
- const _ = require('lodash');
3
- const fs = require('fs');
4
- const requestUtils = require('./../utils/requestUtils');
5
- const { AUTH_CALLBACK_URL } = require('../constants/constants');
1
+ import fs from 'fs';
2
+ import { sendRequest } from './../utils/requestUtils.js';
3
+ import { AUTH_CALLBACK_URL } from '../constants/constants.js';
4
+ import { cloneDeep } from 'lodash-es';
6
5
  function HTTPClient(config) {
7
6
  const apiKey = config.apiKey;
8
7
  const authToken = config.authorization;
9
8
  this.rejectUnauthorized = !config.certSelfSigned;
10
9
  const superApiKey = config.superApiKey;
11
10
  const superAuthToken = config.superAuthorization;
11
+ this.config = config;
12
12
  this.requestOptions = {
13
13
  forever: true,
14
14
  json: true,
@@ -22,7 +22,8 @@ function HTTPClient(config) {
22
22
  SuperAuthorization: superAuthToken,
23
23
  'Super-API-Key': superApiKey,
24
24
  'User-Agent': 'contrast-cli-v2'
25
- }
25
+ },
26
+ resolveWithFullResponse: true
26
27
  };
27
28
  if (config.proxy) {
28
29
  this.requestOptions.proxy = config.proxy;
@@ -30,6 +31,7 @@ function HTTPClient(config) {
30
31
  this.maybeAddCertsToRequest(config);
31
32
  }
32
33
  HTTPClient.prototype.maybeAddCertsToRequest = function (config) {
34
+ // cacert
33
35
  const caCertFilePath = config.cacert;
34
36
  if (caCertFilePath) {
35
37
  const caFileContent = fs.readFileSync(caCertFilePath);
@@ -38,6 +40,7 @@ HTTPClient.prototype.maybeAddCertsToRequest = function (config) {
38
40
  }
39
41
  this.requestOptions.ca = caFileContent;
40
42
  }
43
+ // cert
41
44
  const certPath = config.cert;
42
45
  if (certPath) {
43
46
  const certFile = fs.readFileSync(certPath);
@@ -46,6 +49,7 @@ HTTPClient.prototype.maybeAddCertsToRequest = function (config) {
46
49
  }
47
50
  this.requestOptions.cert = certFile;
48
51
  }
52
+ // key
49
53
  const keyPath = config.key;
50
54
  if (keyPath) {
51
55
  const keyFile = fs.readFileSync(keyPath);
@@ -56,25 +60,25 @@ HTTPClient.prototype.maybeAddCertsToRequest = function (config) {
56
60
  }
57
61
  };
58
62
  HTTPClient.prototype.getScanResultsInstances = function getScanResultsInstances(config, scanId) {
59
- const options = _.cloneDeep(this.requestOptions);
63
+ const options = cloneDeep(this.requestOptions);
60
64
  let url = createScanResultsInstancesURL(config, scanId);
61
65
  options.url = url;
62
- return requestUtils.sendRequest({ method: 'get', options });
66
+ return sendRequest({ method: 'get', options });
63
67
  };
64
68
  HTTPClient.prototype.getSpecificScanResult = function getSpecificScanResult(config, scanId) {
65
- const options = _.cloneDeep(this.requestOptions);
69
+ const options = cloneDeep(this.requestOptions);
66
70
  let url = createSpecificScanResultURL(config, scanId);
67
71
  options.url = url;
68
- return requestUtils.sendRequest({ method: 'get', options });
72
+ return sendRequest({ method: 'get', options });
69
73
  };
70
74
  HTTPClient.prototype.getSpecificScanResultSarif =
71
75
  function getSpecificScanResultSarif(config, scanId) {
72
- const options = _.cloneDeep(this.requestOptions);
76
+ const options = cloneDeep(this.requestOptions);
73
77
  options.url = createRawOutputURL(config, scanId);
74
- return requestUtils.sendRequest({ method: 'get', options });
78
+ return sendRequest({ method: 'get', options });
75
79
  };
76
80
  HTTPClient.prototype.createNewEvent = function createNewEvent(config, scanId, newProject) {
77
- const options = _.cloneDeep(this.requestOptions);
81
+ const options = cloneDeep(this.requestOptions);
78
82
  options.url = createEventCollectorURL(config, scanId);
79
83
  options.body = {
80
84
  eventSource: process.env.CODESEC_INVOCATION_ENVIRONMENT,
@@ -84,10 +88,10 @@ HTTPClient.prototype.createNewEvent = function createNewEvent(config, scanId, ne
84
88
  newProject
85
89
  }
86
90
  };
87
- return requestUtils.sendRequest({ method: 'post', options });
91
+ return sendRequest({ method: 'post', options });
88
92
  };
89
93
  HTTPClient.prototype.getScanId = function getScanId(config, codeArtifactId) {
90
- const options = _.cloneDeep(this.requestOptions);
94
+ const options = cloneDeep(this.requestOptions);
91
95
  let url = createGetScanIdURL(config);
92
96
  options.url = url;
93
97
  options.body = {
@@ -96,20 +100,20 @@ HTTPClient.prototype.getScanId = function getScanId(config, codeArtifactId) {
96
100
  ? config.label
97
101
  : `Started by CLI tool at ${new Date().toString()}`
98
102
  };
99
- return requestUtils.sendRequest({ method: 'post', options });
103
+ return sendRequest({ method: 'post', options });
100
104
  };
101
105
  HTTPClient.prototype.sendArtifact = async function sendArtifact(config) {
102
- const options = _.cloneDeep(this.requestOptions);
106
+ const options = cloneDeep(this.requestOptions);
103
107
  let formData = {
104
108
  filename: fs.createReadStream(config.file)
105
109
  };
106
110
  options.formData = formData;
107
111
  options.headers['Content-Type'] = 'multipart/form-data';
108
112
  options.url = createHarmonyUrl(config);
109
- return requestUtils.sendRequest({ method: 'post', options });
113
+ return sendRequest({ method: 'post', options });
110
114
  };
111
115
  HTTPClient.prototype.createProjectId = function createProjectId(config) {
112
- const options = _.cloneDeep(this.requestOptions);
116
+ const options = cloneDeep(this.requestOptions);
113
117
  options.body = {
114
118
  name: config.name,
115
119
  archived: 'false'
@@ -118,35 +122,35 @@ HTTPClient.prototype.createProjectId = function createProjectId(config) {
118
122
  options.body.language = config.language;
119
123
  }
120
124
  options.url = createHarmonyProjectsUrl(config);
121
- return requestUtils.sendRequest({ method: 'post', options });
125
+ return sendRequest({ method: 'post', options });
122
126
  };
123
127
  HTTPClient.prototype.getProjectIdByName = function getProjectIdByName(config) {
124
- const options = _.cloneDeep(this.requestOptions);
128
+ const options = cloneDeep(this.requestOptions);
125
129
  options.url = createHarmonyProjectsUrl(config) + '?name=' + config.name;
126
- return requestUtils.sendRequest({ method: 'get', options });
130
+ return sendRequest({ method: 'get', options });
127
131
  };
128
132
  HTTPClient.prototype.getScanProjectById = function getScanProjectById(config) {
129
- const options = _.cloneDeep(this.requestOptions);
133
+ const options = cloneDeep(this.requestOptions);
130
134
  options.url = createScanProjectUrl(config);
131
- return requestUtils.sendRequest({ method: 'get', options });
135
+ return sendRequest({ method: 'get', options });
132
136
  };
133
137
  HTTPClient.prototype.getGlobalProperties = function getGlobalProperties(host) {
134
- const options = _.cloneDeep(this.requestOptions);
138
+ const options = cloneDeep(this.requestOptions);
135
139
  let url = createGlobalPropertiesUrl(host);
136
140
  options.url = url;
137
- return requestUtils.sendRequest({ method: 'get', options });
141
+ return sendRequest({ method: 'get', options });
138
142
  };
139
143
  HTTPClient.prototype.pollForAuth = function pollForAuth(token) {
140
- const options = _.cloneDeep(this.requestOptions);
144
+ const options = cloneDeep(this.requestOptions);
141
145
  let url = pollForAuthUrl();
142
146
  options.url = url;
143
147
  let requestBody = {};
144
148
  requestBody.token = token;
145
149
  options.body = requestBody;
146
- return requestUtils.sendRequest({ method: 'post', options });
150
+ return sendRequest({ method: 'post', options });
147
151
  };
148
152
  HTTPClient.prototype.catalogueCommand = function catalogueCommand(config) {
149
- const options = _.cloneDeep(this.requestOptions);
153
+ const options = cloneDeep(this.requestOptions);
150
154
  let url = createAppCreateURL(config);
151
155
  options.url = url;
152
156
  let requestBody = {};
@@ -157,140 +161,147 @@ HTTPClient.prototype.catalogueCommand = function catalogueCommand(config) {
157
161
  requestBody.tags = config.tags;
158
162
  requestBody.code = config.code;
159
163
  options.body = requestBody;
160
- return requestUtils.sendRequest({ method: 'post', options });
164
+ return sendRequest({ method: 'post', options });
161
165
  };
162
166
  HTTPClient.prototype.sendSnapshot = function sendSnapshot(requestBody, config) {
163
- const options = _.cloneDeep(this.requestOptions);
167
+ const options = cloneDeep(this.requestOptions);
164
168
  let url = createSnapshotURL(config);
165
169
  options.url = url;
166
170
  options.body = requestBody;
167
- return requestUtils.sendRequest({ method: 'post', options });
171
+ return sendRequest({ method: 'post', options });
168
172
  };
169
173
  HTTPClient.prototype.scaServiceIngest = function scaServiceIngest(requestBody, config) {
170
- const options = _.cloneDeep(this.requestOptions);
174
+ const options = cloneDeep(this.requestOptions);
171
175
  let url = createScaServiceIngestURL(config);
172
176
  options.url = url;
173
177
  options.body = requestBody;
174
- return requestUtils.sendRequest({ method: 'post', options });
178
+ return sendRequest({ method: 'post', options });
175
179
  };
176
180
  HTTPClient.prototype.noProjectIdUpload = function scaServiceIngest(requestBody, config) {
177
- const options = _.cloneDeep(this.requestOptions);
181
+ const options = cloneDeep(this.requestOptions);
178
182
  let url = createScaServiceNoProjectIdURL(config);
179
183
  options.url = url;
180
184
  options.body = requestBody;
181
- return requestUtils.sendRequest({ method: 'post', options });
185
+ return sendRequest({ method: 'post', options });
182
186
  };
183
187
  HTTPClient.prototype.scaServiceReport = function scaServiceReport(config, reportId) {
184
- const options = _.cloneDeep(this.requestOptions);
188
+ const options = cloneDeep(this.requestOptions);
185
189
  let url = createScaServiceReportURL(config, reportId);
186
190
  options.url = url;
187
- return requestUtils.sendRequest({ method: 'get', options });
191
+ return sendRequest({ method: 'get', options });
188
192
  };
189
193
  HTTPClient.prototype.scaServiceReportNoProjectId = function scaServiceReport(config, reportId) {
190
- const options = _.cloneDeep(this.requestOptions);
194
+ const options = cloneDeep(this.requestOptions);
191
195
  options.url = createScaServiceReportNoProjectIdURL(config, reportId);
192
196
  if (config.debug || config.verbose) {
193
197
  console.log('createScaServiceReportNoProjectIdURL', options.url);
194
198
  }
195
- return requestUtils.sendRequest({ method: 'get', options });
199
+ return sendRequest({ method: 'get', options });
196
200
  };
197
201
  HTTPClient.prototype.scaServiceReportStatus = function scaServiceReport(config, reportId) {
198
- const options = _.cloneDeep(this.requestOptions);
202
+ const options = cloneDeep(this.requestOptions);
199
203
  options.url = createScaServiceReportStatusURL(config, reportId);
200
204
  if (config.debug || config.verbose) {
201
205
  console.log('createScaServiceReportStatusURL', options.url);
202
206
  }
203
- return requestUtils.sendRequest({ method: 'get', options });
207
+ return sendRequest({ method: 'get', options });
204
208
  };
205
209
  HTTPClient.prototype.scaServiceNoProjectIdReportStatus =
206
210
  function scaServiceReport(config, reportId) {
207
- const options = _.cloneDeep(this.requestOptions);
211
+ const options = cloneDeep(this.requestOptions);
208
212
  options.url = createScaServiceReportStatusURL(config, reportId);
209
213
  if (config.debug || config.verbose) {
210
214
  console.log('createScaServiceReportStatusURL', options.url);
211
215
  }
212
- return requestUtils.sendRequest({ method: 'get', options });
216
+ return sendRequest({ method: 'get', options });
213
217
  };
218
+ // HTTPClient.prototype.scaServiceIngests = function scaServiceIngests(config) {
219
+ // const options = cloneDeep(this.requestOptions)
220
+ // let url = createScaServiceIngestsURL(config)
221
+ // options.url = url
222
+ // return requestUtils.sendRequest({ method: 'get', options })
223
+ // }
214
224
  HTTPClient.prototype.scaServiceHealth = function scaServiceIngests(config) {
215
- const options = _.cloneDeep(this.requestOptions);
225
+ const options = cloneDeep(this.requestOptions);
216
226
  let url = createScaServiceHealthURL(config);
217
227
  options.url = url;
218
- return requestUtils.sendRequest({ method: 'get', options });
228
+ return sendRequest({ method: 'get', options });
219
229
  };
220
230
  HTTPClient.prototype.getReportById = function getReportById(config, reportId) {
221
- const options = _.cloneDeep(this.requestOptions);
231
+ const options = cloneDeep(this.requestOptions);
222
232
  if (config.ignoreDev) {
223
233
  options.url = createSpecificReportWithProdUrl(config, reportId);
224
234
  }
225
235
  else {
226
236
  options.url = createSpecificReportUrl(config, reportId);
227
237
  }
228
- return requestUtils.sendRequest({ method: 'get', options });
238
+ return sendRequest({ method: 'get', options });
229
239
  };
230
240
  HTTPClient.prototype.getReportStatusById = function getReportStatusById(config, snapshotId) {
231
- const options = _.cloneDeep(this.requestOptions);
241
+ const options = cloneDeep(this.requestOptions);
232
242
  options.url = createSpecificReportStatusURL(config, snapshotId);
233
- return requestUtils.sendRequest({ method: 'get', options });
243
+ return sendRequest({ method: 'get', options });
234
244
  };
235
245
  HTTPClient.prototype.getLibraryVulnerabilities =
236
246
  function getLibraryVulnerabilities(config, requestBody) {
237
- const options = _.cloneDeep(this.requestOptions);
247
+ const options = cloneDeep(this.requestOptions);
238
248
  options.url = createLibraryVulnerabilitiesUrl(config);
239
249
  options.body = requestBody;
240
- return requestUtils.sendRequest({ method: 'put', options });
250
+ return sendRequest({ method: 'put', options });
241
251
  };
242
252
  HTTPClient.prototype.getAppId = function getAppId(config) {
243
- const options = _.cloneDeep(this.requestOptions);
253
+ const options = cloneDeep(this.requestOptions);
244
254
  let url = createAppNameUrl(config);
245
255
  options.url = url;
246
- return requestUtils.sendRequest({ method: 'get', options });
256
+ return sendRequest({ method: 'get', options });
247
257
  };
248
258
  HTTPClient.prototype.registerRepo = function registerRepo(config, requestBody) {
249
- const options = _.cloneDeep(this.requestOptions);
259
+ const options = cloneDeep(this.requestOptions);
250
260
  let url = createRepositoryUrl(config);
251
261
  options.url = url;
252
262
  options.body = requestBody;
253
- return requestUtils.sendRequest({ method: 'post', options });
263
+ return sendRequest({ method: 'post', options });
254
264
  };
255
265
  HTTPClient.prototype.retrieveProjectByRepoId = function retrieveProjectByRepoId(config, requestBody) {
256
- const options = _.cloneDeep(this.requestOptions);
266
+ const options = cloneDeep(this.requestOptions);
257
267
  let url = createRepoProjectUrl(config);
258
268
  options.url = url;
259
269
  options.body = requestBody;
260
- return requestUtils.sendRequest({ method: 'get', options });
270
+ return sendRequest({ method: 'get', options });
261
271
  };
262
272
  HTTPClient.prototype.registerProjectGroup = function (config, requestBody) {
263
- const options = _.cloneDeep(this.requestOptions);
273
+ const options = cloneDeep(this.requestOptions);
264
274
  let url = registerProjectGroupUrl(config);
265
275
  options.url = url;
266
276
  options.body = requestBody;
267
277
  if (config.debug || config.verbose) {
268
278
  console.log('registerProjectGroup');
269
279
  console.log('url', options.url);
280
+ // console.log('body', options.body)
270
281
  }
271
- return requestUtils.sendRequest({ method: 'post', options });
282
+ return sendRequest({ method: 'post', options });
272
283
  };
273
284
  HTTPClient.prototype.registerProject = function (config, body) {
274
- const options = _.cloneDeep(this.requestOptions);
285
+ const options = cloneDeep(this.requestOptions);
275
286
  let url = registerProjectUrl(config);
276
287
  options.url = url;
277
288
  options.body = body;
278
- return requestUtils.sendRequest({ method: 'post', options });
289
+ return sendRequest({ method: 'post', options });
279
290
  };
280
291
  HTTPClient.prototype.retrieveSourcesViaRepositoryId = function (config, repositoryId) {
281
- const options = _.cloneDeep(this.requestOptions);
292
+ const options = cloneDeep(this.requestOptions);
282
293
  let url = retrieveSourcesUrl(config, repositoryId);
283
294
  options.url = url;
284
- return requestUtils.sendRequest({ method: 'get', options });
295
+ return sendRequest({ method: 'get', options });
285
296
  };
286
297
  HTTPClient.prototype.retrieveRepoByOrgAndGitURL = function (config) {
287
- const options = _.cloneDeep(this.requestOptions);
298
+ const options = cloneDeep(this.requestOptions);
288
299
  let url = retrieveRepoByOrgAndGitURL(config);
289
300
  options.url = url;
290
- return requestUtils.sendRequest({ method: 'get', options });
301
+ return sendRequest({ method: 'get', options });
291
302
  };
292
303
  HTTPClient.prototype.registerOnCliServices = function (config, project) {
293
- const options = _.cloneDeep(this.requestOptions);
304
+ const options = cloneDeep(this.requestOptions);
294
305
  let url = retrieveRegisterOnCliServicesUrl(config);
295
306
  options.url = url;
296
307
  options.body = project;
@@ -299,19 +310,19 @@ HTTPClient.prototype.registerOnCliServices = function (config, project) {
299
310
  console.log('url', options.url);
300
311
  console.log('body', options.body);
301
312
  }
302
- return requestUtils.sendRequest({ method: 'post', options });
313
+ return sendRequest({ method: 'post', options });
303
314
  };
304
315
  HTTPClient.prototype.retrieveProjectByOrganizationId = function registerRepo(config) {
305
- const options = _.cloneDeep(this.requestOptions);
316
+ const options = cloneDeep(this.requestOptions);
306
317
  let url = retrieveProjectByOrganizationIdUrl(config);
307
318
  options.url = url;
308
319
  if (config.debug || config.verbose) {
309
320
  console.log(url);
310
321
  }
311
- return requestUtils.sendRequest({ method: 'get', options });
322
+ return sendRequest({ method: 'get', options });
312
323
  };
313
324
  HTTPClient.prototype.retrieveExistingProjectGroupsByOrg = function registerRepo(config) {
314
- const options = _.cloneDeep(this.requestOptions);
325
+ const options = cloneDeep(this.requestOptions);
315
326
  let url = retrieveExistingGroupProjectsByOrgUrl(config) +
316
327
  '?name=' +
317
328
  config.repositoryName +
@@ -320,21 +331,32 @@ HTTPClient.prototype.retrieveExistingProjectGroupsByOrg = function registerRepo(
320
331
  if (config.debug || config.verbose) {
321
332
  console.log(options.url);
322
333
  }
323
- return requestUtils.sendRequest({ method: 'get', options });
334
+ return sendRequest({ method: 'get', options });
324
335
  };
325
336
  HTTPClient.prototype.retrieveExistingProjectIdByProjectGroupId =
326
337
  function registerRepo(config, projectGroupId) {
327
- const options = _.cloneDeep(this.requestOptions);
338
+ const options = cloneDeep(this.requestOptions);
328
339
  let url = retrieveExistingGroupProjectsByGroupIdUrl(config, projectGroupId);
329
340
  options.url = url;
330
- return requestUtils.sendRequest({ method: 'get', options });
341
+ return sendRequest({ method: 'get', options });
331
342
  };
332
343
  HTTPClient.prototype.retrieveExistingRepo = function registerRepo(config) {
333
- const options = _.cloneDeep(this.requestOptions);
344
+ const options = cloneDeep(this.requestOptions);
334
345
  let url = retrieveExistingRepoUrl(config);
335
346
  options.url = url;
336
- return requestUtils.sendRequest({ method: 'get', options });
337
- };
347
+ return sendRequest({ method: 'get', options });
348
+ };
349
+ // HTTPClient.prototype.getDependencyTree = function getReport(
350
+ // orgUuid,
351
+ // appId,
352
+ // reportId
353
+ // ) {
354
+ // const options = cloneDeep(this.requestOptions)
355
+ // let url = createGetDependencyTree(options.uri, orgUuid, appId, reportId)
356
+ // options.url = url
357
+ // return requestUtils.sendRequest({ method: 'get', options })
358
+ // }
359
+ // serverless - lambda
338
360
  function getServerlessHost(config = {}) {
339
361
  const originalHost = config?.host || config?.get('host');
340
362
  const host = originalHost?.endsWith('/')
@@ -363,57 +385,59 @@ function createScanResultsGetUrl(config, params, scanId, functionArn) {
363
385
  HTTPClient.prototype.postFunctionScan = async function postFunctionScan(config, params, body) {
364
386
  const url = createScanFunctionPostUrl(config, params);
365
387
  const options = { ...this.requestOptions, body, url };
366
- return requestUtils.sendRequest({ method: 'post', options });
388
+ return sendRequest({ method: 'post', options });
367
389
  };
368
390
  HTTPClient.prototype.getScanResources = async function getScanResources(config, params, scanId) {
369
391
  const url = createScanResourcesGetUrl(config, params, scanId);
370
392
  const options = { ...this.requestOptions, url };
371
- return requestUtils.sendRequest({ method: 'get', options });
393
+ return sendRequest({ method: 'get', options });
372
394
  };
373
395
  HTTPClient.prototype.getFunctionScanResults =
374
396
  async function getFunctionScanResults(config, params, scanId, functionArn) {
375
397
  const url = createScanResultsGetUrl(config, params, scanId, functionArn);
376
398
  const options = { ...this.requestOptions, url };
377
- return requestUtils.sendRequest({ method: 'get', options });
399
+ return sendRequest({ method: 'get', options });
378
400
  };
379
401
  HTTPClient.prototype.checkLibrary = function checkLibrary(data) {
380
- const options = _.cloneDeep(this.requestOptions);
402
+ const options = cloneDeep(this.requestOptions);
381
403
  let url = createDataUrl();
382
404
  options.url = url;
383
405
  options.body = data;
384
- return requestUtils.sendRequest({ method: 'post', options });
406
+ return sendRequest({ method: 'post', options });
385
407
  };
386
408
  HTTPClient.prototype.getSbom = function getSbom(config, type) {
387
- const options = _.cloneDeep(this.requestOptions);
409
+ const options = cloneDeep(this.requestOptions);
388
410
  options.url = createSbomUrl(config, type);
389
- return requestUtils.sendRequest({ method: 'get', options });
411
+ return sendRequest({ method: 'get', options });
390
412
  };
391
413
  HTTPClient.prototype.getSCASbom = function getSbom(config, type, reportId) {
392
- const options = _.cloneDeep(this.requestOptions);
414
+ const options = cloneDeep(this.requestOptions);
393
415
  options.url = createSCASbomUrl(config, type, reportId);
394
- return requestUtils.sendRequest({ method: 'get', options });
416
+ return sendRequest({ method: 'get', options });
395
417
  };
396
418
  HTTPClient.prototype.getLatestVersion = function getLatestVersion() {
397
- const options = _.cloneDeep(this.requestOptions);
419
+ const options = cloneDeep(this.requestOptions);
398
420
  options.url =
399
421
  'https://pkg.contrastsecurity.com/artifactory/cli/latest-version.txt';
400
- return requestUtils.sendRequest({ method: 'get', options });
422
+ return sendRequest({ method: 'get', options });
401
423
  };
402
424
  HTTPClient.prototype.postTelemetry = function postTelemetry(config, requestBody) {
403
- const options = _.cloneDeep(this.requestOptions);
425
+ const options = cloneDeep(this.requestOptions);
404
426
  options.url = createTelemetryEventUrl(config);
405
427
  options.body = requestBody;
406
- return requestUtils.sendRequest({ method: 'post', options });
428
+ return sendRequest({ method: 'post', options });
407
429
  };
430
+ // analytics
408
431
  HTTPClient.prototype.postAnalyticsFunction = function (config, provider, body) {
409
432
  const url = createAnalyticsFunctionPostUrl(config, provider);
410
433
  const options = { ...this.requestOptions, body, url };
411
- return requestUtils.sendRequest({ method: 'post', options });
434
+ return sendRequest({ method: 'post', options });
412
435
  };
413
436
  const createAnalyticsFunctionPostUrl = (config, provider) => {
414
437
  const url = getServerlessHost(config);
415
438
  return `${url}/organizations/${config.organizationId}/providers/${provider}/analytics`;
416
439
  };
440
+ // scan
417
441
  const createGetScanIdURL = config => {
418
442
  return `${config.host}/Contrast/api/sast/v1/organizations/${config.organizationId}/projects/${config.projectId}/scans/`;
419
443
  };
@@ -463,6 +487,9 @@ function createScaServiceReportStatusURL(config, reportId) {
463
487
  function createScaServiceNoProjectIdURL(config) {
464
488
  return `${config.host}/Contrast/api/sca/organizations/${config.organizationId}/libraries/ingests/tree${config.repo && config.language === 'JAVA?' ? 'incomplete=true' : ''}`;
465
489
  }
490
+ // function createScaServiceIngestsURL(config) {
491
+ // return `${config.host}/Contrast/api/sca/organizations/${config.organizationId}/applications/${config.applicationId}/libraries/ingests`
492
+ // }
466
493
  function createScaServiceHealthURL(config) {
467
494
  return `${config.host}/Contrast/api/sca/organizations/${config.organizationId}/health`;
468
495
  }
@@ -559,6 +586,78 @@ function createSCASbomUrl(config, type, reportId) {
559
586
  function createTelemetryEventUrl(config) {
560
587
  return `${config.host}/Contrast/api/sast/organizations/${config.organizationId}/cli`;
561
588
  }
562
- module.exports = HTTPClient;
563
- module.exports.pollForAuthUrl = pollForAuthUrl;
564
- module.exports.getServerlessHost = getServerlessHost;
589
+ // assess
590
+ const createAgentCredentialsUrl = config => {
591
+ return `${config.host}/Contrast/api/ng/${config.organizationId}/users/keys/servicekey/agentuser?expand=skip_links`;
592
+ };
593
+ const createAssessUrl = config => {
594
+ return `${config.host}/Contrast/api/ng/organizations/${config.organizationId}/orgtraces/ui?expand=application%2Csession_metadata&sort=-severity`;
595
+ };
596
+ const createVulnerabilityDetailsUrl = (config, vulnerabilityId) => {
597
+ return `${config.host}/Contrast/api/ng/${config.organizationId}/traces/${vulnerabilityId}/story`;
598
+ };
599
+ const createInstanceFromMetadataFilterUrl = (config, applicationId) => {
600
+ return `${config.host}/Contrast/api/ng/organizations/${config.organizationId}/applications/${applicationId}/agent-sessions/filter`;
601
+ };
602
+ HTTPClient.prototype.getAgentCredentials = function getAgentCredentials() {
603
+ const options = cloneDeep(this.requestOptions);
604
+ options.url = createAgentCredentialsUrl(this.config);
605
+ return sendRequest({ method: 'get', options });
606
+ };
607
+ HTTPClient.prototype.getAssessData = function getAssessData(applicationId, retrievedInstanceGuid) {
608
+ const options = cloneDeep(this.requestOptions);
609
+ options.url = createAssessUrl(this.config);
610
+ options.body = {
611
+ agentSessionId: retrievedInstanceGuid,
612
+ quickFilter: 'OPEN',
613
+ modules: [applicationId],
614
+ servers: [],
615
+ filterTags: [],
616
+ severities: [],
617
+ status: [],
618
+ substatus: [],
619
+ vulnTypes: [],
620
+ environments: [],
621
+ urls: [],
622
+ sinks: [],
623
+ securityStandards: [],
624
+ appVersionTags: [],
625
+ routes: [],
626
+ tracked: false,
627
+ untracked: false,
628
+ technologies: [],
629
+ applicationTags: [],
630
+ applicationImportances: [],
631
+ languages: [],
632
+ metadataFilters: []
633
+ };
634
+ if (this.config.debug || this.config.verbose) {
635
+ console.log(options.url);
636
+ console.log(options.data);
637
+ }
638
+ return sendRequest({ method: 'post', options });
639
+ };
640
+ HTTPClient.prototype.getVulnerabilityDetails = function getVulnerabilityDetails(vulnerabilityId) {
641
+ const options = cloneDeep(this.requestOptions);
642
+ options.url = createVulnerabilityDetailsUrl(this.config, vulnerabilityId);
643
+ return sendRequest({ method: 'get', options });
644
+ };
645
+ HTTPClient.prototype.getInstanceFromMetadataFilter =
646
+ function getInstanceFromMetadataFilter(buildNumberMetadataGuid, applicationId) {
647
+ const options = cloneDeep(this.requestOptions);
648
+ options.url = createInstanceFromMetadataFilterUrl(this.config, applicationId);
649
+ if (this.config.debug || this.config.verbose) {
650
+ console.log(options.url);
651
+ }
652
+ //create body with metadata guid
653
+ options.body = {
654
+ metadata: [{ label: 'Build Number', values: [buildNumberMetadataGuid] }]
655
+ };
656
+ return sendRequest({ method: 'post', options });
657
+ };
658
+ export default HTTPClient;
659
+ const _pollForAuthUrl = pollForAuthUrl;
660
+ export { _pollForAuthUrl as pollForAuthUrl };
661
+ const _getServerlessHost = getServerlessHost;
662
+ export { _getServerlessHost as getServerlessHost };
663
+ //# sourceMappingURL=HTTPClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTTPClient.js","sourceRoot":"","sources":["../../src/common/HTTPClient.js"],"names":[],"mappings":"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"}