@devrev/airsync-sdk 2.0.0-beta.2 → 2.0.0-beta.4

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 (206) hide show
  1. package/README.md +5 -11
  2. package/dist/attachments-streaming/attachments-streaming-pool.d.ts +1 -8
  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 +11 -39
  7. package/dist/common/constants.d.ts +1 -0
  8. package/dist/common/constants.d.ts.map +1 -1
  9. package/dist/common/constants.js +2 -1
  10. package/dist/common/helpers.d.ts +0 -14
  11. package/dist/common/helpers.d.ts.map +1 -1
  12. package/dist/common/helpers.js +0 -36
  13. package/dist/http/{axios-client-internal.d.ts → client.d.ts} +1 -1
  14. package/dist/http/client.d.ts.map +1 -0
  15. package/dist/index.d.ts +25 -13
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +51 -30
  18. package/dist/logger/logger.d.ts +14 -0
  19. package/dist/logger/logger.d.ts.map +1 -1
  20. package/dist/logger/logger.js +55 -8
  21. package/dist/mappers/mappers.d.ts +9 -10
  22. package/dist/mappers/mappers.d.ts.map +1 -1
  23. package/dist/mappers/{mappers.interface.d.ts → mappers.interfaces.d.ts} +5 -5
  24. package/dist/mappers/mappers.interfaces.d.ts.map +1 -0
  25. package/dist/mappers/{mappers.interface.js → mappers.interfaces.js} +3 -3
  26. package/dist/mappers/mappers.js +13 -9
  27. package/dist/multithreading/adapters/base-adapter.d.ts +71 -0
  28. package/dist/multithreading/adapters/base-adapter.d.ts.map +1 -0
  29. package/dist/multithreading/adapters/base-adapter.js +138 -0
  30. package/dist/multithreading/adapters/extraction-adapter.d.ts +57 -0
  31. package/dist/multithreading/adapters/extraction-adapter.d.ts.map +1 -0
  32. package/dist/multithreading/adapters/extraction-adapter.js +323 -0
  33. package/dist/multithreading/adapters/loading-adapter.d.ts +44 -0
  34. package/dist/multithreading/adapters/loading-adapter.d.ts.map +1 -0
  35. package/dist/multithreading/{worker-adapter/worker-adapter.helpers.d.ts → adapters/loading-adapter.helpers.d.ts} +1 -1
  36. package/dist/multithreading/adapters/loading-adapter.helpers.d.ts.map +1 -0
  37. package/dist/multithreading/adapters/loading-adapter.js +431 -0
  38. package/dist/{common/control-protocol.d.ts → multithreading/emit.d.ts} +1 -1
  39. package/dist/multithreading/emit.d.ts.map +1 -0
  40. package/dist/{common/control-protocol.js → multithreading/emit.js} +3 -3
  41. package/dist/multithreading/process-task.d.ts +16 -1
  42. package/dist/multithreading/process-task.d.ts.map +1 -1
  43. package/dist/multithreading/process-task.js +115 -50
  44. package/dist/multithreading/spawn/spawn.helpers.d.ts +23 -3
  45. package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
  46. package/dist/multithreading/spawn/spawn.helpers.js +152 -2
  47. package/dist/multithreading/spawn/spawn.js +7 -7
  48. package/dist/multithreading/worker.js +1 -2
  49. package/dist/repo/repo.js +2 -2
  50. package/dist/state/base-state.d.ts +75 -0
  51. package/dist/state/base-state.d.ts.map +1 -0
  52. package/dist/state/base-state.js +261 -0
  53. package/dist/state/extraction-state.d.ts +29 -0
  54. package/dist/state/extraction-state.d.ts.map +1 -0
  55. package/dist/state/extraction-state.js +122 -0
  56. package/dist/state/install-initial-domain-mapping.d.ts.map +1 -0
  57. package/dist/{common → state}/install-initial-domain-mapping.js +4 -4
  58. package/dist/state/loading-state.d.ts +18 -0
  59. package/dist/state/loading-state.d.ts.map +1 -0
  60. package/dist/state/loading-state.js +39 -0
  61. package/dist/state/state.d.ts +3 -35
  62. package/dist/state/state.d.ts.map +1 -1
  63. package/dist/state/state.interfaces.d.ts +20 -3
  64. package/dist/state/state.interfaces.d.ts.map +1 -1
  65. package/dist/state/state.interfaces.js +19 -1
  66. package/dist/state/state.js +9 -263
  67. package/dist/{common → state}/time-value-resolver.d.ts +4 -5
  68. package/dist/state/time-value-resolver.d.ts.map +1 -0
  69. package/dist/{common → state}/time-value-resolver.js +9 -8
  70. package/dist/{common/test-utils.d.ts → testing/mock-event.d.ts} +1 -2
  71. package/dist/testing/mock-event.d.ts.map +1 -0
  72. package/dist/{common/test-utils.js → testing/mock-event.js} +14 -3
  73. package/dist/{mock-server → testing}/mock-server.d.ts +5 -0
  74. package/dist/testing/mock-server.d.ts.map +1 -0
  75. package/dist/testing/mock-server.interfaces.d.ts.map +1 -0
  76. package/dist/{mock-server → testing}/mock-server.js +6 -1
  77. package/dist/types/errors.d.ts +9 -0
  78. package/dist/types/errors.d.ts.map +1 -0
  79. package/dist/types/extraction.d.ts +73 -18
  80. package/dist/types/extraction.d.ts.map +1 -1
  81. package/dist/types/extraction.js +4 -6
  82. package/dist/types/loading.d.ts +1 -2
  83. package/dist/types/loading.d.ts.map +1 -1
  84. package/dist/types/loading.js +0 -1
  85. package/dist/types/workers.d.ts +64 -20
  86. package/dist/types/workers.d.ts.map +1 -1
  87. package/dist/uploader/uploader.d.ts +5 -4
  88. package/dist/uploader/uploader.d.ts.map +1 -1
  89. package/dist/uploader/uploader.interfaces.d.ts +1 -1
  90. package/dist/uploader/uploader.js +10 -10
  91. package/package.json +3 -3
  92. package/dist/airsync-sdk.d.ts +0 -1802
  93. package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts +0 -2
  94. package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts.map +0 -1
  95. package/dist/attachments-streaming/attachments-streaming-pool.test.js +0 -516
  96. package/dist/common/control-protocol.d.ts.map +0 -1
  97. package/dist/common/errors.d.ts +0 -6
  98. package/dist/common/errors.d.ts.map +0 -1
  99. package/dist/common/install-initial-domain-mapping.d.ts.map +0 -1
  100. package/dist/common/install-initial-domain-mapping.test.d.ts +0 -2
  101. package/dist/common/install-initial-domain-mapping.test.d.ts.map +0 -1
  102. package/dist/common/install-initial-domain-mapping.test.js +0 -211
  103. package/dist/common/test-utils.d.ts.map +0 -1
  104. package/dist/common/time-value-resolver.d.ts.map +0 -1
  105. package/dist/common/time-value-resolver.test.d.ts +0 -2
  106. package/dist/common/time-value-resolver.test.d.ts.map +0 -1
  107. package/dist/common/time-value-resolver.test.js +0 -268
  108. package/dist/http/axios-client-internal.d.ts.map +0 -1
  109. package/dist/http/axios-client-internal.test.d.ts +0 -2
  110. package/dist/http/axios-client-internal.test.d.ts.map +0 -1
  111. package/dist/http/axios-client-internal.test.js +0 -175
  112. package/dist/http/axios-client.d.ts +0 -27
  113. package/dist/http/axios-client.d.ts.map +0 -1
  114. package/dist/http/axios-client.js +0 -60
  115. package/dist/http/constants.d.ts +0 -4
  116. package/dist/http/constants.d.ts.map +0 -1
  117. package/dist/http/constants.js +0 -6
  118. package/dist/http/index.d.ts +0 -2
  119. package/dist/http/index.d.ts.map +0 -1
  120. package/dist/http/index.js +0 -17
  121. package/dist/logger/logger.constants.d.ts +0 -6
  122. package/dist/logger/logger.constants.d.ts.map +0 -1
  123. package/dist/logger/logger.constants.js +0 -13
  124. package/dist/logger/logger.context.d.ts +0 -58
  125. package/dist/logger/logger.context.d.ts.map +0 -1
  126. package/dist/logger/logger.context.js +0 -86
  127. package/dist/logger/logger.test.d.ts +0 -2
  128. package/dist/logger/logger.test.d.ts.map +0 -1
  129. package/dist/logger/logger.test.js +0 -537
  130. package/dist/mappers/mappers.interface.d.ts.map +0 -1
  131. package/dist/mappers/mappers.test.d.ts +0 -2
  132. package/dist/mappers/mappers.test.d.ts.map +0 -1
  133. package/dist/mappers/mappers.test.js +0 -105
  134. package/dist/mock-server/mock-server.d.ts.map +0 -1
  135. package/dist/mock-server/mock-server.interfaces.d.ts.map +0 -1
  136. package/dist/multithreading/create-worker.test.d.ts +0 -2
  137. package/dist/multithreading/create-worker.test.d.ts.map +0 -1
  138. package/dist/multithreading/create-worker.test.js +0 -108
  139. package/dist/multithreading/process-task.test.d.ts +0 -2
  140. package/dist/multithreading/process-task.test.d.ts.map +0 -1
  141. package/dist/multithreading/process-task.test.js +0 -146
  142. package/dist/multithreading/spawn/spawn.helpers.test.d.ts +0 -2
  143. package/dist/multithreading/spawn/spawn.helpers.test.d.ts.map +0 -1
  144. package/dist/multithreading/spawn/spawn.helpers.test.js +0 -293
  145. package/dist/multithreading/spawn/spawn.test.d.ts +0 -2
  146. package/dist/multithreading/spawn/spawn.test.d.ts.map +0 -1
  147. package/dist/multithreading/spawn/spawn.test.js +0 -232
  148. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts +0 -2
  149. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts.map +0 -1
  150. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +0 -175
  151. package/dist/multithreading/worker-adapter/worker-adapter.d.ts +0 -97
  152. package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +0 -1
  153. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts +0 -2
  154. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts.map +0 -1
  155. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +0 -390
  156. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts +0 -2
  157. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts.map +0 -1
  158. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.js +0 -799
  159. package/dist/multithreading/worker-adapter/worker-adapter.helpers.d.ts.map +0 -1
  160. package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts +0 -2
  161. package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts.map +0 -1
  162. package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.js +0 -514
  163. package/dist/multithreading/worker-adapter/worker-adapter.js +0 -846
  164. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts +0 -2
  165. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts.map +0 -1
  166. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.js +0 -596
  167. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts +0 -2
  168. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts.map +0 -1
  169. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.js +0 -71
  170. package/dist/repo/repo.test.d.ts +0 -2
  171. package/dist/repo/repo.test.d.ts.map +0 -1
  172. package/dist/repo/repo.test.js +0 -184
  173. package/dist/state/state.extract-window.test.d.ts +0 -2
  174. package/dist/state/state.extract-window.test.d.ts.map +0 -1
  175. package/dist/state/state.extract-window.test.js +0 -163
  176. package/dist/state/state.pending-boundaries.test.d.ts +0 -2
  177. package/dist/state/state.pending-boundaries.test.d.ts.map +0 -1
  178. package/dist/state/state.pending-boundaries.test.js +0 -189
  179. package/dist/state/state.post-state.test.d.ts +0 -2
  180. package/dist/state/state.post-state.test.d.ts.map +0 -1
  181. package/dist/state/state.post-state.test.js +0 -77
  182. package/dist/state/state.test.d.ts +0 -2
  183. package/dist/state/state.test.d.ts.map +0 -1
  184. package/dist/state/state.test.js +0 -268
  185. package/dist/state/state.time-value-resolution.test.d.ts +0 -2
  186. package/dist/state/state.time-value-resolution.test.d.ts.map +0 -1
  187. package/dist/state/state.time-value-resolution.test.js +0 -175
  188. package/dist/tsdoc-metadata.json +0 -11
  189. package/dist/types/extraction.test.d.ts +0 -2
  190. package/dist/types/extraction.test.d.ts.map +0 -1
  191. package/dist/types/extraction.test.js +0 -96
  192. package/dist/types/index.d.ts +0 -11
  193. package/dist/types/index.d.ts.map +0 -1
  194. package/dist/types/index.js +0 -21
  195. package/dist/uploader/uploader.helpers.test.d.ts +0 -2
  196. package/dist/uploader/uploader.helpers.test.d.ts.map +0 -1
  197. package/dist/uploader/uploader.helpers.test.js +0 -256
  198. package/dist/uploader/uploader.test.d.ts +0 -2
  199. package/dist/uploader/uploader.test.d.ts.map +0 -1
  200. package/dist/uploader/uploader.test.js +0 -601
  201. /package/dist/http/{axios-client-internal.js → client.js} +0 -0
  202. /package/dist/multithreading/{worker-adapter/worker-adapter.helpers.js → adapters/loading-adapter.helpers.js} +0 -0
  203. /package/dist/{common → state}/install-initial-domain-mapping.d.ts +0 -0
  204. /package/dist/{mock-server → testing}/mock-server.interfaces.d.ts +0 -0
  205. /package/dist/{mock-server → testing}/mock-server.interfaces.js +0 -0
  206. /package/dist/{common → types}/errors.js +0 -0
