@adtrackify/at-service-common 4.0.12 → 4.0.14

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 (71) hide show
  1. package/dist/cjs/__tests__/identity-cache/helpers.spec.js +37 -38
  2. package/dist/cjs/__tests__/identity-cache/helpers.spec.js.map +1 -1
  3. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js +83 -344
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  5. package/dist/cjs/__tests__/identity-cache/identity-client.spec.js +360 -0
  6. package/dist/cjs/__tests__/identity-cache/identity-client.spec.js.map +1 -0
  7. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js +335 -1261
  8. package/dist/cjs/__tests__/identity-cache/identity-gateway-service.spec.js.map +1 -1
  9. package/dist/cjs/clients/internal-api/identity-client.d.ts +12 -2
  10. package/dist/cjs/clients/internal-api/identity-client.js +59 -13
  11. package/dist/cjs/clients/internal-api/identity-client.js.map +1 -1
  12. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +1 -7
  13. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js +0 -305
  14. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -1
  15. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +10 -9
  16. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +116 -321
  17. package/dist/cjs/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
  18. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.d.ts +0 -1
  19. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js +0 -1
  20. package/dist/cjs/services/db/identity-cache-dynamodb-service/index.js.map +1 -1
  21. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.d.ts +9 -157
  22. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js +1 -15
  23. package/dist/cjs/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
  24. package/dist/esm/__tests__/identity-cache/helpers.spec.js +26 -27
  25. package/dist/esm/__tests__/identity-cache/helpers.spec.js.map +1 -1
  26. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js +83 -344
  27. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js.map +1 -1
  28. package/dist/esm/__tests__/identity-cache/identity-client.spec.js +358 -0
  29. package/dist/esm/__tests__/identity-cache/identity-client.spec.js.map +1 -0
  30. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js +335 -1261
  31. package/dist/esm/__tests__/identity-cache/identity-gateway-service.spec.js.map +1 -1
  32. package/dist/esm/clients/internal-api/identity-client.d.ts +12 -2
  33. package/dist/esm/clients/internal-api/identity-client.js +60 -14
  34. package/dist/esm/clients/internal-api/identity-client.js.map +1 -1
  35. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.d.ts +1 -7
  36. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js +1 -303
  37. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-cache-dynamodb-db-service.js.map +1 -1
  38. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.d.ts +10 -9
  39. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js +119 -321
  40. package/dist/esm/services/db/identity-cache-dynamodb-service/identity-gateway-service.js.map +1 -1
  41. package/dist/esm/services/db/identity-cache-dynamodb-service/index.d.ts +0 -1
  42. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js +0 -1
  43. package/dist/esm/services/db/identity-cache-dynamodb-service/index.js.map +1 -1
  44. package/dist/esm/services/db/identity-cache-dynamodb-service/types.d.ts +9 -157
  45. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js +0 -14
  46. package/dist/esm/services/db/identity-cache-dynamodb-service/types.js.map +1 -1
  47. package/package.json +2 -2
  48. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js +0 -646
  49. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js.map +0 -1
  50. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +0 -325
  51. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +0 -1
  52. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.d.ts +0 -1
  53. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +0 -1286
  54. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +0 -1
  55. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.d.ts +0 -26
  56. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js +0 -252
  57. package/dist/cjs/services/db/identity-cache-dynamodb-service/helpers.js.map +0 -1
  58. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.d.ts +0 -1
  59. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js +0 -644
  60. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-db-service-v2-comparison.spec.js.map +0 -1
  61. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.d.ts +0 -1
  62. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js +0 -323
  63. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.js.map +0 -1
  64. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.d.ts +0 -1
  65. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +0 -1284
  66. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +0 -1
  67. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.d.ts +0 -26
  68. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js +0 -235
  69. package/dist/esm/services/db/identity-cache-dynamodb-service/helpers.js.map +0 -1
  70. /package/dist/cjs/__tests__/identity-cache/{identity-cache-dynamodb-db-service-v2-comparison.spec.d.ts → identity-client.spec.d.ts} +0 -0
  71. /package/dist/{cjs/__tests__/identity-cache/identity-cache-dynamodb-service-v2-comparison.spec.d.ts → esm/__tests__/identity-cache/identity-client.spec.d.ts} +0 -0
