@devrev/airsync-sdk 2.0.0-beta.1 → 2.0.0-beta.11

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 (229) hide show
  1. package/README.md +7 -21
  2. package/dist/attachments-streaming/attachments-streaming-pool.d.ts +6 -7
  3. package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
  4. package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts +4 -3
  5. package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts.map +1 -1
  6. package/dist/attachments-streaming/attachments-streaming-pool.js +69 -61
  7. package/dist/common/constants.d.ts +15 -12
  8. package/dist/common/constants.d.ts.map +1 -1
  9. package/dist/common/constants.js +20 -34
  10. package/dist/common/helpers.d.ts +3 -27
  11. package/dist/common/helpers.d.ts.map +1 -1
  12. package/dist/common/helpers.js +6 -36
  13. package/dist/http/client.d.ts +4 -0
  14. package/dist/http/client.d.ts.map +1 -0
  15. package/dist/http/client.js +80 -0
  16. package/dist/http/errors.d.ts +8 -0
  17. package/dist/http/errors.d.ts.map +1 -0
  18. package/dist/http/errors.js +31 -0
  19. package/dist/index.d.ts +30 -12
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +47 -28
  22. package/dist/logger/logger.d.ts +13 -70
  23. package/dist/logger/logger.d.ts.map +1 -1
  24. package/dist/logger/logger.interfaces.d.ts +4 -7
  25. package/dist/logger/logger.interfaces.d.ts.map +1 -1
  26. package/dist/logger/logger.js +67 -92
  27. package/dist/mappers/mappers.d.ts +10 -43
  28. package/dist/mappers/mappers.d.ts.map +1 -1
  29. package/dist/mappers/mappers.interfaces.d.ts +173 -0
  30. package/dist/mappers/mappers.interfaces.d.ts.map +1 -0
  31. package/dist/mappers/{mappers.interface.js → mappers.interfaces.js} +1 -10
  32. package/dist/mappers/mappers.js +32 -46
  33. package/dist/multithreading/adapters/base-adapter.d.ts +39 -0
  34. package/dist/multithreading/adapters/base-adapter.d.ts.map +1 -0
  35. package/dist/multithreading/adapters/base-adapter.js +212 -0
  36. package/dist/multithreading/adapters/extraction-adapter.d.ts +49 -0
  37. package/dist/multithreading/adapters/extraction-adapter.d.ts.map +1 -0
  38. package/dist/multithreading/adapters/extraction-adapter.js +375 -0
  39. package/dist/multithreading/adapters/loading-adapter.d.ts +26 -0
  40. package/dist/multithreading/adapters/loading-adapter.d.ts.map +1 -0
  41. package/dist/multithreading/adapters/loading-adapter.helpers.d.ts +12 -0
  42. package/dist/multithreading/adapters/loading-adapter.helpers.d.ts.map +1 -0
  43. package/dist/multithreading/{worker-adapter/worker-adapter.helpers.js → adapters/loading-adapter.helpers.js} +2 -12
  44. package/dist/multithreading/adapters/loading-adapter.js +279 -0
  45. package/dist/multithreading/emit.d.ts +11 -0
  46. package/dist/multithreading/emit.d.ts.map +1 -0
  47. package/dist/multithreading/emit.js +25 -0
  48. package/dist/multithreading/process-task.d.ts +6 -1
  49. package/dist/multithreading/process-task.d.ts.map +1 -1
  50. package/dist/multithreading/process-task.js +120 -82
  51. package/dist/multithreading/spawn/spawn.d.ts +10 -11
  52. package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
  53. package/dist/multithreading/spawn/spawn.helpers.d.ts +12 -11
  54. package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
  55. package/dist/multithreading/spawn/spawn.helpers.js +142 -77
  56. package/dist/multithreading/spawn/spawn.js +59 -75
  57. package/dist/multithreading/worker.js +16 -5
  58. package/dist/repo/repo.d.ts +14 -5
  59. package/dist/repo/repo.d.ts.map +1 -1
  60. package/dist/repo/repo.helpers.d.ts +6 -0
  61. package/dist/repo/repo.helpers.d.ts.map +1 -0
  62. package/dist/repo/repo.helpers.js +16 -0
  63. package/dist/repo/repo.interfaces.d.ts +11 -20
  64. package/dist/repo/repo.interfaces.d.ts.map +1 -1
  65. package/dist/repo/repo.js +36 -22
  66. package/dist/state/base-state.d.ts +58 -0
  67. package/dist/state/base-state.d.ts.map +1 -0
  68. package/dist/state/base-state.js +242 -0
  69. package/dist/state/extraction-state.d.ts +14 -0
  70. package/dist/state/extraction-state.d.ts.map +1 -0
  71. package/dist/state/extraction-state.js +146 -0
  72. package/dist/state/install-initial-domain-mapping.d.ts +4 -0
  73. package/dist/state/install-initial-domain-mapping.d.ts.map +1 -0
  74. package/dist/{common → state}/install-initial-domain-mapping.js +5 -7
  75. package/dist/state/loading-state.d.ts +8 -0
  76. package/dist/state/loading-state.d.ts.map +1 -0
  77. package/dist/state/loading-state.js +29 -0
  78. package/dist/state/state.d.ts +3 -29
  79. package/dist/state/state.d.ts.map +1 -1
  80. package/dist/state/state.interfaces.d.ts +31 -12
  81. package/dist/state/state.interfaces.d.ts.map +1 -1
  82. package/dist/state/state.interfaces.js +17 -1
  83. package/dist/state/state.js +9 -164
  84. package/dist/state/time-value-resolver.d.ts +17 -0
  85. package/dist/state/time-value-resolver.d.ts.map +1 -0
  86. package/dist/state/time-value-resolver.js +110 -0
  87. package/dist/testing/mock-event.d.ts +10 -0
  88. package/dist/testing/mock-event.d.ts.map +1 -0
  89. package/dist/testing/mock-event.js +96 -0
  90. package/dist/testing/mock-server.d.ts +31 -0
  91. package/dist/testing/mock-server.d.ts.map +1 -0
  92. package/dist/testing/mock-server.interfaces.d.ts +54 -0
  93. package/dist/testing/mock-server.interfaces.d.ts.map +1 -0
  94. package/dist/testing/mock-server.interfaces.js +4 -0
  95. package/dist/testing/mock-server.js +297 -0
  96. package/dist/testing/test-adapters.d.ts +22 -0
  97. package/dist/testing/test-adapters.d.ts.map +1 -0
  98. package/dist/testing/test-adapters.js +32 -0
  99. package/dist/types/common.d.ts +4 -37
  100. package/dist/types/common.d.ts.map +1 -1
  101. package/dist/types/common.js +2 -17
  102. package/dist/types/errors.d.ts +15 -0
  103. package/dist/types/errors.d.ts.map +1 -0
  104. package/dist/types/errors.js +28 -0
  105. package/dist/types/external-domain-metadata.d.ts +40 -162
  106. package/dist/types/external-domain-metadata.d.ts.map +1 -1
  107. package/dist/types/extraction.d.ts +135 -278
  108. package/dist/types/extraction.d.ts.map +1 -1
  109. package/dist/types/extraction.js +46 -133
  110. package/dist/types/loading.d.ts +15 -55
  111. package/dist/types/loading.d.ts.map +1 -1
  112. package/dist/types/loading.js +1 -23
  113. package/dist/types/workers.d.ts +70 -103
  114. package/dist/types/workers.d.ts.map +1 -1
  115. package/dist/types/workers.js +1 -6
  116. package/dist/uploader/uploader.d.ts +10 -61
  117. package/dist/uploader/uploader.d.ts.map +1 -1
  118. package/dist/uploader/uploader.helpers.d.ts +7 -27
  119. package/dist/uploader/uploader.helpers.d.ts.map +1 -1
  120. package/dist/uploader/uploader.helpers.js +80 -30
  121. package/dist/uploader/uploader.interfaces.d.ts +19 -54
  122. package/dist/uploader/uploader.interfaces.d.ts.map +1 -1
  123. package/dist/uploader/uploader.interfaces.js +8 -0
  124. package/dist/uploader/uploader.js +72 -124
  125. package/docs/MIGRATION.md +751 -0
  126. package/package.json +35 -22
  127. package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts +0 -2
  128. package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts.map +0 -1
  129. package/dist/attachments-streaming/attachments-streaming-pool.test.js +0 -321
  130. package/dist/common/control-protocol.d.ts +0 -10
  131. package/dist/common/control-protocol.d.ts.map +0 -1
  132. package/dist/common/control-protocol.js +0 -31
  133. package/dist/common/errors.d.ts +0 -6
  134. package/dist/common/errors.d.ts.map +0 -1
  135. package/dist/common/errors.js +0 -4
  136. package/dist/common/event-type-translation.d.ts +0 -24
  137. package/dist/common/event-type-translation.d.ts.map +0 -1
  138. package/dist/common/event-type-translation.js +0 -117
  139. package/dist/common/install-initial-domain-mapping.d.ts +0 -4
  140. package/dist/common/install-initial-domain-mapping.d.ts.map +0 -1
  141. package/dist/common/install-initial-domain-mapping.test.d.ts +0 -2
  142. package/dist/common/install-initial-domain-mapping.test.d.ts.map +0 -1
  143. package/dist/common/install-initial-domain-mapping.test.js +0 -208
  144. package/dist/deprecated/adapter/index.d.ts +0 -62
  145. package/dist/deprecated/adapter/index.d.ts.map +0 -1
  146. package/dist/deprecated/adapter/index.js +0 -151
  147. package/dist/deprecated/common/helpers.d.ts +0 -7
  148. package/dist/deprecated/common/helpers.d.ts.map +0 -1
  149. package/dist/deprecated/common/helpers.js +0 -47
  150. package/dist/deprecated/demo-extractor/external_domain_metadata.json +0 -38
  151. package/dist/deprecated/demo-extractor/index.d.ts +0 -18
  152. package/dist/deprecated/demo-extractor/index.d.ts.map +0 -1
  153. package/dist/deprecated/demo-extractor/index.js +0 -161
  154. package/dist/deprecated/http/client.d.ts +0 -22
  155. package/dist/deprecated/http/client.d.ts.map +0 -1
  156. package/dist/deprecated/http/client.js +0 -161
  157. package/dist/deprecated/uploader/index.d.ts +0 -35
  158. package/dist/deprecated/uploader/index.d.ts.map +0 -1
  159. package/dist/deprecated/uploader/index.js +0 -161
  160. package/dist/http/axios-client-internal.d.ts +0 -3
  161. package/dist/http/axios-client-internal.d.ts.map +0 -1
  162. package/dist/http/axios-client-internal.js +0 -66
  163. package/dist/http/axios-client-internal.test.d.ts +0 -2
  164. package/dist/http/axios-client-internal.test.d.ts.map +0 -1
  165. package/dist/http/axios-client-internal.test.js +0 -154
  166. package/dist/http/axios-client.d.ts +0 -27
  167. package/dist/http/axios-client.d.ts.map +0 -1
  168. package/dist/http/axios-client.js +0 -57
  169. package/dist/http/constants.d.ts +0 -4
  170. package/dist/http/constants.d.ts.map +0 -1
  171. package/dist/http/constants.js +0 -6
  172. package/dist/http/index.d.ts +0 -3
  173. package/dist/http/index.d.ts.map +0 -1
  174. package/dist/http/index.js +0 -18
  175. package/dist/http/types.d.ts +0 -17
  176. package/dist/http/types.d.ts.map +0 -1
  177. package/dist/http/types.js +0 -2
  178. package/dist/logger/logger.constants.d.ts +0 -6
  179. package/dist/logger/logger.constants.d.ts.map +0 -1
  180. package/dist/logger/logger.constants.js +0 -13
  181. package/dist/logger/logger.context.d.ts +0 -58
  182. package/dist/logger/logger.context.d.ts.map +0 -1
  183. package/dist/logger/logger.context.js +0 -86
  184. package/dist/logger/logger.test.d.ts +0 -2
  185. package/dist/logger/logger.test.d.ts.map +0 -1
  186. package/dist/logger/logger.test.js +0 -490
  187. package/dist/mappers/mappers.interface.d.ts +0 -294
  188. package/dist/mappers/mappers.interface.d.ts.map +0 -1
  189. package/dist/mappers/mappers.test.d.ts +0 -2
  190. package/dist/mappers/mappers.test.d.ts.map +0 -1
  191. package/dist/mappers/mappers.test.js +0 -107
  192. package/dist/multithreading/create-worker.test.d.ts +0 -2
  193. package/dist/multithreading/create-worker.test.d.ts.map +0 -1
  194. package/dist/multithreading/create-worker.test.js +0 -89
  195. package/dist/multithreading/spawn/spawn.helpers.test.d.ts +0 -2
  196. package/dist/multithreading/spawn/spawn.helpers.test.d.ts.map +0 -1
  197. package/dist/multithreading/spawn/spawn.helpers.test.js +0 -293
  198. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts +0 -2
  199. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts.map +0 -1
  200. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +0 -127
  201. package/dist/multithreading/worker-adapter/worker-adapter.d.ts +0 -91
  202. package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +0 -1
  203. package/dist/multithreading/worker-adapter/worker-adapter.helpers.d.ts +0 -22
  204. package/dist/multithreading/worker-adapter/worker-adapter.helpers.d.ts.map +0 -1
  205. package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts +0 -2
  206. package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts.map +0 -1
  207. package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.js +0 -514
  208. package/dist/multithreading/worker-adapter/worker-adapter.js +0 -745
  209. package/dist/multithreading/worker-adapter/worker-adapter.test.d.ts +0 -2
  210. package/dist/multithreading/worker-adapter/worker-adapter.test.d.ts.map +0 -1
  211. package/dist/multithreading/worker-adapter/worker-adapter.test.js +0 -483
  212. package/dist/repo/repo.test.d.ts +0 -2
  213. package/dist/repo/repo.test.d.ts.map +0 -1
  214. package/dist/repo/repo.test.js +0 -131
  215. package/dist/state/state.test.d.ts +0 -2
  216. package/dist/state/state.test.d.ts.map +0 -1
  217. package/dist/state/state.test.js +0 -224
  218. package/dist/types/extraction.test.d.ts +0 -2
  219. package/dist/types/extraction.test.d.ts.map +0 -1
  220. package/dist/types/extraction.test.js +0 -70
  221. package/dist/types/index.d.ts +0 -10
  222. package/dist/types/index.d.ts.map +0 -1
  223. package/dist/types/index.js +0 -18
  224. package/dist/uploader/uploader.helpers.test.d.ts +0 -2
  225. package/dist/uploader/uploader.helpers.test.d.ts.map +0 -1
  226. package/dist/uploader/uploader.helpers.test.js +0 -267
  227. package/dist/uploader/uploader.test.d.ts +0 -2
  228. package/dist/uploader/uploader.test.d.ts.map +0 -1
  229. package/dist/uploader/uploader.test.js +0 -589
