@adtrackify/at-service-common 4.0.6 → 4.0.8

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 (69) hide show
  1. package/dist/cjs/__tests__/identity-cache/helpers.spec.d.ts +1 -0
  2. package/dist/cjs/__tests__/identity-cache/helpers.spec.js +594 -0
  3. package/dist/cjs/__tests__/identity-cache/helpers.spec.js.map +1 -0
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.d.ts +1 -0
  5. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.js +556 -0
  6. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.js.map +1 -0
  7. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +23 -25
  8. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +1 -1
  9. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +53 -50
  10. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +1 -1
  11. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js +117 -81
  12. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  13. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js +1617 -14
  14. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js.map +1 -1
  15. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +711 -0
  16. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js.map +1 -1
  17. package/dist/cjs/helpers/identity-cache-helper.d.ts +9 -0
  18. package/dist/cjs/helpers/identity-cache-helper.js +54 -1
  19. package/dist/cjs/helpers/identity-cache-helper.js.map +1 -1
  20. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.d.ts +17 -4
  21. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js +35 -33
  22. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js.map +1 -1
  23. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +4 -2
  24. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js +63 -8
  25. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -1
  26. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +1 -0
  27. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +91 -53
  28. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
  29. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.d.ts +1 -0
  30. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js +1 -0
  31. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js.map +1 -1
  32. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.d.ts +16 -0
  33. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js +9 -1
  34. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
  35. package/dist/esm/__tests__/identity-cache/helpers.spec.d.ts +1 -0
  36. package/dist/esm/__tests__/identity-cache/helpers.spec.js +592 -0
  37. package/dist/esm/__tests__/identity-cache/helpers.spec.js.map +1 -0
  38. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.d.ts +1 -0
  39. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.js +554 -0
  40. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service.spec.js.map +1 -0
  41. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +23 -25
  42. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +1 -1
  43. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +53 -50
  44. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +1 -1
  45. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js +118 -82
  46. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  47. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js +1617 -14
  48. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js.map +1 -1
  49. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +712 -1
  50. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js.map +1 -1
  51. package/dist/esm/helpers/identity-cache-helper.d.ts +9 -0
  52. package/dist/esm/helpers/identity-cache-helper.js +52 -1
  53. package/dist/esm/helpers/identity-cache-helper.js.map +1 -1
  54. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.d.ts +17 -4
  55. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js +33 -31
  56. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js.map +1 -1
  57. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +4 -2
  58. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js +57 -2
  59. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -1
  60. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +1 -0
  61. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +92 -54
  62. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
  63. package/dist/esm/services/db/identity-cache-dynamodb-service/index.d.ts +1 -0
  64. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js +1 -0
  65. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js.map +1 -1
  66. package/dist/esm/services/db/identity-cache-dynamodb-service/types.d.ts +16 -0
  67. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js +8 -0
  68. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
  69. package/package.json +1 -1
@@ -117,7 +117,7 @@ const expectV2ToMatchOriginal = async (scenario) => {
117
117
  scenario.assertSummary?.(v2Run.summary);
118
118
  return { originalRun, v2Run };
119
119
  };
120
- describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCachingV2()', () => {
120
+ describe.skip('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCachingV2()', () => {
121
121
  it('matches invalid input behavior', async () => {
122
122
  resetMocksForRun();
123
123
  const originalIdentity = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching('', { identityId: 'identity-invalid' }, lambdaArn);
@@ -175,7 +175,7 @@ describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCach
175
175
  },
176
176
  });
177
177
  });