@@ -1,192 +1,44 @@
1
- import { EventContext, EventIdentity, EventIdentityTraits, IdentityDynamoDbCache, IdentityMapDynamoDbCache, ForcePurgeDynamoDbCache, IdentityPointerRecord } from '@adtrackify/at-tracking-event-types';
2
- import { IDENTITY_CACHE_STALENESS_TIER, IdentityCacheStaleTracker } from '@adtrackify/at-shared-utils';
1
+ import { EventContext, EventIdentity, IdentityDynamoDbCache, IdentityMapDynamoDbCache, ForcePurgeDynamoDbCache, IdentityPointerRecord } from '@adtrackify/at-tracking-event-types';
2
+ import { IDENTITY_CACHE_STALENESS_TIER, IdentityCacheTraitChange, IdentityCacheTraitChanges, MergeAndComputeIdentityStalenessResult } from '@adtrackify/at-shared-utils';
3
3
  export type { IdentityDynamoDbCache, IdentityMapDynamoDbCache, ForcePurgeDynamoDbCache, IdentityPointerRecord };
4
+ export type { IdentityCacheTraitChange, IdentityCacheTraitChanges };
4
5
  export declare enum CACHE_WRITE_REASON {
5
6
  CACHE_MISS = "cache_miss",
6
7
  STALE_TRAITS = "stale_traits",
7
8
  EMAIL_POINTER_DISCOVERY = "email_pointer_discovery",
8
9
  ADDRESS_UPDATE = "address_update"
9
10
  }