@@ -1,154 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jest_setup_1 = require("../tests/jest.setup");
4
- const axios_client_internal_1 = require("./axios-client-internal");
5
- jest.setTimeout(60000);
6
- describe('Internal Axios Client', () => {
7
- it('should not retry on 200 response', async () => {
8
- await axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint');
9
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(1);
10
- });
11
- it('should not retry on 400 response', async () => {
12
- jest_setup_1.mockServer.setRoute({
13
- path: '/test-endpoint',
14
- method: 'GET',
15
- status: 400,
16
- });
17
- await expect(axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint')).rejects.toThrow();
18
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(1);
19
- });
20
- // TODO: This test is working as expected, but it takes too long to run. Not
21
- // sure if it is good idea to have it.
22
- // it('should retry on 500 response', async () => {
23
- // mockServer.setRoute({
24
- // path: '/test-endpoint',
25
- // method: 'GET',
26
- // status: 200,
27
- // retry: {
28
- // failureCount: 4,
29
- // errorStatus: 500,
30
- // errorBody: { error: 'Internal Server Error' },
31
- // },
32
- // });
33
- // await axiosClient.get(mockServer.baseUrl + '/test-endpoint');
34
- // expect(mockServer.getRequestCount('GET', '/test-endpoint')).toBe(5);
35
- // });
36
- it('should retry 2 times on 500 response and then succeed third time when response is 200', async () => {
37
- jest_setup_1.mockServer.setRoute({
38
- path: '/test-endpoint',
39
- method: 'GET',
40
- status: 200,
41
- retry: {
42
- failureCount: 2,
43
- errorStatus: 500,
44
- errorBody: { error: 'Internal Server Error' },
45
- },
46
- });
47
- await axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint');
48
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(3);
49
- });
50
- it('should retry once after delay when response is 429 and Retry-After header is valid value', async () => {
51
- jest_setup_1.mockServer.setRoute({
52
- path: '/test-endpoint',
53
- method: 'GET',
54
- status: 200,
55
- retry: {
56
- failureCount: 1,
57
- errorStatus: 429,
58
- headers: {
59
- 'Retry-After': '1',
60
- },
61
- },
62
- });
63
- await axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint');
64
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(2);
65
- });
66
- it('should retry once after delay and measure time between retries when response is 429 and Retry-After header is valid value', async () => {
67
- jest_setup_1.mockServer.setRoute({
68
- path: '/test-endpoint',
69
- method: 'GET',
70
- status: 200,
71
- retry: {
72
- failureCount: 1,
73
- errorStatus: 429,
74
- headers: { 'Retry-After': '1' },
75
- },
76
- });
77
- const startTime = Date.now();
78
- await axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint');
79
- const endTime = Date.now();
80
- const duration = endTime - startTime;
81
- const expectedDuration = 1 * 1000;
82
- expect(duration).toBeGreaterThanOrEqual(expectedDuration);
83
- expect(duration).toBeLessThan(expectedDuration + 1000);
84
- });
85
- it('should retry when response is 429 and Retry-After header is lowercase', async () => {
86
- jest_setup_1.mockServer.setRoute({
87
- path: '/test-endpoint',
88
- method: 'GET',
89
- status: 200,
90
- retry: {
91
- failureCount: 1,
92
- errorStatus: 429,
93
- headers: { 'retry-after': '1' },
94
- },
95
- });
96
- await axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint');
97
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(2);
98
- });
99
- it('[edge] should not retry when response is 429 and there is no Retry-After header', async () => {
100
- jest_setup_1.mockServer.setRoute({
101
- path: '/test-endpoint',
102
- method: 'GET',
103
- status: 200,
104
- retry: {
105
- failureCount: 1,
106
- errorStatus: 429,
107
- },
108
- });
109
- await expect(axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint')).rejects.toThrow();
110
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(1);
111
- });
112
- it('[edge] should retry when response is 429 and Retry-After header is 0', async () => {
113
- jest_setup_1.mockServer.setRoute({
114
- path: '/test-endpoint',
115
- method: 'GET',
116
- status: 200,
117
- retry: {
118
- failureCount: 1,
119
- errorStatus: 429,
120
- headers: { 'Retry-After': '0' },
121
- },
122
- });
123
- await axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint');
124
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(2);
125
- });
126
- it('[edge] should not retry when response is 429 and Retry-After header is negative value', async () => {
127
- jest_setup_1.mockServer.setRoute({
128
- path: '/test-endpoint',
129
- method: 'GET',
130
- status: 200,
131
- retry: {
132
- failureCount: 1,
133
- errorStatus: 429,
134
- headers: { 'Retry-After': '-1' },
135
- },
136
- });
137
- await expect(axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint')).rejects.toThrow();
138
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(1);
139
- });
140
- it('[edge] should not retry when response is 429 and Retry-After header is invalid value', async () => {
141
- jest_setup_1.mockServer.setRoute({
142
- path: '/test-endpoint',
143
- method: 'GET',
144
- status: 200,
145
- retry: {
146
- failureCount: 1,
147
- errorStatus: 429,
148
- headers: { 'Retry-After': 'invalid' },
149
- },
150
- });
151
- await expect(axios_client_internal_1.axiosClient.get(jest_setup_1.mockServer.baseUrl + '/test-endpoint')).rejects.toThrow();
152
- expect(jest_setup_1.mockServer.getRequestCount('GET', '/test-endpoint')).toBe(1);
153
- });
154
- });
@@ -1,27 +0,0 @@
1
- /**
2
- * Axios client setup with retry capabilities using axios-retry.
3
- *
4
- * This module exports an Axios client instance (`axiosClient`) that is configured to automatically retry
5
- * failed requests under certain conditions.
6
- *
7
- * Retry Conditions:
8
- * 1. Network errors (where no response is received).
9
- * 2. Idempotent requests (defaults include GET, HEAD, OPTIONS, PUT).
10
- * 3. All 5xx server errors.
11
- *
12
- * Retry Strategy:
13
- * - A maximum of 5 retries are attempted.
14
- * - Exponential backoff delay is applied between retries, increasing with each retry attempt.
15
- *
16
- * Additional Features:
17
- * - When the maximum number of retry attempts is reached, sensitive headers (like authorization)
18
- * are removed from error logs for security reasons.
19
- *
20
- * Exported:
21
- * - `axios`: Original axios instance for additional customizations or direct use.
22
- * - `axiosClient`: Configured axios instance with retry logic.
23
- */
24
- import axios from 'axios';
25
- declare const axiosClient: import("axios").AxiosInstance;
26
- export { axios, axiosClient };
27
- //# sourceMappingURL=axios-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"axios-client.d.ts","sourceRoot":"","sources":["../../src/http/axios-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,QAAA,MAAM,WAAW,+BAAiB,CAAC;AAiCnC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- /**
3
- * Axios client setup with retry capabilities using axios-retry.
4
- *
5
- * This module exports an Axios client instance (`axiosClient`) that is configured to automatically retry
6
- * failed requests under certain conditions.
7
- *
8
- * Retry Conditions:
9
- * 1. Network errors (where no response is received).
10
- * 2. Idempotent requests (defaults include GET, HEAD, OPTIONS, PUT).
11
- * 3. All 5xx server errors.
12
- *
13
- * Retry Strategy:
14
- * - A maximum of 5 retries are attempted.
15
- * - Exponential backoff delay is applied between retries, increasing with each retry attempt.
16
- *
17
- * Additional Features:
18
- * - When the maximum number of retry attempts is reached, sensitive headers (like authorization)
19
- * are removed from error logs for security reasons.
20
- *
21
- * Exported:
22
- * - `axios`: Original axios instance for additional customizations or direct use.
23
- * - `axiosClient`: Configured axios instance with retry logic.
24
- */
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.axiosClient = exports.axios = void 0;
30
- const axios_1 = __importDefault(require("axios"));
31
- exports.axios = axios_1.default;
32
- const axios_retry_1 = __importDefault(require("axios-retry"));
33
- const axiosClient = axios_1.default.create();
34
- exports.axiosClient = axiosClient;
35
- (0, axios_retry_1.default)(axiosClient, {
36
- retries: 5,
37
- retryDelay: (retryCount, error) => {
38
- var _a, _b, _c;
39
- // exponential backoff algorithm: 1 * 2 ^ retryCount * 1000ms
40
- const delay = axios_retry_1.default.exponentialDelay(retryCount, error, 1000);
41
- console.warn(`Request to ${(_a = error.config) === null || _a === void 0 ? void 0 : _a.url} failed with response status code ${(_b = error.response) === null || _b === void 0 ? void 0 : _b.status}. Method ${(_c = error.config) === null || _c === void 0 ? void 0 : _c.method}. Retry count: ${retryCount}. Retrying in ${Math.round(delay / 1000)}s.`);
42
- return delay;
43
- },
44
- retryCondition: (error) => {
45
- var _a, _b, _c;
46
- return ((axios_retry_1.default.isNetworkOrIdempotentRequestError(error) &&
47
- ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) !== 429) ||
48
- ((_c = (_b = error.response) === null || _b === void 0 ? void 0 : _b.status) !== null && _c !== void 0 ? _c : 0) >= 500);
49
- },
50
- onMaxRetryTimesExceeded(error) {
51
- var _a, _b, _c, _d;
52
- (_b = (_a = error.config) === null || _a === void 0 ? void 0 : _a.headers) === null || _b === void 0 ? true : delete _b.authorization;
53
- (_d = (_c = error.config) === null || _c === void 0 ? void 0 : _c.headers) === null || _d === void 0 ? true : delete _d.Authorization;
54
- delete error.request._header;
55
- console.warn('Max retry times exceeded. Error', error);
56
- },
57
- });
@@ -1,4 +0,0 @@
1
- export declare const RATE_LIMIT_EXCEEDED = "LIMIT_EXCEEDED";
2
- export declare const LAMBDA_LIMIT_EXCEEDED = "LAMBDA_LIMIT_EXCEEDED";
3
- export declare const RATE_LIMIT_EXCEEDED_STATUS_CODE = 429;
4
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/http/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAC7D,eAAO,MAAM,+BAA+B,MAAM,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RATE_LIMIT_EXCEEDED_STATUS_CODE = exports.LAMBDA_LIMIT_EXCEEDED = exports.RATE_LIMIT_EXCEEDED = void 0;
4
- exports.RATE_LIMIT_EXCEEDED = 'LIMIT_EXCEEDED';
5
- exports.LAMBDA_LIMIT_EXCEEDED = 'LAMBDA_LIMIT_EXCEEDED';
6
- exports.RATE_LIMIT_EXCEEDED_STATUS_CODE = 429;
@@ -1,3 +0,0 @@
1
- export * from './axios-client';
2
- export * from './types';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
@@ -1,18 +0,0 @@
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("./axios-client"), exports);
18
- __exportStar(require("./types"), exports);
@@ -1,17 +0,0 @@
1
- /**
2
- * HTTP Response type
3
- * @deprecated
4
- */
5
- export type HTTPResponse = {
6
- success: boolean;
7
- message: string;
8
- data: Data;
9
- };
10
- interface Data {
11
- records: object[];
12
- delay: number;
13
- nextPage?: number;
14
- metadata?: object;
15
- }
16
- export {};
17
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/http/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,UAAU,IAAI;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +0,0 @@
1
- import { InspectOptions } from 'node:util';
2
- export declare const MAX_LOG_STRING_LENGTH = 10000;
3
- export declare const MAX_LOG_DEPTH = 10;
4
- export declare const MAX_LOG_ARRAY_LENGTH = 100;
5
- export declare const INSPECT_OPTIONS: InspectOptions;
6
- //# sourceMappingURL=logger.constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.constants.d.ts","sourceRoot":"","sources":["../../src/logger/logger.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAC3C,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,eAAO,MAAM,eAAe,EAAE,cAM7B,CAAC"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INSPECT_OPTIONS = exports.MAX_LOG_ARRAY_LENGTH = exports.MAX_LOG_DEPTH = exports.MAX_LOG_STRING_LENGTH = void 0;
4
- exports.MAX_LOG_STRING_LENGTH = 10000;
5
- exports.MAX_LOG_DEPTH = 10;
6
- exports.MAX_LOG_ARRAY_LENGTH = 100;
7
- exports.INSPECT_OPTIONS = {
8
- compact: false,
9
- breakLength: Infinity,
10
- depth: exports.MAX_LOG_DEPTH,
11
- maxArrayLength: exports.MAX_LOG_ARRAY_LENGTH,
12
- maxStringLength: exports.MAX_LOG_STRING_LENGTH,
13
- };
@@ -1,58 +0,0 @@
1
- /**
2
- * Executes a function within user log context, marking all logs as user-originated.
3
- *
4
- * Use this to wrap user-provided callback functions (e.g., task handlers, event callbacks).
5
- * The context automatically propagates through any async operations within the function,
6
- * ensuring that all console.log calls inside are correctly tagged as user logs.
7
- *
8
- * @template T - The return type of the function
9
- * @param fn - The function to execute within user context (can be sync or async)
10
- * @returns The result of the function execution
11
- *
12
- * @example
13
- * ```typescript
14
- * await runWithUserLogContext(async () => {
15
- * console.log('This is a user log'); // is_sdk_log: false
16
- * await someAsyncOperation();
17
- * console.log('Still a user log'); // is_sdk_log: false (context preserved)
18
- * });
19
- * ```
20
- */
21
- export declare function runWithUserLogContext<T>(fn: () => T): T;
22
- /**
23
- * Executes a function within SDK log context, marking all logs as SDK-originated.
24
- *
25
- * Use this to wrap SDK internal operations (e.g., emit, postState, adapter methods).
26
- * The context automatically propagates through any async operations within the function,
27
- * ensuring that all console.log calls inside are correctly tagged as SDK logs.
28
- *
29
- * This allows proper nesting: SDK code can call user code via runWithUserLogContext,
30
- * and when control returns to SDK code, logs are correctly attributed.
31
- *
32
- * @template T - The return type of the function
33
- * @param fn - The function to execute within SDK context (can be sync or async)
34
- * @returns The result of the function execution
35
- *
36
- * @example
37
- * ```typescript
38
- * await runWithSdkLogContext(async () => {
39
- * console.log('SDK internal log'); // is_sdk_log: true
40
- * runWithUserLogContext(() => {
41
- * console.log('User handler log'); // is_sdk_log: false
42
- * });
43
- * console.log('Back to SDK log'); // is_sdk_log: true
44
- * });
45
- * ```
46
- */
47
- export declare function runWithSdkLogContext<T>(fn: () => T): T;
48
- /**
49
- * Retrieves the current SDK log context value.
50
- *
51
- * Returns whether the current execution context is within SDK code (true) or user code (false).
52
- * If no context has been set (e.g., during testing or edge cases), returns the provided default.
53
- *
54
- * @param defaultValue - The value to return if no context is currently set
55
- * @returns `true` if in SDK context, `false` if in user context, or defaultValue if unset
56
- */
57
- export declare function getSdkLogContextValue(defaultValue: boolean): boolean;
58
- //# sourceMappingURL=logger.context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.context.d.ts","sourceRoot":"","sources":["../../src/logger/logger.context.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAMpE"}
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runWithUserLogContext = runWithUserLogContext;
4
- exports.runWithSdkLogContext = runWithSdkLogContext;
5
- exports.getSdkLogContextValue = getSdkLogContextValue;
6
- const node_async_hooks_1 = require("node:async_hooks");
7
- /**
8
- * Async-aware context storage for tracking whether code is executing within SDK or user context.
9
- *
10
- * AsyncLocalStorage is used instead of a simple global variable because it automatically
11
- * propagates the context across async boundaries (await, Promise.then, setTimeout, etc.).
12
- * This ensures that even after multiple await calls in user code, the logging context
13
- * remains correct without requiring explicit context passing through function parameters.
14
- *
15
- * The stored boolean value indicates:
16
- * - `true`: Code is executing within SDK internals (logs tagged as is_sdk_log: true)
17
- * - `false`: Code is executing within user-provided handlers (logs tagged as is_sdk_log: false)
18
- */
19
- const sdkLogContext = new node_async_hooks_1.AsyncLocalStorage();
20
- /**
21
- * Executes a function within user log context, marking all logs as user-originated.
22
- *
23
- * Use this to wrap user-provided callback functions (e.g., task handlers, event callbacks).
24
- * The context automatically propagates through any async operations within the function,
25
- * ensuring that all console.log calls inside are correctly tagged as user logs.
26
- *
27
- * @template T - The return type of the function
28
- * @param fn - The function to execute within user context (can be sync or async)
29
- * @returns The result of the function execution
30
- *
31
- * @example
32
- * ```typescript
33
- * await runWithUserLogContext(async () => {
34
- * console.log('This is a user log'); // is_sdk_log: false
35
- * await someAsyncOperation();
36
- * console.log('Still a user log'); // is_sdk_log: false (context preserved)
37
- * });
38
- * ```
39
- */
40
- function runWithUserLogContext(fn) {
41
- return sdkLogContext.run(false, fn);
42
- }
43
- /**
44
- * Executes a function within SDK log context, marking all logs as SDK-originated.
45
- *
46
- * Use this to wrap SDK internal operations (e.g., emit, postState, adapter methods).
47
- * The context automatically propagates through any async operations within the function,
48
- * ensuring that all console.log calls inside are correctly tagged as SDK logs.
49
- *
50
- * This allows proper nesting: SDK code can call user code via runWithUserLogContext,
51
- * and when control returns to SDK code, logs are correctly attributed.
52
- *
53
- * @template T - The return type of the function
54
- * @param fn - The function to execute within SDK context (can be sync or async)
55
- * @returns The result of the function execution
56
- *
57
- * @example
58
- * ```typescript
59
- * await runWithSdkLogContext(async () => {
60
- * console.log('SDK internal log'); // is_sdk_log: true
61
- * runWithUserLogContext(() => {
62
- * console.log('User handler log'); // is_sdk_log: false
63
- * });
64
- * console.log('Back to SDK log'); // is_sdk_log: true
65
- * });
66
- * ```
67
- */
68
- function runWithSdkLogContext(fn) {
69
- return sdkLogContext.run(true, fn);
70
- }
71
- /**
72
- * Retrieves the current SDK log context value.
73
- *
74
- * Returns whether the current execution context is within SDK code (true) or user code (false).
75
- * If no context has been set (e.g., during testing or edge cases), returns the provided default.
76
- *
77
- * @param defaultValue - The value to return if no context is currently set
78
- * @returns `true` if in SDK context, `false` if in user context, or defaultValue if unset
79
- */
80
- function getSdkLogContextValue(defaultValue) {
81
- const storeValue = sdkLogContext.getStore();
82
- if (typeof storeValue === 'boolean') {
83
- return storeValue;
84
- }
85
- return defaultValue;
86
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=logger.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../src/logger/logger.test.ts"],"names":[],"mappings":""}