178
- it('matches address-update behavior with cache write and no Neptune', async () => {
178
+ it('V2 now enqueues async for address-update (intentional divergence from V1 sync write)', async () => {
179
179
  const cachedIdentity = {
180
180
  identityId: 'identity-address-update',
181
181
  traits: {
@@ -183,24 +183,22 @@ describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCach
183
183
  addresses: [],
184
184
  },
185
185
  };
186
- await expectV2ToMatchOriginal({
187
- incomingIdentity: {
188
- identityId: 'identity-address-update',
189
- traits: {
190
- emails: ['address@example.com'],
191
- addresses: [{ city: 'Boston', firstName: 'John', s: at_tracking_event_types_1.ADDRESS_INFO_SOURCE.INPUT }],
192
- },
193
- },
194
- expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.ADDRESS_UPDATE_WRITE,
195
- setupMocks: () => {
196
- mockedDynamoDbClient.safeGet.mockResolvedValueOnce(buildCachedRecord(cachedIdentity));
197
- },
198
- assertSummary: (summary) => {
199
- expect(summary.didSkipNeptune).toBe(true);
200
- expect(summary.didWriteCache).toBe(true);
201
- expect(summary.didCallNeptune).toBe(false);
186
+ resetMocksForRun();
187
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(buildCachedRecord(cachedIdentity));
188
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, {
189
+ identityId: 'identity-address-update',
190
+ traits: {
191
+ emails: ['address@example.com'],
192
+ addresses: [{ city: 'Boston', firstName: 'John', s: at_tracking_event_types_1.ADDRESS_INFO_SOURCE.INPUT }],
202
193
  },
203
- });
194
+ }, lambdaArn);
195
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.ADDRESS_UPDATE_ASYNC);
196
+ expect(result.summary.didSkipNeptune).toBe(true);
197
+ expect(result.summary.didWriteCache).toBe(false);
198
+ expect(result.summary.didEnqueueAsync).toBe(false);
199
+ expect(result.summary.didCallNeptune).toBe(false);
200
+ expect(mockInvokeFunction).not.toHaveBeenCalled();
201
+ expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
204
202
  });
205
203
  it('matches cache miss with Neptune write-back behavior', async () => {
206
204
  const neptuneIdentity = {
@@ -212,7 +210,7 @@ describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCach
212
210
  identityId: 'identity-cache-miss',
213
211
  traits: { emails: ['miss@example.com'] },
214
212
  },
215
- expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_WRITE_BACK,
213
+ expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED,
216
214
  setupMocks: () => {
217
215
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
218
216
  mockInvokeFunction.mockResolvedValueOnce({
@@ -222,7 +220,7 @@ describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCach
222
220
  },
223
221
  assertSummary: (summary) => {
224
222
  expect(summary.didCallNeptune).toBe(true);
225
- expect(summary.didWriteCache).toBe(true);
223
+ expect(summary.didWriteCache).toBe(false);
226
224
  expect(summary.traitChanges).toEqual({ reason: { resolved: 'no cached identity' } });
227
225
  },
228
226
  });
@@ -237,7 +235,7 @@ describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCach
237
235
  identityId: 'identity-stale-skip',
238
236
  traits: { emails: ['old@example.com', 'new@example.com'] },
239
237
  },
240
- expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_SKIP_WRITE,
238
+ expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED,
241
239
  setupMocks: () => {
242
240
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(buildCachedRecord(cachedIdentity));
243
241
  mockInvokeFunction.mockResolvedValueOnce({
@@ -261,7 +259,7 @@ describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCach
261
259
  incomingIdentity: {
262
260
  traits: { emails: ['pointer@example.com'] },
263
261
  },
264
- expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_WRITE_BACK,
262
+ expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED,
265
263
  setupMocks: () => {
266
264
  mockedDynamoDbClient.safeGet
267
265
  .mockResolvedValueOnce({
@@ -289,7 +287,7 @@ describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCach
289
287
  };
290
288
  await expectV2ToMatchOriginal({
291
289
  incomingIdentity,
292
- expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_WRITE_BACK,
290
+ expectedOutcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED,
293
291
  setupMocks: () => {
294
292
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
295
293
  mockInvokeFunction.mockResolvedValueOnce({
@@ -299,7 +297,7 @@ describe('IdentityGatewayService getIdentityWithCaching() vs getIdentityWithCach
299
297
  },
300
298
  assertSummary: (summary) => {
301
299
  expect(summary.didCallNeptune).toBe(true);
302
- expect(summary.didWriteCache).toBe(true);
300
+ expect(summary.didWriteCache).toBe(false);
303
301
  expect(summary.neptuneIdentity).toEqual(incomingIdentity);
304
302
  },
305
303
  });
@@ -1 +1 @@
1
- {"version":3,"file":"identity-cache-dynamodb-service-v2-comparison.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-cache-dynamodb-service-v2-comparison.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ describe('IdentityGatewayService', () => {
67
67
  expect((0, key_builders_js_1.buildForcePurgePk)('pixel123', 'identity456')).toBe((0, at_tracking_event_types_1.buildForcePurgePk)('pixel123', 'identity456'));
68
68
  });
69
69
  });
70
- describe('getIdentityWithCaching', () => {
70
+ describe('getIdentityWithCachingV2', () => {
71
71
  const pixelId = 'pixel123';
72
72
  const lambdaArn = 'arn:aws:lambda:us-east-1:123456789:function:identity-private';
73
73
  describe('cache hit (fresh cache)', () => {
@@ -87,9 +87,9 @@ describe('IdentityGatewayService', () => {
87
87
  updatedAt: new Date().toISOString(),
88
88
  };
89
89
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(cachedResponse);
90
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
91
- expect(result).toBeDefined();
92
- expect(result?.identityId).toBe('identity456');
90
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
91
+ expect(result.identity).toBeDefined();
92
+ expect(result.identity?.identityId).toBe('identity456');
93
93
  expect(mockInvokeFunction).not.toHaveBeenCalled();
94
94
  });
95
95
  });
@@ -109,13 +109,13 @@ describe('IdentityGatewayService', () => {
109
109
  },
110
110
  }),
111
111
  });
112
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
112
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
113
113
  expect(mockInvokeFunction).toHaveBeenCalledWith(lambdaArn, {
114
114
  pixelId,
115
115
  context: { identity: incomingIdentity },
116
116
  });
117
- expect(result?.identityId).toBe('resolved-identity');
118
- expect(mockedDynamoDbClient.safeBatchWrite).toHaveBeenCalled();
117
+ expect(result.identity?.identityId).toBe('resolved-identity');
118
+ expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
119
119
  });
120
120
  it('should return incomingIdentity when Neptune Lambda fails to resolve', async () => {
121
121
  const incomingIdentity = {
@@ -127,8 +127,8 @@ describe('IdentityGatewayService', () => {
127
127
  statusCode: 200,
128
128
  body: JSON.stringify({ identity: undefined }),
129
129
  });
130
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
131
- expect(result).toEqual(incomingIdentity);
130
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
131
+ expect(result.identity).toEqual(incomingIdentity);
132
132
  });
133
133
  });
134
134
  describe('cache stale', () => {
@@ -157,10 +157,10 @@ describe('IdentityGatewayService', () => {
157
157
  },
158
158
  }),
159
159
  });
160
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
160
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
161
161
  expect(mockInvokeFunction).toHaveBeenCalled();
162
- expect(result?.identityId).toBe('identity456');
163
- expect(result?.traits?.emails).toContain('new@email.com');
162
+ expect(result.identity?.identityId).toBe('identity456');
163
+ expect(result.identity?.traits?.emails).toContain('new@email.com');
164
164
  });
165
165
  it('should use merged cache identity when Neptune fails', async () => {
166
166
  const incomingIdentity = {
@@ -182,9 +182,9 @@ describe('IdentityGatewayService', () => {
182
182
  statusCode: 500,
183
183
  body: 'Internal Server Error',
184
184
  });
185
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
186
- expect(result).toBeDefined();
187
- expect(result?.identityId).toBe('identity456');
185
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
186
+ expect(result.identity).toBeDefined();
187
+ expect(result.identity?.identityId).toBe('identity456');
188
188
  });
189
189
  });