10
- export interface IdentityCacheResult {
11
- resolvedIdentity?: EventIdentity;
12
- isCacheStale: boolean;
13
- cachedIdentity?: EventIdentity;
14
- staleTracker?: IdentityCacheStaleTracker;
15
- writeReason?: CACHE_WRITE_REASON;
16
- staleTier?: IDENTITY_CACHE_STALENESS_TIER;
17
- skipNeptune?: boolean;
18
- }
19
- export declare enum IDENTITY_CACHE_LOOKUP_OUTCOME {
20
- INVALID_INPUT = "invalid_input",
21
- PRIMARY_CACHE_MISS = "primary_cache_miss",
22
- PRIMARY_CACHE_MISS_NO_RESPONSE = "primary_cache_miss_no_response",
23
- PRIMARY_CACHE_HIT = "primary_cache_hit",
24
- PRIMARY_CACHE_STALE = "primary_cache_stale",
25
- EMAIL_POINTER_DISCOVERY = "email_pointer_discovery",
26
- EMAIL_POINTER_MISS = "email_pointer_miss",
27
- FAILED = "failed"
28
- }
29
- export interface IdentityCacheLookupSummary {
30
- outcome: IDENTITY_CACHE_LOOKUP_OUTCOME;
31
- pixelId: string;
32
- identityId?: string;
33
- didLookupByIdentityId: boolean;
34
- didLookupByEmail: boolean;
35
- isDeepEqual?: boolean;
36
- isCacheStale: boolean;
37
- staleTier?: IDENTITY_CACHE_STALENESS_TIER;
38
- staleTraits: string[];
39
- writeReason?: CACHE_WRITE_REASON;
40
- skipNeptune?: boolean;
41
- cachedIdentity?: EventIdentity;
42
- incomingIdentity?: EventIdentity;
43
- mergedIdentity?: EventIdentity;
44
- resolvedIdentity?: EventIdentity;
45
- discoveredIdentityId?: string;
46
- incomingClick?: EventIdentityTraits['click'] | null;
47
- cachedClick?: EventIdentityTraits['click'] | null;
48
- mergedClick?: EventIdentityTraits['click'] | null;
49
- errorMessage?: string;
50
- }
51
- export interface IdentityCacheLookupResult {
52
- cacheResult: IdentityCacheResult;
53
- summary: IdentityCacheLookupSummary;
54
- }
55
- export interface IdentityCacheLookupSummaryInput {
56
- outcome: IDENTITY_CACHE_LOOKUP_OUTCOME;
57
- pixelId: string;
58
- identityId?: string;
59
- didLookupByIdentityId?: boolean;
60
- didLookupByEmail?: boolean;
61
- isDeepEqual?: boolean;
62
- isCacheStale?: boolean;
63
- staleTier?: IDENTITY_CACHE_STALENESS_TIER;
64
- staleTraits?: string[];
65
- writeReason?: CACHE_WRITE_REASON;
66
- skipNeptune?: boolean;
67
- cachedIdentity?: EventIdentity;
68
- incomingIdentity?: EventIdentity;
69
- mergedIdentity?: EventIdentity;
70
- resolvedIdentity?: EventIdentity;
71
- discoveredIdentityId?: string;
72
- errorMessage?: string;
73
- }
74
- export interface IdentityCacheLookupState {
75
- pixelId: string;
76
- incomingIdentity: EventIdentity;
77
- cachedIdentityResponse?: IdentityDynamoDbCache;
78
- cachedIdentity?: EventIdentity;
79
- mergedIdentity?: EventIdentity;
80
- resolvedIdentity?: EventIdentity;
81
- identityStaleCacheTracker?: IdentityCacheStaleTracker;
82
- discoveredIdentityId?: string;
83
- didLookupByIdentityId: boolean;
84
- didLookupByEmail: boolean;
85
- isDeepEqual?: boolean;
86
- isCacheStale: boolean;
87
- staleTier?: IDENTITY_CACHE_STALENESS_TIER;
88
- writeReason?: CACHE_WRITE_REASON;
89
- skipNeptune?: boolean;
90
- staleTraits: string[];
91
- }
92
- export interface IdentityCacheLookupStateSummaryInput extends Partial<IdentityCacheLookupSummaryInput> {
93
- outcome: IDENTITY_CACHE_LOOKUP_OUTCOME;
94
- }
95
11
  export declare enum IDENTITY_CACHE_WITH_CACHING_OUTCOME {
96
12
  INVALID_INPUT = "invalid_input",
97
13
  FRESH_CACHE_HIT = "fresh_cache_hit",
98
14
  VOLATILE_ONLY_CACHE_HIT = "volatile_only_cache_hit",
99
- ADDRESS_UPDATE_WRITE = "address_update_write",
100
15
  ADDRESS_UPDATE_ASYNC = "address_update_async",
101
16
  NEPTUNE_FETCH = "neptune_fetch",
102
- NEPTUNE_WRITE_BACK = "neptune_write_back",
103
- NEPTUNE_SKIP_WRITE = "neptune_skip_write",
104
17
  NEPTUNE_RESOLVED = "neptune_resolved",
105
18
  NEPTUNE_RESOLUTION_FAILED = "neptune_resolution_failed",
106
19
  FALLBACK_INCOMING = "fallback_incoming",
107
20
  FAILED = "failed"
108
21
  }
