@tetrascience-npm/ts-connectors-sdk 3.1.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 (253) hide show
  1. package/CHANGELOG.md +201 -0
  2. package/LICENSE +201 -0
  3. package/README.md +123 -0
  4. package/dist/api-tests/configuration.test.d.ts +2 -0
  5. package/dist/api-tests/configuration.test.d.ts.map +1 -0
  6. package/dist/api-tests/configuration.test.js +49 -0
  7. package/dist/api-tests/configuration.test.js.map +1 -0
  8. package/dist/api-tests/connector-lifetime.test.d.ts +2 -0
  9. package/dist/api-tests/connector-lifetime.test.d.ts.map +1 -0
  10. package/dist/api-tests/connector-lifetime.test.js +64 -0
  11. package/dist/api-tests/connector-lifetime.test.js.map +1 -0
  12. package/dist/api-tests/connector-shutdown.test.d.ts +2 -0
  13. package/dist/api-tests/connector-shutdown.test.d.ts.map +1 -0
  14. package/dist/api-tests/connector-shutdown.test.js +76 -0
  15. package/dist/api-tests/connector-shutdown.test.js.map +1 -0
  16. package/dist/api-tests/fixture/assertions.d.ts +4 -0
  17. package/dist/api-tests/fixture/assertions.d.ts.map +1 -0
  18. package/dist/api-tests/fixture/assertions.js +8 -0
  19. package/dist/api-tests/fixture/assertions.js.map +1 -0
  20. package/dist/api-tests/fixture/config.d.ts +65 -0
  21. package/dist/api-tests/fixture/config.d.ts.map +1 -0
  22. package/dist/api-tests/fixture/config.js +24 -0
  23. package/dist/api-tests/fixture/config.js.map +1 -0
  24. package/dist/api-tests/fixture/connector-api.d.ts +126 -0
  25. package/dist/api-tests/fixture/connector-api.d.ts.map +1 -0
  26. package/dist/api-tests/fixture/connector-api.js +151 -0
  27. package/dist/api-tests/fixture/connector-api.js.map +1 -0
  28. package/dist/api-tests/fixture/connectors/test-connector.d.ts +39 -0
  29. package/dist/api-tests/fixture/connectors/test-connector.d.ts.map +1 -0
  30. package/dist/api-tests/fixture/connectors/test-connector.js +188 -0
  31. package/dist/api-tests/fixture/connectors/test-connector.js.map +1 -0
  32. package/dist/api-tests/fixture/create-http-client.d.ts +6 -0
  33. package/dist/api-tests/fixture/create-http-client.d.ts.map +1 -0
  34. package/dist/api-tests/fixture/create-http-client.js +52 -0
  35. package/dist/api-tests/fixture/create-http-client.js.map +1 -0
  36. package/dist/api-tests/fixture/fixture.d.ts +34 -0
  37. package/dist/api-tests/fixture/fixture.d.ts.map +1 -0
  38. package/dist/api-tests/fixture/fixture.js +62 -0
  39. package/dist/api-tests/fixture/fixture.js.map +1 -0
  40. package/dist/api-tests/fixture/test-connector-factory.d.ts +21 -0
  41. package/dist/api-tests/fixture/test-connector-factory.d.ts.map +1 -0
  42. package/dist/api-tests/fixture/test-connector-factory.js +78 -0
  43. package/dist/api-tests/fixture/test-connector-factory.js.map +1 -0
  44. package/dist/api-tests/label-validation.test.d.ts +2 -0
  45. package/dist/api-tests/label-validation.test.d.ts.map +1 -0
  46. package/dist/api-tests/label-validation.test.js +158 -0
  47. package/dist/api-tests/label-validation.test.js.map +1 -0
  48. package/dist/api-tests/standalone-cloudwatch-logs.test.d.ts +2 -0
  49. package/dist/api-tests/standalone-cloudwatch-logs.test.d.ts.map +1 -0
  50. package/dist/api-tests/standalone-cloudwatch-logs.test.js +32 -0
  51. package/dist/api-tests/standalone-cloudwatch-logs.test.js.map +1 -0
  52. package/dist/api-tests/user-agent.test.d.ts +2 -0
  53. package/dist/api-tests/user-agent.test.d.ts.map +1 -0
  54. package/dist/api-tests/user-agent.test.js +191 -0
  55. package/dist/api-tests/user-agent.test.js.map +1 -0
  56. package/dist/src/api.d.ts +353 -0
  57. package/dist/src/api.d.ts.map +1 -0
  58. package/dist/src/api.js +278 -0
  59. package/dist/src/api.js.map +1 -0
  60. package/dist/src/auth/auth-token-provider.d.ts +7 -0
  61. package/dist/src/auth/auth-token-provider.d.ts.map +1 -0
  62. package/dist/src/auth/auth-token-provider.js +3 -0
  63. package/dist/src/auth/auth-token-provider.js.map +1 -0
  64. package/dist/src/auth/aws-client-provider.d.ts +11 -0
  65. package/dist/src/auth/aws-client-provider.d.ts.map +1 -0
  66. package/dist/src/auth/aws-client-provider.js +3 -0
  67. package/dist/src/auth/aws-client-provider.js.map +1 -0
  68. package/dist/src/auth/aws-env-client-provider.d.ts +20 -0
  69. package/dist/src/auth/aws-env-client-provider.d.ts.map +1 -0
  70. package/dist/src/auth/aws-env-client-provider.js +69 -0
  71. package/dist/src/auth/aws-env-client-provider.js.map +1 -0
  72. package/dist/src/auth/aws-refresh-client-provider.d.ts +26 -0
  73. package/dist/src/auth/aws-refresh-client-provider.d.ts.map +1 -0
  74. package/dist/src/auth/aws-refresh-client-provider.js +111 -0
  75. package/dist/src/auth/aws-refresh-client-provider.js.map +1 -0
  76. package/dist/src/auth/aws-secret-auth-token-provider.d.ts +9 -0
  77. package/dist/src/auth/aws-secret-auth-token-provider.d.ts.map +1 -0
  78. package/dist/src/auth/aws-secret-auth-token-provider.js +58 -0
  79. package/dist/src/auth/aws-secret-auth-token-provider.js.map +1 -0
  80. package/dist/src/auth/index.d.ts +7 -0
  81. package/dist/src/auth/index.d.ts.map +1 -0
  82. package/dist/src/auth/index.js +23 -0
  83. package/dist/src/auth/index.js.map +1 -0
  84. package/dist/src/auth/predefined-auth-token-provider.d.ts +7 -0
  85. package/dist/src/auth/predefined-auth-token-provider.d.ts.map +1 -0
  86. package/dist/src/auth/predefined-auth-token-provider.js +24 -0
  87. package/dist/src/auth/predefined-auth-token-provider.js.map +1 -0
  88. package/dist/src/auth/user-supplied-auth-token-provider.d.ts +7 -0
  89. package/dist/src/auth/user-supplied-auth-token-provider.d.ts.map +1 -0
  90. package/dist/src/auth/user-supplied-auth-token-provider.js +24 -0
  91. package/dist/src/auth/user-supplied-auth-token-provider.js.map +1 -0
  92. package/dist/src/certificates.d.ts +6 -0
  93. package/dist/src/certificates.d.ts.map +1 -0
  94. package/dist/src/certificates.js +88 -0
  95. package/dist/src/certificates.js.map +1 -0
  96. package/dist/src/checksums.d.ts +50 -0
  97. package/dist/src/checksums.d.ts.map +1 -0
  98. package/dist/src/checksums.js +32 -0
  99. package/dist/src/checksums.js.map +1 -0
  100. package/dist/src/config.d.ts +41 -0
  101. package/dist/src/config.d.ts.map +1 -0
  102. package/dist/src/config.js +35 -0
  103. package/dist/src/config.js.map +1 -0
  104. package/dist/src/connector.d.ts +101 -0
  105. package/dist/src/connector.d.ts.map +1 -0
  106. package/dist/src/connector.js +374 -0
  107. package/dist/src/connector.js.map +1 -0
  108. package/dist/src/get-log-event-size.d.ts +3 -0
  109. package/dist/src/get-log-event-size.d.ts.map +1 -0
  110. package/dist/src/get-log-event-size.js +9 -0
  111. package/dist/src/get-log-event-size.js.map +1 -0
  112. package/dist/src/https-proxy-agent.d.ts +15 -0
  113. package/dist/src/https-proxy-agent.d.ts.map +1 -0
  114. package/dist/src/https-proxy-agent.js +31 -0
  115. package/dist/src/https-proxy-agent.js.map +1 -0
  116. package/dist/src/index.d.ts +9 -0
  117. package/dist/src/index.d.ts.map +1 -0
  118. package/dist/src/index.js +25 -0
  119. package/dist/src/index.js.map +1 -0
  120. package/dist/src/logger.d.ts +60 -0
  121. package/dist/src/logger.d.ts.map +1 -0
  122. package/dist/src/logger.js +284 -0
  123. package/dist/src/logger.js.map +1 -0
  124. package/dist/src/manifest.d.ts +4 -0
  125. package/dist/src/manifest.d.ts.map +1 -0
  126. package/dist/src/manifest.js +30 -0
  127. package/dist/src/manifest.js.map +1 -0
  128. package/dist/src/metrics.d.ts +59 -0
  129. package/dist/src/metrics.d.ts.map +1 -0
  130. package/dist/src/metrics.js +125 -0
  131. package/dist/src/metrics.js.map +1 -0
  132. package/dist/src/polling-connector.d.ts +50 -0
  133. package/dist/src/polling-connector.d.ts.map +1 -0
  134. package/dist/src/polling-connector.js +169 -0
  135. package/dist/src/polling-connector.js.map +1 -0
  136. package/dist/src/schemas.d.ts +77 -0
  137. package/dist/src/schemas.d.ts.map +1 -0
  138. package/dist/src/schemas.js +80 -0
  139. package/dist/src/schemas.js.map +1 -0
  140. package/dist/src/streamToString.d.ts +3 -0
  141. package/dist/src/streamToString.d.ts.map +1 -0
  142. package/dist/src/streamToString.js +25 -0
  143. package/dist/src/streamToString.js.map +1 -0
  144. package/dist/src/tdp-client.d.ts +307 -0
  145. package/dist/src/tdp-client.d.ts.map +1 -0
  146. package/dist/src/tdp-client.js +823 -0
  147. package/dist/src/tdp-client.js.map +1 -0
  148. package/dist/src/to-cloudwatch-log-event.d.ts +4 -0
  149. package/dist/src/to-cloudwatch-log-event.d.ts.map +1 -0
  150. package/dist/src/to-cloudwatch-log-event.js +10 -0
  151. package/dist/src/to-cloudwatch-log-event.js.map +1 -0
  152. package/dist/src/types.d.ts +57 -0
  153. package/dist/src/types.d.ts.map +1 -0
  154. package/dist/src/types.js +30 -0
  155. package/dist/src/types.js.map +1 -0
  156. package/dist/src/utils.d.ts +10 -0
  157. package/dist/src/utils.d.ts.map +1 -0
  158. package/dist/src/utils.js +20 -0
  159. package/dist/src/utils.js.map +1 -0
  160. package/dist/test/api.test.d.ts +2 -0
  161. package/dist/test/api.test.d.ts.map +1 -0
  162. package/dist/test/api.test.js +245 -0
  163. package/dist/test/api.test.js.map +1 -0
  164. package/dist/test/auth/aws-env-client-provider.test.d.ts +2 -0
  165. package/dist/test/auth/aws-env-client-provider.test.d.ts.map +1 -0
  166. package/dist/test/auth/aws-env-client-provider.test.js +56 -0
  167. package/dist/test/auth/aws-env-client-provider.test.js.map +1 -0
  168. package/dist/test/auth/aws-refresh-client-provider.test.d.ts +2 -0
  169. package/dist/test/auth/aws-refresh-client-provider.test.d.ts.map +1 -0
  170. package/dist/test/auth/aws-refresh-client-provider.test.js +118 -0
  171. package/dist/test/auth/aws-refresh-client-provider.test.js.map +1 -0
  172. package/dist/test/auth/aws-secret-auth-token-provider.test.d.ts +2 -0
  173. package/dist/test/auth/aws-secret-auth-token-provider.test.d.ts.map +1 -0
  174. package/dist/test/auth/aws-secret-auth-token-provider.test.js +74 -0
  175. package/dist/test/auth/aws-secret-auth-token-provider.test.js.map +1 -0
  176. package/dist/test/auth/predefined-auth-token-provider.test.d.ts +2 -0
  177. package/dist/test/auth/predefined-auth-token-provider.test.d.ts.map +1 -0
  178. package/dist/test/auth/predefined-auth-token-provider.test.js +24 -0
  179. package/dist/test/auth/predefined-auth-token-provider.test.js.map +1 -0
  180. package/dist/test/auth/user-supplied-auth-token-provider.test.d.ts +2 -0
  181. package/dist/test/auth/user-supplied-auth-token-provider.test.d.ts.map +1 -0
  182. package/dist/test/auth/user-supplied-auth-token-provider.test.js +24 -0
  183. package/dist/test/auth/user-supplied-auth-token-provider.test.js.map +1 -0
  184. package/dist/test/certificates.test.d.ts +2 -0
  185. package/dist/test/certificates.test.d.ts.map +1 -0
  186. package/dist/test/certificates.test.js +83 -0
  187. package/dist/test/certificates.test.js.map +1 -0
  188. package/dist/test/checksums.test.d.ts +2 -0
  189. package/dist/test/checksums.test.d.ts.map +1 -0
  190. package/dist/test/checksums.test.js +29 -0
  191. package/dist/test/checksums.test.js.map +1 -0
  192. package/dist/test/connector-shutdown.test.d.ts +2 -0
  193. package/dist/test/connector-shutdown.test.d.ts.map +1 -0
  194. package/dist/test/connector-shutdown.test.js +145 -0
  195. package/dist/test/connector-shutdown.test.js.map +1 -0
  196. package/dist/test/connector.test.d.ts +2 -0
  197. package/dist/test/connector.test.d.ts.map +1 -0
  198. package/dist/test/connector.test.js +286 -0
  199. package/dist/test/connector.test.js.map +1 -0
  200. package/dist/test/healthstatus-enum-values.test.d.ts +2 -0
  201. package/dist/test/healthstatus-enum-values.test.d.ts.map +1 -0
  202. package/dist/test/healthstatus-enum-values.test.js +18 -0
  203. package/dist/test/healthstatus-enum-values.test.js.map +1 -0
  204. package/dist/test/logger.test.d.ts +2 -0
  205. package/dist/test/logger.test.d.ts.map +1 -0
  206. package/dist/test/logger.test.js +301 -0
  207. package/dist/test/logger.test.js.map +1 -0
  208. package/dist/test/manifest.test.d.ts +2 -0
  209. package/dist/test/manifest.test.d.ts.map +1 -0
  210. package/dist/test/manifest.test.js +55 -0
  211. package/dist/test/manifest.test.js.map +1 -0
  212. package/dist/test/polling-connector.test.d.ts +2 -0
  213. package/dist/test/polling-connector.test.d.ts.map +1 -0
  214. package/dist/test/polling-connector.test.js +170 -0
  215. package/dist/test/polling-connector.test.js.map +1 -0
  216. package/dist/test/schemas.test.d.ts +2 -0
  217. package/dist/test/schemas.test.d.ts.map +1 -0
  218. package/dist/test/schemas.test.js +211 -0
  219. package/dist/test/schemas.test.js.map +1 -0
  220. package/dist/test/tdp-client.test.d.ts +2 -0
  221. package/dist/test/tdp-client.test.d.ts.map +1 -0
  222. package/dist/test/tdp-client.test.js +1204 -0
  223. package/dist/test/tdp-client.test.js.map +1 -0
  224. package/dist/test/test-connector/index.d.ts +2 -0
  225. package/dist/test/test-connector/index.d.ts.map +1 -0
  226. package/dist/test/test-connector/index.js +23 -0
  227. package/dist/test/test-connector/index.js.map +1 -0
  228. package/dist/test/test-connector/test-connector.d.ts +7 -0
  229. package/dist/test/test-connector/test-connector.d.ts.map +1 -0
  230. package/dist/test/test-connector/test-connector.js +32 -0
  231. package/dist/test/test-connector/test-connector.js.map +1 -0
  232. package/dist/test/test-utils/api-mocks.d.ts +6 -0
  233. package/dist/test/test-utils/api-mocks.d.ts.map +1 -0
  234. package/dist/test/test-utils/api-mocks.js +19 -0
  235. package/dist/test/test-utils/api-mocks.js.map +1 -0
  236. package/dist/test/test-utils/aws-mocks.d.ts +8 -0
  237. package/dist/test/test-utils/aws-mocks.d.ts.map +1 -0
  238. package/dist/test/test-utils/aws-mocks.js +39 -0
  239. package/dist/test/test-utils/aws-mocks.js.map +1 -0
  240. package/dist/test/test-utils/regex.d.ts +2 -0
  241. package/dist/test/test-utils/regex.d.ts.map +1 -0
  242. package/dist/test/test-utils/regex.js +7 -0
  243. package/dist/test/test-utils/regex.js.map +1 -0
  244. package/dist/test/utils.test.d.ts +2 -0
  245. package/dist/test/utils.test.d.ts.map +1 -0
  246. package/dist/test/utils.test.js +17 -0
  247. package/dist/test/utils.test.js.map +1 -0
  248. package/dist/tsconfig.tsbuildinfo +1 -0
  249. package/dist/vitest.config.d.mts +3 -0
  250. package/dist/vitest.config.d.mts.map +1 -0
  251. package/dist/vitest.config.mjs +20 -0
  252. package/dist/vitest.config.mjs.map +1 -0
  253. package/package.json +133 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-secret-auth-token-provider.js","sourceRoot":"","sources":["../../../src/auth/aws-secret-auth-token-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA2C;AAI3C,MAAa,0BAA0B;IACrC,YACU,SAAwB,EACf,YAAoB;QAD7B,cAAS,GAAT,SAAS,CAAe;QACf,iBAAY,GAAZ,YAAY,CAAQ;IACpC,CAAC;IAEE,YAAY;;YAChB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7C,IAAI,GAAG,CAAC,mBAAmB,CAAC;gBAC1B,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,cAAc,EAAE,IAAI;aACrB,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAA,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC;QACJ,CAAC;KAAA;CACF;AAtBD,gEAsBC"}
