@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,307 @@
1
+ import * as s3 from '@aws-sdk/client-s3';
2
+ import * as sqs from '@aws-sdk/client-sqs';
3
+ import { NodeHttpHandler } from '@smithy/node-http-handler';
4
+ import { AxiosInstance, AxiosRequestConfig, CreateAxiosDefaults } from 'axios';
5
+ import EventEmitter from 'events';
6
+ import * as http from 'http';
7
+ import * as https from 'https';
8
+ import { Readable } from 'stream';
9
+ import { Api, ApiOtherOptions, CertificateDto, ConnectorDto, ConnectorFileDto, ConnectorIncludes, ConnectorValueDto, GetConnectorFilesQuery, GetConnectorFilesResponse, ReportConnectorMetricRequest, SaveConnectorFileRequest, SaveConnectorFilesResponse, SaveConnectorValueRequest, UpdateHealthStatusRequest } from './api';
10
+ import { IAuthTokenProvider } from './auth';
11
+ import { ParameterChecksumObject } from './checksums';
12
+ import { TDPClientConfig, TDPClientOptions } from './config';
13
+ import { Logger } from './logger';
14
+ import { CommandResponse, ConnectorManifest } from './types';
15
+ export declare enum Directive {
16
+ Append = 0,
17
+ Replace = 1
18
+ }
19
+ type Metadata = {
20
+ [key: string]: string;
21
+ };
22
+ type Tags = string[];
23
+ type Label = {
24
+ name: string;
25
+ value: string;
26
+ };
27
+ type Trace = {
28
+ [key: string]: string;
29
+ };
30
+ type Headers = CreateAxiosDefaults['headers'];
31
+ /**
32
+ * UploadFileRequest
33
+ *
34
+ * @param {Readable | string | Buffer} content - The file content to be uploaded
35
+ * @param {string} filepath - The path to the file in the datalake
36
+ * @param {string} [sourceType=] - The source type for the file.
37
+ * If not specified, falls back to connector artifact sourceType, and then SourceTypes.UNKNOWN
38
+ * @param {string} [fileId=uuid()] - A unique file id
39
+ * @param {string} [traceId=fileId] - The trace id, usually fileId
40
+ * @param {Trace} [trace={}] - Key/value trace information.
41
+ * Validated against platform metadata rules, see
42
+ * https://tetrascience.atlassian.net/wiki/spaces/DL/pages/3829694465/3.6+Attribute+Validation
43
+ * @param {Metadata} [metadata={}] - Key/value metadata for the request.
44
+ * Validated against platform metadata rules, see
45
+ * https://tetrascience.atlassian.net/wiki/spaces/DL/pages/3829694465/3.6+Attribute+Validation
46
+ * @param {Directive} [metadataDirective=Directive.Append] - The metadata directive
47
+ * @param {Tags} [tags] - The tags array
48
+ * Validated against platform tag rules, see
49
+ * https://tetrascience.atlassian.net/wiki/spaces/DL/pages/3829694465/3.6+Attribute+Validation
50
+ * @param {Directive} [tagsDirective=Directive.Append] - Whether to Append/Replace the tags
51
+ * @param {Label[]} [labels] - Array of key/value descriptive labels
52
+ * Validated against platform labels rules, see
53
+ * https://tetrascience.atlassian.net/wiki/spaces/DL/pages/3829694465/3.6+Attribute+Validation
54
+ * @param {Directive} [labelsDirective=Directive.Append] - Whether to Append/Replace the labels
55
+ * @param {ParameterChecksumObject} [checksums] - Calculated checksum metadata and AWS checksum algorithm
56
+ * rawMd5Checksum?: string;
57
+ rawSha1Checksum?: string;
58
+ rawSha256Checksum?: string;
59
+ rawCrc32Checksum?: string;
60
+ rawCrc32cChecksum?: string;
61
+
62
+ These optional checksums are added as particular S3 Metadata which is processed by the platform and made available
63
+ in the resulting datalake file. They must be calculated by your Connector or passed along from the source system,
64
+ and are not re-calculated in the SDK or by S3.
65
+
66
+ s3AdditionalChecksum?: ChecksumAlgorithm;
67
+ This parameter tells the method which S3 Additional Checksum algorithm to use. If not specified, defaults to SHA256.
68
+ * @param {string} [contentEncoding] - The content encoding, if relevant, of the file to be uploaded
69
+ * @param {string} [contentType] - The content type of the file to be uploaded
70
+ * @param {number} [objectSize] - size in bytes of upload
71
+ * @param {AbortController} [abortController] - passed to `Upload` to allow aborts
72
+ * @param {string} [destinationId] - if present, used in lieu of connectorId in file key
73
+ */
74
+ export type UploadFileRequest = {
75
+ content: Readable | string | Buffer;
76
+ filepath: string;
77
+ sourceType?: string;
78
+ fileId?: string;
79
+ traceId?: string;
80
+ trace?: Trace;
81
+ metadata?: Metadata;
82
+ metadataDirective?: Directive;
83
+ tags?: Tags;
84
+ tagsDirective?: Directive;
85
+ labels?: Label[];
86
+ labelsDirective?: Directive;
87
+ checksums?: ParameterChecksumObject;
88
+ contentEncoding?: string;
89
+ contentType?: string;
90
+ objectSize?: number;
91
+ abortController?: AbortController;
92
+ destinationId?: string;
93
+ };
94
+ /**
95
+ * UploadFileResponse
96
+ *
97
+ * @param {string} bucket - The S3 bucket
98
+ * @param {string} key - The S3 key
99
+ * @param {string} versionId - The S3 version id
100
+ * @param {string} fileId - The file id
101
+ */
102
+ type UploadFileResponse = {
103
+ bucket: string;
104
+ key: string;
105
+ versionId: string;
106
+ fileId: string;
107
+ };
108
+ export declare function sanitizeConfig(config?: AxiosRequestConfig): Partial<AxiosRequestConfig<any>> | undefined;
109
+ export declare class TDPClient {
110
+ readonly logger: Logger;
111
+ readonly config: TDPClientConfig;
112
+ readonly commands: EventEmitter<[never]>;
113
+ private jwt;
114
+ api: Api | undefined;
115
+ private _connector;
116
+ get connector(): ConnectorDto | undefined;
117
+ private _manifest;
118
+ get manifest(): ConnectorManifest | null | undefined;
119
+ private awsClientProvider;
120
+ private authTokenProvider;
121
+ private isProxyInitialized;
122
+ private userAgent;
123
+ private _certificates;
124
+ listeningForCommands: boolean;
125
+ constructor(options?: TDPClientOptions);
126
+ get isInitialized(): "" | {
127
+ getConnectorById: (id: string, { resolveSecrets, include }?: {
128
+ resolveSecrets?: boolean;
129
+ include?: ConnectorIncludes[];
130
+ }, options?: ApiOtherOptions) => Promise<ConnectorDto>;
131
+ getConnectorConfig: (id: string, query?: {
132
+ version?: string;
133
+ }, options?: ApiOtherOptions) => Promise<any>;
134
+ getConnectorData: (id: string, query?: {
135
+ keys?: string[];
136
+ }, options?: ApiOtherOptions) => Promise<import("./api").ConnectorDataResponse>;
137
+ saveConnectorData: (id: string, data: import("./api").SaveConnectorDataRequest, options?: ApiOtherOptions) => Promise<import("./api").ConnectorDataResponse>;
138
+ deleteConnectorData: (id: string, query: {
139
+ keys: string[];
140
+ }, options?: ApiOtherOptions) => Promise<void>;
141
+ getConnectorFiles: (id: string, query: GetConnectorFilesQuery, options?: ApiOtherOptions) => Promise<GetConnectorFilesResponse>;
142
+ updateConnectorFiles: (id: string, data: import("./api").SaveConnectorFilesRequest, options?: ApiOtherOptions) => Promise<SaveConnectorFilesResponse>;
143
+ reportMetrics: (id: string, data: import("./api").ReportMetricsRequest, options?: ApiOtherOptions) => Promise<void>;
144
+ heartbeat: (id: string, options?: ApiOtherOptions) => Promise<void>;
145
+ health: (id: string, data: UpdateHealthStatusRequest, options?: ApiOtherOptions) => Promise<void>;
146
+ getCertificates: (options?: ApiOtherOptions) => Promise<import("./api").GetCertificatesResponse>;
147
+ } | undefined;
148
+ get certificates(): CertificateDto[];
149
+ private setUserAgent;
150
+ assertInitialized(): {
151
+ api: Api;
152
+ s3Client: s3.S3Client;
153
+ sqsClient: sqs.SQSClient;
154
+ authTokenProvider: IAuthTokenProvider;
155
+ };
156
+ assertProxyInitialized(): void;
157
+ get apiInstance(): {
158
+ getConnectorById: (id: string, { resolveSecrets, include }?: {
159
+ resolveSecrets?: boolean;
160
+ include?: ConnectorIncludes[];
161
+ }, options?: ApiOtherOptions) => Promise<ConnectorDto>;
162
+ getConnectorConfig: (id: string, query?: {
163
+ version?: string;
164
+ }, options?: ApiOtherOptions) => Promise<any>;
165
+ getConnectorData: (id: string, query?: {
166
+ keys?: string[];
167
+ }, options?: ApiOtherOptions) => Promise<import("./api").ConnectorDataResponse>;
168
+ saveConnectorData: (id: string, data: import("./api").SaveConnectorDataRequest, options?: ApiOtherOptions) => Promise<import("./api").ConnectorDataResponse>;
169
+ deleteConnectorData: (id: string, query: {
170
+ keys: string[];
171
+ }, options?: ApiOtherOptions) => Promise<void>;
172
+ getConnectorFiles: (id: string, query: GetConnectorFilesQuery, options?: ApiOtherOptions) => Promise<GetConnectorFilesResponse>;
173
+ updateConnectorFiles: (id: string, data: import("./api").SaveConnectorFilesRequest, options?: ApiOtherOptions) => Promise<SaveConnectorFilesResponse>;
174
+ reportMetrics: (id: string, data: import("./api").ReportMetricsRequest, options?: ApiOtherOptions) => Promise<void>;
175
+ heartbeat: (id: string, options?: ApiOtherOptions) => Promise<void>;
176
+ health: (id: string, data: UpdateHealthStatusRequest, options?: ApiOtherOptions) => Promise<void>;
177
+ getCertificates: (options?: ApiOtherOptions) => Promise<import("./api").GetCertificatesResponse>;
178
+ };
179
+ protected getAdditionalAxiosHeaders(): Headers;
180
+ createAxiosInstanceWithCertificatesAndHeaders(tdpEndpoint: string, orgSlug: string, jwt: string, certificates: string[], timeout_ms?: number): AxiosInstance;
181
+ /**
182
+ * Creates an axios instance for the given base url, with the given config and rejectUnauthorized, and using
183
+ * the appropriate proxies configured for the connector. TDPClient.init must be called first. baseUrl is required
184
+ * to select the correct proxy, but should otherwise match config.baseUrl.
185
+ * @param options.baseUrl base url for proxy selection when this connector is hosted in a Hub
186
+ * @param options.config axios config
187
+ * @param options.rejectUnauthorized rejectUnauthorized, passed to the underlying http(s) Agent
188
+ * @param options.includeAdditionalCertificates whether to include organization certificates in the http agent
189
+ * @param timeout_ms - The axios http request timeout in milliseconds
190
+ * @returns an Axios instance configured with these settings and with proxying http(s) Agents
191
+ */
192
+ createAxiosInstance({ baseUrl, config, timeout_ms, rejectUnauthorized, includeAdditionalCertificates, }: {
193
+ baseUrl: string;
194
+ config?: AxiosRequestConfig;
195
+ rejectUnauthorized?: boolean;
196
+ includeAdditionalCertificates?: boolean;
197
+ timeout_ms?: number;
198
+ }): AxiosInstance;
199
+ /**
200
+ * Creates httpAgent and httpsAgent appropriate for proxied connections to the given baseUrl.
201
+ * Reads proxy env vars to determine which proxy, if any, to use for a given url. npm proxy-agent
202
+ * and npm https-proxy-agent do not support rejectUnauthorized, which must be set on the agent level.
203
+ * Until we can fork npm proxy-agent to add this support, we cannot easily support per-request proxy selection
204
+ * like proxy-agent does, so we need the baseUrl up front to select a proxy.
205
+ * If using this with axios, use createAxiosInstance instead, or be sure to specify proxy: false to circumvent
206
+ * a related axios bug.
207
+ * @param options.baseURL The URL that determines which proxy env var (http_proxy, https_proxy, no_proxy) should apply
208
+ * @param options.rejectUnauthorized Whether to inject unauthorized requests in the httpsAgent
209
+ * @param options.includeAdditionalCertificates Whether to include organization certificates in the httpsAgent.
210
+ * If omitted or set falsy: only Node's built-in certificates will be included
211
+ * If set to true, built-in plus org certificates will be included.
212
+ * If set to an array, built-in plus this array of certificates will be included.
213
+ * @returns httpAgent and httpsAgent with proxy, rejectUnauthorized, and includeAdditionalCertificates settings
214
+ */
215
+ createProxyAgentsForBaseUrl({ baseUrl, rejectUnauthorized, includeAdditionalCertificates, }: {
216
+ baseUrl: string;
217
+ rejectUnauthorized?: boolean;
218
+ includeAdditionalCertificates?: boolean | string[];
219
+ }): {
220
+ httpAgent: http.Agent;
221
+ httpsAgent: https.Agent;
222
+ } | undefined;
223
+ /**
224
+ * Creates a NodeHttpHandler using npm proxy-agent, which will select a correct proxy per request.
225
+ * Only works for connections where rejectUnauthorized or additional certificates are not needed,
226
+ * such as to AWS or trusted servers; if you need to connect to an untrusted server or use organization certificates,
227
+ * use createProxyAgentsForBaseUrl and specify a baseUrl and (optionally) rejectUnauthorized: false.
228
+ * @returns A NodeHttpHandler with agents that will choose a correct proxy for each request.
229
+ */
230
+ createProxyNodeHttpHandler(): NodeHttpHandler;
231
+ private createLogger;
232
+ init(): Promise<void>;
233
+ private loadConnectorManifest;
234
+ loadProxySettingsToEnv(): Promise<void>;
235
+ startCommandsListener(): void;
236
+ stopCommandsListener(): void;
237
+ private waitForCommandMessage;
238
+ private handleCommandSqsMessages;
239
+ private downloadContent;
240
+ /**
241
+ * Send a command response to the TDP
242
+ * @param command - The command response to send
243
+ * @param command.commandId - The command ID
244
+ * @param command.targetId - The target ID (connector ID)
245
+ * @param command.status - The status of the command
246
+ * @param command.body - The body of the command
247
+ * @param command.responseBodyUploadUrl - The URL to upload the response body to.
248
+ * Should be passed over from the command request
249
+ */
250
+ sendCommandResponse(command: CommandResponse): Promise<void>;
251
+ private shouldDeliverCommandPayloadViaUpload;
252
+ private uploadCommandResponseBody;
253
+ getCertificates(options?: ApiOtherOptions): Promise<CertificateDto[]>;
254
+ getConfig({ version }: {
255
+ version?: string;
256
+ }, options?: ApiOtherOptions): Promise<any>;
257
+ getConnector({ resolveSecrets, include }?: {
258
+ resolveSecrets?: boolean;
259
+ include?: ConnectorIncludes[];
260
+ }, options?: ApiOtherOptions): Promise<ConnectorDto>;
261
+ reloadConnector(options?: ApiOtherOptions): Promise<void>;
262
+ protected hasUserAgentSetToDisabled(): Promise<boolean>;
263
+ protected configureUserAgent(): Promise<void>;
264
+ getValue<T = any>(key: string, options?: ApiOtherOptions): Promise<T>;
265
+ getValues<T = any>(keys: string[], options?: ApiOtherOptions): Promise<T[]>;
266
+ getValues<T = any>(...keys: string[]): Promise<T[]>;
267
+ saveValue(key: string, value: any, options?: ApiOtherOptions & {
268
+ secure: boolean;
269
+ }): Promise<any>;
270
+ saveValues(values: SaveConnectorValueRequest[], options?: ApiOtherOptions): Promise<ConnectorValueDto[]>;
271
+ getFiles(query: GetConnectorFilesQuery, options?: ApiOtherOptions): Promise<GetConnectorFilesResponse>;
272
+ saveFile(file: SaveConnectorFileRequest): Promise<ConnectorFileDto>;
273
+ saveFiles(files: SaveConnectorFileRequest[], options?: ApiOtherOptions): Promise<SaveConnectorFilesResponse>;
274
+ reportMetrics(metrics: ReportConnectorMetricRequest[], options?: ApiOtherOptions): Promise<void>;
275
+ reportHealthStatus(request: UpdateHealthStatusRequest, options?: ApiOtherOptions): Promise<void>;
276
+ heartbeat(options?: ApiOtherOptions): Promise<void>;
277
+ /**
278
+ * Determine PartSize for Upload based on object size
279
+ *
280
+ * @param objectSize size in bytes of object to upload
281
+ */
282
+ calculatePartSize(objectSize?: number): number;
283
+ /**
284
+ * Uploads a file to the TDP datalake
285
+
286
+ * @param {UploadFileRequest} request - The upload file request
287
+ * @param {boolean} [strictMtlValidation=false] - Whether to throw an error if the request MTL is invalid.
288
+ * If false, will just log a warning.
289
+ * @returns {Promise<UploadFileResponse>} - Uploaded file bucket, key, version, and id
290
+ * @throws {Error} - If the client is not initialized
291
+ * @throws {Error} - If the request has invalid MTL and strictMtlValidation is true
292
+ */
293
+ uploadFile(request: UploadFileRequest, strictMtlValidation?: boolean): Promise<UploadFileResponse>;
294
+ /**
295
+ * Transforms the metadata fields of a trace to include the "ts_" prefix
296
+ * @example
297
+ * // returns { ts_field1: 'value1', ts_field2: 'value2' }
298
+ * transformTraceMetadata({ field1: 'value1', field2: 'value2' })
299
+ *
300
+ * @param {Trace} trace - The trace object to be transformed
301
+ * @returns {object} - An object with transformed trace metadata.
302
+ */
303
+ transformTraceMetadata(trace: Trace): {};
304
+ private buildS3Key;
305
+ }
306
+ export {};
307
+ //# sourceMappingURL=tdp-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tdp-client.d.ts","sourceRoot":"","sources":["../../src/tdp-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAc,EAAgB,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEpG,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAclC,OAAO,EACL,GAAG,EACH,eAAe,EACf,cAAc,EACd,YAAY,EACZ,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,OAAO,CAAC;AAEf,OAAO,EAIL,kBAAkB,EAEnB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAmB,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAEL,eAAe,EAGf,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAmBjB,oBAAY,SAAS;IACnB,MAAM,IAAA;IACN,OAAO,IAAA;CACR;AAED,KAAK,QAAQ,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAC1C,KAAK,IAAI,GAAG,MAAM,EAAE,CAAC;AACrB,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7C,KAAK,KAAK,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AACvC,KAAK,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAoBF,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,kBAAkB,gDAUzD;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,QAAQ,wBAAsB;IAEvC,OAAO,CAAC,GAAG,CAAqB;IAChC,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC;IACrB,OAAO,CAAC,UAAU,CAA2B;IAC7C,IAAI,SAAS,6BAEZ;IAED,OAAO,CAAC,SAAS,CAAuC;IACxD,IAAI,QAAQ,yCAKX;IAED,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,aAAa,CAAmB;IAExC,oBAAoB,UAAS;gBAEjB,OAAO,CAAC,EAAE,gBAAgB;IAMtC,IAAI,aAAa;;0BA9CM,CAAC;mBAEb,CAAC;;;mBA6BZ,CAAC;;;gBAeD,CAAD;;;;;;;;;;;;kBAEE;IAED,IAAI,YAAY,qBAKf;IAED,OAAO,CAAC,YAAY;IAYpB,iBAAiB;;;;;;IAYjB,sBAAsB;IAMtB,IAAI,WAAW;;0BAvFQ,CAAC;mBAEb,CAAC;;;mBA6BZ,CAAC;;;gBAeD,CAAD;;;;;;;;;;;;MA2CE;IAED,SAAS,CAAC,yBAAyB,IAAI,OAAO;IAgB9C,6CAA6C,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EAAE,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,aAAa;IAoBhB;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,EAClB,OAAO,EACP,MAAM,EACN,UAAU,EACV,kBAAyB,EACzB,6BAAoC,GACrC,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC;QAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,aAAa;IAgBjB;;;;;;;;;;;;;;;OAeG;IACH,2BAA2B,CAAC,EAC1B,OAAO,EACP,kBAAyB,EACzB,6BAAoC,GACrC,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,6BAA6B,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;KACpD,GAAG;QAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;QAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAA;KAAE,GAAG,SAAS;IA8DlE;;;;;;OAMG;IACH,0BAA0B,IAAI,eAAe;IAU7C,OAAO,CAAC,YAAY;IAWd,IAAI;YAyEI,qBAAqB;IAS7B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C7C,qBAAqB;IAiBrB,oBAAoB;YAKN,qBAAqB;YAerB,wBAAwB;YAqDxB,eAAe;IAO7B;;;;;;;;;OASG;IACG,mBAAmB,CAAC,OAAO,EAAE,eAAe;IAgClD,OAAO,CAAC,oCAAoC;YAoB9B,yBAAyB;IAejC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIrE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrF,YAAY,CAChB,EAAE,cAAc,EAAE,OAAO,EAAE,GAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAO,EAC7F,OAAO,CAAC,EAAE,eAAe;IAKrB,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe;cAW/B,yBAAyB;cAczB,kBAAkB;IAqB5B,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC;IAKrE,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3E,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAiBnD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAOjG,UAAU,CAAC,MAAM,EAAE,yBAAyB,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAS9G,QAAQ,CAAC,KAAK,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAIhG,QAAQ,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAenE,SAAS,CAAC,KAAK,EAAE,wBAAwB,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIlH,aAAa,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe;IAIhF,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,EAAE,OAAO,CAAC,EAAE,eAAe;IAIhF,SAAS,CAAC,OAAO,CAAC,EAAE,eAAe;IAInC;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAa9C;;;;;;;;;OASG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,GAAE,OAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgI/G;;;;;;;;OAQG;IACH,sBAAsB,CAAC,KAAK,EAAE,KAAK;IAInC,OAAO,CAAC,UAAU;CAInB"}