109
- export interface IdentityCacheTraitChange {
110
- cached?: unknown;
111
- resolved?: unknown;
112
- }
113
- export interface IdentityCacheTraitChanges {
114
- [traitName: string]: IdentityCacheTraitChange;
115
- }
116
- export interface IdentityCacheWithCachingSummary {
22
+ export interface IdentityResolutionResult {
117
23
  outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME;
118
24
  pixelId: string;
119
- identityId?: string;
120
- writeReason?: CACHE_WRITE_REASON;
121
- staleTier?: IDENTITY_CACHE_STALENESS_TIER;
122
- staleTraits: string[];
123
- didReadCache: boolean;
124
- didCallNeptune: boolean;
125
- didWriteCache: boolean;
126
- didSkipNeptune: boolean;
127
- didFallbackToIncoming: boolean;
128
- didEnqueueAsync: boolean;
129
- cachedIdentity?: EventIdentity;
130
- incomingIdentity?: EventIdentity;
131
- identityForNeptune?: EventIdentity;
132
- resolvedIdentity?: EventIdentity;
133
- neptuneIdentity?: EventIdentity;
134
- incomingClick?: EventIdentityTraits['click'] | null;
135
- cachedClick?: EventIdentityTraits['click'] | null;
136
- resolvedClick?: EventIdentityTraits['click'] | null;
137
- neptuneClick?: EventIdentityTraits['click'] | null;
138
- traitChanges?: IdentityCacheTraitChanges;
139
- hasDiscoveredIdentityId?: boolean;
140
- lookupSummary?: IdentityCacheLookupSummary;
141
- errorMessage?: string;
142
- }
143
- export interface IdentityCacheWithCachingResult {
144
25
  identity?: EventIdentity;
145
- summary: IdentityCacheWithCachingSummary;
146
- }
147
- export interface IdentityCacheWithCachingSummaryInput {
148
- outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME;
149
- pixelId: string;
150
26
  identityId?: string;
151
- writeReason?: CACHE_WRITE_REASON;
152
- staleTier?: IDENTITY_CACHE_STALENESS_TIER;
153
- staleTraits?: string[];
154
- didReadCache?: boolean;
155
- didCallNeptune?: boolean;
156
- didWriteCache?: boolean;
157
- didSkipNeptune?: boolean;
158
- didFallbackToIncoming?: boolean;
159
- didEnqueueAsync?: boolean;
160
- cachedIdentity?: EventIdentity;
161
27
  incomingIdentity?: EventIdentity;
162
- identityForNeptune?: EventIdentity;
163
- resolvedIdentity?: EventIdentity;
164
- neptuneIdentity?: EventIdentity;
165
- traitChanges?: IdentityCacheTraitChanges;
166
- hasDiscoveredIdentityId?: boolean;
167
- lookupSummary?: IdentityCacheLookupSummary;
168
- errorMessage?: string;
169
- }
170
- export interface IdentityCacheWithCachingState {
171
- pixelId: string;
172
- incomingIdentity?: EventIdentity;
173
- identifyPrivateLambdaArn: string;
174
- cacheResponse?: IdentityCacheResult;
175
- lookupSummary?: IdentityCacheLookupSummary;
176
- resolvedIdentity?: EventIdentity;
177
28
  cachedIdentity?: EventIdentity;
178
29
  identityForNeptune?: EventIdentity;
179
30
  neptuneIdentity?: EventIdentity;
180
- staleTraits: string[];
31
+ stalenessResult?: MergeAndComputeIdentityStalenessResult;
32
+ staleTier?: IDENTITY_CACHE_STALENESS_TIER;
33
+ writeReason?: CACHE_WRITE_REASON;
34
+ traitChanges?: IdentityCacheTraitChanges;
181
35
  didReadCache: boolean;
182
36
  didCallNeptune: boolean;
183
37
  didWriteCache: boolean;
184
38
  didSkipNeptune: boolean;
185
39
  didFallbackToIncoming: boolean;
186
40
  didEnqueueAsync: boolean;
187
- }
188
- export interface IdentityCacheWithCachingStateSummaryInput extends Partial<IdentityCacheWithCachingSummaryInput> {
189
- outcome: IDENTITY_CACHE_WITH_CACHING_OUTCOME;
41
+ errorMessage?: string;
190
42
  }
191
43
  export interface IdentityWithCachingOptions {
192
44
  skipCacheWrite?: boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PURE_CACHE_LOOKUP_PATH = exports.IDENTITY_CACHE_WITH_CACHING_OUTCOME = exports.IDENTITY_CACHE_LOOKUP_OUTCOME = exports.CACHE_WRITE_REASON = void 0;
3
+ exports.PURE_CACHE_LOOKUP_PATH = exports.IDENTITY_CACHE_WITH_CACHING_OUTCOME = exports.CACHE_WRITE_REASON = void 0;
4
4
  var CACHE_WRITE_REASON;
5
5
  (function (CACHE_WRITE_REASON) {
6
6
  CACHE_WRITE_REASON["CACHE_MISS"] = "cache_miss";
@@ -8,27 +8,13 @@ var CACHE_WRITE_REASON;
8
8
  CACHE_WRITE_REASON["EMAIL_POINTER_DISCOVERY"] = "email_pointer_discovery";
9
9
  CACHE_WRITE_REASON["ADDRESS_UPDATE"] = "address_update";
10
10
  })(CACHE_WRITE_REASON = exports.CACHE_WRITE_REASON || (exports.CACHE_WRITE_REASON = {}));
11
- var IDENTITY_CACHE_LOOKUP_OUTCOME;
12
- (function (IDENTITY_CACHE_LOOKUP_OUTCOME) {
13
- IDENTITY_CACHE_LOOKUP_OUTCOME["INVALID_INPUT"] = "invalid_input";
14
- IDENTITY_CACHE_LOOKUP_OUTCOME["PRIMARY_CACHE_MISS"] = "primary_cache_miss";
15
- IDENTITY_CACHE_LOOKUP_OUTCOME["PRIMARY_CACHE_MISS_NO_RESPONSE"] = "primary_cache_miss_no_response";
16
- IDENTITY_CACHE_LOOKUP_OUTCOME["PRIMARY_CACHE_HIT"] = "primary_cache_hit";
17
- IDENTITY_CACHE_LOOKUP_OUTCOME["PRIMARY_CACHE_STALE"] = "primary_cache_stale";
18
- IDENTITY_CACHE_LOOKUP_OUTCOME["EMAIL_POINTER_DISCOVERY"] = "email_pointer_discovery";
19
- IDENTITY_CACHE_LOOKUP_OUTCOME["EMAIL_POINTER_MISS"] = "email_pointer_miss";
20
- IDENTITY_CACHE_LOOKUP_OUTCOME["FAILED"] = "failed";
21
- })(IDENTITY_CACHE_LOOKUP_OUTCOME = exports.IDENTITY_CACHE_LOOKUP_OUTCOME || (exports.IDENTITY_CACHE_LOOKUP_OUTCOME = {}));
22
11
  var IDENTITY_CACHE_WITH_CACHING_OUTCOME;
23
12
  (function (IDENTITY_CACHE_WITH_CACHING_OUTCOME) {
24
13
  IDENTITY_CACHE_WITH_CACHING_OUTCOME["INVALID_INPUT"] = "invalid_input";
25
14
  IDENTITY_CACHE_WITH_CACHING_OUTCOME["FRESH_CACHE_HIT"] = "fresh_cache_hit";
26
15
  IDENTITY_CACHE_WITH_CACHING_OUTCOME["VOLATILE_ONLY_CACHE_HIT"] = "volatile_only_cache_hit";
27
- IDENTITY_CACHE_WITH_CACHING_OUTCOME["ADDRESS_UPDATE_WRITE"] = "address_update_write";
28
16
  IDENTITY_CACHE_WITH_CACHING_OUTCOME["ADDRESS_UPDATE_ASYNC"] = "address_update_async";
29
17
  IDENTITY_CACHE_WITH_CACHING_OUTCOME["NEPTUNE_FETCH"] = "neptune_fetch";
30
- IDENTITY_CACHE_WITH_CACHING_OUTCOME["NEPTUNE_WRITE_BACK"] = "neptune_write_back";
31
- IDENTITY_CACHE_WITH_CACHING_OUTCOME["NEPTUNE_SKIP_WRITE"] = "neptune_skip_write";
32
18
  IDENTITY_CACHE_WITH_CACHING_OUTCOME["NEPTUNE_RESOLVED"] = "neptune_resolved";
33
19
  IDENTITY_CACHE_WITH_CACHING_OUTCOME["NEPTUNE_RESOLUTION_FAILED"] = "neptune_resolution_failed";
34
20
  IDENTITY_CACHE_WITH_CACHING_OUTCOME["FALLBACK_INCOMING"] = "fallback_incoming";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/types.ts"],"names":[],"mappings":";;;AAaA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,mDAA6B,CAAA;IAC7B,yEAAmD,CAAA;IACnD,uDAAiC,CAAA;AACnC,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AAYD,IAAY,6BASX;AATD,WAAY,6BAA6B;IACvC,gEAA+B,CAAA;IAC/B,0EAAyC,CAAA;IACzC,kGAAiE,CAAA;IACjE,wEAAuC,CAAA;IACvC,4EAA2C,CAAA;IAC3C,oFAAmD,CAAA;IACnD,0EAAyC,CAAA;IACzC,kDAAiB,CAAA;AACnB,CAAC,EATW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QASxC;AAyED,IAAY,mCAiBX;AAjBD,WAAY,mCAAmC;IAC7C,sEAA+B,CAAA;IAC/B,0EAAmC,CAAA;IACnC,0FAAmD,CAAA;IAEnD,oFAA6C,CAAA;IAC7C,oFAA6C,CAAA;IAC7C,sEAA+B,CAAA;IAE/B,gFAAyC,CAAA;IAEzC,gFAAyC,CAAA;IAEzC,4EAAqC,CAAA;IACrC,8FAAuD,CAAA;IACvD,8EAAuC,CAAA;IACvC,wDAAiB,CAAA;AACnB,CAAC,EAjBW,mCAAmC,GAAnC,2CAAmC,KAAnC,2CAAmC,QAiB9C;AAmJD,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,yDAA+B,CAAA;IAC/B,uCAAa,CAAA;AACf,CAAC,EAJW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAIjC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/services/db/identity-cache-dynamodb-service/types.ts"],"names":[],"mappings":";;;AAaA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,mDAA6B,CAAA;IAC7B,yEAAmD,CAAA;IACnD,uDAAiC,CAAA;AACnC,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AAED,IAAY,mCAUX;AAVD,WAAY,mCAAmC;IAC7C,sEAA+B,CAAA;IAC/B,0EAAmC,CAAA;IACnC,0FAAmD,CAAA;IACnD,oFAA6C,CAAA;IAC7C,sEAA+B,CAAA;IAC/B,4EAAqC,CAAA;IACrC,8FAAuD,CAAA;IACvD,8EAAuC,CAAA;IACvC,wDAAiB,CAAA;AACnB,CAAC,EAVW,mCAAmC,GAAnC,2CAAmC,KAAnC,2CAAmC,QAU9C;AAiED,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,yDAA+B,CAAA;IAC/B,uCAAa,CAAA;AACf,CAAC,EAJW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAIjC"}
@@ -1,6 +1,4 @@
1
- import { IDENTITY_CACHE_STALENESS_TIER } from '@adtrackify/at-shared-utils';
2
- import { processCacheHit, stripAddressTimestamps, computeTraitChanges, } from '../../services/db/identity-cache-dynamodb-service/helpers.js';
3
- import { CACHE_WRITE_REASON } from '../../services/db/identity-cache-dynamodb-service/types.js';
1
+ import { IDENTITY_CACHE_STALENESS_TIER, mergeAndComputeIdentityStaleness, stripAddressTimestamps, computeTraitChanges } from '@adtrackify/at-shared-utils';
4
2
  describe('processCacheHit helper', () => {
5
3
  describe('deep equality check behavior', () => {
6
4
  it('should return isDeepEqual=true when merged equals cached', () => {
@@ -18,7 +16,7 @@ describe('processCacheHit helper', () => {
18
16
  phones: ['555-1234'],
19
17
  },
20
18
  };
21
- const result = processCacheHit(incomingIdentity, cachedIdentity);
19
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
22
20
  expect(result.isDeepEqual).toBe(true);
23
21
  expect(result.isCacheStale).toBe(false);
24
22
  });
@@ -35,7 +33,7 @@ describe('processCacheHit helper', () => {
35
33
  emails: ['old@email.com', 'new@email.com'],
36
34
  },
37
35
  };
38
- const result = processCacheHit(incomingIdentity, cachedIdentity);
36
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
39
37
  expect(result.isDeepEqual).toBe(false);
40
38
  expect(result.isCacheStale).toBe(true);
41
39
  });
@@ -54,7 +52,7 @@ describe('processCacheHit helper', () => {
54
52
  emails: ['test@email.com'],
55
53
  },
56
54
  };
57
- const result = processCacheHit(incomingIdentity, cachedIdentity);
55
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
58
56
  expect(result.isCacheStale).toBe(false);
59
57
  });
60
58
  it('should detect difference in address content even with timestamp stripping', () => {
@@ -73,7 +71,7 @@ describe('processCacheHit helper', () => {
73
71
  addresses: [{ city: 'Boston', cra: now }],
74
72
  },
75
73
  };
76
- const result = processCacheHit(incomingIdentity, cachedIdentity);
74
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
77
75
  expect(result.isDeepEqual).toBe(false);
78
76
  });
79
77
  });
@@ -92,7 +90,7 @@ describe('processCacheHit helper', () => {
92
90
  ipAddress: '10.0.0.1',
93
91
  },
94
92
  };
95
- const result = processCacheHit(incomingIdentity, cachedIdentity);
93
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
96
94
  expect(result.isVolatileOnly).toBe(true);
97
95
  expect(result.staleTier).toBe(IDENTITY_CACHE_STALENESS_TIER.VOLATILE_ONLY);
98
96
  });