190
190
  describe('Neptune Lambda invocation', () => {
@@ -202,11 +202,10 @@ describe('IdentityGatewayService', () => {
202
202
  },
203
203
  }),
204
204
  });
205
- await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
206
- expect(mockedDynamoDbClient.safeBatchWrite).toHaveBeenCalled();
207
- const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
208
- const identityPks = writtenItems.map((item) => item.pk);
209
- expect(identityPks).toContain(`identity#${pixelId}#neptune-resolved-id`);
205
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
206
+ expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
207
+ expect(result.summary.didWriteCache).toBe(false);
208
+ expect(result.identity?.identityId).toBe('neptune-resolved-id');
210
209
  });
211
210
  it('should not write to cache when Neptune returns undefined', async () => {
212
211
  const incomingIdentity = {
@@ -217,30 +216,33 @@ describe('IdentityGatewayService', () => {
217
216
  statusCode: 200,
218
217
  body: JSON.stringify({ identity: undefined }),
219
218
  });
220
- await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
219
+ await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
221
220
  expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
222
221
  });
223
222
  });
224
223
  describe('error handling (fail-open)', () => {
225
- it('should return undefined when pixelId is missing', async () => {
226
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(null, { identityId: 'test-id' }, lambdaArn);
227
- expect(result).toBeUndefined();
224
+ it('should return undefined identity when pixelId is missing', async () => {
225
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(null, { identityId: 'test-id' }, lambdaArn);
226
+ expect(result.identity).toBeUndefined();
227
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.INVALID_INPUT);
228
228
  expect(mockInvokeFunction).not.toHaveBeenCalled();
229
229
  });
230
- it('should return undefined when incomingIdentity is missing', async () => {
231
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, null, lambdaArn);
232
- expect(result).toBeUndefined();
230
+ it('should return undefined identity when incomingIdentity is missing', async () => {
231
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, null, lambdaArn);
232
+ expect(result.identity).toBeUndefined();
233
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.INVALID_INPUT);
233
234
  expect(mockInvokeFunction).not.toHaveBeenCalled();
234
235
  });
235
- it('should return undefined when Neptune Lambda throws', async () => {
236
+ it('should return incomingIdentity when Neptune Lambda throws', async () => {
236
237
  const incomingIdentity = {
237
238
  identityId: 'identity456',
238
239
  traits: { emails: ['test@email.com'] },
239
240
  };
240
241
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
241
242
  mockInvokeFunction.mockRejectedValueOnce(new Error('Lambda invocation failed'));
242
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
243
- expect(result).toEqual(incomingIdentity);
243
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
244
+ expect(result.identity).toEqual(incomingIdentity);
245
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLUTION_FAILED);
244
246
  });
245
247
  it('should not throw when cache write fails after Neptune success', async () => {
246
248
  const incomingIdentity = {
@@ -257,8 +259,8 @@ describe('IdentityGatewayService', () => {
257
259
  }),
258
260
  });
259
261
  mockedDynamoDbClient.safeBatchWrite.mockRejectedValueOnce(new Error('DynamoDB write failed'));
260
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
261
- expect(result?.identityId).toBe('neptune-resolved-id');
262
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
263
+ expect(result.identity?.identityId).toBe('neptune-resolved-id');
262
264
  });
263
265
  });
