@adtrackify/at-service-common 4.0.4 → 4.0.6

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 (779) hide show
  1. package/dist/cjs/__tests__/clients/acuity-client.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/clients/acuity-client.spec.js +43 -43
  3. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.js +354 -354
  5. package/dist/cjs/__tests__/clients/dynamodb-client.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/clients/dynamodb-client.spec.js +194 -194
  7. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js +931 -931
  9. package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.js +563 -563
  11. package/dist/cjs/__tests__/clients/sqs-client.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/clients/sqs-client.spec.js +191 -191
  13. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js +1357 -1357
  15. package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.js +68 -68
  17. package/dist/cjs/__tests__/db/destinations-db-service.spec.d.ts +1 -1
  18. package/dist/cjs/__tests__/db/destinations-db-service.spec.js +125 -125
  19. package/dist/cjs/__tests__/db/products-db-service.spec.d.ts +1 -1
  20. package/dist/cjs/__tests__/db/products-db-service.spec.js +89 -89
  21. package/dist/cjs/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  22. package/dist/cjs/__tests__/db/shared-read-db-services.spec.js +89 -89
  23. package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.d.ts +1 -1
  24. package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.js +104 -104
  25. package/dist/cjs/__tests__/db/subscriptions-db-service.spec.d.ts +1 -1
  26. package/dist/cjs/__tests__/db/subscriptions-db-service.spec.js +95 -95
  27. package/dist/cjs/__tests__/db/user-accounts-db-service.spec.d.ts +1 -1
  28. package/dist/cjs/__tests__/db/user-accounts-db-service.spec.js +76 -76
  29. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  30. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  31. package/dist/cjs/__tests__/helpers/acuity-helper.spec.d.ts +1 -1
  32. package/dist/cjs/__tests__/helpers/acuity-helper.spec.js +69 -69
  33. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -1
  34. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js +82 -82
  35. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  36. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +676 -676
  37. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.d.ts +1 -0
  38. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js +646 -0
  39. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js.map +1 -0
  40. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.d.ts +1 -0
  41. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +327 -0
  42. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +1 -0
  43. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.d.ts +1 -1
  44. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +1282 -1140
  45. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +1 -1
  46. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.d.ts +1 -1
  47. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js +852 -851
  48. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  49. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.d.ts +1 -0
  50. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js +567 -0
  51. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js.map +1 -0
  52. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  53. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +1060 -1060
  54. package/dist/cjs/__tests__/identity-cache/volatile-traits-optimization.spec.d.ts +1 -1
  55. package/dist/cjs/__tests__/identity-cache/volatile-traits-optimization.spec.js +818 -818
  56. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -1
  57. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js +584 -584
  58. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  59. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  60. package/dist/cjs/__tests__/libs/contacts.spec.d.ts +1 -1
  61. package/dist/cjs/__tests__/libs/contacts.spec.js +294 -294
  62. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  63. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  64. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  65. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  66. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  67. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  68. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  69. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  70. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  71. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  72. package/dist/cjs/__tests__/services/acuity-api-service.spec.d.ts +1 -1
  73. package/dist/cjs/__tests__/services/acuity-api-service.spec.js +71 -71
  74. package/dist/cjs/__tests__/services/cost/cost-calculation-types.spec.d.ts +1 -1
  75. package/dist/cjs/__tests__/services/cost/cost-calculation-types.spec.js +23 -23
  76. package/dist/cjs/__tests__/services/cost/cost-calculator-service.spec.d.ts +1 -1
  77. package/dist/cjs/__tests__/services/cost/cost-calculator-service.spec.js +3319 -3319
  78. package/dist/cjs/__tests__/services/cost/cost-currency-service.spec.d.ts +1 -1
  79. package/dist/cjs/__tests__/services/cost/cost-currency-service.spec.js +114 -114
  80. package/dist/cjs/__tests__/services/cost/cost-filter-service.spec.d.ts +1 -1
  81. package/dist/cjs/__tests__/services/cost/cost-filter-service.spec.js +468 -468
  82. package/dist/cjs/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.d.ts +1 -1
  83. package/dist/cjs/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js +206 -206
  84. package/dist/cjs/__tests__/services/currency-exchange-rate-lookup-service.spec.d.ts +1 -1
  85. package/dist/cjs/__tests__/services/currency-exchange-rate-lookup-service.spec.js +34 -34
  86. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.d.ts +1 -1
  87. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.js +93 -93
  88. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.d.ts +1 -1
  89. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.js +57 -57
  90. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  91. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  92. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -1
  93. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.js +181 -181
  94. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -1
  95. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.js +69 -69
  96. package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.d.ts +1 -1
  97. package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.js +139 -139
  98. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  99. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  100. package/dist/cjs/clients/generic/dynamodb-client.d.ts +20 -20
  101. package/dist/cjs/clients/generic/dynamodb-client.js +235 -235
  102. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  103. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  104. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  105. package/dist/cjs/clients/generic/http-client.js +61 -61
  106. package/dist/cjs/clients/generic/index.d.ts +13 -13
  107. package/dist/cjs/clients/generic/index.js +29 -29
  108. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  109. package/dist/cjs/clients/generic/lambda-invoke-client.js +39 -39
  110. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  111. package/dist/cjs/clients/generic/location-client.js +31 -31
  112. package/dist/cjs/clients/generic/redis-client.d.ts +33 -33
  113. package/dist/cjs/clients/generic/redis-client.js +191 -191
  114. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  115. package/dist/cjs/clients/generic/s3-client.js +216 -216
  116. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  117. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  118. package/dist/cjs/clients/generic/sqs-bundled-client.d.ts +15 -15
  119. package/dist/cjs/clients/generic/sqs-bundled-client.js +311 -311
  120. package/dist/cjs/clients/generic/sqs-bundled-client.types.d.ts +53 -53
  121. package/dist/cjs/clients/generic/sqs-bundled-client.types.js +17 -17
  122. package/dist/cjs/clients/generic/sqs-client.d.ts +53 -53
  123. package/dist/cjs/clients/generic/sqs-client.js +285 -285
  124. package/dist/cjs/clients/generic/sqs-unbundle.d.ts +32 -32
  125. package/dist/cjs/clients/generic/sqs-unbundle.js +144 -144
  126. package/dist/cjs/clients/index.d.ts +3 -3
  127. package/dist/cjs/clients/index.js +19 -19
  128. package/dist/cjs/clients/internal-api/accounts-client.d.ts +91 -91
  129. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  130. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +26 -26
  131. package/dist/cjs/clients/internal-api/cache-lambda-client.js +89 -89
  132. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  133. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  134. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  135. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  136. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  137. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  138. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  139. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  140. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  141. package/dist/cjs/clients/internal-api/index.js +25 -25
  142. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  143. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  144. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  145. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  146. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  147. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  148. package/dist/cjs/clients/third-party/acuity-client.d.ts +10 -10
  149. package/dist/cjs/clients/third-party/acuity-client.js +40 -40
  150. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  151. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  152. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  153. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  154. package/dist/cjs/clients/third-party/index.d.ts +5 -5
  155. package/dist/cjs/clients/third-party/index.js +21 -21
  156. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  157. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  158. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  159. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.js +4 -4
  160. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  161. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  162. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  163. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +161 -161
  164. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  165. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  166. package/dist/cjs/constants/index.d.ts +1 -1
  167. package/dist/cjs/constants/index.js +17 -17
  168. package/dist/cjs/constants/sqs.d.ts +20 -20
  169. package/dist/cjs/constants/sqs.js +26 -26
  170. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  171. package/dist/cjs/helpers/account-users-helper.js +22 -22
  172. package/dist/cjs/helpers/acuity-helper.d.ts +4 -4
  173. package/dist/cjs/helpers/acuity-helper.js +56 -56
  174. package/dist/cjs/helpers/api-key-auth-helper.d.ts +9 -9
  175. package/dist/cjs/helpers/api-key-auth-helper.js +40 -40
  176. package/dist/cjs/helpers/api-key-authorizer-helper.d.ts +36 -36
  177. package/dist/cjs/helpers/api-key-authorizer-helper.js +87 -87
  178. package/dist/cjs/helpers/identity-cache-helper.d.ts +30 -30
  179. package/dist/cjs/helpers/identity-cache-helper.js +253 -253
  180. package/dist/cjs/helpers/index.d.ts +10 -10
  181. package/dist/cjs/helpers/index.js +26 -26
  182. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  183. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  184. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  185. package/dist/cjs/helpers/logging-helper.js +84 -84
  186. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  187. package/dist/cjs/helpers/response-helper.js +43 -43
  188. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  189. package/dist/cjs/helpers/shopify-helper.js +26 -26
  190. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  191. package/dist/cjs/helpers/sqs-utils.js +14 -14
  192. package/dist/cjs/index.d.ts +7 -7
  193. package/dist/cjs/index.js +23 -23
  194. package/dist/cjs/libs/api-router/index.d.ts +2 -2
  195. package/dist/cjs/libs/api-router/index.js +18 -18
  196. package/dist/cjs/libs/api-router/public-api-router.d.ts +3 -3
  197. package/dist/cjs/libs/api-router/public-api-router.js +36 -36
  198. package/dist/cjs/libs/api-router/route-matcher.d.ts +21 -21
  199. package/dist/cjs/libs/api-router/route-matcher.js +36 -36
  200. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  201. package/dist/cjs/libs/click-id-parser.js +49 -49
  202. package/dist/cjs/libs/compression.d.ts +2 -2
  203. package/dist/cjs/libs/compression.js +33 -33
  204. package/dist/cjs/libs/contacts.d.ts +7 -7
  205. package/dist/cjs/libs/contacts.js +152 -152
  206. package/dist/cjs/libs/cookie.d.ts +17 -17
  207. package/dist/cjs/libs/cookie.js +76 -76
  208. package/dist/cjs/libs/crypto.d.ts +4 -4
  209. package/dist/cjs/libs/crypto.js +25 -25
  210. package/dist/cjs/libs/csv.d.ts +2 -2
  211. package/dist/cjs/libs/csv.js +35 -35
  212. package/dist/cjs/libs/currency.d.ts +1 -1
  213. package/dist/cjs/libs/currency.js +29 -29
  214. package/dist/cjs/libs/dates.d.ts +12 -12
  215. package/dist/cjs/libs/dates.js +96 -96
  216. package/dist/cjs/libs/domain.d.ts +2 -2
  217. package/dist/cjs/libs/domain.js +38 -38
  218. package/dist/cjs/libs/emails.d.ts +8 -8
  219. package/dist/cjs/libs/emails.js +154 -154
  220. package/dist/cjs/libs/http-error.d.ts +21 -21
  221. package/dist/cjs/libs/http-error.js +63 -63
  222. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  223. package/dist/cjs/libs/http-status-codes.js +62 -62
  224. package/dist/cjs/libs/index.d.ts +19 -19
  225. package/dist/cjs/libs/index.js +35 -35
  226. package/dist/cjs/libs/numbers.d.ts +1 -1
  227. package/dist/cjs/libs/numbers.js +15 -15
  228. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  229. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  230. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  231. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  232. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  233. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  234. package/dist/cjs/libs/strings.d.ts +3 -3
  235. package/dist/cjs/libs/strings.js +46 -46
  236. package/dist/cjs/libs/traits.d.ts +6 -6
  237. package/dist/cjs/libs/traits.js +65 -65
  238. package/dist/cjs/libs/url.d.ts +1 -1
  239. package/dist/cjs/libs/url.js +13 -13
  240. package/dist/cjs/services/acuity-api-service.d.ts +9 -9
  241. package/dist/cjs/services/acuity-api-service.js +73 -73
  242. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  243. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  244. package/dist/cjs/services/cache/index.d.ts +1 -1
  245. package/dist/cjs/services/cache/index.js +17 -17
  246. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  247. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  248. package/dist/cjs/services/cost/cost-calculation-types.d.ts +69 -69
  249. package/dist/cjs/services/cost/cost-calculation-types.js +19 -19
  250. package/dist/cjs/services/cost/cost-calculator-service.d.ts +24 -24
  251. package/dist/cjs/services/cost/cost-calculator-service.js +456 -456
  252. package/dist/cjs/services/cost/cost-currency-service.d.ts +6 -6
  253. package/dist/cjs/services/cost/cost-currency-service.js +87 -87
  254. package/dist/cjs/services/cost/cost-filter-service.d.ts +10 -10
  255. package/dist/cjs/services/cost/cost-filter-service.js +121 -121
  256. package/dist/cjs/services/cost/index.d.ts +5 -5
  257. package/dist/cjs/services/cost/index.js +21 -21
  258. package/dist/cjs/services/cost/order-cost/index.d.ts +2 -2
  259. package/dist/cjs/services/cost/order-cost/index.js +18 -18
  260. package/dist/cjs/services/cost/order-cost/order-cost-resolution-service.d.ts +23 -23
  261. package/dist/cjs/services/cost/order-cost/order-cost-resolution-service.js +361 -361
  262. package/dist/cjs/services/cost/order-cost/order-cost-resolution-types.d.ts +37 -37
  263. package/dist/cjs/services/cost/order-cost/order-cost-resolution-types.js +2 -2
  264. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +12 -12
  265. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +94 -94
  266. package/dist/cjs/services/db/accounts-db-service.d.ts +9 -9
  267. package/dist/cjs/services/db/accounts-db-service.js +33 -33
  268. package/dist/cjs/services/db/api-keys-db-service.d.ts +10 -10
  269. package/dist/cjs/services/db/api-keys-db-service.js +36 -36
  270. package/dist/cjs/services/db/contact-enrichments-db-service.d.ts +15 -15
  271. package/dist/cjs/services/db/contact-enrichments-db-service.js +94 -94
  272. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  273. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  274. package/dist/cjs/services/db/custom-measures-db-service.d.ts +14 -14
  275. package/dist/cjs/services/db/custom-measures-db-service.js +48 -48
  276. package/dist/cjs/services/db/destinations-db-service.d.ts +13 -13
  277. package/dist/cjs/services/db/destinations-db-service.js +74 -74
  278. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  279. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  280. package/dist/cjs/services/db/identity-cache-dynamodb-service/constants.d.ts +3 -0
  281. package/dist/cjs/services/db/identity-cache-dynamodb-service/constants.js +7 -0
  282. package/dist/cjs/services/db/identity-cache-dynamodb-service/constants.js.map +1 -0
  283. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.d.ts +14 -0
  284. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js +251 -0
  285. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js.map +1 -0
  286. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +24 -0
  287. package/dist/cjs/services/db/{identity-cache-dynamodb-service.js → identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js} +613 -735
  288. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -0
  289. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +22 -0
  290. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +375 -0
  291. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -0
  292. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.d.ts +4 -0
  293. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js +21 -0
  294. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js.map +1 -0
  295. package/dist/cjs/services/db/identity-cache-dynamodb-service/key-builders.d.ts +12 -0
  296. package/dist/cjs/services/db/identity-cache-dynamodb-service/key-builders.js +32 -0
  297. package/dist/cjs/services/db/identity-cache-dynamodb-service/key-builders.js.map +1 -0
  298. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.d.ts +205 -0
  299. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js +35 -0
  300. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js.map +1 -0
  301. package/dist/cjs/services/db/index.d.ts +22 -19
  302. package/dist/cjs/services/db/index.js +38 -35
  303. package/dist/cjs/services/db/index.js.map +1 -1
  304. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  305. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  306. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  307. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  308. package/dist/cjs/services/db/products-db-service-types.d.ts +10 -10
  309. package/dist/cjs/services/db/products-db-service-types.js +2 -2
  310. package/dist/cjs/services/db/products-db-service.d.ts +19 -19
  311. package/dist/cjs/services/db/products-db-service.js +281 -281
  312. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  313. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  314. package/dist/cjs/services/db/purchased-contacts/index.d.ts +2 -2
  315. package/dist/cjs/services/db/purchased-contacts/index.js +18 -18
  316. package/dist/cjs/services/db/purchased-contacts/purchased-contacts-db-service.d.ts +18 -18
  317. package/dist/cjs/services/db/purchased-contacts/purchased-contacts-db-service.js +152 -152
  318. package/dist/cjs/services/db/purchased-contacts/types.d.ts +11 -11
  319. package/dist/cjs/services/db/purchased-contacts/types.js +2 -2
  320. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +10 -10
  321. package/dist/cjs/services/db/shopify-app-installs-db-service.js +52 -52
  322. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  323. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  324. package/dist/cjs/services/db/subscriptions-db-service.d.ts +11 -11
  325. package/dist/cjs/services/db/subscriptions-db-service.js +38 -38
  326. package/dist/cjs/services/db/tracking-events-db-service.d.ts +21 -21
  327. package/dist/cjs/services/db/tracking-events-db-service.js +188 -188
  328. package/dist/cjs/services/db/user-accounts-db-service.d.ts +7 -7
  329. package/dist/cjs/services/db/user-accounts-db-service.js +17 -17
  330. package/dist/cjs/services/email-verification/contact-email-verification-service.d.ts +7 -7
  331. package/dist/cjs/services/email-verification/contact-email-verification-service.js +101 -101
  332. package/dist/cjs/services/email-verification/email-verification-service.d.ts +19 -19
  333. package/dist/cjs/services/email-verification/email-verification-service.js +131 -131
  334. package/dist/cjs/services/email-verification/index.d.ts +2 -2
  335. package/dist/cjs/services/email-verification/index.js +18 -18
  336. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  337. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  338. package/dist/cjs/services/events/index.d.ts +3 -3
  339. package/dist/cjs/services/events/index.js +19 -19
  340. package/dist/cjs/services/events/log-event-service.d.ts +19 -19
  341. package/dist/cjs/services/events/log-event-service.js +77 -77
  342. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  343. package/dist/cjs/services/events/metric-event-service.js +49 -49
  344. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  345. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  346. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  347. package/dist/cjs/services/generic-cache-service.js +33 -33
  348. package/dist/cjs/services/index.d.ts +11 -11
  349. package/dist/cjs/services/index.js +27 -27
  350. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
  351. package/dist/cjs/services/ipdata-lookup-service.js +112 -112
  352. package/dist/cjs/services/shopify/index.d.ts +2 -2
  353. package/dist/cjs/services/shopify/index.js +18 -18
  354. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  355. package/dist/cjs/services/shopify/products/index.js +17 -17
  356. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  357. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +112 -112
  358. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  359. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  360. package/dist/cjs/types/acuity-types.d.ts +74 -74
  361. package/dist/cjs/types/acuity-types.js +2 -2
  362. package/dist/cjs/types/api-response.d.ts +6 -6
  363. package/dist/cjs/types/api-response.js +2 -2
  364. package/dist/cjs/types/index.d.ts +4 -4
  365. package/dist/cjs/types/index.js +33 -33
  366. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  367. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  368. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  369. package/dist/cjs/types/internal-events/index.js +17 -17
  370. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  371. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  372. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  373. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  374. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  375. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  376. package/dist/cjs/types/shopify-rest-types.d.ts +767 -767
  377. package/dist/cjs/types/shopify-rest-types.js +2 -2
  378. package/dist/cjs/utils/compression.d.ts +36 -36
  379. package/dist/cjs/utils/compression.js +198 -198
  380. package/dist/cjs/utils/custom-measure-formula-utils.d.ts +6 -6
  381. package/dist/cjs/utils/custom-measure-formula-utils.js +209 -209
  382. package/dist/cjs/utils/index.d.ts +4 -4
  383. package/dist/cjs/utils/index.js +20 -20
  384. package/dist/cjs/utils/retry-envelope.d.ts +12 -12
  385. package/dist/cjs/utils/retry-envelope.js +28 -28
  386. package/dist/cjs/utils/size.d.ts +2 -2
  387. package/dist/cjs/utils/size.js +49 -49
  388. package/dist/esm/__tests__/clients/acuity-client.spec.d.ts +1 -1
  389. package/dist/esm/__tests__/clients/acuity-client.spec.js +41 -41
  390. package/dist/esm/__tests__/clients/cross-platform-compression.spec.d.ts +1 -1
  391. package/dist/esm/__tests__/clients/cross-platform-compression.spec.js +329 -329
  392. package/dist/esm/__tests__/clients/dynamodb-client.spec.d.ts +1 -1
  393. package/dist/esm/__tests__/clients/dynamodb-client.spec.js +192 -192
  394. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -1
  395. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js +906 -906
  396. package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.d.ts +1 -1
  397. package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.js +538 -538
  398. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  399. package/dist/esm/__tests__/clients/sqs-client.spec.js +189 -189
  400. package/dist/esm/__tests__/clients/sqs-unbundle.spec.d.ts +1 -1
  401. package/dist/esm/__tests__/clients/sqs-unbundle.spec.js +1355 -1355
  402. package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.d.ts +1 -1
  403. package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.js +66 -66
  404. package/dist/esm/__tests__/db/destinations-db-service.spec.d.ts +1 -1
  405. package/dist/esm/__tests__/db/destinations-db-service.spec.js +123 -123
  406. package/dist/esm/__tests__/db/products-db-service.spec.d.ts +1 -1
  407. package/dist/esm/__tests__/db/products-db-service.spec.js +87 -87
  408. package/dist/esm/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  409. package/dist/esm/__tests__/db/shared-read-db-services.spec.js +87 -87
  410. package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.d.ts +1 -1
  411. package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.js +102 -102
  412. package/dist/esm/__tests__/db/subscriptions-db-service.spec.d.ts +1 -1
  413. package/dist/esm/__tests__/db/subscriptions-db-service.spec.js +93 -93
  414. package/dist/esm/__tests__/db/user-accounts-db-service.spec.d.ts +1 -1
  415. package/dist/esm/__tests__/db/user-accounts-db-service.spec.js +74 -74
  416. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  417. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  418. package/dist/esm/__tests__/helpers/acuity-helper.spec.d.ts +1 -1
  419. package/dist/esm/__tests__/helpers/acuity-helper.spec.js +67 -67
  420. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -1
  421. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js +80 -80
  422. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  423. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  424. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.d.ts +1 -0
  425. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js +644 -0
  426. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js.map +1 -0
  427. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.d.ts +1 -0
  428. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +325 -0
  429. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +1 -0
  430. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.d.ts +1 -1
  431. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +1280 -1138
  432. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +1 -1
  433. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.d.ts +1 -1
  434. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js +850 -849
  435. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  436. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.d.ts +1 -0
  437. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js +565 -0
  438. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js.map +1 -0
  439. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  440. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +1058 -1058
  441. package/dist/esm/__tests__/identity-cache/volatile-traits-optimization.spec.d.ts +1 -1
  442. package/dist/esm/__tests__/identity-cache/volatile-traits-optimization.spec.js +816 -816
  443. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -1
  444. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js +582 -582
  445. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  446. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  447. package/dist/esm/__tests__/libs/contacts.spec.d.ts +1 -1
  448. package/dist/esm/__tests__/libs/contacts.spec.js +292 -292
  449. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  450. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  451. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  452. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  453. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  454. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  455. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  456. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  457. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  458. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  459. package/dist/esm/__tests__/services/acuity-api-service.spec.d.ts +1 -1
  460. package/dist/esm/__tests__/services/acuity-api-service.spec.js +69 -69
  461. package/dist/esm/__tests__/services/cost/cost-calculation-types.spec.d.ts +1 -1
  462. package/dist/esm/__tests__/services/cost/cost-calculation-types.spec.js +21 -21
  463. package/dist/esm/__tests__/services/cost/cost-calculator-service.spec.d.ts +1 -1
  464. package/dist/esm/__tests__/services/cost/cost-calculator-service.spec.js +3317 -3317
  465. package/dist/esm/__tests__/services/cost/cost-currency-service.spec.d.ts +1 -1
  466. package/dist/esm/__tests__/services/cost/cost-currency-service.spec.js +112 -112
  467. package/dist/esm/__tests__/services/cost/cost-filter-service.spec.d.ts +1 -1
  468. package/dist/esm/__tests__/services/cost/cost-filter-service.spec.js +466 -466
  469. package/dist/esm/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.d.ts +1 -1
  470. package/dist/esm/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js +204 -204
  471. package/dist/esm/__tests__/services/currency-exchange-rate-lookup-service.spec.d.ts +1 -1
  472. package/dist/esm/__tests__/services/currency-exchange-rate-lookup-service.spec.js +32 -32
  473. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.d.ts +1 -1
  474. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.js +91 -91
  475. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.d.ts +1 -1
  476. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.js +55 -55
  477. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  478. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  479. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -1
  480. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.js +156 -156
  481. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -1
  482. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.js +67 -67
  483. package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.d.ts +1 -1
  484. package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.js +137 -137
  485. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  486. package/dist/esm/clients/generic/cognito-client.js +204 -204
  487. package/dist/esm/clients/generic/dynamodb-client.d.ts +20 -20
  488. package/dist/esm/clients/generic/dynamodb-client.js +231 -231
  489. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  490. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  491. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  492. package/dist/esm/clients/generic/http-client.js +53 -53
  493. package/dist/esm/clients/generic/index.d.ts +13 -13
  494. package/dist/esm/clients/generic/index.js +13 -13
  495. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  496. package/dist/esm/clients/generic/lambda-invoke-client.js +35 -35
  497. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  498. package/dist/esm/clients/generic/location-client.js +27 -27
  499. package/dist/esm/clients/generic/redis-client.d.ts +33 -33
  500. package/dist/esm/clients/generic/redis-client.js +184 -184
  501. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  502. package/dist/esm/clients/generic/s3-client.js +209 -209
  503. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  504. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  505. package/dist/esm/clients/generic/sqs-bundled-client.d.ts +15 -15
  506. package/dist/esm/clients/generic/sqs-bundled-client.js +307 -307
  507. package/dist/esm/clients/generic/sqs-bundled-client.types.d.ts +53 -53
  508. package/dist/esm/clients/generic/sqs-bundled-client.types.js +14 -14
  509. package/dist/esm/clients/generic/sqs-client.d.ts +53 -53
  510. package/dist/esm/clients/generic/sqs-client.js +281 -281
  511. package/dist/esm/clients/generic/sqs-unbundle.d.ts +32 -32
  512. package/dist/esm/clients/generic/sqs-unbundle.js +137 -137
  513. package/dist/esm/clients/index.d.ts +3 -3
  514. package/dist/esm/clients/index.js +3 -3
  515. package/dist/esm/clients/internal-api/accounts-client.d.ts +91 -91
  516. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  517. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +26 -26
  518. package/dist/esm/clients/internal-api/cache-lambda-client.js +85 -85
  519. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  520. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  521. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  522. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  523. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  524. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  525. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  526. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  527. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  528. package/dist/esm/clients/internal-api/index.js +9 -9
  529. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  530. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  531. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  532. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  533. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  534. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  535. package/dist/esm/clients/third-party/acuity-client.d.ts +10 -10
  536. package/dist/esm/clients/third-party/acuity-client.js +36 -36
  537. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  538. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  539. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  540. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  541. package/dist/esm/clients/third-party/index.d.ts +5 -5
  542. package/dist/esm/clients/third-party/index.js +5 -5
  543. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  544. package/dist/esm/clients/third-party/loops-client.js +26 -26
  545. package/dist/esm/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  546. package/dist/esm/clients/third-party/shopify/graphql-order-queries.js +1 -1
  547. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  548. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  549. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  550. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +157 -157
  551. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  552. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  553. package/dist/esm/constants/index.d.ts +1 -1
  554. package/dist/esm/constants/index.js +1 -1
  555. package/dist/esm/constants/sqs.d.ts +20 -20
  556. package/dist/esm/constants/sqs.js +22 -22
  557. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  558. package/dist/esm/helpers/account-users-helper.js +18 -18
  559. package/dist/esm/helpers/acuity-helper.d.ts +4 -4
  560. package/dist/esm/helpers/acuity-helper.js +51 -51
  561. package/dist/esm/helpers/api-key-auth-helper.d.ts +9 -9
  562. package/dist/esm/helpers/api-key-auth-helper.js +35 -35
  563. package/dist/esm/helpers/api-key-authorizer-helper.d.ts +36 -36
  564. package/dist/esm/helpers/api-key-authorizer-helper.js +83 -83
  565. package/dist/esm/helpers/identity-cache-helper.d.ts +30 -30
  566. package/dist/esm/helpers/identity-cache-helper.js +248 -248
  567. package/dist/esm/helpers/index.d.ts +10 -10
  568. package/dist/esm/helpers/index.js +10 -10
  569. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  570. package/dist/esm/helpers/input-validation-helper.js +18 -18
  571. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  572. package/dist/esm/helpers/logging-helper.js +56 -56
  573. package/dist/esm/helpers/response-helper.d.ts +18 -18
  574. package/dist/esm/helpers/response-helper.js +37 -37
  575. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  576. package/dist/esm/helpers/shopify-helper.js +21 -21
  577. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  578. package/dist/esm/helpers/sqs-utils.js +9 -9
  579. package/dist/esm/index.d.ts +7 -7
  580. package/dist/esm/index.js +7 -7
  581. package/dist/esm/libs/api-router/index.d.ts +2 -2
  582. package/dist/esm/libs/api-router/index.js +2 -2
  583. package/dist/esm/libs/api-router/public-api-router.d.ts +3 -3
  584. package/dist/esm/libs/api-router/public-api-router.js +32 -32
  585. package/dist/esm/libs/api-router/route-matcher.d.ts +21 -21
  586. package/dist/esm/libs/api-router/route-matcher.js +30 -30
  587. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  588. package/dist/esm/libs/click-id-parser.js +45 -45
  589. package/dist/esm/libs/compression.d.ts +2 -2
  590. package/dist/esm/libs/compression.js +25 -25
  591. package/dist/esm/libs/contacts.d.ts +7 -7
  592. package/dist/esm/libs/contacts.js +143 -143
  593. package/dist/esm/libs/cookie.d.ts +17 -17
  594. package/dist/esm/libs/cookie.js +70 -70
  595. package/dist/esm/libs/crypto.d.ts +4 -4
  596. package/dist/esm/libs/crypto.js +15 -15
  597. package/dist/esm/libs/csv.d.ts +2 -2
  598. package/dist/esm/libs/csv.js +30 -30
  599. package/dist/esm/libs/currency.d.ts +1 -1
  600. package/dist/esm/libs/currency.js +22 -22
  601. package/dist/esm/libs/dates.d.ts +12 -12
  602. package/dist/esm/libs/dates.js +83 -83
  603. package/dist/esm/libs/domain.d.ts +2 -2
  604. package/dist/esm/libs/domain.js +33 -33
  605. package/dist/esm/libs/emails.d.ts +8 -8
  606. package/dist/esm/libs/emails.js +146 -146
  607. package/dist/esm/libs/http-error.d.ts +21 -21
  608. package/dist/esm/libs/http-error.js +59 -59
  609. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  610. package/dist/esm/libs/http-status-codes.js +59 -59
  611. package/dist/esm/libs/index.d.ts +19 -19
  612. package/dist/esm/libs/index.js +19 -19
  613. package/dist/esm/libs/numbers.d.ts +1 -1
  614. package/dist/esm/libs/numbers.js +11 -11
  615. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  616. package/dist/esm/libs/referrer-parser/index.js +2 -2
  617. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  618. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  619. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  620. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  621. package/dist/esm/libs/strings.d.ts +3 -3
  622. package/dist/esm/libs/strings.js +40 -40
  623. package/dist/esm/libs/traits.d.ts +6 -6
  624. package/dist/esm/libs/traits.js +54 -54
  625. package/dist/esm/libs/url.d.ts +1 -1
  626. package/dist/esm/libs/url.js +9 -9
  627. package/dist/esm/services/acuity-api-service.d.ts +9 -9
  628. package/dist/esm/services/acuity-api-service.js +69 -69
  629. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  630. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  631. package/dist/esm/services/cache/index.d.ts +1 -1
  632. package/dist/esm/services/cache/index.js +1 -1
  633. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  634. package/dist/esm/services/cache/product-cache-service.js +68 -68
  635. package/dist/esm/services/cost/cost-calculation-types.d.ts +69 -69
  636. package/dist/esm/services/cost/cost-calculation-types.js +15 -15
  637. package/dist/esm/services/cost/cost-calculator-service.d.ts +24 -24
  638. package/dist/esm/services/cost/cost-calculator-service.js +450 -450
  639. package/dist/esm/services/cost/cost-currency-service.d.ts +6 -6
  640. package/dist/esm/services/cost/cost-currency-service.js +84 -84
  641. package/dist/esm/services/cost/cost-filter-service.d.ts +10 -10
  642. package/dist/esm/services/cost/cost-filter-service.js +118 -118
  643. package/dist/esm/services/cost/index.d.ts +5 -5
  644. package/dist/esm/services/cost/index.js +5 -5
  645. package/dist/esm/services/cost/order-cost/index.d.ts +2 -2
  646. package/dist/esm/services/cost/order-cost/index.js +2 -2
  647. package/dist/esm/services/cost/order-cost/order-cost-resolution-service.d.ts +23 -23
  648. package/dist/esm/services/cost/order-cost/order-cost-resolution-service.js +355 -355
  649. package/dist/esm/services/cost/order-cost/order-cost-resolution-types.d.ts +37 -37
  650. package/dist/esm/services/cost/order-cost/order-cost-resolution-types.js +1 -1
  651. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +12 -12
  652. package/dist/esm/services/currency-exchange-rate-lookup-service.js +90 -90
  653. package/dist/esm/services/db/accounts-db-service.d.ts +9 -9
  654. package/dist/esm/services/db/accounts-db-service.js +29 -29
  655. package/dist/esm/services/db/api-keys-db-service.d.ts +10 -10
  656. package/dist/esm/services/db/api-keys-db-service.js +32 -32
  657. package/dist/esm/services/db/contact-enrichments-db-service.d.ts +15 -15
  658. package/dist/esm/services/db/contact-enrichments-db-service.js +90 -90
  659. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  660. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  661. package/dist/esm/services/db/custom-measures-db-service.d.ts +14 -14
  662. package/dist/esm/services/db/custom-measures-db-service.js +44 -44
  663. package/dist/esm/services/db/destinations-db-service.d.ts +13 -13
  664. package/dist/esm/services/db/destinations-db-service.js +70 -70
  665. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  666. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  667. package/dist/esm/services/db/identity-cache-dynamodb-service/constants.d.ts +3 -0
  668. package/dist/esm/services/db/identity-cache-dynamodb-service/constants.js +4 -0
  669. package/dist/esm/services/db/identity-cache-dynamodb-service/constants.js.map +1 -0
  670. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.d.ts +14 -0
  671. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js +234 -0
  672. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js.map +1 -0
  673. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +24 -0
  674. package/dist/esm/services/db/{identity-cache-dynamodb-service.js → identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js} +606 -728
  675. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -0
  676. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +22 -0
  677. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +368 -0
  678. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -0
  679. package/dist/esm/services/db/identity-cache-dynamodb-service/index.d.ts +4 -0
  680. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js +5 -0
  681. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js.map +1 -0
  682. package/dist/esm/services/db/identity-cache-dynamodb-service/key-builders.d.ts +12 -0
  683. package/dist/esm/services/db/identity-cache-dynamodb-service/key-builders.js +24 -0
  684. package/dist/esm/services/db/identity-cache-dynamodb-service/key-builders.js.map +1 -0
  685. package/dist/esm/services/db/identity-cache-dynamodb-service/types.d.ts +205 -0
  686. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js +32 -0
  687. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js.map +1 -0
  688. package/dist/esm/services/db/index.d.ts +22 -19
  689. package/dist/esm/services/db/index.js +22 -19
  690. package/dist/esm/services/db/index.js.map +1 -1
  691. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  692. package/dist/esm/services/db/log-events-db-service.js +177 -177
  693. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  694. package/dist/esm/services/db/pixels-db-service.js +31 -31
  695. package/dist/esm/services/db/products-db-service-types.d.ts +10 -10
  696. package/dist/esm/services/db/products-db-service-types.js +1 -1
  697. package/dist/esm/services/db/products-db-service.d.ts +19 -19
  698. package/dist/esm/services/db/products-db-service.js +277 -277
  699. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  700. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  701. package/dist/esm/services/db/purchased-contacts/index.d.ts +2 -2
  702. package/dist/esm/services/db/purchased-contacts/index.js +2 -2
  703. package/dist/esm/services/db/purchased-contacts/purchased-contacts-db-service.d.ts +18 -18
  704. package/dist/esm/services/db/purchased-contacts/purchased-contacts-db-service.js +148 -148
  705. package/dist/esm/services/db/purchased-contacts/types.d.ts +11 -11
  706. package/dist/esm/services/db/purchased-contacts/types.js +1 -1
  707. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +10 -10
  708. package/dist/esm/services/db/shopify-app-installs-db-service.js +48 -48
  709. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  710. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  711. package/dist/esm/services/db/subscriptions-db-service.d.ts +11 -11
  712. package/dist/esm/services/db/subscriptions-db-service.js +34 -34
  713. package/dist/esm/services/db/tracking-events-db-service.d.ts +21 -21
  714. package/dist/esm/services/db/tracking-events-db-service.js +184 -184
  715. package/dist/esm/services/db/user-accounts-db-service.d.ts +7 -7
  716. package/dist/esm/services/db/user-accounts-db-service.js +13 -13
  717. package/dist/esm/services/email-verification/contact-email-verification-service.d.ts +7 -7
  718. package/dist/esm/services/email-verification/contact-email-verification-service.js +97 -97
  719. package/dist/esm/services/email-verification/email-verification-service.d.ts +19 -19
  720. package/dist/esm/services/email-verification/email-verification-service.js +127 -127
  721. package/dist/esm/services/email-verification/index.d.ts +2 -2
  722. package/dist/esm/services/email-verification/index.js +2 -2
  723. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  724. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  725. package/dist/esm/services/events/index.d.ts +3 -3
  726. package/dist/esm/services/events/index.js +3 -3
  727. package/dist/esm/services/events/log-event-service.d.ts +19 -19
  728. package/dist/esm/services/events/log-event-service.js +73 -73
  729. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  730. package/dist/esm/services/events/metric-event-service.js +45 -45
  731. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  732. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  733. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  734. package/dist/esm/services/generic-cache-service.js +29 -29
  735. package/dist/esm/services/index.d.ts +11 -11
  736. package/dist/esm/services/index.js +11 -11
  737. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  738. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  739. package/dist/esm/services/shopify/index.d.ts +2 -2
  740. package/dist/esm/services/shopify/index.js +2 -2
  741. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  742. package/dist/esm/services/shopify/products/index.js +1 -1
  743. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  744. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
  745. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  746. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  747. package/dist/esm/types/acuity-types.d.ts +74 -74
  748. package/dist/esm/types/acuity-types.js +1 -1
  749. package/dist/esm/types/api-response.d.ts +6 -6
  750. package/dist/esm/types/api-response.js +1 -1
  751. package/dist/esm/types/index.d.ts +4 -4
  752. package/dist/esm/types/index.js +4 -4
  753. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  754. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  755. package/dist/esm/types/internal-events/index.d.ts +1 -1
  756. package/dist/esm/types/internal-events/index.js +1 -1
  757. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  758. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  759. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  760. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  761. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  762. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  763. package/dist/esm/types/shopify-rest-types.d.ts +767 -767
  764. package/dist/esm/types/shopify-rest-types.js +1 -1
  765. package/dist/esm/utils/compression.d.ts +36 -36
  766. package/dist/esm/utils/compression.js +187 -187
  767. package/dist/esm/utils/custom-measure-formula-utils.d.ts +6 -6
  768. package/dist/esm/utils/custom-measure-formula-utils.js +201 -201
  769. package/dist/esm/utils/index.d.ts +4 -4
  770. package/dist/esm/utils/index.js +4 -4
  771. package/dist/esm/utils/retry-envelope.d.ts +12 -12
  772. package/dist/esm/utils/retry-envelope.js +22 -22
  773. package/dist/esm/utils/size.d.ts +2 -2
  774. package/dist/esm/utils/size.js +44 -44
  775. package/package.json +135 -134
  776. package/dist/cjs/services/db/identity-cache-dynamodb-service.d.ts +0 -44
  777. package/dist/cjs/services/db/identity-cache-dynamodb-service.js.map +0 -1
  778. package/dist/esm/services/db/identity-cache-dynamodb-service.d.ts +0 -44
  779. package/dist/esm/services/db/identity-cache-dynamodb-service.js.map +0 -1