@@ -110,7 +108,7 @@ describe('processCacheHit helper', () => {
110
108
  userAgent: 'Mozilla/5.0',
111
109
  },
112
110
  };
113
- const result = processCacheHit(incomingIdentity, cachedIdentity);
111
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
114
112
  expect(result.isVolatileOnly).toBe(true);
115
113
  });
116
114
  it('should set isCacheStale=false for volatile-only tier (override)', () => {
@@ -128,7 +126,7 @@ describe('processCacheHit helper', () => {
128
126
  userAgent: 'Chrome/100',
129
127
  },
130
128
  };
131
- const result = processCacheHit(incomingIdentity, cachedIdentity);
129
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
132
130
  expect(result.isVolatileOnly).toBe(true);
133
131
  expect(result.isCacheStale).toBe(false);
134
132
  });
@@ -146,7 +144,7 @@ describe('processCacheHit helper', () => {
146
144
  ipAddress: '10.0.0.1',
147
145
  },
148
146
  };
149
- const result = processCacheHit(incomingIdentity, cachedIdentity);
147
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
150
148
  expect(result.skipNeptune).toBe(true);
151
149
  });
152
150
  it('should return merged identity with volatile traits', () => {
@@ -164,7 +162,7 @@ describe('processCacheHit helper', () => {
164
162
  ipAddress: '10.0.0.1',
165
163
  },
166
164
  };
167
- const result = processCacheHit(incomingIdentity, cachedIdentity);
165
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
168
166
  expect(result.mergedIdentity.traits?.phones).toContain('555-cached');
169
167
  expect(result.mergedIdentity.traits?.ipAddress).toBe('10.0.0.1');
170
168
  });