@@ -1,5 +1,4 @@
1
- import { AxiosResponse } from 'axios';
2
- import { MappersCreateParams, MappersCreateResponse, MappersFactoryInterface, MappersGetByExternalIdParams, MappersGetByExternalIdResponse, MappersGetByTargetIdParams, MappersGetByTargetIdResponse, MappersUpdateParams, MappersUpdateResponse } from './mappers.interface';
1
+ import { MappersCreateParams, MappersCreateResponse, MappersFactoryInterface, MappersGetByExternalIdParams, MappersGetByExternalIdResponse, MappersGetByTargetIdParams, MappersGetByTargetIdResponse, MappersUpdateParams, MappersUpdateResponse } from './mappers.interfaces';
3
2
  /**
4
3
  * Manages sync mapper records that link external system items to DevRev items.
5
4
  *
@@ -15,18 +14,18 @@ export declare class Mappers {
15
14
  * Used to find the mapping when you know the DevRev ID and want to find the external system ID.
16
15
  *
17
16
  * @param params - Query parameters of type MappersGetByTargetIdParams
18
- * @returns Promise with response data containing the sync mapper record
17
+ * @returns Promise resolving to the sync mapper record
19
18
  */
20
- getByTargetId(params: MappersGetByTargetIdParams): Promise<AxiosResponse<MappersGetByTargetIdResponse>>;
19
+ getByTargetId(params: MappersGetByTargetIdParams): Promise<MappersGetByTargetIdResponse>;
21
20
  /**
22
21
  * Retrieves a sync mapper record by external system ID.
23
22
  *
24
23
  * Used to find the mapping when you know the external system ID and want to find the DevRev ID.
25
24
  *
26
25
  * @param params - Query parameters of type MappersGetByExternalIdParams
27
- * @returns Promise with response data containing the sync mapper record
26
+ * @returns Promise resolving to the sync mapper record
28
27
  */
