scanoss 0.17.3 → 0.19.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 (180) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/main/cli/bin/cli-bin.js +8 -2
  3. package/build/main/cli/commands/crypto.js +13 -8
  4. package/build/main/cli/commands/dep.js +17 -3
  5. package/build/main/cli/commands/scan.js +34 -27
  6. package/build/main/index.d.ts +4 -4
  7. package/build/main/index.js +4 -4
  8. package/build/main/sdk/BaseConfig.d.ts +87 -11
  9. package/build/main/sdk/BaseConfig.js +92 -7
  10. package/build/main/sdk/Clients/Cryptography/CryptographyClient.d.ts +20 -0
  11. package/build/main/sdk/Clients/Cryptography/CryptographyClient.js +142 -0
  12. package/build/main/sdk/Clients/Cryptography/CryptographyHttpClient.d.ts +10 -0
  13. package/build/main/sdk/Clients/Cryptography/CryptographyHttpClient.js +56 -0
  14. package/build/main/sdk/Clients/Cryptography/ICryptographyClient.d.ts +40 -0
  15. package/build/main/sdk/Clients/Cryptography/ICryptographyClient.js +3 -0
  16. package/build/main/sdk/{Services/Grpc/DependencyService.d.ts → Clients/Dependency/DependencyClient.d.ts} +5 -5
  17. package/build/main/sdk/Clients/Dependency/DependencyClient.js +100 -0
  18. package/build/main/sdk/Clients/Dependency/DependencyHttpClient.d.ts +9 -0
  19. package/build/main/sdk/Clients/Dependency/DependencyHttpClient.js +61 -0
  20. package/build/main/sdk/Clients/Dependency/IDependencyClient.d.ts +41 -0
  21. package/build/main/sdk/Clients/Dependency/IDependencyClient.js +3 -0
  22. package/build/main/sdk/{Services/Grpc/BaseService.d.ts → Clients/Grpc/BaseGRPCClient.d.ts} +6 -10
  23. package/build/main/sdk/Clients/Grpc/BaseGRPCClient.js +149 -0
  24. package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +1 -1
  25. package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_pb.js +1 -1
  26. package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.js +1 -1
  27. package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.js +1 -1
  28. package/build/{module/sdk/Services → main/sdk/Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +1 -1
  29. package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1 -1
  30. package/build/main/sdk/{Services → Clients}/Transport/Transport.js +1 -1
  31. package/build/main/sdk/Clients/Vulnerability/IVulnerabilityClient.d.ts +5 -0
  32. package/build/main/sdk/Clients/Vulnerability/IVulnerabilityClient.js +3 -0
  33. package/build/main/sdk/Clients/Vulnerability/VulnerabilityHttpClient.d.ts +10 -0
  34. package/build/main/sdk/Clients/Vulnerability/VulnerabilityHttpClient.js +58 -0
  35. package/build/main/sdk/Clients/helper/clientHelper.d.ts +3 -0
  36. package/build/main/sdk/Clients/helper/clientHelper.js +25 -0
  37. package/build/main/sdk/{Services → Clients}/http/HttpClient.d.ts +5 -3
  38. package/build/main/sdk/Clients/http/HttpClient.js +88 -0
  39. package/build/main/sdk/Clients/interfaces/ClientConfig.d.ts +11 -0
  40. package/build/main/sdk/Clients/interfaces/ClientConfig.js +9 -0
  41. package/build/main/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.d.ts +5 -5
  42. package/build/main/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +6 -6
  43. package/build/main/sdk/Cryptography/Algorithm/Files/FileAlgorithmScanner.js +3 -3
  44. package/build/main/sdk/Cryptography/CryptoCfg.d.ts +15 -37
  45. package/build/main/sdk/Cryptography/CryptoCfg.js +32 -36
  46. package/build/main/sdk/Cryptography/CryptographyScanner.d.ts +2 -2
  47. package/build/main/sdk/Cryptography/CryptographyScanner.js +1 -1
  48. package/build/main/sdk/Cryptography/CryptographyTypes.d.ts +4 -0
  49. package/build/main/sdk/Cryptography/Helper/ResultCollector/Component/ComponentCryptographyResultColletor.d.ts +2 -2
  50. package/build/main/sdk/Cryptography/Helper/ResultCollector/Component/ComponentCryptographyResultColletor.js +7 -7
  51. package/build/main/sdk/Cryptography/Hint/Components/ComponentHintScanner.d.ts +4 -4
  52. package/build/main/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +4 -4
  53. package/build/main/sdk/Cryptography/Hint/Files/FileHintScanner.js +3 -3
  54. package/build/main/sdk/Dependencies/DependencyScanner.d.ts +4 -4
  55. package/build/main/sdk/Dependencies/DependencyScanner.js +57 -41
  56. package/build/main/sdk/Dependencies/DependencyScannerCfg.d.ts +20 -6
  57. package/build/main/sdk/Dependencies/DependencyScannerCfg.js +50 -1
  58. package/build/main/sdk/Logger.d.ts +4 -2
  59. package/build/main/sdk/Logger.js +22 -6
  60. package/build/main/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.d.ts +2 -2
  61. package/build/main/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.js +1 -1
  62. package/build/main/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.d.ts +3 -3
  63. package/build/main/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.js +1 -1
  64. package/build/main/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.d.ts +2 -2
  65. package/build/main/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.js +1 -1
  66. package/build/main/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.d.ts +2 -2
  67. package/build/main/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.js +1 -1
  68. package/build/main/sdk/Vulnerability/VulnerabilityCfg.d.ts +29 -0
  69. package/build/main/sdk/Vulnerability/VulnerabilityCfg.js +54 -0
  70. package/build/main/sdk/Vulnerability/VulnerabilityScanner.d.ts +8 -0
  71. package/build/main/sdk/Vulnerability/VulnerabilityScanner.js +34 -0
  72. package/build/main/sdk/scanner/Scanner.d.ts +0 -1
  73. package/build/main/sdk/scanner/Scanner.js +2 -3
  74. package/build/main/sdk/scanner/ScannerCfg.d.ts +11 -0
  75. package/build/main/sdk/scanner/ScannerCfg.js +28 -2
  76. package/build/main/sdk/shared/interfaces/Component.d.ts +4 -0
  77. package/build/main/sdk/shared/interfaces/Component.js +3 -0
  78. package/build/main/tsconfig.tsbuildinfo +1 -1
  79. package/build/module/cli/bin/cli-bin.js +8 -2
  80. package/build/module/cli/commands/crypto.js +13 -8
  81. package/build/module/cli/commands/dep.js +17 -3
  82. package/build/module/cli/commands/scan.js +34 -27
  83. package/build/module/index.d.ts +4 -4
  84. package/build/module/index.js +4 -4
  85. package/build/module/sdk/BaseConfig.d.ts +87 -11
  86. package/build/module/sdk/BaseConfig.js +91 -7
  87. package/build/module/sdk/Clients/Cryptography/CryptographyClient.d.ts +20 -0
  88. package/build/module/sdk/Clients/Cryptography/CryptographyClient.js +131 -0
  89. package/build/module/sdk/Clients/Cryptography/CryptographyHttpClient.d.ts +10 -0
  90. package/build/module/sdk/Clients/Cryptography/CryptographyHttpClient.js +54 -0
  91. package/build/module/sdk/Clients/Cryptography/ICryptographyClient.d.ts +40 -0
  92. package/build/module/sdk/Clients/Cryptography/ICryptographyClient.js +2 -0
  93. package/build/module/sdk/{Services/Grpc/DependencyService.d.ts → Clients/Dependency/DependencyClient.d.ts} +5 -5
  94. package/build/module/sdk/Clients/Dependency/DependencyClient.js +74 -0
  95. package/build/module/sdk/Clients/Dependency/DependencyHttpClient.d.ts +9 -0
  96. package/build/module/sdk/Clients/Dependency/DependencyHttpClient.js +59 -0
  97. package/build/module/sdk/Clients/Dependency/IDependencyClient.d.ts +41 -0
  98. package/build/module/sdk/Clients/Dependency/IDependencyClient.js +2 -0
  99. package/build/module/sdk/{Services/Grpc/BaseService.d.ts → Clients/Grpc/BaseGRPCClient.d.ts} +6 -10
  100. package/build/module/sdk/Clients/Grpc/BaseGRPCClient.js +121 -0
  101. package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +1 -1
  102. package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_pb.js +1 -1
  103. package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.js +1 -1
  104. package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.js +1 -1
  105. package/build/{main/sdk/Services → module/sdk/Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +1 -1
  106. package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1 -1
  107. package/build/module/sdk/{Services → Clients}/Transport/Transport.js +1 -1
  108. package/build/module/sdk/Clients/Vulnerability/IVulnerabilityClient.d.ts +5 -0
  109. package/build/module/sdk/Clients/Vulnerability/IVulnerabilityClient.js +2 -0
  110. package/build/module/sdk/Clients/Vulnerability/VulnerabilityHttpClient.d.ts +10 -0
  111. package/build/module/sdk/Clients/Vulnerability/VulnerabilityHttpClient.js +56 -0
  112. package/build/module/sdk/Clients/helper/clientHelper.d.ts +3 -0
  113. package/build/module/sdk/Clients/helper/clientHelper.js +21 -0
  114. package/build/module/sdk/{Services → Clients}/http/HttpClient.d.ts +5 -3
  115. package/build/module/sdk/Clients/http/HttpClient.js +82 -0
  116. package/build/module/sdk/Clients/interfaces/ClientConfig.d.ts +11 -0
  117. package/build/module/sdk/Clients/interfaces/ClientConfig.js +6 -0
  118. package/build/module/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.d.ts +5 -5
  119. package/build/module/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +6 -6
  120. package/build/module/sdk/Cryptography/Algorithm/Files/FileAlgorithmScanner.js +3 -3
  121. package/build/module/sdk/Cryptography/CryptoCfg.d.ts +15 -37
  122. package/build/module/sdk/Cryptography/CryptoCfg.js +34 -40
  123. package/build/module/sdk/Cryptography/CryptographyScanner.d.ts +2 -2
  124. package/build/module/sdk/Cryptography/CryptographyScanner.js +1 -1
  125. package/build/module/sdk/Cryptography/CryptographyTypes.d.ts +4 -0
  126. package/build/module/sdk/Cryptography/Helper/ResultCollector/Component/ComponentCryptographyResultColletor.d.ts +2 -2
  127. package/build/module/sdk/Cryptography/Helper/ResultCollector/Component/ComponentCryptographyResultColletor.js +7 -7
  128. package/build/module/sdk/Cryptography/Hint/Components/ComponentHintScanner.d.ts +4 -4
  129. package/build/module/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +4 -4
  130. package/build/module/sdk/Cryptography/Hint/Files/FileHintScanner.js +3 -3
  131. package/build/module/sdk/Dependencies/DependencyScanner.d.ts +4 -4
  132. package/build/module/sdk/Dependencies/DependencyScanner.js +58 -42
  133. package/build/module/sdk/Dependencies/DependencyScannerCfg.d.ts +20 -6
  134. package/build/module/sdk/Dependencies/DependencyScannerCfg.js +50 -1
  135. package/build/module/sdk/Logger.d.ts +4 -2
  136. package/build/module/sdk/Logger.js +22 -7
  137. package/build/module/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.d.ts +2 -2
  138. package/build/module/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.js +1 -1
  139. package/build/module/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.d.ts +3 -3
  140. package/build/module/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.js +1 -1
  141. package/build/module/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.d.ts +2 -2
  142. package/build/module/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.js +1 -1
  143. package/build/module/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.d.ts +2 -2
  144. package/build/module/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.js +1 -1
  145. package/build/module/sdk/Vulnerability/VulnerabilityCfg.d.ts +29 -0
  146. package/build/module/sdk/Vulnerability/VulnerabilityCfg.js +50 -0
  147. package/build/module/sdk/Vulnerability/VulnerabilityScanner.d.ts +8 -0
  148. package/build/module/sdk/Vulnerability/VulnerabilityScanner.js +32 -0
  149. package/build/module/sdk/scanner/Scanner.d.ts +0 -1
  150. package/build/module/sdk/scanner/Scanner.js +2 -3
  151. package/build/module/sdk/scanner/ScannerCfg.d.ts +11 -0
  152. package/build/module/sdk/scanner/ScannerCfg.js +28 -2
  153. package/build/module/sdk/shared/interfaces/Component.d.ts +4 -0
  154. package/build/module/sdk/shared/interfaces/Component.js +2 -0
  155. package/build/module/tsconfig.module.tsbuildinfo +1 -1
  156. package/package.json +1 -1
  157. package/build/main/sdk/Services/Grpc/BaseService.js +0 -159
  158. package/build/main/sdk/Services/Grpc/CryptographyService.d.ts +0 -20
  159. package/build/main/sdk/Services/Grpc/CryptographyService.js +0 -58
  160. package/build/main/sdk/Services/Grpc/DependencyService.js +0 -101
  161. package/build/main/sdk/Services/http/HttpClient.js +0 -81
  162. package/build/module/sdk/Services/Grpc/BaseService.js +0 -131
  163. package/build/module/sdk/Services/Grpc/CryptographyService.d.ts +0 -20
  164. package/build/module/sdk/Services/Grpc/CryptographyService.js +0 -55
  165. package/build/module/sdk/Services/Grpc/DependencyService.js +0 -75
  166. package/build/module/sdk/Services/http/HttpClient.js +0 -75
  167. /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  168. /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -0
  169. /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.d.ts +0 -0
  170. /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.d.ts +0 -0
  171. /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -0
  172. /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -0
  173. /package/build/main/sdk/{Services → Clients}/Transport/Transport.d.ts +0 -0
  174. /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  175. /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -0
  176. /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.d.ts +0 -0
  177. /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.d.ts +0 -0
  178. /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -0
  179. /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -0
  180. /package/build/module/sdk/{Services → Clients}/Transport/Transport.d.ts +0 -0
@@ -5,32 +5,75 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BaseConfig = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
+ /**
9
+ * Base configuration class for SCANOSS SDK services.
10
+ * Provides common proxy and network configuration settings for HTTP and gRPC connections.
11
+ */
8
12
  class BaseConfig {
13
+ /**
14
+ * Creates a new BaseConfig instance.
15
+ * @param config - Optional configuration object to copy settings from
16
+ */
9
17
  constructor(config) {
18
+ var _a;
19
+ /** HTTPS proxy server URL */
10
20
  this._HTTPS_PROXY = '';
21
+ /** HTTP proxy server URL */
11
22
  this._HTTP_PROXY = '';
12
- this._NO_PROXY = ''; //comma separated values
23
+ /** Comma-separated list of hosts to bypass proxy for */
24
+ this._NO_PROXY = '';
25
+ /** API URL for service connections */
13
26
  this._API_URL = '';
27
+ /** gRPC proxy server URL */
14
28
  this._GRPC_PROXY = '';
15
- this._CA_CERT = ''; // Path to the certificate to be used in SSL/TLS connection
29
+ /** Path to the CA certificate file for SSL/TLS connections */
30
+ this._CA_CERT = '';
31
+ /** Whether to ignore CA certificate errors */
32
+ this._IGNORE_CA_CERT_ERR = false;
16
33
  if (config) {
17
34
  this.HTTPS_PROXY = config.HTTPS_PROXY || '';
18
35
  this.HTTP_PROXY = config.HTTP_PROXY || '';
19
36
  this.NO_PROXY = config.NO_PROXY || '';
20
- this.API_URL = config.API_URL || '';
37
+ this.API_URL = config.API_URL;
21
38
  this.GRPC_PROXY = config.GRPC_PROXY || '';
22
- this.CA_CERT = config.CA_CERT;
39
+ this.CA_CERT = config.CA_CERT || '';
40
+ this.IGNORE_CA_CERT_ERR = (_a = config.IGNORE_CA_CERT_ERR) !== null && _a !== void 0 ? _a : false;
41
+ this.API_URL = config.API_URL || BaseConfig.getDefaultURL();
23
42
  }
43
+ this.API_URL = this.API_URL || BaseConfig.getDefaultURL();
24
44
  }
45
+ /**
46
+ * Returns the default SCANOSS API URL.
47
+ * @returns The default API endpoint URL
48
+ */
25
49
  static getDefaultURL() {
26
- return 'https://api.osskb.org/scan/direct';
50
+ return 'https://api.osskb.org';
27
51
  }
52
+ /**
53
+ * Returns the premium SCANOSS API URL.
54
+ * @returns The premium API endpoint URL
55
+ */
56
+ static getPremiumURL() {
57
+ return 'https://api.scanoss.com';
58
+ }
59
+ /**
60
+ * Sets the HTTPS proxy server URL.
61
+ * @param value - HTTPS proxy URL
62
+ */
28
63
  set HTTPS_PROXY(value) {
29
64
  this._HTTPS_PROXY = value;
30
65
  }
66
+ /**
67
+ * Sets the HTTP proxy server URL.
68
+ * @param value - HTTP proxy URL
69
+ */
31
70
  set HTTP_PROXY(value) {
32
71
  this._HTTP_PROXY = value;
33
72
  }
73
+ /**
74
+ * Sets the comma-separated list of hosts to bypass proxy for.
75
+ * @param value - NO_PROXY hosts list
76
+ */
34
77
  set NO_PROXY(value) {
35
78
  this._NO_PROXY = value;
36
79
  }
@@ -54,11 +97,15 @@ class BaseConfig {
54
97
  throw new Error(`Invalid API_URL format '${value}': ${e.message}`);
55
98
  }
56
99
  }
100
+ /**
101
+ * Sets the gRPC proxy server URL.
102
+ * @param value - gRPC proxy URL
103
+ */
57
104
  set GRPC_PROXY(value) {
58
105
  this._GRPC_PROXY = value;
59
106
  }
60
107
  /**
61
- * Sets the CA certificate file path for gRPC connections
108
+ * Sets the CA certificate file path for SSL/TLS connections.
62
109
  * @param caCertPath - Path to the CA certificate file
63
110
  * @throws {Error} When the certificate file does not exist or cannot be read
64
111
  */
@@ -73,24 +120,62 @@ class BaseConfig {
73
120
  throw new Error(`Certificate file not found: '${caCertPath}'`);
74
121
  }
75
122
  }
123
+ /**
124
+ * Sets whether to ignore CA certificate errors.
125
+ * @param value - True to ignore certificate errors, false otherwise
126
+ */
127
+ set IGNORE_CA_CERT_ERR(value) {
128
+ this._IGNORE_CA_CERT_ERR = value;
129
+ }
130
+ /**
131
+ * Gets the HTTPS proxy server URL.
132
+ * @returns HTTPS proxy URL
133
+ */
76
134
  get HTTPS_PROXY() {
77
135
  return this._HTTPS_PROXY;
78
136
  }
137
+ /**
138
+ * Gets the HTTP proxy server URL.
139
+ * @returns HTTP proxy URL
140
+ */
79
141
  get HTTP_PROXY() {
80
142
  return this._HTTP_PROXY;
81
143
  }
144
+ /**
145
+ * Gets the comma-separated list of hosts to bypass proxy for.
146
+ * @returns NO_PROXY hosts list
147
+ */
82
148
  get NO_PROXY() {
83
149
  return this._NO_PROXY;
84
150
  }
151
+ /**
152
+ * Gets the API URL for service connections.
153
+ * @returns API URL
154
+ */
85
155
  get API_URL() {
86
156
  return this._API_URL;
87
157
  }
158
+ /**
159
+ * Gets the gRPC proxy server URL.
160
+ * @returns gRPC proxy URL
161
+ */
88
162
  get GRPC_PROXY() {
89
163
  return this._GRPC_PROXY;
90
164
  }
165
+ /**
166
+ * Gets the path to the CA certificate file.
167
+ * @returns CA certificate file path
168
+ */
91
169
  get CA_CERT() {
92
170
  return this._CA_CERT;
93
171
  }
172
+ /**
173
+ * Gets whether CA certificate errors should be ignored.
174
+ * @returns True if certificate errors are ignored, false otherwise
175
+ */
176
+ get IGNORE_CA_CERT_ERR() {
177
+ return this._IGNORE_CA_CERT_ERR;
178
+ }
94
179
  }