@@ -185,7 +183,7 @@ describe('processCacheHit helper', () => {
185
183
  addresses: [{ firstName: 'John', lastName: 'Doe', city: 'NYC' }],
186
184
  },
187
185
  };
188
- const result = processCacheHit(incomingIdentity, cachedIdentity);
186
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
189
187
  expect(result.isAddressUpdate).toBe(true);
190
188
  expect(result.staleTier).toBe(IDENTITY_CACHE_STALENESS_TIER.ADDRESS_UPDATE);
191
189
  });
@@ -204,8 +202,8 @@ describe('processCacheHit helper', () => {
204
202
  addresses: [{ firstName: 'Jane', city: 'Boston' }],
205
203
  },
206
204
  };
207
- const result = processCacheHit(incomingIdentity, cachedIdentity);
208
- expect(result.writeReason).toBe(CACHE_WRITE_REASON.ADDRESS_UPDATE);
205
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
206
+ expect(result.isAddressUpdate).toBe(true);
209
207
  });
210
208
  it('should set skipNeptune=true for address update tier', () => {
211
209
  const cachedIdentity = {
@@ -222,7 +220,7 @@ describe('processCacheHit helper', () => {
222
220
  addresses: [{ firstName: 'Test', city: 'TestCity', zip: '12345' }],
223
221
  },
224
222
  };
225
- const result = processCacheHit(incomingIdentity, cachedIdentity);
223
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
226
224
  expect(result.skipNeptune).toBe(true);
227
225
  });
228
226
  it('should set isCacheStale=true for address update tier', () => {
@@ -240,7 +238,7 @@ describe('processCacheHit helper', () => {
240
238
  addresses: [{ firstName: 'Test', city: 'TestCity' }],
241
239
  },
242
240
  };
243
- const result = processCacheHit(incomingIdentity, cachedIdentity);
241
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
244
242
  expect(result.isCacheStale).toBe(true);
245
243
  });
246
244
  it('should NOT be address update for IP-sourced addresses', () => {
@@ -258,7 +256,7 @@ describe('processCacheHit helper', () => {
258
256
  addresses: [{ city: 'IPCity', country: 'US' }],
259
257
  },
260
258
  };
261
- const result = processCacheHit(incomingIdentity, cachedIdentity);
259
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
262
260
  expect(result.isAddressUpdate).toBe(false);
263
261
  expect(result.isVolatileOnly).toBe(true);
264
262
  });
@@ -277,7 +275,7 @@ describe('processCacheHit helper', () => {
277
275
  emails: ['old@email.com', 'new@email.com'],
278
276
  },
279
277
  };
280
- const result = processCacheHit(incomingIdentity, cachedIdentity);
278
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
281
279
  expect(result.staleTier).toBe(IDENTITY_CACHE_STALENESS_TIER.IDENTITY_STALE);
282
280
  expect(result.isCacheStale).toBe(true);
283
281
  });
