@adtrackify/at-service-common 4.0.5 → 4.0.7

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 (79) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.d.ts +1 -0
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js +646 -0
  3. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js.map +1 -0
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.d.ts +1 -0
  5. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +327 -0
  6. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +1 -0
  7. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +277 -131
  8. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +1 -1
  9. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js +74 -80
  10. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  11. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.d.ts +1 -0
  12. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js +567 -0
  13. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js.map +1 -0
  14. package/dist/cjs/services/db/identity-cache-dynamodb-service/constants.d.ts +3 -0
  15. package/dist/cjs/services/db/identity-cache-dynamodb-service/constants.js +7 -0
  16. package/dist/cjs/services/db/identity-cache-dynamodb-service/constants.js.map +1 -0
  17. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.d.ts +14 -0
  18. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js +251 -0
  19. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js.map +1 -0
  20. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +24 -0
  21. package/dist/cjs/services/db/{identity-cache-dynamodb-service.js → identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js} +221 -343
  22. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -0
  23. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +22 -0
  24. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +375 -0
  25. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -0
  26. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.d.ts +4 -0
  27. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js +21 -0
  28. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js.map +1 -0
  29. package/dist/cjs/services/db/identity-cache-dynamodb-service/key-builders.d.ts +12 -0
  30. package/dist/cjs/services/db/identity-cache-dynamodb-service/key-builders.js +32 -0
  31. package/dist/cjs/services/db/identity-cache-dynamodb-service/key-builders.js.map +1 -0
  32. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.d.ts +205 -0
  33. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js +35 -0
  34. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js.map +1 -0
  35. package/dist/cjs/services/db/index.d.ts +4 -1
  36. package/dist/cjs/services/db/index.js +4 -1
  37. package/dist/cjs/services/db/index.js.map +1 -1
  38. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.d.ts +1 -0
  39. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js +644 -0
  40. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js.map +1 -0
  41. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.d.ts +1 -0
  42. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +325 -0
  43. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +1 -0
  44. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +277 -131
  45. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +1 -1
  46. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js +74 -80
  47. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  48. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.d.ts +1 -0
  49. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js +565 -0
  50. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js.map +1 -0
  51. package/dist/esm/services/db/identity-cache-dynamodb-service/constants.d.ts +3 -0
  52. package/dist/esm/services/db/identity-cache-dynamodb-service/constants.js +4 -0
  53. package/dist/esm/services/db/identity-cache-dynamodb-service/constants.js.map +1 -0
  54. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.d.ts +14 -0
  55. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js +234 -0
  56. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js.map +1 -0
  57. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +24 -0
  58. package/dist/esm/services/db/{identity-cache-dynamodb-service.js → identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js} +199 -321
  59. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -0
  60. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +22 -0
  61. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +368 -0
  62. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -0
  63. package/dist/esm/services/db/identity-cache-dynamodb-service/index.d.ts +4 -0
  64. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js +5 -0
  65. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js.map +1 -0
  66. package/dist/esm/services/db/identity-cache-dynamodb-service/key-builders.d.ts +12 -0
  67. package/dist/esm/services/db/identity-cache-dynamodb-service/key-builders.js +24 -0
  68. package/dist/esm/services/db/identity-cache-dynamodb-service/key-builders.js.map +1 -0
  69. package/dist/esm/services/db/identity-cache-dynamodb-service/types.d.ts +205 -0
  70. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js +32 -0
  71. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js.map +1 -0
  72. package/dist/esm/services/db/index.d.ts +4 -1
  73. package/dist/esm/services/db/index.js +4 -1
  74. package/dist/esm/services/db/index.js.map +1 -1
  75. package/package.json +2 -1
  76. package/dist/cjs/services/db/identity-cache-dynamodb-service.d.ts +0 -44
  77. package/dist/cjs/services/db/identity-cache-dynamodb-service.js.map +0 -1
  78. package/dist/esm/services/db/identity-cache-dynamodb-service.d.ts +0 -44
  79. package/dist/esm/services/db/identity-cache-dynamodb-service.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-cache-dynamodb-db-service.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { EventIdentity } from '@adtrackify/at-tracking-event-types';