264
266
  });
@@ -971,16 +973,16 @@ describe('IdentityGatewayService', () => {
971
973
  },
972
974
  }),
973
975
  });
974
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, { traits: { emails: ['test@email.com'] } }, lambdaArn);
976
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, { traits: { emails: ['test@email.com'] } }, lambdaArn);
975
977
  expect(mockInvokeFunction).toHaveBeenCalledWith(lambdaArn, expect.objectContaining({
976
978
  pixelId,
977
979
  context: {
978
980
  identity: expect.objectContaining({
979
- identityId: 'discovered-id',
981
+ traits: { emails: ['test@email.com'] },
980
982
  }),
981
983
  },
982
984
  }));
983
- expect(result?.identityId).toBe('discovered-id');
985
+ expect(result.identity?.identityId).toBe('discovered-id');
984
986
  });
985
987
  });
986
988
  describe('deleteIdentityCache with multiple email pointers', () => {
@@ -1093,8 +1095,8 @@ describe('IdentityGatewayService', () => {
1093
1095
  };
1094
1096
  mockedDynamoDbClient.safeGet.mockRejectedValueOnce(new Error('DynamoDB down'));
1095
1097
  mockInvokeFunction.mockRejectedValueOnce(new Error('Lambda down'));
1096
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
1097
- expect(result).toEqual(incomingIdentity);
1098
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
1099
+ expect(result.identity).toEqual(incomingIdentity);
1098
1100
  });
1099
1101
  it('should continue when cache write fails after Neptune success', async () => {
1100
1102
  mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
@@ -1105,8 +1107,8 @@ describe('IdentityGatewayService', () => {
1105
1107
  }),
1106
1108
  });
1107
1109
  mockedDynamoDbClient.safeBatchWrite.mockRejectedValueOnce(new Error('Write failed'));
1108
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, { traits: { emails: ['test@email.com'] } }, lambdaArn);
1109
- expect(result?.identityId).toBe('resolved-id');
1110
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, { traits: { emails: ['test@email.com'] } }, lambdaArn);
1111
+ expect(result.identity?.identityId).toBe('resolved-id');
1110
1112
  });