@@ -296,8 +294,9 @@ describe('processCacheHit helper', () => {
296
294
  phones: ['555-old', '555-new'],
297
295
  },
298
296
  };
299
- const result = processCacheHit(incomingIdentity, cachedIdentity);
300
- expect(result.writeReason).toBe(CACHE_WRITE_REASON.STALE_TRAITS);
297
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
298
+ expect(result.isAddressUpdate).toBe(false);
299
+ expect(result.isCacheStale).toBe(true);
301
300
  });
302
301
  it('should set skipNeptune=false for identity stale tier', () => {
303
302
  const cachedIdentity = {
@@ -313,7 +312,7 @@ describe('processCacheHit helper', () => {
313
312
  userIds: ['user-123'],
314
313
  },
315
314
  };
316
- const result = processCacheHit(incomingIdentity, cachedIdentity);
315
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
317
316
  expect(result.skipNeptune).toBe(false);
318
317
  });
319
318
  it('should populate staleTraits with changed trait names', () => {
@@ -330,7 +329,7 @@ describe('processCacheHit helper', () => {
330
329
  phones: ['555-new'],
331
330
  },
332
331
  };
333
- const result = processCacheHit(incomingIdentity, cachedIdentity);
332
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
334
333
  expect(result.staleTraits).toContain('emails');
335
334
  expect(result.staleTraits).toContain('phones');
336
335
  });
@@ -349,7 +348,7 @@ describe('processCacheHit helper', () => {
349
348
  emails: ['test@email.com'],
350
349
  },
351
350
  };
352
- const result = processCacheHit(incomingIdentity, cachedIdentity);
351
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
353
352
  expect(result.isDeepEqual).toBe(true);
354
353
  expect(result.isCacheStale).toBe(false);
355
354
  });