29
- getByExternalId(params: MappersGetByExternalIdParams): Promise<AxiosResponse<MappersGetByExternalIdResponse>>;
28
+ getByExternalId(params: MappersGetByExternalIdParams): Promise<MappersGetByExternalIdResponse>;
30
29
  /**
31
30
  * Creates a new sync mapper record to establish a relationship between external system
32
31
  * entities and DevRev entities.
@@ -35,9 +34,9 @@ export declare class Mappers {
35
34
  * the mapping for future synchronization operations.
36
35
  *
37
36
  * @param params - Creation parameters of type MappersCreateParams
38
- * @returns Promise with response data containing the created sync mapper record
37
+ * @returns Promise resolving to the created sync mapper record
39
38
  */
40
- create(params: MappersCreateParams): Promise<AxiosResponse<MappersCreateResponse>>;
39
+ create(params: MappersCreateParams): Promise<MappersCreateResponse>;
41
40
  /**
42
41
  * Updates an existing sync mapper record.
43
42
  *
@@ -45,8 +44,8 @@ export declare class Mappers {
45
44
  * additional DevRev entities need to be associated.
46
45
  *
47
46
  * @param params - Update parameters of type MappersUpdateParams
48
- * @returns Promise with response data containing the updated sync mapper record
47
+ * @returns Promise resolving to the updated sync mapper record
49
48
  */