@@ -0,0 +1,567 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mockInvokeFunction = jest.fn();
4
+ const mockBuildAndSendMessage = jest.fn();
5
+ const mockSQSClientConstructor = jest.fn();
6
+ jest.mock('../../clients/index.js', () => ({
7
+ DynamoDbClient: {
8
+ safeGet: jest.fn(),
9
+ safePut: jest.fn(),
10
+ safeDelete: jest.fn(),
11
+ safeBatchGet: jest.fn(),
12
+ safeBatchWrite: jest.fn(),
13
+ safeQueryByGSI: jest.fn(),
14
+ batchWrite: jest.fn(),
15
+ },
16
+ LambdaInvokeClient: jest.fn().mockImplementation(() => ({
17
+ invokeFunction: mockInvokeFunction,
18
+ })),
19
+ SQSClient: jest.fn().mockImplementation((_region, _accountId, _queueName) => {
20
+ mockSQSClientConstructor(_region, _accountId, _queueName);
21
+ return {
22
+ buildAndSendMessage: mockBuildAndSendMessage,
23
+ queueUrl: `https://sqs.${_region}.amazonaws.com/${_accountId}/${_queueName}`,
24
+ };
25
+ }),
26
+ }));
27
+ jest.mock('../../helpers/index.js', () => ({
28
+ Logger: {
29
+ debug: jest.fn(),
30
+ info: jest.fn(),
31
+ warn: jest.fn(),
32
+ error: jest.fn(),
33
+ },
34
+ }));
35
+ const identity_gateway_service_js_1 = require("../../services/db/identity-cache-dynamodb-service/identity-gateway-service.js");
36
+ const types_js_1 = require("../../services/db/identity-cache-dynamodb-service/types.js");
37
+ const index_js_1 = require("../../clients/index.js");
38
+ const index_js_2 = require("../../helpers/index.js");
39
+ const mockedDynamoDbClient = index_js_1.DynamoDbClient;
40
+ const mockedLogger = index_js_2.Logger;
41
+ const mockedSQSClient = index_js_1.SQSClient;
42
+ describe('IdentityGatewayService new features', () => {
43
+ const pixelId = 'pixel123';
44
+ const lambdaArn = 'arn:aws:lambda:us-east-1:123456789:function:identity-private';
45
+ beforeEach(() => {
46
+ jest.clearAllMocks();
47
+ mockedDynamoDbClient.safeGet.mockReset();
48
+ mockedDynamoDbClient.safePut.mockReset();
49
+ mockedDynamoDbClient.safeDelete.mockReset();
50
+ mockedDynamoDbClient.safeBatchGet.mockReset();
51
+ mockedDynamoDbClient.safeBatchWrite.mockReset();
52
+ mockedDynamoDbClient.safeQueryByGSI.mockReset();
53
+ mockedDynamoDbClient.batchWrite.mockReset();
54
+ mockInvokeFunction.mockReset();
55
+ mockBuildAndSendMessage.mockReset();
56
+ mockSQSClientConstructor.mockReset();
57
+ mockedSQSClient.mockClear();
58
+ identity_gateway_service_js_1.IdentityGatewayService.lambdaInvokeClient = undefined;
59
+ identity_gateway_service_js_1.IdentityGatewayService.sqsClient = undefined;
60
+ identity_gateway_service_js_1.IdentityGatewayService.sqsQueueUrl = undefined;
61
+ });
62
+ describe('configure()', () => {
63
+ it('should configure with direct queue URL', () => {
64
+ const options = {
65
+ asyncUpdateQueueUrl: 'https://sqs.us-east-1.amazonaws.com/123456789/test-queue',
66
+ };
67
+ identity_gateway_service_js_1.IdentityGatewayService.configure(options);
68
+ expect(identity_gateway_service_js_1.IdentityGatewayService.sqsQueueUrl).toBe(options.asyncUpdateQueueUrl);
69
+ });
70
+ it('should configure with region/accountId/queueName', () => {
71
+ const options = {
72
+ awsRegion: 'us-east-1',
73
+ awsAccountId: '123456789',
74
+ asyncUpdateQueueName: 'identity-async-queue',
75
+ };
76
+ identity_gateway_service_js_1.IdentityGatewayService.configure(options);
77
+ expect(mockSQSClientConstructor).toHaveBeenCalledWith('us-east-1', '123456789', 'identity-async-queue');
78
+ expect(identity_gateway_service_js_1.IdentityGatewayService.sqsClient).toBeDefined();
79
+ expect(identity_gateway_service_js_1.IdentityGatewayService.sqsQueueUrl).toBeDefined();
80
+ });
81
+ it('should fallback to environment variable for queue name', () => {
82
+ const originalEnv = process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME;
83
+ process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME = 'env-queue-name';
84
+ try {
85
+ const options = {
86
+ awsRegion: 'us-west-2',
87
+ awsAccountId: '987654321',
88
+ };
89
+ identity_gateway_service_js_1.IdentityGatewayService.configure(options);
90
+ expect(mockSQSClientConstructor).toHaveBeenCalledWith('us-west-2', '987654321', 'env-queue-name');
91
+ }
92
+ finally {
93
+ if (originalEnv !== undefined) {
94
+ process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME = originalEnv;
95
+ }
96
+ else {
97
+ delete process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME;
98
+ }
99
+ }
100
+ });
101
+ it('should not configure SQS when region/accountId provided but no queue name', () => {
102
+ const originalEnv = process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME;
103
+ delete process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME;
104
+ try {
105
+ const options = {
106
+ awsRegion: 'us-east-1',
107
+ awsAccountId: '123456789',
108
+ };
109
+ identity_gateway_service_js_1.IdentityGatewayService.configure(options);
110
+ expect(mockSQSClientConstructor).not.toHaveBeenCalled();
111
+ expect(identity_gateway_service_js_1.IdentityGatewayService.sqsClient).toBeUndefined();
112
+ }
113
+ finally {
114
+ if (originalEnv !== undefined) {
115
+ process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME = originalEnv;
116
+ }
117
+ }
118
+ });
119
+ it('should not configure SQS when only region provided', () => {
120
+ const options = {
121
+ awsRegion: 'us-east-1',
122
+ };
123
+ identity_gateway_service_js_1.IdentityGatewayService.configure(options);
124
+ expect(mockSQSClientConstructor).not.toHaveBeenCalled();
125
+ expect(identity_gateway_service_js_1.IdentityGatewayService.sqsClient).toBeUndefined();
126
+ });
127
+ });
128
+ describe('enqueueAsyncIdentityUpdate()', () => {
129
+ const testIdentity = {
130
+ identityId: 'identity456',
131
+ traits: { emails: ['test@email.com'] },
132
+ };
133
+ const testContext = {
134
+ identity: testIdentity,
135
+ };
136
+ it('should return error result when SQS client is not configured', async () => {
137
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.enqueueAsyncIdentityUpdate({
138
+ pixelId,
139
+ identity: testIdentity,
140
+ context: testContext,
141
+ reason: 'test reason',
142
+ eventId: 'event123',
143
+ });
144
+ expect(result.success).toBe(false);
145
+ expect(result.error).toBe('SQS client not configured');
146
+ expect(result.messageId).toBeUndefined();
147
+ expect(mockedLogger.warn).toHaveBeenCalledWith('IdentityGateway - enqueueAsyncIdentityUpdate: SQS client not configured', expect.objectContaining({
148
+ pixelId,
149
+ identityId: testIdentity.identityId,
150
+ reason: 'test reason',
151
+ eventId: 'event123',
152
+ }));
153
+ });
154
+ it('should successfully enqueue message when SQS client is configured', async () => {
155
+ identity_gateway_service_js_1.IdentityGatewayService.configure({
156
+ awsRegion: 'us-east-1',
157
+ awsAccountId: '123456789',
158
+ asyncUpdateQueueName: 'test-queue',
159
+ });
160
+ mockBuildAndSendMessage.mockResolvedValueOnce({
161
+ MessageId: 'sqs-message-id-123',
162
+ });
163
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.enqueueAsyncIdentityUpdate({
164
+ pixelId,
165
+ identity: testIdentity,
166
+ context: testContext,
167
+ reason: 'stale cache traits',
168
+ eventId: 'event456',
169
+ });
170
+ expect(result.success).toBe(true);
171
+ expect(result.messageId).toBe('sqs-message-id-123');
172
+ expect(result.error).toBeUndefined();
173
+ expect(mockBuildAndSendMessage).toHaveBeenCalledWith('identify.updateAsync', expect.objectContaining({
174
+ pixelId,
175
+ incomingIdentityId: testIdentity.identityId,
176
+ context: testContext,
177
+ }));
178
+ expect(mockedLogger.debug).toHaveBeenCalledWith('IdentityGateway - enqueueAsyncIdentityUpdate: message sent', expect.objectContaining({
179
+ pixelId,
180
+ identityId: testIdentity.identityId,
181
+ reason: 'stale cache traits',
182
+ eventId: 'event456',
183
+ sqsMessageId: 'sqs-message-id-123',
184
+ }));
185
+ });
186
+ it('should fail open with logging when SQS send fails', async () => {
187
+ identity_gateway_service_js_1.IdentityGatewayService.configure({
188
+ awsRegion: 'us-east-1',
189
+ awsAccountId: '123456789',
190
+ asyncUpdateQueueName: 'test-queue',
191
+ });
192
+ mockBuildAndSendMessage.mockRejectedValueOnce(new Error('SQS send failed'));
193
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.enqueueAsyncIdentityUpdate({
194
+ pixelId,
195
+ identity: testIdentity,
196
+ context: testContext,
197
+ reason: 'test reason',
198
+ eventId: 'event789',
199
+ });
200
+ expect(result.success).toBe(false);
201
+ expect(result.error).toBe('SQS send failed');
202
+ expect(result.messageId).toBeUndefined();
203
+ expect(mockedLogger.warn).toHaveBeenCalledWith('IdentityGateway - enqueueAsyncIdentityUpdate: failed to enqueue (failing open)', expect.objectContaining({
204
+ error: expect.any(Error),
205
+ errorMessage: 'SQS send failed',
206
+ pixelId,
207
+ identityId: testIdentity.identityId,
208
+ reason: 'test reason',
209
+ eventId: 'event789',
210
+ }));
211
+ });
212
+ it('should build message shape matching IdentifyAsyncUpdateMessage interface', async () => {
213
+ identity_gateway_service_js_1.IdentityGatewayService.configure({
214
+ awsRegion: 'us-east-1',
215
+ awsAccountId: '123456789',
216
+ asyncUpdateQueueName: 'test-queue',
217
+ });
218
+ mockBuildAndSendMessage.mockResolvedValueOnce({ MessageId: 'test-id' });
219
+ const identity = {
220
+ identityId: 'id-xyz',
221
+ traits: { emails: ['user@example.com'], userIds: ['user-1'] },
222
+ };
223
+ const context = { identity };
224
+ await identity_gateway_service_js_1.IdentityGatewayService.enqueueAsyncIdentityUpdate({
225
+ pixelId: 'pixel-abc',
226
+ identity,
227
+ context,
228
+ reason: 'test',
229
+ });
230
+ const messageArg = mockBuildAndSendMessage.mock.calls[0][1];
231
+ expect(messageArg).toEqual({
232
+ pixelId: 'pixel-abc',
233
+ incomingIdentityId: 'id-xyz',
234
+ context,
235
+ });
236
+ });
237
+ it('should return error when identity has no identityId', async () => {
238
+ identity_gateway_service_js_1.IdentityGatewayService.configure({
239
+ awsRegion: 'us-east-1',
240
+ awsAccountId: '123456789',
241
+ asyncUpdateQueueName: 'test-queue',
242
+ });
243
+ const identityWithoutId = {
244
+ traits: { emails: ['anon@example.com'] },
245
+ };
246
+ const context = { identity: identityWithoutId };
247
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.enqueueAsyncIdentityUpdate({
248
+ pixelId,
249
+ identity: identityWithoutId,
250
+ context,
251
+ reason: 'anonymous identity',
252
+ });
253
+ expect(result.success).toBe(false);
254
+ expect(result.error).toBe('Missing required pixelId or identityId');
255
+ expect(mockBuildAndSendMessage).not.toHaveBeenCalled();
256
+ });
257
+ it('should handle optional eventId parameter', async () => {
258
+ identity_gateway_service_js_1.IdentityGatewayService.configure({
259
+ awsRegion: 'us-east-1',
260
+ awsAccountId: '123456789',
261
+ asyncUpdateQueueName: 'test-queue',
262
+ });
263
+ mockBuildAndSendMessage.mockResolvedValueOnce({ MessageId: 'test-id' });
264
+ await identity_gateway_service_js_1.IdentityGatewayService.enqueueAsyncIdentityUpdate({
265
+ pixelId,
266
+ identity: testIdentity,
267
+ context: testContext,
268
+ reason: 'test',
269
+ });
270
+ expect(mockedLogger.debug).toHaveBeenCalledWith('IdentityGateway - enqueueAsyncIdentityUpdate: message sent', expect.objectContaining({
271
+ eventId: undefined,
272
+ }));
273
+ });
274
+ });
275
+ describe('getIdentityWithCachingV2() with skipCacheWrite option', () => {
276
+ const incomingIdentity = {
277
+ identityId: 'identity456',
278
+ traits: { emails: ['test@email.com'] },
279
+ };
280
+ describe('default behavior (no options)', () => {
281
+ it('should write to cache when Neptune returns new identity', async () => {
282
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
283
+ mockInvokeFunction.mockResolvedValueOnce({
284
+ statusCode: 200,
285
+ body: JSON.stringify({
286
+ identity: {
287
+ identityId: 'resolved-identity',
288
+ traits: { emails: ['test@email.com', 'resolved@email.com'] },
289
+ },
290
+ }),
291
+ });
292
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
293
+ expect(result.summary.didWriteCache).toBe(true);
294
+ expect(mockedDynamoDbClient.safeBatchWrite).toHaveBeenCalled();
295
+ });
296
+ });
297
+ describe('skipCacheWrite: false', () => {
298
+ it('should write to cache (same as default)', async () => {
299
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
300
+ mockInvokeFunction.mockResolvedValueOnce({
301
+ statusCode: 200,
302
+ body: JSON.stringify({
303
+ identity: {
304
+ identityId: 'resolved-identity',
305
+ traits: { emails: ['test@email.com'] },
306
+ },
307
+ }),
308
+ });
309
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn, { skipCacheWrite: false });
310
+ expect(result.summary.didWriteCache).toBe(true);
311
+ expect(mockedDynamoDbClient.safeBatchWrite).toHaveBeenCalled();
312
+ });
313
+ });
314
+ describe('skipCacheWrite: true', () => {
315
+ it('should NOT write to cache on Neptune write-back path', async () => {
316
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
317
+ mockInvokeFunction.mockResolvedValueOnce({
318
+ statusCode: 200,
319
+ body: JSON.stringify({
320
+ identity: {
321
+ identityId: 'resolved-identity',
322
+ traits: { emails: ['test@email.com', 'resolved@email.com'] },
323
+ },
324
+ }),
325
+ });
326
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn, { skipCacheWrite: true });
327
+ expect(result.identity?.identityId).toBe('resolved-identity');
328
+ expect(result.summary.didWriteCache).toBe(false);
329
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_WRITE_BACK);
330
+ expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
331
+ });
332
+ it('should NOT write to cache on address update path', async () => {
333
+ const cachedResponse = {
334
+ pk: `identity#${pixelId}#identity456`,
335
+ pixelId,
336
+ identityId: 'identity456',
337
+ response: {
338
+ identityId: 'identity456',
339
+ traits: {
340
+ emails: ['test@email.com'],
341
+ addresses: [{ city: 'Old City', upa: 1704067200000 }],
342
+ },
343
+ },
344
+ updatedAt: new Date().toISOString(),
345
+ };
346
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
347
+ const identityWithNewAddress = {
348
+ identityId: 'identity456',
349
+ traits: {
350
+ emails: ['test@email.com'],
351
+ addresses: [{ city: 'New City', upa: 1717200000000 }],
352
+ },
353
+ };
354
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, identityWithNewAddress, lambdaArn, { skipCacheWrite: true });
355
+ if (result.summary.outcome === types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.ADDRESS_UPDATE_WRITE) {
356
+ expect(result.summary.didWriteCache).toBe(false);
357
+ expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
358
+ }
359
+ });
360
+ it('should still return resolved identity when skipCacheWrite is true', async () => {
361
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
362
+ mockInvokeFunction.mockResolvedValueOnce({
363
+ statusCode: 200,
364
+ body: JSON.stringify({
365
+ identity: {
366
+ identityId: 'neptune-resolved-id',
367
+ traits: { emails: ['test@email.com', 'new@email.com'] },
368
+ },
369
+ }),
370
+ });
371
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn, { skipCacheWrite: true });
372
+ expect(result.identity).toBeDefined();
373
+ expect(result.identity?.identityId).toBe('neptune-resolved-id');
374
+ expect(result.identity?.traits?.emails).toContain('new@email.com');
375
+ });
376
+ it('should return fresh cache hit without writing (skipCacheWrite irrelevant for hits)', async () => {
377
+ const cachedResponse = {
378
+ pk: `identity#${pixelId}#identity456`,
379
+ pixelId,
380
+ identityId: 'identity456',
381
+ response: {
382
+ identityId: 'identity456',
383
+ traits: { emails: ['test@email.com'] },
384
+ },
385
+ updatedAt: new Date().toISOString(),
386
+ };
387
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
388
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn, { skipCacheWrite: true });
389
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.FRESH_CACHE_HIT);
390
+ expect(result.summary.didWriteCache).toBe(false);
391
+ expect(mockInvokeFunction).not.toHaveBeenCalled();
392
+ expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
393
+ });
394
+ });
395
+ describe('address update path with skipCacheWrite', () => {
396
+ it('should write cache when skipCacheWrite is false and address update triggers write', async () => {
397
+ const cachedResponse = {
398
+ pk: `identity#${pixelId}#identity456`,
399
+ pixelId,
400
+ identityId: 'identity456',
401
+ response: {
402
+ identityId: 'identity456',
403
+ traits: {
404
+ emails: ['test@email.com'],
405
+ addresses: [{ city: 'Old City', upa: 1704067200000 }],
406
+ },
407
+ },
408
+ updatedAt: new Date().toISOString(),
409
+ };
410
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
411
+ const identityWithNewAddress = {
412
+ identityId: 'identity456',
413
+ traits: {
414
+ emails: ['test@email.com'],
415
+ addresses: [{ city: 'New City', upa: 1717200000000 }],
416
+ },
417
+ };
418
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, identityWithNewAddress, lambdaArn, { skipCacheWrite: false });
419
+ if (result.summary.outcome === types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.ADDRESS_UPDATE_WRITE) {
420
+ expect(result.summary.didWriteCache).toBe(true);
421
+ expect(mockedDynamoDbClient.safeBatchWrite).toHaveBeenCalled();
422
+ }
423
+ });
424
+ });
425
+ });
426
+ describe('edge cases', () => {
427
+ it('should return invalid input when pixelId is undefined', async () => {
428
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(undefined, { identityId: 'test' }, lambdaArn);
429
+ expect(result.identity).toBeUndefined();
430
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.INVALID_INPUT);
431
+ expect(result.summary.didReadCache).toBe(false);
432
+ expect(result.summary.didWriteCache).toBe(false);
433
+ });
434
+ it('should return invalid input when incomingIdentity is null', async () => {
435
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, null, lambdaArn);
436
+ expect(result.identity).toBeUndefined();
437
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.INVALID_INPUT);
438
+ });
439
+ it('should return invalid input when both pixelId and identity are missing', async () => {
440
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2('', undefined, lambdaArn);
441
+ expect(result.identity).toBeUndefined();
442
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.INVALID_INPUT);
443
+ });
444
+ it('should gracefully fallback when cache read fails (fail-open pattern)', async () => {
445
+ mockedDynamoDbClient.safeGet.mockRejectedValueOnce(new Error('Unexpected DynamoDB error'));
446
+ mockInvokeFunction.mockResolvedValueOnce({
447
+ statusCode: 200,
448
+ body: JSON.stringify({
449
+ identity: {
450
+ identityId: 'neptune-resolved',
451
+ traits: { emails: ['test@email.com'] },
452
+ },
453
+ }),
454
+ });
455
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, { identityId: 'test-id', traits: { emails: ['test@email.com'] } }, lambdaArn);
456
+ expect(result.identity).toBeDefined();
457
+ expect(result.identity?.identityId).toBe('neptune-resolved');
458
+ expect(result.summary.didReadCache).toBe(true);
459
+ expect(result.summary.didCallNeptune).toBe(true);
460
+ });
461
+ it('should reject identity with undefined identityId in enqueue', async () => {
462
+ identity_gateway_service_js_1.IdentityGatewayService.configure({
463
+ awsRegion: 'us-east-1',
464
+ awsAccountId: '123456789',
465
+ asyncUpdateQueueName: 'test-queue',
466
+ });
467
+ const identity = { traits: { emails: ['test@email.com'] } };
468
+ const context = { identity };
469
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.enqueueAsyncIdentityUpdate({
470
+ pixelId,
471
+ identity,
472
+ context,
473
+ reason: 'anonymous user',
474
+ });
475
+ expect(result.success).toBe(false);
476
+ expect(result.error).toBe('Missing required pixelId or identityId');
477
+ expect(mockBuildAndSendMessage).not.toHaveBeenCalled();
478
+ expect(mockedLogger.warn).toHaveBeenCalledWith('IdentityGateway - enqueueAsyncIdentityUpdate: missing required params', expect.objectContaining({
479
+ pixelId,
480
+ identityId: undefined,
481
+ }));
482
+ });
483
+ });
484
+ describe('safeWriteBackToCache behavior with skipCacheWrite', () => {
485
+ it('should not call safeWriteBackToCache when skipCacheWrite is true and Neptune returns new identity', async () => {
486
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
487
+ mockInvokeFunction.mockResolvedValueOnce({
488
+ statusCode: 200,
489
+ body: JSON.stringify({
490
+ identity: {
491
+ identityId: 'new-resolved-identity',
492
+ traits: { emails: ['test@email.com'] },
493
+ },
494
+ }),
495
+ });
496
+ await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, { identityId: 'original-id', traits: { emails: ['test@email.com'] } }, lambdaArn, { skipCacheWrite: true });
497
+ expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
498
+ });
499
+ it('should call safeWriteBackToCache when skipCacheWrite is false and Neptune returns new identity', async () => {
500
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
501
+ mockInvokeFunction.mockResolvedValueOnce({
502
+ statusCode: 200,
503
+ body: JSON.stringify({
504
+ identity: {
505
+ identityId: 'new-resolved-identity',
506
+ traits: { emails: ['test@email.com'] },
507
+ },
508
+ }),
509
+ });
510
+ await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, { identityId: 'original-id', traits: { emails: ['test@email.com'] } }, lambdaArn, { skipCacheWrite: false });
511
+ expect(mockedDynamoDbClient.safeBatchWrite).toHaveBeenCalled();
512
+ });
513
+ });
514
+ describe('summary fields consistency', () => {
515
+ it('should include all required summary fields in getIdentityWithCachingV2 result', async () => {
516
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
517
+ mockInvokeFunction.mockResolvedValueOnce({
518
+ statusCode: 200,
519
+ body: JSON.stringify({
520
+ identity: {
521
+ identityId: 'resolved-id',
522
+ traits: { emails: ['test@email.com'] },
523
+ },
524
+ }),
525
+ });
526
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, { identityId: 'incoming-id', traits: { emails: ['test@email.com'] } }, lambdaArn, { skipCacheWrite: true });
527
+ expect(result.summary).toEqual(expect.objectContaining({
528
+ outcome: expect.any(String),
529
+ pixelId,
530
+ identityId: 'resolved-id',
531
+ didReadCache: true,
532
+ didCallNeptune: true,
533
+ didWriteCache: false,
534
+ didSkipNeptune: false,
535
+ didFallbackToIncoming: false,
536
+ staleTraits: expect.any(Array),
537
+ }));
538
+ });
539
+ it('should include traitChanges in summary when identity changes', async () => {
540
+ const cachedResponse = {
541
+ pk: `identity#${pixelId}#identity456`,
542
+ pixelId,
543
+ identityId: 'identity456',
544
+ response: {
545
+ identityId: 'identity456',
546
+ traits: { emails: ['old@email.com'] },
547
+ },
548
+ updatedAt: new Date().toISOString(),
549
+ };
550
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
551
+ mockInvokeFunction.mockResolvedValueOnce({
552
+ statusCode: 200,
553
+ body: JSON.stringify({
554
+ identity: {
555
+ identityId: 'identity456',
556
+ traits: { emails: ['old@email.com', 'new@email.com'] },
557
+ },
558
+ }),
559
+ });
560
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, { identityId: 'identity456', traits: { emails: ['old@email.com', 'new@email.com'] } }, lambdaArn);
561
+ if (result.summary.outcome === types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_WRITE_BACK) {
562
+ expect(result.summary.traitChanges).toBeDefined();
563
+ }
564
+ });
565
+ });
566
+ });
567
+ //# sourceMappingURL=identity-gateway-service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-gateway-service.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-gateway-service.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export {};
1
+ export {};