95
180
  exports.BaseConfig = BaseConfig;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGsvQmFzZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBb0I7QUFZcEIsTUFBYSxVQUFVO0lBUXJCLFlBQVksTUFBb0I7UUFQeEIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFXLEVBQUUsQ0FBQyxDQUFHLHdCQUF3QjtRQUNsRCxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBRywyREFBMkQ7UUFHbEYsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYTtRQUN6QixPQUFPLG1DQUFtQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU8sQ0FBQyxVQUFrQjtRQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxLQUFLLEVBQUU7WUFBRSxPQUFPO1FBQ3BELElBQUksQ0FBQztZQUNELFlBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQztRQUFDLE9BQU0sQ0FBQyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFuR0QsZ0NBbUdDIn0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGsvQmFzZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBb0I7QUFFcEI7OztHQUdHO0FBQ0gsTUFBc0IsVUFBVTtJQXNCOUI7OztPQUdHO0lBQ0gsWUFBWSxNQUFtQjs7UUF6Qi9CLDZCQUE2QjtRQUNyQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUVsQyw0QkFBNEI7UUFDcEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFakMsd0RBQXdEO1FBQ2hELGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFL0Isc0NBQXNDO1FBQzlCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFOUIsNEJBQTRCO1FBQ3BCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRWpDLDhEQUE4RDtRQUN0RCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRXRCLDhDQUE4QztRQUN0Qyx3QkFBbUIsR0FBYSxLQUFLLENBQUM7UUFPNUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQUEsTUFBTSxDQUFDLGtCQUFrQixtQ0FBSSxLQUFLLENBQUM7WUFDN0Qs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