@@ -0,0 +1,7 @@
1
+ export * from './auth-token-provider';
2
+ export * from './predefined-auth-token-provider';
3
+ export * from './aws-secret-auth-token-provider';
4
+ export * from './user-supplied-auth-token-provider';
5
+ export * from './aws-refresh-client-provider';
6
+ export * from './aws-env-client-provider';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,23 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./auth-token-provider"), exports);
18
+ __exportStar(require("./predefined-auth-token-provider"), exports);
19
+ __exportStar(require("./aws-secret-auth-token-provider"), exports);
20
+ __exportStar(require("./user-supplied-auth-token-provider"), exports);
21
+ __exportStar(require("./aws-refresh-client-provider"), exports);
22
+ __exportStar(require("./aws-env-client-provider"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,mEAAiD;AACjD,mEAAiD;AACjD,sEAAoD;AACpD,gEAA8C;AAC9C,4DAA0C"}
@@ -0,0 +1,7 @@
1
+ import { AuthToken, IAuthTokenProvider } from './auth-token-provider';
2
+ export declare class PredefinedAuthTokenProvider implements IAuthTokenProvider {
3
+ private readonly token;
4
+ constructor(token: string);
5
+ getAuthToken(): Promise<AuthToken>;
6
+ }
7
+ //# sourceMappingURL=predefined-auth-token-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predefined-auth-token-provider.d.ts","sourceRoot":"","sources":["../../../src/auth/predefined-auth-token-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,qBAAa,2BAA4B,YAAW,kBAAkB;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAEpC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CAGzC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PredefinedAuthTokenProvider = void 0;
13
+ class PredefinedAuthTokenProvider {
14
+ constructor(token) {
15
+ this.token = token;
16
+ }
17
+ getAuthToken() {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ return { value: this.token };
20
+ });
21
+ }
22
+ }
23
+ exports.PredefinedAuthTokenProvider = PredefinedAuthTokenProvider;
24
+ //# sourceMappingURL=predefined-auth-token-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predefined-auth-token-provider.js","sourceRoot":"","sources":["../../../src/auth/predefined-auth-token-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,2BAA2B;IACtC,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAExC,YAAY;;YAChB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;KAAA;CACF;AAND,kEAMC"}
@@ -0,0 +1,7 @@
1
+ import { AuthToken, IAuthTokenProvider } from './auth-token-provider';
2
+ export declare class UserSuppliedAuthTokenProvider implements IAuthTokenProvider {
3
+ private readonly token;
4
+ constructor(token: string);
5
+ getAuthToken(): Promise<AuthToken>;
6
+ }
7
+ //# sourceMappingURL=user-supplied-auth-token-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-supplied-auth-token-provider.d.ts","sourceRoot":"","sources":["../../../src/auth/user-supplied-auth-token-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,qBAAa,6BAA8B,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAEpC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CAGzC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserSuppliedAuthTokenProvider = void 0;
13
+ class UserSuppliedAuthTokenProvider {
14
+ constructor(token) {
15
+ this.token = token;
16
+ }
17
+ getAuthToken() {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ return { value: this.token };
20
+ });
21
+ }
22
+ }
23
+ exports.UserSuppliedAuthTokenProvider = UserSuppliedAuthTokenProvider;
24
+ //# sourceMappingURL=user-supplied-auth-token-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-supplied-auth-token-provider.js","sourceRoot":"","sources":["../../../src/auth/user-supplied-auth-token-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,6BAA6B;IACxC,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAExC,YAAY;;YAChB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;KAAA;CACF;AAND,sEAMC"}
@@ -0,0 +1,6 @@
1
+ import { S3Client } from '@aws-sdk/client-s3';
2
+ import { TDPClientConfig } from './config';
3
+ import { Logger } from './logger';
4
+ export declare function loadCertificatesFromLocalVolume(config: Pick<TDPClientConfig, 'localCertificateFile'>, logger: Logger): Promise<string[]>;
5
+ export declare function loadTdpCertificates(s3Client: S3Client, logger: Logger, config: Pick<TDPClientConfig, 'tdpCertificateKey' | 'streamBucket' | 'localCertificateFile'>): Promise<string[]>;
6
+ //# sourceMappingURL=certificates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.d.ts","sourceRoot":"","sources":["../../src/certificates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAIhE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAoDlC,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,sBAAsB,CAAC,EACrD,MAAM,EAAE,MAAM,qBAkBf;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,mBAAmB,GAAG,cAAc,GAAG,sBAAsB,CAAC,GAC3F,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.loadCertificatesFromLocalVolume = loadCertificatesFromLocalVolume;
13
+ exports.loadTdpCertificates = loadTdpCertificates;
14
+ const client_s3_1 = require("@aws-sdk/client-s3");
15
+ const promises_1 = require("fs/promises");
16
+ const streamToString_1 = require("./streamToString");
17
+ function isFileNotFoundError(ex) {
18
+ return ex.code === 'ENOENT';
19
+ }
20
+ function loadTdpCertificatesFromS3(s3Client, logger, config) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ if (!config.streamBucket) {
23
+ logger.info(`STREAM_BUCKET config not set; skipping TDP certificate retrieval`);
24
+ return [];
25
+ }
26
+ if (!config.tdpCertificateKey) {
27
+ logger.info(`TDP_CERTIFICATE_KEY config not set; skipping TDP certificate retrieval`);
28
+ return [];
29
+ }
30
+ logger.info(`Retrieving TDP certificates from AWS S3`, {
31
+ key: config.tdpCertificateKey,
32
+ bucket: config.streamBucket,
33
+ });
34
+ try {
35
+ const getObjectResponse = yield s3Client.send(new client_s3_1.GetObjectCommand({
36
+ Bucket: config.streamBucket,
37
+ Key: config.tdpCertificateKey,
38
+ }));
39
+ const cert = yield (0, streamToString_1.streamToString)(getObjectResponse === null || getObjectResponse === void 0 ? void 0 : getObjectResponse.Body);
40
+ if (!cert) {
41
+ logger.warn(`Failed to load TDP certificates from S3, undefined response`);
42
+ return [];
43
+ }
44
+ logger.info(`Found TDP certificate in S3`);
45
+ return [cert];
46
+ }
47
+ catch (ex) {
48
+ if (ex.message.match(/specified key does not exist/)) {
49
+ logger.warn(`Did not find TDP certificate in S3`, ex);
50
+ }
51
+ else {
52
+ logger.error(`Error retrieving TDP certificates from S3`, ex);
53
+ }
54
+ return [];
55
+ }
56
+ });
57
+ }
58
+ function loadCertificatesFromLocalVolume(config, logger) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const { localCertificateFile: localCertFile } = config;
61
+ try {
62
+ logger.debug('Loading TDP certificates from local volume', { path: localCertFile });
63
+ const cert = yield (0, promises_1.readFile)(localCertFile, 'utf-8');
64
+ logger.info('TDP certificates loaded from local volume', { path: localCertFile });
65
+ return [cert];
66
+ }
67
+ catch (ex) {
68
+ if (isFileNotFoundError(ex)) {
69
+ logger.debug('Local TDP certificate file does not exist', { path: localCertFile });
70
+ return [];
71
+ }
72
+ else {
73
+ logger.error('Error loading TDP certificates from local volume', ex);
74
+ return [];
75
+ }
76
+ }
77
+ });
78
+ }
79
+ function loadTdpCertificates(s3Client, logger, config) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ let certificates = yield loadCertificatesFromLocalVolume(config, logger);
82
+ if (certificates.length === 0) {
83
+ certificates = yield loadTdpCertificatesFromS3(s3Client, logger, config);
84
+ }
85
+ return certificates;
86
+ });
87
+ }
88
+ //# sourceMappingURL=certificates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.js","sourceRoot":"","sources":["../../src/certificates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { ChecksumAlgorithm } from '@aws-sdk/client-s3';
2
+ /**
3
+ * MetadataChecksums
4
+ *
5
+ * The metadata checksum fields saved to the uploaded file
6
+ *
7
+ * @property {string?} [ts_raw_md5_checksum=] - The MD5 checksum of the file
8
+ * @property {string?} [ts_raw_sha1_checksum=] - The SHA1 checksum of the file
9
+ * @property {string?} [ts_raw_sha256_checksum=] - The SHA256 checksum of the file
10
+ * @property {string?} [ts_raw_crc32_checksum=] - The CRC32 checksum of the file
11
+ * @property {string?} [ts_raw_crc32c_checksum=] - The CRC32C checksum of the file
12
+ */
13
+ export type MetadataChecksums = {
14
+ ts_raw_md5_checksum?: string;
15
+ ts_raw_sha1_checksum?: string;
16
+ ts_raw_sha256_checksum?: string;
17
+ ts_raw_crc32_checksum?: string;
18
+ ts_raw_crc32c_checksum?: string;
19
+ };
20
+ /**
21
+ * ParameterChecksumObject
22
+ *
23
+ * The fields passed to the checksum argument of upload requests
24
+ *
25
+ * @property {string?} [rawMd5Checksum=] - The MD5 checksum of the file
26
+ * @property {string?} [rawSha1Checksum=] - The SHA1 checksum of the file
27
+ * @property {string?} [rawSha256Checksum=] - The SHA256 checksum of the file
28
+ * @property {string?} [rawCrc32Checksum=] - The CRC32 checksum of the file
29
+ * @property {string?} [rawCrc32cChecksum=] - The CRC32C checksum of the file
30
+ *
31
+ * @property {ChecksumAlgorithm} [s3AdditionalChecksum="SHA256"] - The checksum algorithm for S3 to calculate
32
+ */
33
+ export type ParameterChecksumObject = {
34
+ rawMd5Checksum?: string;
35
+ rawSha1Checksum?: string;
36
+ rawSha256Checksum?: string;
37
+ rawCrc32Checksum?: string;
38
+ rawCrc32cChecksum?: string;
39
+ s3AdditionalChecksum?: ChecksumAlgorithm;
40
+ };
41
+ export type ParameterChecksums = Omit<ParameterChecksumObject, 's3AdditionalChecksum'>;
42
+ export declare const AllChecksumAlgorithms: {
43
+ MD5: string;
44
+ CRC32: "CRC32";
45
+ CRC32C: "CRC32C";
46
+ SHA1: "SHA1";
47
+ SHA256: "SHA256";
48
+ };
49
+ export declare function mapChecksumData(checksums: ParameterChecksumObject): MetadataChecksums;
50
+ //# sourceMappingURL=checksums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checksums.d.ts","sourceRoot":"","sources":["../../src/checksums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;CAC1C,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAA;AAEtF,eAAO,MAAM,qBAAqB;;;;;;CAGjC,CAAC;AAkBF,wBAAgB,eAAe,CAAC,SAAS,EAAE,uBAAuB,qBAYjE"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AllChecksumAlgorithms = void 0;
4
+ exports.mapChecksumData = mapChecksumData;
5
+ const client_s3_1 = require("@aws-sdk/client-s3");
6
+ exports.AllChecksumAlgorithms = Object.assign(Object.assign({}, client_s3_1.ChecksumAlgorithm), { MD5: 'md5' });
7
+ const checksumKeys = {
8
+ [exports.AllChecksumAlgorithms.MD5]: 'ts_raw_md5_checksum',
9
+ [exports.AllChecksumAlgorithms.SHA1]: 'ts_raw_sha1_checksum',
10
+ [exports.AllChecksumAlgorithms.SHA256]: 'ts_raw_sha256_checksum',
11
+ [exports.AllChecksumAlgorithms.CRC32]: 'ts_raw_crc32_checksum',
12
+ [exports.AllChecksumAlgorithms.CRC32C]: 'ts_raw_crc32c_checksum',
13
+ };
14
+ const parameterChecksumKeys = {
15
+ [exports.AllChecksumAlgorithms.MD5]: 'rawMd5Checksum',
16
+ [exports.AllChecksumAlgorithms.SHA1]: 'rawSha1Checksum',
17
+ [exports.AllChecksumAlgorithms.SHA256]: 'rawSha256Checksum',
18
+ [exports.AllChecksumAlgorithms.CRC32]: 'rawCrc32Checksum',
19
+ [exports.AllChecksumAlgorithms.CRC32C]: 'rawCrc32cChecksum',
20
+ };
21
+ function mapChecksumData(checksums) {
22
+ const checksumResult = {};
23
+ for (const algorithm of Object.keys(checksumKeys)) {
24
+ const rawKey = parameterChecksumKeys[algorithm];
25
+ const checksumKey = checksumKeys[algorithm];
26
+ if (checksums === null || checksums === void 0 ? void 0 : checksums[rawKey]) {
27
+ checksumResult[checksumKey] = checksums[rawKey];
28
+ }
29
+ }
30
+ return checksumResult;
31
+ }
32
+ //# sourceMappingURL=checksums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checksums.js","sourceRoot":"","sources":["../../src/checksums.ts"],"names":[],"mappings":";;;AAkEA,0CAYC;AA9ED,kDAAuD;AA6C1C,QAAA,qBAAqB,mCAC7B,6BAAiB,KACpB,GAAG,EAAE,KAAK,IACV;AAEF,MAAM,YAAY,GAA4C;IAC5D,CAAC,6BAAqB,CAAC,GAAG,CAAC,EAAE,qBAAqB;IAClD,CAAC,6BAAqB,CAAC,IAAI,CAAC,EAAE,sBAAsB;IACpD,CAAC,6BAAqB,CAAC,MAAM,CAAC,EAAE,wBAAwB;IACxD,CAAC,6BAAqB,CAAC,KAAK,CAAC,EAAE,uBAAuB;IACtD,CAAC,6BAAqB,CAAC,MAAM,CAAC,EAAE,wBAAwB;CACzD,CAAC;AAEF,MAAM,qBAAqB,GAA6C;IACtE,CAAC,6BAAqB,CAAC,GAAG,CAAC,EAAE,gBAAgB;IAC7C,CAAC,6BAAqB,CAAC,IAAI,CAAC,EAAE,iBAAiB;IAC/C,CAAC,6BAAqB,CAAC,MAAM,CAAC,EAAE,mBAAmB;IACnD,CAAC,6BAAqB,CAAC,KAAK,CAAC,EAAE,kBAAkB;IACjD,CAAC,6BAAqB,CAAC,MAAM,CAAC,EAAE,mBAAmB;CACpD,CAAA;AAED,SAAgB,eAAe,CAAC,SAAkC;IAChE,MAAM,cAAc,GAAsB,EAAE,CAAC;IAE7C,KAAI,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,MAAM,CAAC,EAAE,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { IAuthTokenProvider } from './auth';
2
+ export type ArtifactType = 'connector' | 'data-app';
3
+ export interface TDPClientOptions {
4
+ awsRegion?: string;
5
+ orgSlug?: string;
6
+ hubId?: string;
7
+ connectorId?: string;
8
+ datalakeBucket?: string;
9
+ streamBucket?: string;
10
+ tdpCertificateKey?: string;
11
+ jwtTokenParameter?: string;
12
+ tdpEndpoint?: string;
13
+ outboundCommandQueue?: string;
14
+ kmsKeyId?: string;
15
+ authTokenProvider?: IAuthTokenProvider;
16
+ artifactType?: ArtifactType;
17
+ localCertificateFile?: string;
18
+ httpRequestTimeout?: number;
19
+ manifestFile?: string;
20
+ }
21
+ export declare class TDPClientConfig {
22
+ readonly awsRegion: string;
23
+ readonly orgSlug: string;
24
+ readonly hubId: string;
25
+ readonly connectorId: string;
26
+ readonly datalakeBucket: string;
27
+ readonly streamBucket: string;
28
+ readonly tdpCertificateKey: string;
29
+ readonly jwtTokenParameter: string;
30
+ readonly tdpEndpoint: string;
31
+ readonly outboundCommandQueue: string;
32
+ readonly kmsKeyId: string;
33
+ readonly authTokenProvider?: IAuthTokenProvider;
34
+ readonly artifactType: ArtifactType;
35
+ readonly localCertificateFile: string;
36
+ readonly httpRequestTimeout: number;
37
+ readonly manifestFile: string;
38
+ constructor(options?: TDPClientOptions);
39
+ private getArtifactType;
40
+ }
41
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAG5C,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,OAAO,GAAE,gBAAqB;IAmB1C,OAAO,CAAC,eAAe;CAKxB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TDPClientConfig = void 0;
7
+ const process_1 = __importDefault(require("process"));
8
+ const path_1 = require("path");
9
+ class TDPClientConfig {
10
+ constructor(options = {}) {
11
+ this.awsRegion = options.awsRegion || process_1.default.env.AWS_REGION;
12
+ this.orgSlug = options.orgSlug || process_1.default.env.ORG_SLUG;
13
+ this.hubId = options.hubId || process_1.default.env.HUB_ID;
14
+ this.connectorId = options.connectorId || process_1.default.env.CONNECTOR_ID;
15
+ this.datalakeBucket = options.datalakeBucket || process_1.default.env.DATALAKE_BUCKET;
16
+ this.streamBucket = options.streamBucket || process_1.default.env.STREAM_BUCKET;
17
+ this.tdpCertificateKey = options.tdpCertificateKey || process_1.default.env.TDP_CERTIFICATE_KEY;
18
+ this.jwtTokenParameter = options.jwtTokenParameter || process_1.default.env.JWT_TOKEN_PARAMETER;
19
+ this.tdpEndpoint = options.tdpEndpoint || process_1.default.env.TDP_ENDPOINT;
20
+ this.outboundCommandQueue = options.outboundCommandQueue || process_1.default.env.OUTBOUND_COMMAND_QUEUE;
21
+ this.kmsKeyId = options.kmsKeyId || process_1.default.env.KMS_KEY_ID;
22
+ this.authTokenProvider = options.authTokenProvider;
23
+ this.artifactType = options.artifactType || this.getArtifactType();
24
+ this.localCertificateFile = options.localCertificateFile || '/etc/tetra/tdp-cert-chain.pem';
25
+ this.httpRequestTimeout = options.httpRequestTimeout || parseInt(process_1.default.env.HTTP_REQUEST_TIMEOUT_MS || '') || 10 * 1000;
26
+ this.manifestFile = options.manifestFile || process_1.default.env.MANIFEST_FILE || (0, path_1.join)(process_1.default.cwd(), 'manifest.json');
27
+ }
28
+ getArtifactType() {
29
+ const artifactType = process_1.default.env.ARTIFACT_TYPE;
30
+ const isValid = artifactType === 'connector' || artifactType === 'data-app';
31
+ return isValid ? artifactType : 'connector';
32
+ }
33
+ }
34
+ exports.TDPClientConfig = TDPClientConfig;
35
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAG9B,+BAA4B;AAuB5B,MAAa,eAAe;IAkB1B,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,iBAAO,CAAC,GAAG,CAAC,UAAW,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAO,CAAC,GAAG,CAAC,QAAS,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,iBAAO,CAAC,GAAG,CAAC,MAAO,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,iBAAO,CAAC,GAAG,CAAC,YAAa,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,iBAAO,CAAC,GAAG,CAAC,eAAgB,CAAC;QAC7E,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,iBAAO,CAAC,GAAG,CAAC,aAAc,CAAC;QACvE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,iBAAO,CAAC,GAAG,CAAC,mBAAoB,CAAC;QACvF,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,iBAAO,CAAC,GAAG,CAAC,mBAAoB,CAAC;QACvF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,iBAAO,CAAC,GAAG,CAAC,YAAa,CAAC;QACpE,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,iBAAO,CAAC,GAAG,CAAC,sBAAuB,CAAC;QAChG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAO,CAAC,GAAG,CAAC,UAAW,CAAC;QAC5D,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACnE,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,+BAA+B,CAAC;QAC5F,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,iBAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;QACzH,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,iBAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAA,WAAI,EAAC,iBAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IAChH,CAAC;IAEO,eAAe;QACrB,MAAM,YAAY,GAAG,iBAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC/C,MAAM,OAAO,GAAG,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,UAAU,CAAC;QAC5E,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAC9C,CAAC;CACF;AA1CD,0CA0CC"}
@@ -0,0 +1,101 @@
1
+ import { ConnectorDto, ConnectorFileDto, ProcessingStatus } from './api';
2
+ import { Logger } from './logger';
3
+ import * as metrics from './metrics';
4
+ import { TDPClient } from './tdp-client';
5
+ import { CommandRequest, ConfigValidationResult } from './types';
6
+ export type ConnectorOptions = {
7
+ metricsBatchNumber?: number;
8
+ heartbeatUploadInterval?: number;
9
+ };
10
+ export type GetNotProcessedFilesOptions = {
11
+ excludeFileIds?: string[];
12
+ excludeUniqueExternalIds?: string[];
13
+ statuses?: ProcessingStatus[];
14
+ orderBy?: string;
15
+ orderDirection?: 'ASC' | 'DESC';
16
+ };
17
+ /**
18
+ * Connector abstract class that should be overridden to define connector
19
+ */
20
+ export declare abstract class Connector<TConfig = any> {
21
+ protected readonly tdpClient: TDPClient;
22
+ protected readonly options: ConnectorOptions;
23
+ protected heartbeatInterval: ReturnType<typeof setInterval> | undefined;
24
+ protected readonly logger: Logger;
25
+ get isConnectorLoaded(): boolean;
26
+ /**
27
+ * Connector configuration object
28
+ */
29
+ get connector(): ConnectorDto;
30
+ /**
31
+ * Connector configuration object
32
+ */
33
+ get config(): TConfig | null | undefined;
34
+ /**
35
+ * Metrics collector
36
+ */
37
+ protected metricsCollector: metrics.MetricsCollector | undefined;
38
+ /**
39
+ * @param tdpClient TDP Client
40
+ * @param options Additional options
41
+ */
42
+ protected constructor(tdpClient: TDPClient, options?: ConnectorOptions);
43
+ /**
44
+ * On before connector starts initializing
45
+ */
46
+ protected onInitiating(): void;
47
+ /**
48
+ * On connector initialized
49
+ */
50
+ protected onInitialized(): void;
51
+ /**
52
+ * On connector start uploading file
53
+ */
54
+ protected onStart(): Promise<void>;
55
+ /**
56
+ * On connector stop uploading file
57
+ */
58
+ protected onStop(): Promise<void>;
59
+ /**
60
+ * On before connector shutting down handler
61
+ */
62
+ protected onShutdown(): void;
63
+ private validateConfigByVersion;
64
+ /**
65
+ * On before connector shutting down handler
66
+ */
67
+ protected validateConfig(config: TConfig): Promise<ConfigValidationResult> | ConfigValidationResult;
68
+ /**
69
+ * On configuration updated handler
70
+ * @param prev Previous configuration object
71
+ */
72
+ protected onConnectorUpdated(prev: ConnectorDto | undefined): void;
73
+ /**
74
+ * Command execution handler
75
+ * @param command Command to handle
76
+ */
77
+ protected handleCommand(command: CommandRequest): Promise<void>;
78
+ private tryHandleCommand;
79
+ /**
80
+ * Start connector execution
81
+ * - Initialize TDP Client
82
+ * - Load connector configuration
83
+ * - Register common command handlers
84
+ */
85
+ start(): Promise<void>;
86
+ protected loadConnector(emitEvent?: boolean): Promise<void>;
87
+ private startHeartbeat;
88
+ private startMetricsReporting;
89
+ shutdown(): Promise<void>;
90
+ /**
91
+ * Number of file processing retries
92
+ */
93
+ protected get fileProcessingRetryNumber(): number;
94
+ /**
95
+ * Number of file to process in one batch
96
+ */
97
+ protected get fileProcessingBatchSize(): number;
98
+ protected getFilesToProcess(options?: GetNotProcessedFilesOptions): AsyncGenerator<ConnectorFileDto>;
99
+ private getFilesToProcessBatch;
100
+ }
101
+ //# sourceMappingURL=connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,gBAAgB,EAIhB,gBAAgB,EACjB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAiB,cAAc,EAAiB,sBAAsB,EAAuB,MAAM,SAAS,CAAC;AAQpH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,8BAAsB,SAAS,CAAC,OAAO,GAAG,GAAG;IAoCzC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IACvC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IApC9C,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,SAAS,CAAC;IACxE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,IAAI,iBAAiB,YAEpB;IAED;;OAEG;IACH,IAAI,SAAS,iBAMZ;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,GAAG,IAAI,GAAG,SAAS,CAEvC;IAED;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAEjE;;;OAGG;IACH,SAAS,aACY,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,gBAAqB;IAKnD;;OAEG;IACH,SAAS,CAAC,YAAY;IAEtB;;OAEG;IACH,SAAS,CAAC,aAAa;IAEvB;;OAEG;cACa,OAAO;IAKvB;;OAEG;cACa,MAAM;IAKtB;;OAEG;IACH,SAAS,CAAC,UAAU;YAEN,uBAAuB;IAkCrC;;OAEG;IAEH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG,sBAAsB;IAOnG;;;OAGG;IAEH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS;IAI3D;;;OAGG;cACa,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCrE,OAAO,CAAC,gBAAgB;IAiBxB;;;;;OAKG;IACG,KAAK;cA6CK,aAAa,CAAC,SAAS,UAAO;IAQ9C,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,qBAAqB;IA4BvB,QAAQ;IAYd;;OAEG;IACH,SAAS,KAAK,yBAAyB,IAAI,MAAM,CAEhD;IAED;;OAEG;IACH,SAAS,KAAK,uBAAuB,IAAI,MAAM,CAE9C;cAEgB,iBAAiB,CAAC,OAAO,GAAE,2BAAgC,GAAG,cAAc,CAAC,gBAAgB,CAAC;IAkC/G,OAAO,CAAC,sBAAsB;CAgB/B"}