2
+ import { EnqueueAsyncIdentityUpdateRequest, EnqueueAsyncIdentityUpdateResult, IdentityCacheWithCachingResult, IdentityWithCachingOptions } from './types.js';
3
+ export interface IdentityGatewayServiceOptions {
4
+ asyncUpdateQueueUrl?: string;
5
+ awsRegion?: string;
6
+ awsAccountId?: string;
7
+ asyncUpdateQueueName?: string;
8
+ }
9
+ export declare class IdentityGatewayService {
10
+ private static lambdaInvokeClient;
11
+ private static sqsClient;
12
+ private static sqsQueueUrl;
13
+ static configure(options: IdentityGatewayServiceOptions): void;
14
+ private static getLambdaInvokeClient;
15
+ static getIdentityWithCaching: (pixelId: string, incomingIdentity: EventIdentity, identifyPrivateLambdaArn: string) => Promise<EventIdentity | undefined>;
16
+ static getIdentityWithCachingV2: (pixelId: string, incomingIdentity: EventIdentity, identifyPrivateLambdaArn: string, options?: IdentityWithCachingOptions) => Promise<IdentityCacheWithCachingResult>;
17
+ private static readFromCache;
18
+ private static resolveFromNeptune;
19
+ private static writeBackToCache;
20
+ private static safeWriteBackToCache;
21
+ static enqueueAsyncIdentityUpdate: (request: EnqueueAsyncIdentityUpdateRequest) => Promise<EnqueueAsyncIdentityUpdateResult>;
22
+ }
@@ -0,0 +1,368 @@
1
+ import fastDeepEqual from 'fast-deep-equal';
2
+ import { LambdaInvokeClient, SQSClient } from '../../../clients/index.js';
3
+ import { Logger } from '../../../helpers/index.js';
4
+ import { IDENTITY_CACHE_STALENESS_TIER } from '../../../helpers/identity-cache-helper.js';
5
+ import { computeTraitChanges, createIdentityCacheWithCachingResultFromState, extractStaleTraitNames, stripAddressTimestamps } from './helpers.js';
6
+ import { IdentityCacheDynamoDbDbService } from './identity-cache-dynamodb-db-service.js';
7
+ import { CACHE_WRITE_REASON, IDENTITY_CACHE_WITH_CACHING_OUTCOME, } from './types.js';
8
+ const IDENTIFY_ASYNC_UPDATE_MESSAGE_TYPE = 'identify.updateAsync';
9
+ export class IdentityGatewayService {
10
+ static lambdaInvokeClient;
11
+ static sqsClient;
12
+ static sqsQueueUrl;
13
+ static configure(options) {
14
+ if (options.asyncUpdateQueueUrl) {
15
+ const urlMatch = options.asyncUpdateQueueUrl.match(/^https:\/\/sqs\.([^.]+)\.amazonaws\.com\/(\d+)\/(.+)$/);
16
+ if (urlMatch) {
17
+ const [, region, accountId, queueName] = urlMatch;
18
+ this.sqsClient = new SQSClient(region, accountId, queueName);
19
+ this.sqsQueueUrl = this.sqsClient.queueUrl;
20
+ }
21
+ else {
22
+ Logger.warn('IdentityGateway - configure: invalid SQS URL format', {
23
+ asyncUpdateQueueUrl: options.asyncUpdateQueueUrl,
24
+ });
25
+ }
26
+ }
27
+ else if (options.awsRegion && options.awsAccountId) {
28
+ const queueName = options.asyncUpdateQueueName ?? process.env.IDENTIFY_ASYNC_UPDATE_QUEUE_NAME;
29
+ if (queueName) {
30
+ this.sqsClient = new SQSClient(options.awsRegion, options.awsAccountId, queueName);
31
+ this.sqsQueueUrl = this.sqsClient.queueUrl;
32
+ }
33
+ }
34
+ }
35
+ static getLambdaInvokeClient() {
36
+ if (!this.lambdaInvokeClient) {
37
+ this.lambdaInvokeClient = new LambdaInvokeClient();
38
+ }
39
+ return this.lambdaInvokeClient;
40
+ }
41
+ static getIdentityWithCaching = async (pixelId, incomingIdentity, identifyPrivateLambdaArn) => {
42
+ try {
43
+ if (!pixelId || !incomingIdentity) {
44
+ Logger.error('IdentityGateway - missing required params', { pixelId, incomingIdentity });
45
+ return undefined;
46
+ }
47
+ const cacheResponse = await this.readFromCache(pixelId, incomingIdentity);
48
+ let resolvedIdentity = cacheResponse.resolvedIdentity;
49
+ const isCacheStale = cacheResponse.isCacheStale;
50
+ const cachedIdentity = cacheResponse.cachedIdentity;
51
+ const staleTracker = cacheResponse.staleTracker;
52
+ const writeReason = cacheResponse.writeReason;
53
+ const staleTier = cacheResponse.staleTier;
54
+ const skipNeptune = cacheResponse.skipNeptune;
55
+ if (resolvedIdentity && !isCacheStale) {
56
+ const tierLabel = staleTier === IDENTITY_CACHE_STALENESS_TIER.VOLATILE_ONLY ? 'volatile_traits_only' : 'fresh';
57
+ Logger.debug(`IdentityGateway - identity cache hit - ${tierLabel}`, {
58
+ pixelId,
59
+ identityId: resolvedIdentity.identityId,
60
+ staleTier,
61
+ cachedIdentity: cachedIdentity ?? null,
62
+ incomingIdentity,
63
+ resolvedIdentity,
64
+ incomingClick: incomingIdentity?.traits?.click ?? null,
65
+ cachedClick: cachedIdentity?.traits?.click ?? null,
66
+ resolvedClick: resolvedIdentity?.traits?.click ?? null,
67
+ });
68
+ return resolvedIdentity;
69
+ }
70
+ if (resolvedIdentity && skipNeptune && writeReason === CACHE_WRITE_REASON.ADDRESS_UPDATE) {
71
+ const staleTraits = staleTracker ? extractStaleTraitNames(staleTracker) : [];
72
+ Logger.info('IdentityGateway - identity cache write: address update only (skipping Neptune)', {
73
+ pixelId,
74
+ identityId: resolvedIdentity.identityId,
75
+ writeReason,
76
+ staleTier,
77
+ staleTraits,
78
+ cachedIdentity: cachedIdentity ?? null,
79
+ incomingIdentity,
80
+ resolvedIdentity,
81
+ incomingClick: incomingIdentity?.traits?.click ?? null,
82
+ cachedClick: cachedIdentity?.traits?.click ?? null,
83
+ resolvedClick: resolvedIdentity?.traits?.click ?? null,
84
+ traitChanges: cachedIdentity ? computeTraitChanges(cachedIdentity, resolvedIdentity) : { reason: 'no cached identity' },
85
+ });
86
+ await this.safeWriteBackToCache(pixelId, resolvedIdentity, 'address update');
87
+ return resolvedIdentity;
88
+ }
89
+ const identityForNeptune = resolvedIdentity ?? incomingIdentity;
90
+ Logger.info('IdentityGateway - identity cache stale - fetching from Neptune', {
91
+ pixelId,
92
+ identityId: identityForNeptune?.identityId,
93
+ staleTier,
94
+ writeReason,
95
+ staleTraits: staleTracker ? extractStaleTraitNames(staleTracker) : [],
96
+ cachedIdentity: cachedIdentity ?? null,
97
+ incomingIdentity,
98
+ identityForNeptune,
99
+ incomingClick: incomingIdentity?.traits?.click ?? null,
100
+ cachedClick: cachedIdentity?.traits?.click ?? null,
101
+ hasDiscoveredIdentityId: !!resolvedIdentity?.identityId,
102
+ });
103
+ const neptuneIdentity = await this.resolveFromNeptune(pixelId, identityForNeptune, identifyPrivateLambdaArn);
104
+ if (neptuneIdentity) {
105
+ resolvedIdentity = neptuneIdentity;
106
+ const cachedForComparison = cachedIdentity ? stripAddressTimestamps(cachedIdentity) : undefined;
107
+ const neptuneForComparison = stripAddressTimestamps(neptuneIdentity);
108
+ const shouldWrite = !cachedForComparison || !fastDeepEqual(cachedForComparison, neptuneForComparison);
109
+ if (shouldWrite) {
110
+ const staleTraits = staleTracker ? extractStaleTraitNames(staleTracker) : [];
111
+ const isNewIdentity = writeReason === CACHE_WRITE_REASON.CACHE_MISS || writeReason === CACHE_WRITE_REASON.EMAIL_POINTER_DISCOVERY;
112
+ const writeType = isNewIdentity ? 'new_identity' : 'stale_traits_update';
113
+ Logger.info(`IdentityGateway - identity cache write: ${writeType}`, {
114
+ pixelId,
115
+ identityId: neptuneIdentity.identityId,
116
+ writeReason,
117
+ staleTier,
118
+ staleTraits,
119
+ cachedIdentity: cachedIdentity ?? null,
120
+ incomingIdentity,
121
+ neptuneIdentity,
122
+ incomingClick: incomingIdentity?.traits?.click ?? null,
123
+ cachedClick: cachedIdentity?.traits?.click ?? null,
124
+ neptuneClick: neptuneIdentity?.traits?.click ?? null,
125
+ traitChanges: cachedIdentity
126
+ ? computeTraitChanges(cachedIdentity, neptuneIdentity)
127
+ : { reason: 'no cached identity' },
128
+ });
129
+ await this.safeWriteBackToCache(pixelId, resolvedIdentity, 'neptune write-back');
130
+ }
131
+ else {
132
+ Logger.info('IdentityGateway - identity cache skip write - Neptune matches cached', {
133
+ pixelId,
134
+ identityId: neptuneIdentity.identityId,
135
+ staleTier,
136
+ cachedIdentity: cachedIdentity ?? null,
137
+ incomingIdentity,
138
+ neptuneIdentity,
139
+ incomingClick: incomingIdentity?.traits?.click ?? null,
140
+ cachedClick: cachedIdentity?.traits?.click ?? null,
141
+ neptuneClick: neptuneIdentity?.traits?.click ?? null,
142
+ });
143
+ }
144
+ }
145
+ else {
146
+ Logger.error('IdentityGateway - Neptune resolution failed', {
147
+ pixelId,
148
+ staleTier,
149
+ writeReason,
150
+ cachedIdentity: cachedIdentity ?? null,
151
+ incomingIdentity,
152
+ identityForNeptune,
153
+ incomingClick: incomingIdentity?.traits?.click ?? null,
154
+ });
155
+ }
156
+ if (!resolvedIdentity) {
157
+ Logger.error('IdentityGateway - no identity found, using incoming', {
158
+ pixelId,
159
+ incomingIdentity,
160
+ incomingClick: incomingIdentity?.traits?.click ?? null,
161
+ });
162
+ resolvedIdentity = incomingIdentity;
163
+ }
164
+ return resolvedIdentity;
165
+ }
166
+ catch (error) {
167
+ Logger.error('IdentityGateway - getIdentityWithCaching failed', {
168
+ error,
169
+ errorMessage: error instanceof Error ? error.message : String(error),
170
+ pixelId,
171
+ incomingIdentity,
172
+ incomingClick: incomingIdentity?.traits?.click ?? null,
173
+ });
174
+ return undefined;
175
+ }
176
+ };
177
+ static getIdentityWithCachingV2 = async (pixelId, incomingIdentity, identifyPrivateLambdaArn, options) => {
178
+ const skipCacheWrite = options?.skipCacheWrite ?? false;
179
+ const state = {
180
+ pixelId,
181
+ incomingIdentity,
182
+ identifyPrivateLambdaArn,
183
+ staleTraits: [],
184
+ didReadCache: false,
185
+ didCallNeptune: false,
186
+ didWriteCache: false,
187
+ didSkipNeptune: false,
188
+ didFallbackToIncoming: false,
189
+ };
190
+ try {
191
+ if (!pixelId || !incomingIdentity) {
192
+ return createIdentityCacheWithCachingResultFromState(state, undefined, {
193
+ outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME.INVALID_INPUT,
194
+ });
195
+ }
196
+ const lookupResult = await IdentityCacheDynamoDbDbService.getIdentityFromCacheV2(pixelId, incomingIdentity);
197
+ const cacheResponse = lookupResult.cacheResult;
198
+ state.cacheResponse = cacheResponse;
199
+ state.lookupSummary = lookupResult.summary;
200
+ state.didReadCache = true;
201
+ state.resolvedIdentity = cacheResponse.resolvedIdentity;
202
+ state.cachedIdentity = cacheResponse.cachedIdentity;
203
+ state.staleTraits = cacheResponse.staleTracker ? extractStaleTraitNames(cacheResponse.staleTracker) : [];
204
+ if (state.resolvedIdentity && !cacheResponse.isCacheStale) {
205
+ const outcome = cacheResponse.staleTier === IDENTITY_CACHE_STALENESS_TIER.VOLATILE_ONLY
206
+ ? IDENTITY_CACHE_WITH_CACHING_OUTCOME.VOLATILE_ONLY_CACHE_HIT
207
+ : IDENTITY_CACHE_WITH_CACHING_OUTCOME.FRESH_CACHE_HIT;
208
+ return createIdentityCacheWithCachingResultFromState(state, state.resolvedIdentity, {
209
+ outcome,
210
+ });
211
+ }
212
+ if (state.resolvedIdentity && cacheResponse.skipNeptune && cacheResponse.writeReason === CACHE_WRITE_REASON.ADDRESS_UPDATE) {
213
+ state.didSkipNeptune = true;
214
+ if (!skipCacheWrite) {
215
+ state.didWriteCache = true;
216
+ await this.safeWriteBackToCache(pixelId, state.resolvedIdentity, 'address update');
217
+ }
218
+ return createIdentityCacheWithCachingResultFromState(state, state.resolvedIdentity, {
219
+ outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME.ADDRESS_UPDATE_WRITE,
220
+ traitChanges: state.cachedIdentity ? computeTraitChanges(state.cachedIdentity, state.resolvedIdentity) : { reason: { resolved: 'no cached identity' } },
221
+ });
222
+ }
223
+ state.identityForNeptune = state.resolvedIdentity ?? incomingIdentity;
224
+ state.didCallNeptune = true;
225
+ state.neptuneIdentity = await this.resolveFromNeptune(pixelId, state.identityForNeptune, state.identifyPrivateLambdaArn);
226
+ if (state.neptuneIdentity) {
227
+ state.resolvedIdentity = state.neptuneIdentity;
228
+ const cachedForComparison = state.cachedIdentity ? stripAddressTimestamps(state.cachedIdentity) : undefined;
229
+ const neptuneForComparison = stripAddressTimestamps(state.neptuneIdentity);
230
+ const shouldWrite = !cachedForComparison || !fastDeepEqual(cachedForComparison, neptuneForComparison);
231
+ if (shouldWrite) {
232
+ if (!skipCacheWrite) {
233
+ state.didWriteCache = true;
234
+ await this.safeWriteBackToCache(pixelId, state.resolvedIdentity, 'neptune write-back');
235
+ }
236
+ return createIdentityCacheWithCachingResultFromState(state, state.resolvedIdentity, {
237
+ outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_WRITE_BACK,
238
+ hasDiscoveredIdentityId: cacheResponse.writeReason === CACHE_WRITE_REASON.EMAIL_POINTER_DISCOVERY,
239
+ traitChanges: state.cachedIdentity
240
+ ? computeTraitChanges(state.cachedIdentity, state.neptuneIdentity)
241
+ : { reason: { resolved: 'no cached identity' } },
242
+ });
243
+ }
244
+ return createIdentityCacheWithCachingResultFromState(state, state.resolvedIdentity, {
245
+ outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_SKIP_WRITE,
246
+ hasDiscoveredIdentityId: cacheResponse.writeReason === CACHE_WRITE_REASON.EMAIL_POINTER_DISCOVERY,
247
+ });
248
+ }
249
+ if (!state.resolvedIdentity) {
250
+ state.resolvedIdentity = incomingIdentity;
251
+ state.didFallbackToIncoming = true;
252
+ return createIdentityCacheWithCachingResultFromState(state, state.resolvedIdentity, {
253
+ outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME.FALLBACK_INCOMING,
254
+ });
255
+ }
256
+ return createIdentityCacheWithCachingResultFromState(state, state.resolvedIdentity, {
257
+ outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLUTION_FAILED,
258
+ });
259
+ }
260
+ catch (error) {
261
+ return createIdentityCacheWithCachingResultFromState(state, undefined, {
262
+ outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME.FAILED,
263
+ errorMessage: error instanceof Error ? error.message : String(error),
264
+ });
265
+ }
266
+ };
267
+ static readFromCache = async (pixelId, incomingIdentity) => {
268
+ return await IdentityCacheDynamoDbDbService.getIdentityFromCache(pixelId, incomingIdentity);
269
+ };
270
+ static resolveFromNeptune = async (pixelId, incomingIdentity, identifyPrivateLambdaArn) => {
271
+ try {
272
+ const client = this.getLambdaInvokeClient();
273
+ const response = await client.invokeFunction(identifyPrivateLambdaArn, {
274
+ pixelId,
275
+ context: { identity: incomingIdentity },
276
+ });
277
+ if (response?.statusCode === 200 && response?.body) {
278
+ const identifyResponse = JSON.parse(response.body);
279
+ return identifyResponse?.identity;
280
+ }
281
+ return incomingIdentity;
282
+ }
283
+ catch (error) {
284
+ Logger.error('IdentityGateway - Neptune resolution failed', {
285
+ error,
286
+ errorMessage: error instanceof Error ? error.message : String(error),
287
+ pixelId,
288
+ incomingIdentity,
289
+ incomingClick: incomingIdentity?.traits?.click ?? null,
290
+ });
291
+ return undefined;
292
+ }
293
+ };
294
+ static writeBackToCache = async (pixelId, resolvedIdentity) => {
295
+ return await IdentityCacheDynamoDbDbService.updateIdentityCache(pixelId, resolvedIdentity);
296
+ };
297
+ static safeWriteBackToCache = async (pixelId, resolvedIdentity, context) => {
298
+ try {
299
+ return await this.writeBackToCache(pixelId, resolvedIdentity);
300
+ }
301
+ catch (writeError) {
302
+ Logger.error(`IdentityGateway - write back failed (${context})`, {
303
+ error: writeError,
304
+ errorMessage: writeError instanceof Error ? writeError.message : String(writeError),
305
+ pixelId,
306
+ identityId: resolvedIdentity?.identityId,
307
+ resolvedClick: resolvedIdentity?.traits?.click ?? null,
308
+ });
309
+ return undefined;
310
+ }
311
+ };
312
+ static enqueueAsyncIdentityUpdate = async (request) => {
313
+ const { pixelId, identity, context, reason, eventId } = request;
314
+ const identityId = identity?.identityId;
315
+ if (!this.sqsClient) {
316
+ Logger.warn('IdentityGateway - enqueueAsyncIdentityUpdate: SQS client not configured', {
317
+ pixelId,
318
+ identityId,
319
+ reason,
320
+ eventId,
321
+ });
322
+ return { success: false, error: 'SQS client not configured' };
323
+ }
324
+ if (!pixelId || !identityId) {
325
+ Logger.warn('IdentityGateway - enqueueAsyncIdentityUpdate: missing required params', {
326
+ pixelId,
327
+ identityId,
328
+ reason,
329
+ eventId,
330
+ });
331
+ return { success: false, error: 'Missing required pixelId or identityId' };
332
+ }
333
+ try {
334
+ const message = {
335
+ pixelId,
336
+ incomingIdentityId: identityId,
337
+ context,
338
+ };
339
+ const response = await this.sqsClient.buildAndSendMessage(IDENTIFY_ASYNC_UPDATE_MESSAGE_TYPE, message);
340
+ Logger.debug('IdentityGateway - enqueueAsyncIdentityUpdate: message sent', {
341
+ pixelId,
342
+ identityId,
343
+ reason,
344
+ eventId,
345
+ sqsMessageId: response.MessageId,
346
+ });
347
+ return {
348
+ success: true,
349
+ messageId: response.MessageId,
350
+ };
351
+ }
352
+ catch (error) {
353
+ Logger.warn('IdentityGateway - enqueueAsyncIdentityUpdate: failed to enqueue (failing open)', {
354
+ error,
355
+ errorMessage: error instanceof Error ? error.message : String(error),
356
+ pixelId,
357
+ identityId,
358
+ reason,
359
+ eventId,
360
+ });
361
+ return {
362
+ success: false,
363
+ error: error instanceof Error ? error.message : String(error),
364
+ };
365
+ }
366
+ };
367
+ }
368
+ //# sourceMappingURL=identity-gateway-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-gateway-service.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/identity-gateway-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './types.js';
2
+ export * from './key-builders.js';
3
+ export * from './identity-gateway-service.js';
4
+ export * from './identity-cache-dynamodb-db-service.js';
@@ -0,0 +1,5 @@
1
+ export * from './types.js';
2
+ export * from './key-builders.js';
3
+ export * from './identity-gateway-service.js';
4
+ export * from './identity-cache-dynamodb-db-service.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare enum IDENTITY_CACHE_KEY_PREFIX {
2
+ IDENTITY = "identity",
3
+ EMAIL = "email",
4
+ USER_ID = "user_id",
5
+ IDENTITY_MAP = "identity_map",
6
+ FORCE_PURGE = "force_purge"
7
+ }
8
+ export declare function buildIdentityPk(pixelId: string, identityId: string): string;
9
+ export declare function buildEmailPk(pixelId: string, email: string): string;
10
+ export declare function buildUserIdPk(pixelId: string, userId: string): string;
11
+ export declare function buildIdentityMapPk(pixelId: string, identityId: string): string;
12
+ export declare function buildForcePurgePk(pixelId: string, identityId: string): string;
@@ -0,0 +1,24 @@
1
+ export var IDENTITY_CACHE_KEY_PREFIX;
2
+ (function (IDENTITY_CACHE_KEY_PREFIX) {
3
+ IDENTITY_CACHE_KEY_PREFIX["IDENTITY"] = "identity";
4
+ IDENTITY_CACHE_KEY_PREFIX["EMAIL"] = "email";
5
+ IDENTITY_CACHE_KEY_PREFIX["USER_ID"] = "user_id";
6
+ IDENTITY_CACHE_KEY_PREFIX["IDENTITY_MAP"] = "identity_map";
7
+ IDENTITY_CACHE_KEY_PREFIX["FORCE_PURGE"] = "force_purge";
8
+ })(IDENTITY_CACHE_KEY_PREFIX || (IDENTITY_CACHE_KEY_PREFIX = {}));
9
+ export function buildIdentityPk(pixelId, identityId) {
10
+ return `${IDENTITY_CACHE_KEY_PREFIX.IDENTITY}#${pixelId}#${identityId}`;
11
+ }
12
+ export function buildEmailPk(pixelId, email) {
13
+ return `${IDENTITY_CACHE_KEY_PREFIX.EMAIL}#${pixelId}#${email.toLowerCase()}`;
14
+ }
15
+ export function buildUserIdPk(pixelId, userId) {
16
+ return `${IDENTITY_CACHE_KEY_PREFIX.USER_ID}#${pixelId}#${userId.trim()}`;
17
+ }
18
+ export function buildIdentityMapPk(pixelId, identityId) {
19
+ return `${IDENTITY_CACHE_KEY_PREFIX.IDENTITY_MAP}#${pixelId}#${identityId}`;
20
+ }
21
+ export function buildForcePurgePk(pixelId, identityId) {
22
+ return `${IDENTITY_CACHE_KEY_PREFIX.FORCE_PURGE}#${pixelId}#${identityId}`;
23
+ }
24
+ //# sourceMappingURL=key-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-builders.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/key-builders.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,kDAAqB,CAAA;IACrB,4CAAe,CAAA;IACf,gDAAmB,CAAA;IACnB,0DAA6B,CAAA;IAC7B,wDAA2B,CAAA;AAC7B,CAAC,EANW,yBAAyB,KAAzB,yBAAyB,QAMpC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,UAAkB;IACjE,OAAO,GAAG,yBAAyB,CAAC,QAAQ,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAa;IACzD,OAAO,GAAG,yBAAyB,CAAC,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,MAAc;IAC3D,OAAO,GAAG,yBAAyB,CAAC,OAAO,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,UAAkB;IACpE,OAAO,GAAG,yBAAyB,CAAC,YAAY,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,UAAkB;IACnE,OAAO,GAAG,yBAAyB,CAAC,WAAW,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;AAC7E,CAAC"}