@@ -0,0 +1,20 @@
1
+ import { BaseGRPCClient } from '../Grpc/BaseGRPCClient';
2
+ import { Component } from '../../shared/interfaces/Component';
3
+ import { ICryptographyClient, AlgorithmResponse, HintsInRangeResponse } from './ICryptographyClient';
4
+ export declare class CryptographyClient extends BaseGRPCClient implements ICryptographyClient {
5
+ static readonly clientName = "Cryptography gRPC Client";
6
+ private client;
7
+ /**
8
+ * Creates CryptographyService Instance.
9
+ * @param {string} token - Optional. API TOKEN.
10
+ * @param {string} hostName - Optional. Destination Host.
11
+ * @param {string} proxyHost -Optional. Proxy Host.
12
+ * @param {string} caCertPath - Optional. Path to certificates.
13
+ */
14
+ constructor(token: string, hostName: string, proxyHost?: string, caCertPath?: string);
15
+ getAlgorithms(components: Component[]): Promise<AlgorithmResponse>;
16
+ getEncryptionHints(components: Component[]): Promise<HintsInRangeResponse>;
17
+ private validateComponents;
18
+ private transformGrpcAlgorithmResponse;
19
+ private transformGrpcHintsResponse;
20
+ }
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CryptographyClient = void 0;
4
+ const scanoss_cryptography_grpc_pb_1 = require("../Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb");
5
+ const BaseGRPCClient_1 = require("../Grpc/BaseGRPCClient");
6
+ const Logger_1 = require("../../Logger");
7
+ class CryptographyClient extends BaseGRPCClient_1.BaseGRPCClient {
8
+ /**
9
+ * Creates CryptographyService Instance.
10
+ * @param {string} token - Optional. API TOKEN.
11
+ * @param {string} hostName - Optional. Destination Host.
12
+ * @param {string} proxyHost -Optional. Proxy Host.
13
+ * @param {string} caCertPath - Optional. Path to certificates.
14
+ */
15
+ constructor(token, hostName, proxyHost, caCertPath) {
16
+ super({
17
+ HOSTNAME: hostName,
18
+ PROXY_URL: proxyHost,
19
+ CA_CERT: caCertPath,
20
+ CLIENT_NAME: CryptographyClient.clientName,
21
+ API_TOKEN: token,
22
+ });
23
+ this.client = new scanoss_cryptography_grpc_pb_1.CryptographyClient(this.HOSTNAME, this.generateChannelCredentials());
24
+ }
25
+ async getAlgorithms(components) {
26
+ this.validateComponents(components);
27
+ const req = {
28
+ purlsList: components.map(comp => ({
29
+ purl: comp.purl,
30
+ requirement: comp.requirement || ''
31
+ }))
32
+ };
33
+ return new Promise((resolve, reject) => {
34
+ this.client.getAlgorithms(this.buildGRPCPurlRequest(req), (err, response) => {
35
+ if (err) {
36
+ const errorMessage = `Failed to get algorithms: ${err.message}`;
37
+ Logger_1.logger.log(`Error getting algorithms: ${errorMessage}`);
38
+ reject(new Error(errorMessage));
39
+ return;
40
+ }
41
+ try {
42
+ const result = this.handleResponse(response.toObject());
43
+ resolve(this.transformGrpcAlgorithmResponse(result));
44
+ }
45
+ catch (e) {
46
+ const errorMessage = `Failed to process algorithms response: ${e instanceof Error ? e.message : 'Unknown error'}`;
47
+ Logger_1.logger.log(`Error processing algorithms response: ${errorMessage}`);
48
+ reject(new Error(errorMessage));
49
+ }
50
+ });
51
+ });
52
+ }
53
+ async getEncryptionHints(components) {
54
+ this.validateComponents(components);
55
+ const req = {
56
+ purlsList: components.map(comp => ({
57
+ purl: comp.purl,
58
+ requirement: comp.requirement || ''
59
+ }))
60
+ };
61
+ return new Promise((resolve, reject) => {
62
+ this.client.getHintsInRange(this.buildGRPCPurlRequest(req), (err, response) => {
63
+ if (err) {
64
+ const errorMessage = `Failed to get encryption hints: ${err.message}`;
65
+ Logger_1.logger.log(`Error getting encryption hints: ${errorMessage}`);
66
+ reject(new Error(errorMessage));
67
+ return;
68
+ }
69
+ try {
70
+ const result = this.handleResponse(response.toObject());
71
+ resolve(this.transformGrpcHintsResponse(result));
72
+ }
73
+ catch (e) {
74
+ const errorMessage = `Failed to process hints response: ${e instanceof Error ? e.message : 'Unknown error'}`;
75
+ Logger_1.logger.log(`Error processing hints response: ${errorMessage}`);
76
+ reject(new Error(errorMessage));
77
+ }
78
+ });
79
+ });
80
+ }
81
+ validateComponents(components) {
82
+ if (!components || components.length === 0) {
83
+ throw new Error('Components array cannot be empty');
84
+ }
85
+ if (!Array.isArray(components)) {
86
+ throw new Error('Components must be an array');
87
+ }
88
+ for (const component of components) {
89
+ if (!component.purl || typeof component.purl !== 'string') {
90
+ throw new Error('Each component must have a valid purl string');
91
+ }
92
+ }
93
+ }
94
+ transformGrpcAlgorithmResponse(grpcResponse) {
95
+ var _a, _b, _c;
96
+ return {
97
+ purls: ((_a = grpcResponse.purlsList) === null || _a === void 0 ? void 0 : _a.map((purl) => {
98
+ var _a;
99
+ return ({
100
+ purl: purl.purl,
101
+ version: purl.version || '',
102
+ algorithms: ((_a = purl.algorithmsList) === null || _a === void 0 ? void 0 : _a.map((algo) => ({
103
+ algorithm: algo.algorithm,
104
+ strength: algo.strength
105
+ }))) || []
106
+ });
107
+ })) || [],
108
+ status: {
109
+ status: ((_b = grpcResponse.status) === null || _b === void 0 ? void 0 : _b.status) || 'UNKNOWN',
110
+ message: ((_c = grpcResponse.status) === null || _c === void 0 ? void 0 : _c.message) || ''
111
+ }
112
+ };
113
+ }
114
+ transformGrpcHintsResponse(grpcResponse) {
115
+ var _a, _b, _c;
116
+ return {
117
+ purls: ((_a = grpcResponse.purlsList) === null || _a === void 0 ? void 0 : _a.map((purl) => {
118
+ var _a;
119
+ return ({
120
+ purl: purl.purl,
121
+ version: purl.version || '',
122
+ versions: purl.versionsList || [],
123
+ hints: ((_a = purl.hintsList) === null || _a === void 0 ? void 0 : _a.map((hint) => ({
124
+ id: hint.id,
125
+ name: hint.name,
126
+ description: hint.description,
127
+ category: hint.category,
128
+ url: hint.url,
129
+ purl: hint.purl
130
+ }))) || []
131
+ });
132
+ })) || [],
133
+ status: {
134
+ status: ((_b = grpcResponse.status) === null || _b === void 0 ? void 0 : _b.status) || 'UNKNOWN',
135
+ message: ((_c = grpcResponse.status) === null || _c === void 0 ? void 0 : _c.message) || ''
136
+ }
137
+ };
138
+ }
139
+ }
140
+ exports.CryptographyClient = CryptographyClient;
141
+ CryptographyClient.clientName = 'Cryptography gRPC Client';
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5Q2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9DbGllbnRzL0NyeXB0b2dyYXBoeS9DcnlwdG9ncmFwaHlDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUhBQWdJO0FBQ2hJLDJEQUFxRTtBQU9yRSx5Q0FBc0M7QUFFdEMsTUFBYSxrQkFBbUIsU0FBUSwrQkFBYztJQUlwRDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWEsRUFBRSxRQUFnQixFQUFFLFNBQWtCLEVBQUUsVUFBbUI7UUFDbEYsS0FBSyxDQUFDO1lBQ0osUUFBUSxFQUFFLFFBQVE7WUFDbEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsT0FBTyxFQUFFLFVBQVU7WUFDbkIsV0FBVyxFQUFFLGtCQUFrQixDQUFDLFVBQVU7WUFDMUMsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlEQUFzQixDQUN0QyxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBdUI7UUFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBDLE1BQU0sR0FBRyxHQUFnQjtZQUN2QixTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO2FBQ3BDLENBQUMsQ0FBQztTQUNKLENBQUM7UUFFRixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUN2QixJ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
@@ -0,0 +1,10 @@
1
+ import { HttpClient } from "../http/HttpClient";
2
+ import { Component } from "../../shared/interfaces/Component";
3
+ import { ICryptographyClient, AlgorithmResponse, HintsInRangeResponse } from "./ICryptographyClient";
4
+ export declare class CryptographyHttpClient extends HttpClient implements ICryptographyClient {
5
+ private client;
6
+ private readonly baseUrl;
7
+ constructor(token: string, hostName: string, proxyHost?: string, caCertPath?: string);
8
+ getAlgorithms(components: Component[]): Promise<AlgorithmResponse>;
9
+ getEncryptionHints(components: Component[]): Promise<HintsInRangeResponse>;
10
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CryptographyHttpClient = void 0;
4
+ const HttpClient_1 = require("../http/HttpClient");
5
+ const Logger_1 = require("../../Logger");
6
+ const clientHelper_1 = require("../helper/clientHelper");
7
+ class CryptographyHttpClient extends HttpClient_1.HttpClient {
8
+ constructor(token, hostName, proxyHost, caCertPath) {
9
+ super();
10
+ this.client = new HttpClient_1.HttpClient({
11
+ HOST_URL: hostName,
12
+ API_KEY: token,
13
+ HTTPS_PROXY: proxyHost,
14
+ CA_CERT: caCertPath,
15
+ });
16
+ this.baseUrl = hostName;
17
+ }
18
+ async getAlgorithms(components) {
19
+ try {
20
+ (0, clientHelper_1.validateComponents)(components);
21
+ const response = await this.client.post(`${this.baseUrl}/api/v2/cryptography/algorithms`, { purls: components });
22
+ if (response.ok) {
23
+ const algorithms = await response.json();
24
+ return algorithms;
25
+ }
26
+ const errorText = await response.text();
27
+ const errorMessage = `Failed to get algorithms: ${response.status} ${response.statusText} - ${errorText}`;
28
+ Logger_1.logger.log(`Error getting algorithms: ${errorMessage}`);
29
+ throw new Error(errorMessage);
30
+ }
31
+ catch (error) {
32
+ Logger_1.logger.log('Error getting algorithms:', error);
33
+ throw this.handleError(error, 'Failed to get algorithms');
34
+ }
35
+ }
36
+ async getEncryptionHints(components) {
37
+ try {
38
+ (0, clientHelper_1.validateComponents)(components);
39
+ const response = await this.client.post(`${this.baseUrl}/api/v2/cryptography/hintsInRange`, { purls: components });
40
+ if (response.ok) {
41
+ const hints = await response.json();
42
+ return hints;
43
+ }
44
+ const errorText = await response.text();
45
+ const errorMessage = `Failed to get encryption hints: ${response.status} ${response.statusText} - ${errorText}`;
46
+ Logger_1.logger.log(`Error getting encryption hints: ${errorMessage}`);
47
+ throw new Error(errorMessage);
48
+ }
49
+ catch (error) {
50
+ Logger_1.logger.log('Error getting encryption hints:', error);
51
+ throw this.handleError(error, 'Failed to get encryption hints');
52
+ }
53
+ }
54
+ }
55
+ exports.CryptographyHttpClient = CryptographyHttpClient;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5SHR0cENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ2xpZW50cy9DcnlwdG9ncmFwaHkvQ3J5cHRvZ3JhcGh5SHR0cENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFDaEQseUNBQXNDO0FBT3RDLHlEQUE0RDtBQUM1RCxNQUFhLHNCQUF1QixTQUFRLHVCQUFVO0lBS3BELFlBQVksS0FBYSxFQUFFLFFBQWdCLEVBQUUsU0FBa0IsRUFBRSxVQUFtQjtRQUNsRixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSx1QkFBVSxDQUFDO1lBQzNCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsV0FBVyxFQUFFLFNBQVM7WUFDdEIsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBdUI7UUFDaEQsSUFBSSxDQUFDO1lBQ0gsSUFBQSxpQ0FBa0IsRUFBQyxVQUFVLENBQUMsQ0FBQztZQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8saUNBQWlDLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUVqSCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sVUFBK0IsQ0FBQztZQUN6QyxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsNkJBQTZCLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsTUFBTSxTQUFTLEVBQUUsQ0FBQztZQUMxRyxlQUFNLENBQUMsR0FBRyxDQUFDLDZCQUE2QixZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixlQUFNLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9DLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxVQUF1QjtRQUNyRCxJQUFJLENBQUM7WUFDSCxJQUFBLGlDQUFrQixFQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxtQ0FBbUMsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBRW5ILElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxLQUE2QixDQUFDO1lBQ3ZDLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxNQUFNLFlBQVksR0FBRyxtQ0FBbUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxNQUFNLFNBQVMsRUFBRSxDQUFDO1lBQ2hILGVBQU0sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLGVBQU0sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckQsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF2REQsd0RBdURDIn0=
@@ -0,0 +1,40 @@
1
+ import { Component } from "../../shared/interfaces/Component";
2
+ export interface Hint {
3
+ id: string;
4
+ name: string;
5
+ description: string;
6
+ category: string;
7
+ url: string;
8
+ purl: string;
9
+ }
10
+ export interface Algorithm {
11
+ algorithm: string;
12
+ strength: string;
13
+ }
14
+ export interface Purl {
15
+ purl: string;
16
+ version: string;
17
+ }
18
+ export interface ComponentAlgorithm extends Purl {
19
+ algorithms: Algorithm[];
20
+ }
21
+ export interface Status {
22
+ status: string;
23
+ message: string;
24
+ }
25
+ export interface AlgorithmResponse {
26
+ purls: ComponentAlgorithm[];
27
+ status: Status;
28
+ }
29
+ export interface ComponentHintResponse extends Purl {
30
+ hints: Hint[];
31
+ versions: string[];
32
+ }
33
+ export interface HintsInRangeResponse {
34
+ purls: ComponentHintResponse[];
35
+ status: Status;
36
+ }
37
+ export interface ICryptographyClient {
38
+ getAlgorithms(components: Component[]): Promise<AlgorithmResponse>;
39
+ getEncryptionHints(components: Component[]): Promise<HintsInRangeResponse>;
40
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNyeXB0b2dyYXBoeUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ2xpZW50cy9DcnlwdG9ncmFwaHkvSUNyeXB0b2dyYXBoeUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,8 +1,8 @@
1
- import * as DependenciesMessages from './scanoss/api/dependencies/v2/scanoss-dependencies_pb';
2
- import * as CommonMessages from './scanoss/api/common/v2/scanoss-common_pb';
3
- import { BaseService } from "./BaseService";
4
- export declare class DependencyService extends BaseService {
5
- static readonly serviceName = "DependencyService";
1
+ import * as DependenciesMessages from '../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb';
2
+ import * as CommonMessages from '../Grpc/scanoss/api/common/v2/scanoss-common_pb';
3
+ import { BaseGRPCClient } from "../Grpc/BaseGRPCClient";
4
+ export declare class DependencyClient extends BaseGRPCClient {
5
+ static readonly clientName = "Dependency gRPC Client";
6
6
  private client;
7
7
  /**
8
8
  * Creates DependencyService Instance.
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DependencyClient = void 0;
27
+ const scanoss_dependencies_grpc_pb_1 = require("../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb");
28
+ const DependenciesMessages = __importStar(require("../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb"));
29
+ const CommonMessages = __importStar(require("../Grpc/scanoss/api/common/v2/scanoss-common_pb"));
30
+ const BaseGRPCClient_1 = require("../Grpc/BaseGRPCClient");
31
+ class DependencyClient extends BaseGRPCClient_1.BaseGRPCClient {
32
+ /**
33
+ * Creates DependencyService Instance.
34
+ * @param {string} hostName - Optional. Destination Host.
35
+ * @param {string} proxyHost -Optional. Proxy Host.
36
+ * @param {string} caCertPath - Optional. Path to certificates.
37
+ */
38
+ constructor(hostName, proxyHost, caCertPath) {
39
+ super({
40
+ HOSTNAME: hostName,
41
+ CLIENT_NAME: DependencyClient.clientName,
42
+ PROXY_URL: proxyHost,
43
+ CA_CERT: caCertPath,
44
+ });
45
+ this.client = new scanoss_dependencies_grpc_pb_1.DependenciesClient(this.HOSTNAME, this.generateChannelCredentials());
46
+ }
47
+ async get(req) {
48
+ return new Promise((resolve, reject) => {
49
+ this.client.getDependencies(req, (err, response) => {
50
+ if (err)
51
+ reject(err);
52
+ resolve(response);
53
+ });
54
+ });
55
+ }
56
+ buildDependencyRequestMsg(plainObj) {
57
+ try {
58
+ const depMessage = new DependenciesMessages.DependencyRequest();
59
+ for (const dependency of plainObj.filesList) {
60
+ const fileMsg = new DependenciesMessages.DependencyRequest.Files();
61
+ fileMsg.setFile(dependency.file);
62
+ for (const purl of dependency.purlsList) {
63
+ const purlMsg = new DependenciesMessages.DependencyRequest.Purls();
64
+ purlMsg.setPurl(purl.purl);
65
+ purlMsg.setRequirement(purl === null || purl === void 0 ? void 0 : purl.requirement);
66
+ fileMsg.addPurls(purlMsg);
67
+ }
68
+ depMessage.addFiles(fileMsg);
69
+ }
70
+ return depMessage;
71
+ }
72
+ catch (e) {
73
+ console.error(e);
74
+ return null;
75
+ }
76
+ }
77
+ async echo(req) {
78
+ return new Promise((resolve, reject) => {
79
+ this.client.echo(req, (err, response) => {
80
+ if (err)
81
+ reject(err);
82
+ resolve(response);
83
+ });
84
+ });
85
+ }
86
+ buildEchoRequestMsg(plainObj) {
87
+ try {
88
+ const echoMessage = new CommonMessages.EchoRequest();
89
+ echoMessage.setMessage(plainObj.message);
90
+ return echoMessage;
91
+ }
92
+ catch (e) {
93
+ console.error(e);
94
+ return null;
95
+ }
96
+ }
97
+ }
98
+ exports.DependencyClient = DependencyClient;
99
+ DependencyClient.clientName = 'Dependency gRPC Client';
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ2xpZW50cy9EZXBlbmRlbmN5L0RlcGVuZGVuY3lDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtSEFBc0c7QUFDdEcsa0hBQW9HO0FBQ3BHLGdHQUFrRjtBQUNsRiwyREFBd0Q7QUFFeEQsTUFBYSxnQkFBaUIsU0FBUSwrQkFBYztJQUlsRDs7Ozs7T0FLRztJQUNILFlBQVksUUFBaUIsRUFBRSxTQUFrQixFQUFFLFVBQW1CO1FBQ3BFLEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVO1lBQ3hDLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE9BQU8sRUFBRSxVQUFVO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxpREFBa0IsQ0FDbEMsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUNkLEdBQTJDO1FBRTNDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUNqRCxJQUFJLEdBQUc7b0JBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx5QkFBeUIsQ0FDOUIsUUFBeUQ7UUFFekQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2hFLEtBQUssTUFBTSxVQUFVLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUM1QyxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ25FLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMzQixPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLENBQUMsQ0FBQztvQkFDMUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJLENBQ2YsR0FBK0I7UUFFL0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUN4QixRQUE2QztRQUU3QyxJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzs7QUFoRkgsNENBaUZDO0FBaEZ3QiwyQkFBVSxHQUFHLHdCQUF3QixDQUFDIn0=
@@ -0,0 +1,9 @@
1
+ import { HttpClient } from "../http/HttpClient";
2
+ import { DependencyRequest, DependencyResponse, IDependencyClient } from "./IDependencyClient";
3
+ export declare class DependencyHttpClient extends HttpClient implements IDependencyClient {
4
+ private client;
5
+ private readonly baseUrl;
6
+ constructor(token: string, hostName: string, ignoreCertErrors?: boolean, proxyHost?: string, caCertPath?: string);
7
+ getDependencies(req: DependencyRequest): Promise<DependencyResponse>;
8
+ private toDependencyResponse;
9
+ }