@@ -368,7 +367,7 @@ describe('processCacheHit helper', () => {
368
367
  emails: ['old@email.com', 'new@email.com'],
369
368
  },
370
369
  };
371
- const result = processCacheHit(incomingIdentity, cachedIdentity);
370
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
372
371
  expect(result.staleTracker).toBeDefined();
373
372
  expect(result.staleTracker.isEmailsStale).toBe(true);
374
373
  });
@@ -388,7 +387,7 @@ describe('processCacheHit helper', () => {
388
387
  emails: ['cached@email.com', 'new@email.com'],
389
388
  },
390
389
  };
391
- const result = processCacheHit(incomingIdentity, cachedIdentity);
390
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
392
391
  expect(result.mergedIdentity.traits?.emails).toContain('cached@email.com');
393
392
  expect(result.mergedIdentity.traits?.emails).toContain('new@email.com');
394
393
  expect(result.mergedIdentity.traits?.phones).toContain('555-cached');
@@ -402,7 +401,7 @@ describe('processCacheHit helper', () => {
402
401
  identityId: 'incoming-identity-id',
403
402
  traits: { emails: ['test@email.com'] },
404
403
  };
405
- const result = processCacheHit(incomingIdentity, cachedIdentity);
404
+ const result = mergeAndComputeIdentityStaleness(incomingIdentity, cachedIdentity);
406
405
  expect(result.mergedIdentity.identityId).toBe('incoming-identity-id');
407
406
  });
408
407
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/helpers.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/helpers.spec.ts"],"names":[],"mappings":"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"}