@adtrackify/at-service-common 3.17.8 → 3.18.1

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 (541) hide show
  1. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -0
  2. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js +909 -0
  3. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js.map +1 -0
  4. package/dist/cjs/__tests__/clients/sqs-client.spec.d.ts +1 -1
  5. package/dist/cjs/__tests__/clients/sqs-client.spec.js +194 -121
  6. package/dist/cjs/__tests__/clients/sqs-client.spec.js.map +1 -1
  7. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.d.ts +1 -0
  8. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js +788 -0
  9. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js.map +1 -0
  10. package/dist/cjs/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  11. package/dist/cjs/__tests__/db/shared-read-db-services.spec.js +89 -89
  12. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  13. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  14. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -1
  15. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js +74 -74
  16. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  17. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  18. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  19. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
  20. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -0
  21. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js +582 -0
  22. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js.map +1 -0
  23. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  24. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  25. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  26. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  27. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  28. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  29. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  30. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  31. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  32. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  33. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  34. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  35. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  36. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  37. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -1
  38. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.js +197 -197
  39. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -1
  40. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.js +69 -69
  41. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  42. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  43. package/dist/cjs/clients/generic/dynamodb-client.d.ts +18 -18
  44. package/dist/cjs/clients/generic/dynamodb-client.js +172 -172
  45. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  46. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  47. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  48. package/dist/cjs/clients/generic/http-client.js +61 -61
  49. package/dist/cjs/clients/generic/index.d.ts +13 -10
  50. package/dist/cjs/clients/generic/index.js +29 -26
  51. package/dist/cjs/clients/generic/index.js.map +1 -1
  52. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  53. package/dist/cjs/clients/generic/lambda-invoke-client.js +39 -39
  54. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  55. package/dist/cjs/clients/generic/location-client.js +31 -31
  56. package/dist/cjs/clients/generic/redis-client.d.ts +33 -33
  57. package/dist/cjs/clients/generic/redis-client.js +191 -191
  58. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  59. package/dist/cjs/clients/generic/s3-client.js +216 -216
  60. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  61. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  62. package/dist/cjs/clients/generic/sqs-bundled-client.d.ts +15 -0
  63. package/dist/cjs/clients/generic/sqs-bundled-client.js +278 -0
  64. package/dist/cjs/clients/generic/sqs-bundled-client.js.map +1 -0
  65. package/dist/cjs/clients/generic/sqs-bundled-client.types.d.ts +52 -0
  66. package/dist/cjs/clients/generic/sqs-bundled-client.types.js +17 -0
  67. package/dist/cjs/clients/generic/sqs-bundled-client.types.js.map +1 -0
  68. package/dist/cjs/clients/generic/sqs-client.d.ts +48 -33
  69. package/dist/cjs/clients/generic/sqs-client.js +273 -111
  70. package/dist/cjs/clients/generic/sqs-client.js.map +1 -1
  71. package/dist/cjs/clients/generic/sqs-unbundle.d.ts +32 -0
  72. package/dist/cjs/clients/generic/sqs-unbundle.js +145 -0
  73. package/dist/cjs/clients/generic/sqs-unbundle.js.map +1 -0
  74. package/dist/cjs/clients/index.d.ts +3 -3
  75. package/dist/cjs/clients/index.js +19 -19
  76. package/dist/cjs/clients/internal-api/accounts-client.d.ts +91 -91
  77. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  78. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +26 -26
  79. package/dist/cjs/clients/internal-api/cache-lambda-client.js +89 -89
  80. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  81. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  82. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  83. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  84. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  85. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  86. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  87. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  88. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  89. package/dist/cjs/clients/internal-api/index.js +25 -25
  90. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  91. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  92. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  93. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  94. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  95. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  96. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  97. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  98. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  99. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  100. package/dist/cjs/clients/third-party/index.d.ts +4 -4
  101. package/dist/cjs/clients/third-party/index.js +20 -20
  102. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  103. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  104. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  105. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.js +30 -30
  106. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  107. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  108. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  109. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +161 -161
  110. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  111. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  112. package/dist/cjs/constants/index.d.ts +1 -0
  113. package/dist/cjs/constants/index.js +18 -0
  114. package/dist/cjs/constants/index.js.map +1 -0
  115. package/dist/cjs/constants/sqs.d.ts +11 -0
  116. package/dist/cjs/constants/sqs.js +15 -0
  117. package/dist/cjs/constants/sqs.js.map +1 -0
  118. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  119. package/dist/cjs/helpers/account-users-helper.js +22 -22
  120. package/dist/cjs/helpers/api-key-auth-helper.d.ts +9 -9
  121. package/dist/cjs/helpers/api-key-auth-helper.js +40 -40
  122. package/dist/cjs/helpers/api-key-authorizer-helper.d.ts +36 -36
  123. package/dist/cjs/helpers/api-key-authorizer-helper.js +85 -85
  124. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  125. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  126. package/dist/cjs/helpers/index.d.ts +9 -9
  127. package/dist/cjs/helpers/index.js +25 -25
  128. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  129. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  130. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  131. package/dist/cjs/helpers/logging-helper.js +84 -84
  132. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  133. package/dist/cjs/helpers/response-helper.js +43 -43
  134. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  135. package/dist/cjs/helpers/shopify-helper.js +26 -26
  136. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  137. package/dist/cjs/helpers/sqs-utils.js +14 -14
  138. package/dist/cjs/index.d.ts +7 -5
  139. package/dist/cjs/index.js +23 -21
  140. package/dist/cjs/index.js.map +1 -1
  141. package/dist/cjs/libs/api-router/index.d.ts +2 -2
  142. package/dist/cjs/libs/api-router/index.js +18 -18
  143. package/dist/cjs/libs/api-router/public-api-router.d.ts +3 -3
  144. package/dist/cjs/libs/api-router/public-api-router.js +36 -36
  145. package/dist/cjs/libs/api-router/route-matcher.d.ts +21 -21
  146. package/dist/cjs/libs/api-router/route-matcher.js +36 -36
  147. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  148. package/dist/cjs/libs/click-id-parser.js +49 -49
  149. package/dist/cjs/libs/compression.d.ts +2 -2
  150. package/dist/cjs/libs/compression.js +33 -33
  151. package/dist/cjs/libs/cookie.d.ts +17 -17
  152. package/dist/cjs/libs/cookie.js +76 -76
  153. package/dist/cjs/libs/crypto.d.ts +4 -4
  154. package/dist/cjs/libs/crypto.js +25 -25
  155. package/dist/cjs/libs/csv.d.ts +2 -2
  156. package/dist/cjs/libs/csv.js +35 -35
  157. package/dist/cjs/libs/currency.d.ts +1 -1
  158. package/dist/cjs/libs/currency.js +29 -29
  159. package/dist/cjs/libs/dates.d.ts +12 -12
  160. package/dist/cjs/libs/dates.js +96 -96
  161. package/dist/cjs/libs/domain.d.ts +2 -2
  162. package/dist/cjs/libs/domain.js +38 -38
  163. package/dist/cjs/libs/emails.d.ts +6 -6
  164. package/dist/cjs/libs/emails.js +122 -122
  165. package/dist/cjs/libs/http-error.d.ts +21 -21
  166. package/dist/cjs/libs/http-error.js +63 -63
  167. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  168. package/dist/cjs/libs/http-status-codes.js +62 -62
  169. package/dist/cjs/libs/index.d.ts +18 -18
  170. package/dist/cjs/libs/index.js +34 -34
  171. package/dist/cjs/libs/numbers.d.ts +1 -1
  172. package/dist/cjs/libs/numbers.js +15 -15
  173. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  174. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  175. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  176. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  177. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  178. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  179. package/dist/cjs/libs/strings.d.ts +3 -3
  180. package/dist/cjs/libs/strings.js +46 -46
  181. package/dist/cjs/libs/traits.d.ts +6 -6
  182. package/dist/cjs/libs/traits.js +65 -65
  183. package/dist/cjs/libs/url.d.ts +1 -1
  184. package/dist/cjs/libs/url.js +13 -13
  185. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  186. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  187. package/dist/cjs/services/cache/index.d.ts +1 -1
  188. package/dist/cjs/services/cache/index.js +17 -17
  189. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  190. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  191. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  192. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  193. package/dist/cjs/services/db/accounts-db-service.d.ts +9 -9
  194. package/dist/cjs/services/db/accounts-db-service.js +33 -33
  195. package/dist/cjs/services/db/api-keys-db-service.d.ts +10 -10
  196. package/dist/cjs/services/db/api-keys-db-service.js +36 -36
  197. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  198. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  199. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  200. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  201. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  202. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  203. package/dist/cjs/services/db/index.d.ts +13 -13
  204. package/dist/cjs/services/db/index.js +29 -29
  205. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  206. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  207. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  208. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  209. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  210. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  211. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  212. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  213. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +8 -8
  214. package/dist/cjs/services/db/shopify-app-installs-db-service.js +51 -51
  215. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  216. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  217. package/dist/cjs/services/db/subscriptions-db-service.d.ts +10 -10
  218. package/dist/cjs/services/db/subscriptions-db-service.js +34 -34
  219. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  220. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  221. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  222. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  223. package/dist/cjs/services/events/index.d.ts +3 -3
  224. package/dist/cjs/services/events/index.js +19 -19
  225. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  226. package/dist/cjs/services/events/log-event-service.js +56 -56
  227. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  228. package/dist/cjs/services/events/metric-event-service.js +49 -49
  229. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  230. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  231. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  232. package/dist/cjs/services/generic-cache-service.js +33 -33
  233. package/dist/cjs/services/index.d.ts +8 -8
  234. package/dist/cjs/services/index.js +24 -24
  235. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
  236. package/dist/cjs/services/ipdata-lookup-service.js +112 -112
  237. package/dist/cjs/services/shopify/index.d.ts +2 -2
  238. package/dist/cjs/services/shopify/index.js +18 -18
  239. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  240. package/dist/cjs/services/shopify/products/index.js +17 -17
  241. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  242. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +112 -112
  243. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  244. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  245. package/dist/cjs/types/api-response.d.ts +6 -6
  246. package/dist/cjs/types/api-response.js +2 -2
  247. package/dist/cjs/types/index.d.ts +1 -1
  248. package/dist/cjs/types/index.js +17 -17
  249. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  250. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  251. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  252. package/dist/cjs/types/internal-events/index.js +17 -17
  253. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  254. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  255. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  256. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  257. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  258. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  259. package/dist/cjs/utils/compression.d.ts +35 -0
  260. package/dist/cjs/utils/compression.js +177 -0
  261. package/dist/cjs/utils/compression.js.map +1 -0
  262. package/dist/cjs/utils/index.d.ts +3 -0
  263. package/dist/cjs/utils/index.js +20 -0
  264. package/dist/cjs/utils/index.js.map +1 -0
  265. package/dist/cjs/utils/retry-envelope.d.ts +12 -0
  266. package/dist/cjs/utils/retry-envelope.js +31 -0
  267. package/dist/cjs/utils/retry-envelope.js.map +1 -0
  268. package/dist/cjs/utils/size.d.ts +2 -0
  269. package/dist/cjs/utils/size.js +49 -0
  270. package/dist/cjs/utils/size.js.map +1 -0
  271. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -0
  272. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js +884 -0
  273. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js.map +1 -0
  274. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  275. package/dist/esm/__tests__/clients/sqs-client.spec.js +192 -119
  276. package/dist/esm/__tests__/clients/sqs-client.spec.js.map +1 -1
  277. package/dist/esm/__tests__/clients/sqs-unbundle.spec.d.ts +1 -0
  278. package/dist/esm/__tests__/clients/sqs-unbundle.spec.js +786 -0
  279. package/dist/esm/__tests__/clients/sqs-unbundle.spec.js.map +1 -0
  280. package/dist/esm/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  281. package/dist/esm/__tests__/db/shared-read-db-services.spec.js +87 -87
  282. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  283. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  284. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -1
  285. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js +72 -72
  286. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  287. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  288. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  289. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  290. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -0
  291. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js +580 -0
  292. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js.map +1 -0
  293. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  294. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  295. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  296. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  297. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  298. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  299. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  300. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  301. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  302. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  303. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  304. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  305. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  306. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  307. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -1
  308. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.js +172 -172
  309. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -1
  310. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.js +67 -67
  311. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  312. package/dist/esm/clients/generic/cognito-client.js +204 -204
  313. package/dist/esm/clients/generic/dynamodb-client.d.ts +18 -18
  314. package/dist/esm/clients/generic/dynamodb-client.js +168 -168
  315. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  316. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  317. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  318. package/dist/esm/clients/generic/http-client.js +53 -53
  319. package/dist/esm/clients/generic/index.d.ts +13 -10
  320. package/dist/esm/clients/generic/index.js +13 -10
  321. package/dist/esm/clients/generic/index.js.map +1 -1
  322. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  323. package/dist/esm/clients/generic/lambda-invoke-client.js +35 -35
  324. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  325. package/dist/esm/clients/generic/location-client.js +27 -27
  326. package/dist/esm/clients/generic/redis-client.d.ts +33 -33
  327. package/dist/esm/clients/generic/redis-client.js +184 -184
  328. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  329. package/dist/esm/clients/generic/s3-client.js +209 -209
  330. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  331. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  332. package/dist/esm/clients/generic/sqs-bundled-client.d.ts +15 -0
  333. package/dist/esm/clients/generic/sqs-bundled-client.js +274 -0
  334. package/dist/esm/clients/generic/sqs-bundled-client.js.map +1 -0
  335. package/dist/esm/clients/generic/sqs-bundled-client.types.d.ts +52 -0
  336. package/dist/esm/clients/generic/sqs-bundled-client.types.js +14 -0
  337. package/dist/esm/clients/generic/sqs-bundled-client.types.js.map +1 -0
  338. package/dist/esm/clients/generic/sqs-client.d.ts +48 -33
  339. package/dist/esm/clients/generic/sqs-client.js +269 -107
  340. package/dist/esm/clients/generic/sqs-client.js.map +1 -1
  341. package/dist/esm/clients/generic/sqs-unbundle.d.ts +32 -0
  342. package/dist/esm/clients/generic/sqs-unbundle.js +138 -0
  343. package/dist/esm/clients/generic/sqs-unbundle.js.map +1 -0
  344. package/dist/esm/clients/index.d.ts +3 -3
  345. package/dist/esm/clients/index.js +3 -3
  346. package/dist/esm/clients/internal-api/accounts-client.d.ts +91 -91
  347. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  348. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +26 -26
  349. package/dist/esm/clients/internal-api/cache-lambda-client.js +85 -85
  350. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  351. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  352. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  353. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  354. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  355. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  356. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  357. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  358. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  359. package/dist/esm/clients/internal-api/index.js +9 -9
  360. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  361. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  362. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  363. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  364. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  365. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  366. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  367. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  368. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  369. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  370. package/dist/esm/clients/third-party/index.d.ts +4 -4
  371. package/dist/esm/clients/third-party/index.js +4 -4
  372. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  373. package/dist/esm/clients/third-party/loops-client.js +26 -26
  374. package/dist/esm/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  375. package/dist/esm/clients/third-party/shopify/graphql-order-queries.js +27 -27
  376. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  377. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  378. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  379. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +157 -157
  380. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  381. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  382. package/dist/esm/constants/index.d.ts +1 -0
  383. package/dist/esm/constants/index.js +2 -0
  384. package/dist/esm/constants/index.js.map +1 -0
  385. package/dist/esm/constants/sqs.d.ts +11 -0
  386. package/dist/esm/constants/sqs.js +12 -0
  387. package/dist/esm/constants/sqs.js.map +1 -0
  388. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  389. package/dist/esm/helpers/account-users-helper.js +18 -18
  390. package/dist/esm/helpers/api-key-auth-helper.d.ts +9 -9
  391. package/dist/esm/helpers/api-key-auth-helper.js +35 -35
  392. package/dist/esm/helpers/api-key-authorizer-helper.d.ts +36 -36
  393. package/dist/esm/helpers/api-key-authorizer-helper.js +81 -81
  394. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  395. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  396. package/dist/esm/helpers/index.d.ts +9 -9
  397. package/dist/esm/helpers/index.js +9 -9
  398. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  399. package/dist/esm/helpers/input-validation-helper.js +18 -18
  400. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  401. package/dist/esm/helpers/logging-helper.js +56 -56
  402. package/dist/esm/helpers/response-helper.d.ts +18 -18
  403. package/dist/esm/helpers/response-helper.js +37 -37
  404. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  405. package/dist/esm/helpers/shopify-helper.js +21 -21
  406. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  407. package/dist/esm/helpers/sqs-utils.js +9 -9
  408. package/dist/esm/index.d.ts +7 -5
  409. package/dist/esm/index.js +7 -5
  410. package/dist/esm/index.js.map +1 -1
  411. package/dist/esm/libs/api-router/index.d.ts +2 -2
  412. package/dist/esm/libs/api-router/index.js +2 -2
  413. package/dist/esm/libs/api-router/public-api-router.d.ts +3 -3
  414. package/dist/esm/libs/api-router/public-api-router.js +32 -32
  415. package/dist/esm/libs/api-router/route-matcher.d.ts +21 -21
  416. package/dist/esm/libs/api-router/route-matcher.js +30 -30
  417. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  418. package/dist/esm/libs/click-id-parser.js +45 -45
  419. package/dist/esm/libs/compression.d.ts +2 -2
  420. package/dist/esm/libs/compression.js +25 -25
  421. package/dist/esm/libs/cookie.d.ts +17 -17
  422. package/dist/esm/libs/cookie.js +70 -70
  423. package/dist/esm/libs/crypto.d.ts +4 -4
  424. package/dist/esm/libs/crypto.js +15 -15
  425. package/dist/esm/libs/csv.d.ts +2 -2
  426. package/dist/esm/libs/csv.js +30 -30
  427. package/dist/esm/libs/currency.d.ts +1 -1
  428. package/dist/esm/libs/currency.js +22 -22
  429. package/dist/esm/libs/dates.d.ts +12 -12
  430. package/dist/esm/libs/dates.js +83 -83
  431. package/dist/esm/libs/domain.d.ts +2 -2
  432. package/dist/esm/libs/domain.js +33 -33
  433. package/dist/esm/libs/emails.d.ts +6 -6
  434. package/dist/esm/libs/emails.js +115 -115
  435. package/dist/esm/libs/http-error.d.ts +21 -21
  436. package/dist/esm/libs/http-error.js +59 -59
  437. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  438. package/dist/esm/libs/http-status-codes.js +59 -59
  439. package/dist/esm/libs/index.d.ts +18 -18
  440. package/dist/esm/libs/index.js +18 -18
  441. package/dist/esm/libs/numbers.d.ts +1 -1
  442. package/dist/esm/libs/numbers.js +11 -11
  443. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  444. package/dist/esm/libs/referrer-parser/index.js +2 -2
  445. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  446. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  447. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  448. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  449. package/dist/esm/libs/strings.d.ts +3 -3
  450. package/dist/esm/libs/strings.js +40 -40
  451. package/dist/esm/libs/traits.d.ts +6 -6
  452. package/dist/esm/libs/traits.js +54 -54
  453. package/dist/esm/libs/url.d.ts +1 -1
  454. package/dist/esm/libs/url.js +9 -9
  455. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  456. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  457. package/dist/esm/services/cache/index.d.ts +1 -1
  458. package/dist/esm/services/cache/index.js +1 -1
  459. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  460. package/dist/esm/services/cache/product-cache-service.js +68 -68
  461. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  462. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  463. package/dist/esm/services/db/accounts-db-service.d.ts +9 -9
  464. package/dist/esm/services/db/accounts-db-service.js +29 -29
  465. package/dist/esm/services/db/api-keys-db-service.d.ts +10 -10
  466. package/dist/esm/services/db/api-keys-db-service.js +32 -32
  467. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  468. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  469. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  470. package/dist/esm/services/db/destinations-db-service.js +72 -72
  471. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  472. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  473. package/dist/esm/services/db/index.d.ts +13 -13
  474. package/dist/esm/services/db/index.js +13 -13
  475. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  476. package/dist/esm/services/db/log-events-db-service.js +177 -177
  477. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  478. package/dist/esm/services/db/pixels-db-service.js +31 -31
  479. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  480. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  481. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  482. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  483. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +8 -8
  484. package/dist/esm/services/db/shopify-app-installs-db-service.js +47 -47
  485. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  486. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  487. package/dist/esm/services/db/subscriptions-db-service.d.ts +10 -10
  488. package/dist/esm/services/db/subscriptions-db-service.js +30 -30
  489. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  490. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  491. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  492. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  493. package/dist/esm/services/events/index.d.ts +3 -3
  494. package/dist/esm/services/events/index.js +3 -3
  495. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  496. package/dist/esm/services/events/log-event-service.js +52 -52
  497. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  498. package/dist/esm/services/events/metric-event-service.js +45 -45
  499. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  500. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  501. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  502. package/dist/esm/services/generic-cache-service.js +29 -29
  503. package/dist/esm/services/index.d.ts +8 -8
  504. package/dist/esm/services/index.js +8 -8
  505. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  506. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  507. package/dist/esm/services/shopify/index.d.ts +2 -2
  508. package/dist/esm/services/shopify/index.js +2 -2
  509. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  510. package/dist/esm/services/shopify/products/index.js +1 -1
  511. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  512. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
  513. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  514. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  515. package/dist/esm/types/api-response.d.ts +6 -6
  516. package/dist/esm/types/api-response.js +1 -1
  517. package/dist/esm/types/index.d.ts +1 -1
  518. package/dist/esm/types/index.js +1 -1
  519. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  520. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  521. package/dist/esm/types/internal-events/index.d.ts +1 -1
  522. package/dist/esm/types/internal-events/index.js +1 -1
  523. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  524. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  525. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  526. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  527. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  528. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  529. package/dist/esm/utils/compression.d.ts +35 -0
  530. package/dist/esm/utils/compression.js +167 -0
  531. package/dist/esm/utils/compression.js.map +1 -0
  532. package/dist/esm/utils/index.d.ts +3 -0
  533. package/dist/esm/utils/index.js +4 -0
  534. package/dist/esm/utils/index.js.map +1 -0
  535. package/dist/esm/utils/retry-envelope.d.ts +12 -0
  536. package/dist/esm/utils/retry-envelope.js +25 -0
  537. package/dist/esm/utils/retry-envelope.js.map +1 -0
  538. package/dist/esm/utils/size.d.ts +2 -0
  539. package/dist/esm/utils/size.js +44 -0
  540. package/dist/esm/utils/size.js.map +1 -0
  541. package/package.json +135 -135