50
- update(params: MappersUpdateParams): Promise<AxiosResponse<MappersUpdateResponse>>;
49
+ update(params: MappersUpdateParams): Promise<MappersUpdateResponse>;
51
50
  }
52
51
  //# sourceMappingURL=mappers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/mappers/mappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;gBAEnB,EAAE,KAAK,EAAE,EAAE,uBAAuB;IAK9C;;;;;;;OAOG;IACG,aAAa,CACjB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;IAavD;;;;;;;OAOG;IACG,eAAe,CACnB,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;IAazD;;;;;;;;;OASG;IACG,MAAM,CACV,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAYhD;;;;;;;;OAQG;IACG,MAAM,CACV,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;CAWjD"}
1
+ {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/mappers/mappers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAS;gBAEnB,EAAE,KAAK,EAAE,EAAE,uBAAuB;IAK9C;;;;;;;OAOG;IACG,aAAa,CACjB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,4BAA4B,CAAC;IAcxC;;;;;;;OAOG;IACG,eAAe,CACnB,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,8BAA8B,CAAC;IAc1C;;;;;;;;;OASG;IACG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAazE;;;;;;;;OAQG;IACG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAY1E"}
@@ -1,4 +1,4 @@
1
- import { AirSyncEvent } from '../types';
1
+ import { AirSyncEvent } from '../types/extraction';
2
2
  import { DonV2 } from '../types/loading';
3
3
  import { WorkerAdapterOptions } from '../types/workers';
4
4
  /**
@@ -262,9 +262,9 @@ export interface MappersGetByExternalIdParams {
262
262
  export declare enum SyncMapperRecordTargetType {
263
263
  ACCESS_CONTROL_ENTRY = "access_control_entry",
264
264
  ACCOUNT = "account",
265
- AIRSYNC_AUTHORIZATION_POLICY = "airdrop_authorization_policy",
266
- AIRSYNC_FIELD_AUTHORIZATION_POLICY = "airdrop_field_authorization_policy",
267
- AIRSYNC_PLATFORM_GROUP = "airdrop_platform_group",
265
+ AIRDROP_AUTHORIZATION_POLICY = "airdrop_authorization_policy",
266
+ AIRDROP_FIELD_AUTHORIZATION_POLICY = "airdrop_field_authorization_policy",
267
+ AIRDROP_PLATFORM_GROUP = "airdrop_platform_group",
268
268
  ARTICLE = "article",
269
269
  ARTIFACT = "artifact",
270
270
  CHAT = "chat",
@@ -291,4 +291,4 @@ export declare enum SyncMapperRecordTargetType {
291
291
  export interface MappersGetByExternalIdResponse {
292
292
  sync_mapper_record: SyncMapperRecord;
293
293
  }
294
- //# sourceMappingURL=mappers.interface.d.ts.map
294
+ //# sourceMappingURL=mappers.interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.interfaces.d.ts","sourceRoot":"","sources":["../../src/mappers/mappers.interfaces.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,9 @@ var SyncMapperRecordTargetType;
23
23
  (function (SyncMapperRecordTargetType) {
24
24
  SyncMapperRecordTargetType["ACCESS_CONTROL_ENTRY"] = "access_control_entry";
25
25
  SyncMapperRecordTargetType["ACCOUNT"] = "account";
26
- SyncMapperRecordTargetType["AIRSYNC_AUTHORIZATION_POLICY"] = "airdrop_authorization_policy";
27
- SyncMapperRecordTargetType["AIRSYNC_FIELD_AUTHORIZATION_POLICY"] = "airdrop_field_authorization_policy";
28
- SyncMapperRecordTargetType["AIRSYNC_PLATFORM_GROUP"] = "airdrop_platform_group";
26
+ SyncMapperRecordTargetType["AIRDROP_AUTHORIZATION_POLICY"] = "airdrop_authorization_policy";
27
+ SyncMapperRecordTargetType["AIRDROP_FIELD_AUTHORIZATION_POLICY"] = "airdrop_field_authorization_policy";
28
+ SyncMapperRecordTargetType["AIRDROP_PLATFORM_GROUP"] = "airdrop_platform_group";
29
29
  SyncMapperRecordTargetType["ARTICLE"] = "article";
30
30
  SyncMapperRecordTargetType["ARTIFACT"] = "artifact";
31
31
  SyncMapperRecordTargetType["CHAT"] = "chat";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Mappers = void 0;
4
- const axios_client_internal_1 = require("../http/axios-client-internal");
4
+ const client_1 = require("../http/client");
5
5
  /**
6
6
  * Manages sync mapper records that link external system items to DevRev items.
7
7
  *
@@ -18,16 +18,17 @@ class Mappers {
18
18
  * Used to find the mapping when you know the DevRev ID and want to find the external system ID.
19
19
  *
20
20
  * @param params - Query parameters of type MappersGetByTargetIdParams
21
- * @returns Promise with response data containing the sync mapper record
21
+ * @returns Promise resolving to the sync mapper record
22
22
  */
23
23
  async getByTargetId(params) {
24
24
  const { sync_unit, target } = params;
25
- return axios_client_internal_1.axiosClient.get(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.get-by-target`, {
25
+ const response = await client_1.axiosClient.get(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.get-by-target`, {
26
26
  headers: {
27
27
  Authorization: this.devrevApiToken,
28
28
  },
29
29
  params: { sync_unit, target },
30
30
  });
31
+ return response.data;
31
32
  }
32
33
  /**
33
34
  * Retrieves a sync mapper record by external system ID.
@@ -35,16 +36,17 @@ class Mappers {
35
36
  * Used to find the mapping when you know the external system ID and want to find the DevRev ID.
36
37
  *
37
38
  * @param params - Query parameters of type MappersGetByExternalIdParams
38
- * @returns Promise with response data containing the sync mapper record
39
+ * @returns Promise resolving to the sync mapper record
39
40
  */
40
41
  async getByExternalId(params) {
41
42
  const { sync_unit, external_id, target_type } = params;
42
- return axios_client_internal_1.axiosClient.get(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.get-by-external-id`, {
43
+ const response = await client_1.axiosClient.get(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.get-by-external-id`, {
43
44
  headers: {
44
45
  Authorization: this.devrevApiToken,
45
46
  },
46
47
  params: { sync_unit, external_id, target_type },
47
48
  });
49
+ return response.data;
48
50
  }
49
51
  /**
50
52
  * Creates a new sync mapper record to establish a relationship between external system
@@ -54,14 +56,15 @@ class Mappers {
54
56
  * the mapping for future synchronization operations.
55
57
  *
56
58
  * @param params - Creation parameters of type MappersCreateParams
57
- * @returns Promise with response data containing the created sync mapper record
59
+ * @returns Promise resolving to the created sync mapper record
58
60
  */
59
61
  async create(params) {
60
- return axios_client_internal_1.axiosClient.post(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.create`, params, {
62
+ const response = await client_1.axiosClient.post(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.create`, params, {
61
63
  headers: {
62
64
  Authorization: this.devrevApiToken,
63
65
  },
64
66
  });
67
+ return response.data;
65
68
  }
66
69
  /**
67
70
  * Updates an existing sync mapper record.
@@ -70,14 +73,15 @@ class Mappers {
70
73
  * additional DevRev entities need to be associated.
71
74
  *
72
75
  * @param params - Update parameters of type MappersUpdateParams
73
- * @returns Promise with response data containing the updated sync mapper record
76
+ * @returns Promise resolving to the updated sync mapper record
74
77
  */
75
78
  async update(params) {
76
- return axios_client_internal_1.axiosClient.post(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.update`, params, {
79
+ const response = await client_1.axiosClient.post(`${this.devrevApiEndpoint}/internal/airdrop.sync-mapper-record.update`, params, {
77
80
  headers: {
78
81
  Authorization: this.devrevApiToken,
79
82
  },
80
83
  });
84
+ return response.data;
81
85
  }
82
86
  }
83
87
  exports.Mappers = Mappers;
@@ -0,0 +1,71 @@
1
+ import { BaseState } from '../../state/state';
2
+ import { SdkState } from '../../state/state.interfaces';
3
+ import { AirSyncEvent, EventData, ExtractorEventType } from '../../types/extraction';
4
+ import { LoaderEventType } from '../../types/loading';
5
+ import { TaskResult, WorkerAdapterOptions } from '../../types/workers';
6
+ import { Uploader } from '../../uploader/uploader';
7
+ /**
8
+ * BaseAdapter holds the state and behavior shared by both sync modes and owns
9
+ * the `emit` control-protocol flow as a template method. Mode-specific adapters
10
+ * (`ExtractionAdapter`, `LoadingAdapter`) implement the abstract hooks to inject
11
+ * their own pre-emit work and event payload shaping.
12
+ *
13
+ * @typeParam ConnectorState - the connector-owned state shape
14
+ */
15
+ export declare abstract class BaseAdapter<ConnectorState> {
16
+ readonly event: AirSyncEvent;
17
+ readonly options?: WorkerAdapterOptions;
18
+ isTimeout: boolean;
19
+ hasWorkerEmitted: boolean;
20
+ protected adapterState: BaseState<ConnectorState>;
21
+ protected uploader: Uploader;
22
+ constructor({ event, adapterState, options, }: {
23
+ event: AirSyncEvent;
24
+ adapterState: BaseState<ConnectorState>;
25
+ options?: WorkerAdapterOptions;
26
+ });
27
+ /** Connector-owned state exposed to snap-in code. */
28
+ get state(): ConnectorState;
29
+ set state(value: ConnectorState);
30
+ /** SDK-internal bookkeeping state. Used by SDK internals; not for connector use. */
31
+ get sdkState(): SdkState;
32
+ get extractionScope(): import("../../types/workers").ExtractionScope;
33
+ postState(): Promise<void>;
34
+ /**
35
+ * Pre-emit hook run before any state is persisted or the event is sent.
36
+ * Extraction uploads pending repos and updates extraction boundaries here;
37
+ * loading has nothing to do. Throwing aborts the emit (the caller signals
38
+ * worker exit).
39
+ */
40
+ protected abstract beforeEmit(newEventType: ExtractorEventType | LoaderEventType): Promise<void>;
41
+ /**
42
+ * Builds the mode-specific extras merged into the emitted event payload
43
+ * (extraction: artifacts; loading: reports + processed files).
44
+ */
45
+ protected abstract buildEmitPayload(newEventType: ExtractorEventType | LoaderEventType): EventData;
46
+ /**
47
+ * Post-emit hook run after the event has been sent successfully. Extraction
48
+ * clears its accumulated artifacts here; loading has nothing to do.
49
+ */
50
+ protected abstract afterEmit(newEventType: ExtractorEventType | LoaderEventType): void;
51
+ /**
52
+ * Maps a {@link TaskResult} returned by a worker's task/onTimeout callback to
53
+ * the phase-appropriate platform event and emits it exactly once.
54
+ *
55
+ * This is the SDK-internal bridge between the return-based connector contract
56
+ * and the control protocol; it is invoked by the worker driver, not by
57
+ * connectors. Connectors signal outcomes by returning a `TaskResult`, never by
58
+ * calling `emit` directly.
59
+ *
60
+ * @param result - The status the worker reported for the current phase.
61
+ */
62
+ emitFromResult(result: TaskResult): Promise<void>;
63
+ /**
64
+ * Emits an event to the platform.
65
+ *
66
+ * @param newEventType - The event type to be emitted
67
+ * @param data - The data to be sent with the event
68
+ */
69
+ protected emit(newEventType: ExtractorEventType | LoaderEventType, data?: EventData): Promise<void>;
70
+ }
71
+ //# sourceMappingURL=base-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../../src/multithreading/adapters/base-adapter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,SAAS,EACT,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,UAAU,EACV,oBAAoB,EAGrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD;;;;;;;GAOG;AACH,8BAAsB,WAAW,CAAC,cAAc;IAC9C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAClD,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAEjB,EACV,KAAK,EACL,YAAY,EACZ,OAAO,GACR,EAAE;QACD,KAAK,EAAE,YAAY,CAAC;QACpB,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QACxC,OAAO,CAAC,EAAE,oBAAoB,CAAC;KAChC;IAYD,qDAAqD;IACrD,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,cAAc,EAE9B;IAED,oFAAoF;IACpF,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,eAAe,kDAElB;IAEK,SAAS;IAMf;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,OAAO,CAAC,IAAI,CAAC;IAEhB;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CACjC,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,SAAS;IAEZ;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,IAAI;IAEP;;;;;;;;;;OAUG;IACG,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvD;;;;;OAKG;cACa,IAAI,CAClB,YAAY,EAAE,kBAAkB,GAAG,eAAe,EAClD,IAAI,CAAC,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC;CAkEjB"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseAdapter = void 0;
4
+ const node_worker_threads_1 = require("node:worker_threads");
5
+ const constants_1 = require("../../common/constants");
6
+ const emit_1 = require("../emit");
7
+ const logger_1 = require("../../logger/logger");
8
+ const workers_1 = require("../../types/workers");
9
+ const uploader_1 = require("../../uploader/uploader");
10
+ const spawn_helpers_1 = require("../spawn/spawn.helpers");
11
+ /**
12
+ * BaseAdapter holds the state and behavior shared by both sync modes and owns
13
+ * the `emit` control-protocol flow as a template method. Mode-specific adapters
14
+ * (`ExtractionAdapter`, `LoadingAdapter`) implement the abstract hooks to inject
15
+ * their own pre-emit work and event payload shaping.
16
+ *
17
+ * @typeParam ConnectorState - the connector-owned state shape
18
+ */
19
+ class BaseAdapter {
20
+ constructor({ event, adapterState, options, }) {
21
+ this.event = event;
22
+ this.options = options;
23
+ this.adapterState = adapterState;
24
+ this.hasWorkerEmitted = false;
25
+ this.isTimeout = false;
26
+ this.uploader = new uploader_1.Uploader({
27
+ event,
28
+ options,
29
+ });
30
+ }
31
+ /** Connector-owned state exposed to snap-in code. */
32
+ get state() {
33
+ return this.adapterState.state;
34
+ }
35
+ set state(value) {
36
+ this.adapterState.state = value;
37
+ }
38
+ /** SDK-internal bookkeeping state. Used by SDK internals; not for connector use. */
39
+ get sdkState() {
40
+ return this.adapterState.sdkState;
41
+ }
42
+ get extractionScope() {
43
+ return this.adapterState.extractionScope;
44
+ }
45
+ async postState() {
46
+ return (0, logger_1.runWithSdkLogContext)(async () => {
47
+ await this.adapterState.postState();
48
+ });
49
+ }
50
+ /**
51
+ * Maps a {@link TaskResult} returned by a worker's task/onTimeout callback to
52
+ * the phase-appropriate platform event and emits it exactly once.
53
+ *
54
+ * This is the SDK-internal bridge between the return-based connector contract
55
+ * and the control protocol; it is invoked by the worker driver, not by
56
+ * connectors. Connectors signal outcomes by returning a `TaskResult`, never by
57
+ * calling `emit` directly.
58
+ *
59
+ * @param result - The status the worker reported for the current phase.
60
+ */
61
+ async emitFromResult(result) {
62
+ const { eventType, illegal } = (0, spawn_helpers_1.getEventTypeForResult)(this.event.payload.event_type, result.status);
63
+ const data = {};
64
+ if (result.status === 'delay') {
65
+ data.delay = result.delaySeconds;
66
+ }
67
+ else if (result.status === 'error') {
68
+ data.error = result.error;
69
+ }
70
+ else if (illegal) {
71
+ data.error = {
72
+ message: `Worker returned status '${result.status}' for a non-resumable phase (${this.event.payload.event_type}), which is not allowed. Emitting an error event instead.`,
73
+ };
74
+ }
75
+ await this.emit(eventType, data);
76
+ }
77
+ /**
78
+ * Emits an event to the platform.
79
+ *
80
+ * @param newEventType - The event type to be emitted
81
+ * @param data - The data to be sent with the event
82
+ */
83
+ async emit(newEventType, data) {
84
+ return (0, logger_1.runWithSdkLogContext)(async () => {
85
+ var _a;
86
+ if (this.hasWorkerEmitted) {
87
+ console.warn(`Trying to emit event with event type: ${newEventType}. Ignoring emit request because it has already been emitted.`);
88
+ return;
89
+ }
90
+ try {
91
+ await this.beforeEmit(newEventType);
92
+ }
93
+ catch (error) {
94
+ console.error('Error while preparing to emit event', error);
95
+ node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
96
+ this.hasWorkerEmitted = true;
97
+ return;
98
+ }
99
+ // We want to save the state every time we emit an event, except for the start and delete events
100
+ if (!constants_1.STATELESS_EVENT_TYPES.includes(this.event.payload.event_type)) {
101
+ console.log(`Saving state before emitting event with event type: ${newEventType}.`);
102
+ try {
103
+ await this.adapterState.postState();
104
+ }
105
+ catch (error) {
106
+ console.error('Error while posting state', error);
107
+ node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
108
+ this.hasWorkerEmitted = true;
109
+ return;
110
+ }
111
+ }
112
+ try {
113
+ // Always prune error messages to make them shorter before emit
114
+ if ((_a = data === null || data === void 0 ? void 0 : data.error) === null || _a === void 0 ? void 0 : _a.message) {
115
+ data.error.message = (0, logger_1.truncateMessage)(data.error.message);
116
+ }
117
+ await (0, emit_1.emit)({
118
+ eventType: newEventType,
119
+ event: this.event,
120
+ data: Object.assign(Object.assign({}, data), this.buildEmitPayload(newEventType)),
121
+ });
122
+ const message = {
123
+ subject: workers_1.WorkerMessageSubject.WorkerMessageEmitted,
124
+ payload: { eventType: newEventType },
125
+ };
126
+ this.afterEmit(newEventType);
127
+ node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(message);
128
+ this.hasWorkerEmitted = true;
129
+ }
130
+ catch (error) {
131
+ console.error(`Error while emitting event with event type: ${newEventType}.`, (0, logger_1.serializeError)(error));
132
+ node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage(workers_1.WorkerMessageSubject.WorkerMessageExit);
133
+ this.hasWorkerEmitted = true;
134
+ }
135
+ });
136
+ }
137
+ }
138
+ exports.BaseAdapter = BaseAdapter;
@@ -0,0 +1,57 @@
1
+ import { Repo } from '../../repo/repo';
2
+ import { NormalizedAttachment, RepoInterface } from '../../repo/repo.interfaces';
3
+ import { AirSyncEvent, EventData, ExternalSystemAttachmentProcessors, ExternalSystemAttachmentStreamingFunction, ExtractorEventType, ProcessAttachmentReturnType } from '../../types/extraction';
4
+ import { LoaderEventType } from '../../types/loading';
5
+ import { BaseState } from '../../state/state';
6
+ import { TaskResult, WorkerAdapterOptions } from '../../types/workers';
7
+ import { Artifact } from '../../uploader/uploader.interfaces';
8
+ import { BaseAdapter } from './base-adapter';
9
+ /**
10
+ * ExtractionAdapter is the adapter passed to extraction tasks. It exposes the
11
+ * extraction surface (repos, artifacts, attachment streaming) and uploads
12
+ * pending repos and updates the extraction boundaries before emitting.
13
+ *
14
+ * @public
15
+ */
16
+ export declare class ExtractionAdapter<ConnectorState> extends BaseAdapter<ConnectorState> {
17
+ private _artifacts;
18
+ private repos;
19
+ private currentEventDataLength;
20
+ constructor(params: {
21
+ event: AirSyncEvent;
22
+ adapterState: BaseState<ConnectorState>;
23
+ options?: WorkerAdapterOptions;
24
+ });
25
+ /**
26
+ * Returns whether the given item type should be extracted.
27
+ * Defaults to true if the scope is empty or the item type is not listed.
28
+ */
29
+ shouldExtract(itemType: string): boolean;
30
+ initializeRepos(repos: RepoInterface[]): void;
31
+ getRepo(itemType: string): Repo | undefined;
32
+ get artifacts(): Artifact[];
33
+ set artifacts(artifacts: Artifact[]);
34
+ protected beforeEmit(newEventType: ExtractorEventType | LoaderEventType): Promise<void>;
35
+ protected buildEmitPayload(newEventType: ExtractorEventType | LoaderEventType): EventData;
36
+ protected afterEmit(): void;
37
+ uploadAllRepos(): Promise<void>;
38
+ processAttachment(attachment: NormalizedAttachment, stream: ExternalSystemAttachmentStreamingFunction): Promise<ProcessAttachmentReturnType>;
39
+ /**
40
+ * Destroys a stream to prevent memory leaks.
41
+ * @param httpStream - The axios response stream to destroy
42
+ */
43
+ private destroyHttpStream;
44
+ /**
45
+ * Streams the attachments to the DevRev platform.
46
+ * The attachments are streamed to the platform and the artifact information is returned.
47
+ * @param params - The parameters to stream the attachments
48
+ * @returns The response object containing the ssorAttachment artifact information
49
+ * or error information if there was an error
50
+ */
51
+ streamAttachments<NewBatch>({ stream, processors, batchSize, }: {
52
+ stream: ExternalSystemAttachmentStreamingFunction;
53
+ processors?: ExternalSystemAttachmentProcessors<ConnectorState, NormalizedAttachment[], NewBatch>;
54
+ batchSize?: number;
55
+ }): Promise<TaskResult>;
56
+ }
57
+ //# sourceMappingURL=extraction-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction-adapter.d.ts","sourceRoot":"","sources":["../../../src/multithreading/adapters/extraction-adapter.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,kCAAkC,EAClC,yCAAyC,EACzC,kBAAkB,EAElB,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAkB,MAAM,oCAAoC,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,qBAAa,iBAAiB,CAC5B,cAAc,CACd,SAAQ,WAAW,CAAC,cAAc,CAAC;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,sBAAsB,CAAa;gBAE/B,MAAM,EAAE;QAClB,KAAK,EAAE,YAAY,CAAC;QACpB,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QACxC,OAAO,CAAC,EAAE,oBAAoB,CAAC;KAChC;IAKD;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAOxC,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE;IAuCtC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAa3C,IAAI,SAAS,IAAI,QAAQ,EAAE,CAE1B;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,EAIlC;cAEe,UAAU,CACxB,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,OAAO,CAAC,IAAI,CAAC;IA2ChB,SAAS,CAAC,gBAAgB,CACxB,YAAY,EAAE,kBAAkB,GAAG,eAAe,GACjD,SAAS;IAOZ,SAAS,CAAC,SAAS,IAAI,IAAI;IAIrB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/B,iBAAiB,CACrB,UAAU,EAAE,oBAAoB,EAChC,MAAM,EAAE,yCAAyC,GAChD,OAAO,CAAC,2BAA2B,CAAC;IA+GvC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;;OAMG;IACG,iBAAiB,CAAC,QAAQ,EAAE,EAChC,MAAM,EACN,UAAU,EACV,SAAa,GACd,EAAE;QACD,MAAM,EAAE,yCAAyC,CAAC;QAClD,UAAU,CAAC,EAAE,kCAAkC,CAC7C,cAAc,EACd,oBAAoB,EAAE,EACtB,QAAQ,CACT,CAAC;QACF,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,UAAU,CAAC;CAyIxB"}