1111
1113
  it('should return incoming identity when Neptune returns non-200', async () => {
1112
1114
  const incomingIdentity = {
@@ -1118,8 +1120,8 @@ describe('IdentityGatewayService', () => {
1118
1120
  statusCode: 500,
1119
1121
  body: 'Internal Server Error',
1120
1122
  });
1121
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
1122
- expect(result).toEqual(incomingIdentity);
1123
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
1124
+ expect(result.identity).toEqual(incomingIdentity);
1123
1125
  });
1124
1126
  it('should return incoming identity when Neptune returns malformed JSON (fail-open)', async () => {
1125
1127
  const incomingIdentity = {
@@ -1131,12 +1133,13 @@ describe('IdentityGatewayService', () => {
1131
1133
  statusCode: 200,
1132
1134
  body: 'not valid json',
1133
1135
  });
1134
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
1135
- expect(result).toEqual(incomingIdentity);
1136
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
1137
+ expect(result.identity).toEqual(incomingIdentity);
1136
1138
  });
1137
- it('should return undefined only when both inputs are invalid', async () => {
1138
- const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCaching(null, null, lambdaArn);
1139
- expect(result).toBeUndefined();
1139
+ it('should return undefined identity only when both inputs are invalid', async () => {
1140
+ const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(null, null, lambdaArn);
1141
+ expect(result.identity).toBeUndefined();
1142
+ expect(result.summary.outcome).toBe(types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.INVALID_INPUT);
1140
1143
  });
1141
1144
  });
1142
1145
  describe('getIdentityWithCachingV2', () => {
@@ -1202,18 +1205,18 @@ describe('IdentityGatewayService', () => {
1202
1205
  const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
1203
1206
  expect(result.identity).toEqual(neptuneIdentity);
1204
1207
  expect(result.summary).toEqual(expect.objectContaining({
1205
- outcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_WRITE_BACK,
1208
+ outcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED,
1206
1209
  pixelId,
1207
1210
  identityId: 'resolved-identity',
1208
1211
  didReadCache: true,
1209
1212
  didCallNeptune: true,
1210
- didWriteCache: true,
1213
+ didWriteCache: false,
1211
1214
  incomingIdentity,
1212
1215
  identityForNeptune: incomingIdentity,
1213
1216
  neptuneIdentity,
1214
1217
  traitChanges: { reason: { resolved: 'no cached identity' } },
1215
1218
  }));
1216
- expect(mockedDynamoDbClient.safeBatchWrite).toHaveBeenCalled();
1219
+ expect(mockedDynamoDbClient.safeBatchWrite).not.toHaveBeenCalled();
1217
1220
  });
1218
1221
  it('should return Neptune skip-write summary when Neptune matches cached identity', async () => {
1219
1222
  const incomingIdentity = {
@@ -1239,7 +1242,7 @@ describe('IdentityGatewayService', () => {
1239
1242
  const result = await identity_gateway_service_js_1.IdentityGatewayService.getIdentityWithCachingV2(pixelId, incomingIdentity, lambdaArn);
1240
1243
  expect(result.identity).toEqual(cachedIdentity);
1241
1244
  expect(result.summary).toEqual(expect.objectContaining({
1242
- outcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_SKIP_WRITE,
1245
+ outcome: types_js_1.IDENTITY_CACHE_WITH_CACHING_OUTCOME.NEPTUNE_RESOLVED,
1243
1246
  pixelId,
1244
1247
  identityId: 'identity456',
1245
1248
  didReadCache: true,