@@ -0,0 +1,274 @@
1
+ import { Logger } from '../../helpers/logging-helper.js';
2
+ import { compressToBase64 } from '../../utils/compression.js';
3
+ import { sizeInBytes, chunkArrayBySize } from '../../utils/size.js';
4
+ import { SQS_LIMITS, SQS_SAFE_LIMITS } from '../../constants/sqs.js';
5
+ import { CompressionAlgorithm, DEFAULT_BUNDLE_CONFIG, } from './sqs-bundled-client.types.js';
6
+ export class BundledSQSClient {
7
+ sqsClient;
8
+ config;
9
+ constructor(sqsClient, config = {}) {
10
+ this.sqsClient = sqsClient;
11
+ this.config = { ...DEFAULT_BUNDLE_CONFIG, ...config };
12
+ }
13
+ async sendBundled(messageType, items) {
14
+ if (items.length === 0) {
15
+ return this.emptyResult();
16
+ }
17
+ try {
18
+ const startTime = Date.now();
19
+ let resizeOccurred = false;
20
+ let skippedItems = 0;
21
+ const bundles = chunkArrayBySize(items, this.config.maxUncompressedBundleSizeBytes, this.config.maxItemsPerBundle);
22
+ const envelopes = [];
23
+ for (const bundle of bundles) {
24
+ const result = await this.createEnvelope(bundle);
25
+ if (!result.success) {
26
+ Logger.warn('BundledSQSClient: envelope creation failed, skipping bundle', {
27
+ bundleItems: bundle.length,
28
+ error: result.error,
29
+ });
30
+ skippedItems += result.itemCount;
31
+ continue;
32
+ }
33
+ const envelope = result.envelope;
34
+ const validation = this.validateMessage(envelope);
35
+ if (!validation.valid && this.config.autoResize) {
36
+ Logger.warn('Bundle exceeds size limit, auto-resizing', {
37
+ bundleItems: bundle.length,
38
+ compressedSize: validation.sizeBytes,
39
+ maxSize: SQS_SAFE_LIMITS.MAX_MESSAGE_SIZE_BYTES,
40
+ });
41
+ resizeOccurred = true;
42
+ const splitResult = await this.splitAndRetry(bundle);
43
+ envelopes.push(...splitResult.envelopes);
44
+ skippedItems += splitResult.skippedItems;
45
+ }
46
+ else if (!validation.valid) {
47
+ Logger.warn('BundledSQSClient: bundle exceeds size limit, skipping', {
48
+ bundleItems: bundle.length,
49
+ compressedSize: validation.sizeBytes,
50
+ maxSize: SQS_SAFE_LIMITS.MAX_MESSAGE_SIZE_BYTES,
51
+ autoResize: this.config.autoResize,
52
+ });
53
+ skippedItems += bundle.length;
54
+ }
55
+ else {
56
+ envelopes.push(envelope);
57
+ }
58
+ }
59
+ const result = await this.sendBatched(messageType, envelopes);
60
+ const metrics = this.calculateMetrics(items, envelopes, Date.now() - startTime, resizeOccurred);
61
+ Logger.info('Bundled SQS send complete', {
62
+ messageType,
63
+ totalItems: items.length,
64
+ bundleCount: envelopes.length,
65
+ apiCallCount: result.apiCalls,
66
+ billableRequests: result.billableRequests,
67
+ compression: this.config.compression,
68
+ compressionRatio: metrics.compressionRatio.toFixed(2),
69
+ originalSizeKB: (metrics.originalSizeBytes / 1024).toFixed(1),
70
+ finalSizeKB: (metrics.finalSizeBytes / 1024).toFixed(1),
71
+ resizeOccurred,
72
+ skippedItems,
73
+ });
74
+ return {
75
+ totalItems: items.length,
76
+ bundleCount: bundles.length,
77
+ messageCount: envelopes.length,
78
+ apiCallCount: result.apiCalls,
79
+ billableRequests: result.billableRequests,
80
+ failedBundles: result.failedCount,
81
+ skippedItems,
82
+ metrics,
83
+ };
84
+ }
85
+ catch (error) {
86
+ Logger.error('BundledSQSClient: sendBundled failed', {
87
+ error,
88
+ messageType,
89
+ itemCount: items.length,
90
+ });
91
+ return {
92
+ ...this.emptyResult(),
93
+ totalItems: items.length,
94
+ failedBundles: 1,
95
+ error: error instanceof Error ? error.message : String(error),
96
+ };
97
+ }
98
+ }
99
+ async createEnvelope(bundle) {
100
+ try {
101
+ if (this.config.compression === CompressionAlgorithm.NONE) {
102
+ return {
103
+ success: true,
104
+ envelope: {
105
+ v: 1,
106
+ c: CompressionAlgorithm.NONE,
107
+ n: bundle.length,
108
+ s: sizeInBytes(bundle),
109
+ p: bundle,
110
+ },
111
+ itemCount: bundle.length,
112
+ };
113
+ }
114
+ const { base64, originalSize } = await compressToBase64(bundle, this.config.compression, this.config.compressionLevel);
115
+ return {
116
+ success: true,
117
+ envelope: {
118
+ v: 1,
119
+ c: this.config.compression,
120
+ n: bundle.length,
121
+ s: originalSize,
122
+ p: base64,
123
+ },
124
+ itemCount: bundle.length,
125
+ };
126
+ }
127
+ catch (error) {
128
+ Logger.error('BundledSQSClient: compression failed', {
129
+ error,
130
+ bundleItemCount: bundle.length,
131
+ compression: this.config.compression,
132
+ compressionLevel: this.config.compressionLevel,
133
+ });
134
+ return {
135
+ success: false,
136
+ error: error instanceof Error ? error.message : String(error),
137
+ itemCount: bundle.length,
138
+ };
139
+ }
140
+ }
141
+ validateMessage(envelope) {
142
+ const messageSizeBytes = sizeInBytes(envelope);
143
+ if (messageSizeBytes > SQS_SAFE_LIMITS.MAX_MESSAGE_SIZE_BYTES) {
144
+ return {
145
+ valid: false,
146
+ sizeBytes: messageSizeBytes,
147
+ error: `Message size ${messageSizeBytes} exceeds limit ${SQS_SAFE_LIMITS.MAX_MESSAGE_SIZE_BYTES}`,
148
+ };
149
+ }
150
+ return { valid: true, sizeBytes: messageSizeBytes };
151
+ }
152
+ async splitAndRetry(items) {
153
+ if (items.length <= 1) {
154
+ Logger.warn('BundledSQSClient: single item exceeds size limit, skipping', {
155
+ itemCount: 1,
156
+ suggestion: 'Consider using S3 for large payloads',
157
+ });
158
+ return { envelopes: [], skippedItems: 1 };
159
+ }
160
+ const midpoint = Math.ceil(items.length / 2);
161
+ const firstHalf = items.slice(0, midpoint);
162
+ const secondHalf = items.slice(midpoint);
163
+ const processHalf = async (half) => {
164
+ try {
165
+ const result = await this.createEnvelope(half);
166
+ if (!result.success) {
167
+ Logger.warn('BundledSQSClient: compression failed in splitAndRetry, skipping half', {
168
+ itemCount: half.length,
169
+ error: result.error,
170
+ });
171
+ return { envelopes: [], skippedItems: result.itemCount };
172
+ }
173
+ const envelope = result.envelope;
174
+ const validation = this.validateMessage(envelope);
175
+ if (!validation.valid) {
176
+ return this.splitAndRetry(half);
177
+ }
178
+ return { envelopes: [envelope], skippedItems: 0 };
179
+ }
180
+ catch (error) {
181
+ Logger.warn('BundledSQSClient: unexpected error in splitAndRetry, skipping half', {
182
+ itemCount: half.length,
183
+ error,
184
+ });
185
+ return { envelopes: [], skippedItems: half.length };
186
+ }
187
+ };
188
+ const [firstResult, secondResult] = await Promise.all([
189
+ processHalf(firstHalf),
190
+ processHalf(secondHalf),
191
+ ]);
192
+ return {
193
+ envelopes: [...firstResult.envelopes, ...secondResult.envelopes],
194
+ skippedItems: firstResult.skippedItems + secondResult.skippedItems,
195
+ };
196
+ }
197
+ async sendBatched(messageType, envelopes, maxRetries = 2) {
198
+ let toSend = envelopes;
199
+ let totalApiCalls = 0;
200
+ let totalSuccessCount = 0;
201
+ let retriesRemaining = maxRetries;
202
+ while (toSend.length > 0 && retriesRemaining >= 0) {
203
+ const result = await this.sqsClient.buildAndSendMessagesV2(messageType, toSend);
204
+ totalApiCalls += result.batchCount;
205
+ totalSuccessCount += result.successCount;
206
+ if (result.failedCount === 0) {
207
+ toSend = [];
208
+ }
209
+ else if (retriesRemaining > 0) {
210
+ Logger.warn('BundledSQSClient [sendBatched]: retrying failed messages', {
211
+ failedCount: result.failedCount,
212
+ retriesRemaining,
213
+ messageType,
214
+ });
215
+ toSend = result.failedMessages ?? [];
216
+ retriesRemaining--;
217
+ if (toSend.length > 0) {
218
+ await this.delay(Math.pow(2, maxRetries - retriesRemaining) * 100);
219
+ }
220
+ }
221
+ else {
222
+ Logger.error('BundledSQSClient: messages failed after retries', {
223
+ failedCount: result.failedCount,
224
+ maxRetries,
225
+ messageType,
226
+ });
227
+ break;
228
+ }
229
+ }
230
+ const totalSize = envelopes.reduce((sum, env) => sum + sizeInBytes(env), 0);
231
+ const billableRequests = Math.ceil(totalSize / SQS_LIMITS.BILLING_CHUNK_BYTES);
232
+ const finalFailedCount = envelopes.length - totalSuccessCount;
233
+ return {
234
+ apiCalls: totalApiCalls,
235
+ billableRequests,
236
+ failedCount: finalFailedCount,
237
+ };
238
+ }
239
+ delay(ms) {
240
+ return new Promise((resolve) => setTimeout(resolve, ms));
241
+ }
242
+ calculateMetrics(items, envelopes, durationMs, resizeOccurred) {
243
+ const originalSizeBytes = items.reduce((sum, item) => sum + sizeInBytes(item), 0);
244
+ const finalSizeBytes = envelopes.reduce((sum, env) => sum + sizeInBytes(env), 0);
245
+ return {
246
+ originalSizeBytes,
247
+ finalSizeBytes,
248
+ compressionRatio: originalSizeBytes / Math.max(finalSizeBytes, 1),
249
+ compressionTimeMs: durationMs,
250
+ avgItemsPerBundle: items.length / Math.max(envelopes.length, 1),
251
+ resizeOccurred,
252
+ };
253
+ }
254
+ emptyResult() {
255
+ return {
256
+ totalItems: 0,
257
+ bundleCount: 0,
258
+ messageCount: 0,
259
+ apiCallCount: 0,
260
+ billableRequests: 0,
261
+ failedBundles: 0,
262
+ skippedItems: 0,
263
+ metrics: {
264
+ originalSizeBytes: 0,
265
+ finalSizeBytes: 0,
266
+ compressionRatio: 1,
267
+ compressionTimeMs: 0,
268
+ avgItemsPerBundle: 0,
269
+ resizeOccurred: false,
270
+ },
271
+ };
272
+ }
273
+ }
274
+ //# sourceMappingURL=sqs-bundled-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqs-bundled-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/sqs-bundled-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ export declare enum CompressionAlgorithm {
2
+ NONE = "none",
3
+ ZSTD = "zstd"
4
+ }
5
+ export interface BundleConfig {
6
+ maxUncompressedBundleSizeBytes: number;
7
+ maxItemsPerBundle?: number;
8
+ compression: CompressionAlgorithm;
9
+ compressionLevel: number;
10
+ autoResize: boolean;
11
+ }
12
+ export declare const DEFAULT_BUNDLE_CONFIG: BundleConfig;
13
+ export interface BundledMessageEnvelope<T = unknown> {
14
+ v: 1;
15
+ c: CompressionAlgorithm;
16
+ n: number;
17
+ s?: number;
18
+ p: string | T[];
19
+ }
20
+ export interface BundleSendResult {
21
+ totalItems: number;
22
+ bundleCount: number;
23
+ messageCount: number;
24
+ apiCallCount: number;
25
+ billableRequests: number;
26
+ failedBundles: number;
27
+ skippedItems: number;
28
+ metrics: BundleMetrics;
29
+ error?: string;
30
+ }
31
+ export interface BundleMetrics {
32
+ originalSizeBytes: number;
33
+ finalSizeBytes: number;
34
+ compressionRatio: number;
35
+ compressionTimeMs: number;
36
+ avgItemsPerBundle: number;
37
+ resizeOccurred: boolean;
38
+ }
39
+ export interface MessageValidation {
40
+ valid: boolean;
41
+ sizeBytes: number;
42
+ error?: string;
43
+ }
44
+ export type EnvelopeResult<T = unknown> = {
45
+ success: true;
46
+ envelope: BundledMessageEnvelope<T>;
47
+ itemCount: number;
48
+ } | {
49
+ success: false;
50
+ error: string;
51
+ itemCount: number;
52
+ };
@@ -0,0 +1,14 @@
1
+ import { SQS_SAFE_LIMITS } from '../../constants/sqs.js';
2
+ export var CompressionAlgorithm;
3
+ (function (CompressionAlgorithm) {
4
+ CompressionAlgorithm["NONE"] = "none";
5
+ CompressionAlgorithm["ZSTD"] = "zstd";
6
+ })(CompressionAlgorithm || (CompressionAlgorithm = {}));
7
+ export const DEFAULT_BUNDLE_CONFIG = {
8
+ maxUncompressedBundleSizeBytes: SQS_SAFE_LIMITS.MAX_MESSAGE_SIZE_BYTES,
9
+ maxItemsPerBundle: undefined,
10
+ compression: CompressionAlgorithm.ZSTD,
11
+ compressionLevel: 3,
12
+ autoResize: true,
13
+ };
14
+ //# sourceMappingURL=sqs-bundled-client.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqs-bundled-client.types.js","sourceRoot":"","sources":["../../../../src/clients/generic/sqs-bundled-client.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,qCAAa,CAAA;IACb,qCAAa,CAAA;AACf,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AA4CD,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,8BAA8B,EAAE,eAAe,CAAC,sBAAsB;IACtE,iBAAiB,EAAE,SAAS;IAC5B,WAAW,EAAE,oBAAoB,CAAC,IAAI;IACtC,gBAAgB,EAAE,CAAC;IACnB,UAAU,EAAE,IAAI;CACjB,CAAC"}
@@ -1,33 +1,48 @@
1
- import { SQS, SendMessageBatchCommandOutput } from '@aws-sdk/client-sqs';
2
- export interface InternalSQSMessage {
3
- messageId: string;
4
- messageType: string;
5
- messageTime: string;
6
- messageBody: any;
7
- }
8
- export interface InternalSQSBatchSendResult {
9
- sentCount: number;
10
- failedCount: number;
11
- responses: SendMessageBatchCommandOutput[];
12
- }
13
- export interface SQSBatchEntry {
14
- messageType: string;
15
- messageBody: any;
16
- delaySeconds?: number;
17
- }
18
- export declare class SQSClient {
19
- sqs: SQS;
20
- queueUrl: string;
21
- constructor(region: string, accountId: string, queueName: string);
22
- buildAndSendMessage: (messageType: string, messageBody: any, deplaySeconds?: number) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
23
- buildAndSendMessages: (messageType: string, messageBodies: any[], delaySeconds?: number, maxBatchSize?: number) => Promise<InternalSQSBatchSendResult>;
24
- buildMessage: (messageType: string, messageBody: any, messageId?: string, messageTime?: string) => {
25
- messageId: string;
26
- messageType: string;
27
- messageTime: string;
28
- messageBody: any;
29
- };
30
- sendMessage: (messageBody: any, delaySeconds?: number) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
31
- sendMessages: (messageBodies: any[], delaySeconds?: number, maxBatchSize?: number) => Promise<InternalSQSBatchSendResult>;
32
- buildAndSendBatchWithEntryDelays: (entries: SQSBatchEntry[]) => Promise<InternalSQSBatchSendResult>;
33
- }
1
+ import { SQS, SendMessageBatchCommandOutput } from '@aws-sdk/client-sqs';
2
+ export interface InternalSQSMessage {
3
+ messageId: string;
4
+ messageType: string;
5
+ messageTime: string;
6
+ messageBody: any;
7
+ }
8
+ export interface InternalSQSBatchSendResult {
9
+ sentCount: number;
10
+ failedCount: number;
11
+ responses: SendMessageBatchCommandOutput[];
12
+ }
13
+ export interface SQSBatchEntry {
14
+ messageType: string;
15
+ messageBody: any;
16
+ delaySeconds?: number;
17
+ }
18
+ export interface SQSSendResultV2 {
19
+ sentCount: number;
20
+ failedCount: number;
21
+ batchCount: number;
22
+ failedIds: string[];
23
+ }
24
+ export interface SQSBatchSendResultV2<T = unknown> {
25
+ successCount: number;
26
+ failedCount: number;
27
+ batchCount: number;
28
+ failedMessages: T[];
29
+ }
30
+ export declare class SQSClient {
31
+ sqs: SQS;
32
+ queueUrl: string;
33
+ constructor(region: string, accountId: string, queueName: string);
34
+ buildAndSendMessage: (messageType: string, messageBody: any, deplaySeconds?: number) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
35
+ buildAndSendMessages: (messageType: string, messageBodies: any[], delaySeconds?: number, maxBatchSize?: number) => Promise<InternalSQSBatchSendResult>;
36
+ buildMessage: (messageType: string, messageBody: any, messageId?: string, messageTime?: string) => {
37
+ messageId: string;
38
+ messageType: string;
39
+ messageTime: string;
40
+ messageBody: any;
41
+ };
42
+ sendMessage: (messageBody: any, delaySeconds?: number) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>;
43
+ sendMessages: (messageBodies: any[], delaySeconds?: number, maxBatchSize?: number) => Promise<InternalSQSBatchSendResult>;
44
+ buildAndSendBatchWithEntryDelays: (entries: SQSBatchEntry[]) => Promise<InternalSQSBatchSendResult>;
45
+ sendMessagesV2: (messageBodies: unknown[], delaySeconds?: number, maxBatchSize?: number) => Promise<SQSSendResultV2>;
46
+ buildAndSendMessagesV2: <T>(messageType: string, messageBodies: T[], delaySeconds?: number, maxBatchSize?: number) => Promise<SQSBatchSendResultV2<T>>;
47
+ private createSizeLimitedBatches;
48
+ }