@adcp/sdk 10.0.1 → 11.0.0
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.
- package/dist/lib/brand/index.d.ts +32 -0
- package/dist/lib/brand/index.d.ts.map +1 -1
- package/dist/lib/brand/index.js +137 -0
- package/dist/lib/brand/index.js.map +1 -1
- package/dist/lib/discovery/validate-adagents.js +1 -1
- package/dist/lib/discovery/validate-adagents.js.map +1 -1
- package/dist/lib/index.d.ts +4 -4
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +15 -13
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/registry/index.d.ts +6 -9
- package/dist/lib/registry/index.d.ts.map +1 -1
- package/dist/lib/registry/index.js.map +1 -1
- package/dist/lib/registry/property-registry.d.ts +6 -0
- package/dist/lib/registry/property-registry.d.ts.map +1 -1
- package/dist/lib/registry/property-registry.js +10 -1
- package/dist/lib/registry/property-registry.js.map +1 -1
- package/dist/lib/registry/sync.d.ts +77 -4
- package/dist/lib/registry/sync.d.ts.map +1 -1
- package/dist/lib/registry/sync.js +480 -64
- package/dist/lib/registry/sync.js.map +1 -1
- package/dist/lib/registry/types.d.ts +21 -2
- package/dist/lib/registry/types.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.d.ts +4 -8
- package/dist/lib/registry/types.generated.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.js +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/validations.js +43 -1
- package/dist/lib/testing/storyboard/validations.js.map +1 -1
- package/dist/lib/utils/creative-adapter.d.ts +16 -10
- package/dist/lib/utils/creative-adapter.d.ts.map +1 -1
- package/dist/lib/utils/creative-adapter.js +40 -24
- package/dist/lib/utils/creative-adapter.js.map +1 -1
- package/dist/lib/utils/request-normalizer.d.ts +8 -1
- package/dist/lib/utils/request-normalizer.d.ts.map +1 -1
- package/dist/lib/utils/request-normalizer.js +14 -16
- package/dist/lib/utils/request-normalizer.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/package.json +1 -1
|
@@ -32,7 +32,7 @@ class PropertyRegistry {
|
|
|
32
32
|
client: config.registryClient,
|
|
33
33
|
pollIntervalMs: config.pollInterval,
|
|
34
34
|
cursorStore: config.cursorStore,
|
|
35
|
-
indexes: { agents: true, authorizations: true },
|
|
35
|
+
indexes: { agents: true, authorizations: true, properties: true },
|
|
36
36
|
});
|
|
37
37
|
this.sync.on('sync', () => {
|
|
38
38
|
this.lastSync = new Date();
|
|
@@ -78,12 +78,21 @@ class PropertyRegistry {
|
|
|
78
78
|
}
|
|
79
79
|
return agents;
|
|
80
80
|
}
|
|
81
|
+
/** Get a registry property by property_rid. Merged aliases resolve to their canonical RID. */
|
|
82
|
+
getProperty(rid) {
|
|
83
|
+
return this.sync.getProperty(rid);
|
|
84
|
+
}
|
|
85
|
+
/** Get all registry properties for a publisher domain. */
|
|
86
|
+
getPropertiesForDomain(domain) {
|
|
87
|
+
return this.sync.getPropertiesForDomain(domain);
|
|
88
|
+
}
|
|
81
89
|
// ====== Stats ======
|
|
82
90
|
getStats() {
|
|
83
91
|
const syncStats = this.sync.getStats();
|
|
84
92
|
return {
|
|
85
93
|
agents: syncStats.agents,
|
|
86
94
|
authorizations: syncStats.authorizations,
|
|
95
|
+
properties: syncStats.properties,
|
|
87
96
|
lastSync: this.lastSync,
|
|
88
97
|
};
|
|
89
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-registry.js","sourceRoot":"","sources":["../../../src/lib/registry/property-registry.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"property-registry.js","sourceRoot":"","sources":["../../../src/lib/registry/property-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
2
|
import type { RegistryClient } from './index';
|
|
3
3
|
import type { AgentSearchResult, AgentCompliance, AuthorizationEntry, FeedFreshness } from './types.generated';
|
|
4
|
-
import type { CatalogEvent, ResolvedBrand } from './types';
|
|
4
|
+
import type { CatalogEvent, PropertyEventPayload, PropertyIdentifier, ResolvedBrand } from './types';
|
|
5
5
|
import type { CursorStore } from './cursor-store';
|
|
6
6
|
export interface RegistrySyncConfig {
|
|
7
7
|
/** RegistryClient instance to use for API calls. */
|
|
@@ -60,17 +60,22 @@ export interface RegistrySyncConfig {
|
|
|
60
60
|
agents?: boolean;
|
|
61
61
|
/** Authorization entries (agent→domain mappings). Default: true. */
|
|
62
62
|
authorizations?: boolean;
|
|
63
|
+
/** Property feed records (property_rid→property and publisher domain→properties). Default: true. */
|
|
64
|
+
properties?: boolean;
|
|
63
65
|
/** Ordered brand hierarchy chains (self → parents → house). Default: true. */
|
|
64
66
|
brandHierarchies?: boolean;
|
|
65
67
|
};
|
|
66
68
|
/** Optional cursor store for persisting the feed cursor between restarts. */
|
|
67
69
|
cursorStore?: CursorStore;
|
|
70
|
+
/** Called when RegistrySync intentionally ignores an event family it does not index. */
|
|
71
|
+
onIgnoredEvent?: (event: CatalogEvent, reason: string) => void;
|
|
68
72
|
/** Called on errors during polling/bootstrap. */
|
|
69
73
|
onError?: (error: Error) => void;
|
|
70
74
|
}
|
|
71
75
|
export type RegistrySyncState = 'idle' | 'bootstrapping' | 'syncing' | 'error';
|
|
72
76
|
/** Active feed transport once syncing. */
|
|
73
77
|
export type RegistrySyncTransport = 'stream' | 'poll';
|
|
78
|
+
type RegistrySyncComplianceStatus = AgentCompliance['status'] | 'opted_out';
|
|
74
79
|
export interface RegistrySyncEvents {
|
|
75
80
|
bootstrap: [{
|
|
76
81
|
agentCount: number;
|
|
@@ -91,8 +96,8 @@ export interface RegistrySyncEvents {
|
|
|
91
96
|
compliance_changed: [
|
|
92
97
|
{
|
|
93
98
|
agentUrl: string;
|
|
94
|
-
previousStatus:
|
|
95
|
-
currentStatus:
|
|
99
|
+
previousStatus: RegistrySyncComplianceStatus;
|
|
100
|
+
currentStatus: RegistrySyncComplianceStatus;
|
|
96
101
|
}
|
|
97
102
|
];
|
|
98
103
|
stateChange: [{
|
|
@@ -107,6 +112,11 @@ export interface RegistrySyncEvents {
|
|
|
107
112
|
transport: [{
|
|
108
113
|
transport: RegistrySyncTransport;
|
|
109
114
|
}];
|
|
115
|
+
/** Emitted when an event is intentionally not indexed by RegistrySync. */
|
|
116
|
+
ignoredEvent: [{
|
|
117
|
+
event: CatalogEvent;
|
|
118
|
+
reason: string;
|
|
119
|
+
}];
|
|
110
120
|
}
|
|
111
121
|
export interface AgentFilter {
|
|
112
122
|
type?: string;
|
|
@@ -118,8 +128,24 @@ export interface AgentFilter {
|
|
|
118
128
|
delivery_types?: string[];
|
|
119
129
|
has_tmp?: boolean;
|
|
120
130
|
min_properties?: number;
|
|
121
|
-
compliance_status?:
|
|
131
|
+
compliance_status?: RegistrySyncComplianceStatus[];
|
|
122
132
|
}
|
|
133
|
+
export type RegistrySyncProperty = {
|
|
134
|
+
/** Stable registry property RID. */
|
|
135
|
+
property_rid: string;
|
|
136
|
+
/** Publisher domain that owns the property, when supplied by the feed. */
|
|
137
|
+
publisher_domain?: string;
|
|
138
|
+
identifiers?: PropertyIdentifier[];
|
|
139
|
+
classification?: string;
|
|
140
|
+
source?: PropertyEventPayload['source'];
|
|
141
|
+
property?: PropertyEventPayload['property'];
|
|
142
|
+
changed_fields?: string[];
|
|
143
|
+
last_resolved_at?: string;
|
|
144
|
+
reactivated_at?: string;
|
|
145
|
+
reason?: string;
|
|
146
|
+
evidence?: string;
|
|
147
|
+
[key: string]: unknown;
|
|
148
|
+
};
|
|
123
149
|
/**
|
|
124
150
|
* In-memory replica of the AdCP registry.
|
|
125
151
|
*
|
|
@@ -171,7 +197,9 @@ export declare class RegistrySync extends EventEmitter<RegistrySyncEvents> {
|
|
|
171
197
|
private readonly maxStreamFailures;
|
|
172
198
|
private readonly indexAgents;
|
|
173
199
|
private readonly indexAuthorizations;
|
|
200
|
+
private readonly indexProperties;
|
|
174
201
|
private readonly indexBrandHierarchies;
|
|
202
|
+
private readonly ignoredEventHandler;
|
|
175
203
|
private readonly errorHandler;
|
|
176
204
|
private readonly cursorStore;
|
|
177
205
|
private _state;
|
|
@@ -191,6 +219,10 @@ export declare class RegistrySync extends EventEmitter<RegistrySyncEvents> {
|
|
|
191
219
|
private agents;
|
|
192
220
|
private authByDomain;
|
|
193
221
|
private authByAgent;
|
|
222
|
+
private authLocationsById;
|
|
223
|
+
private propertiesByRid;
|
|
224
|
+
private propertyRidsByDomain;
|
|
225
|
+
private propertyAliasesByRid;
|
|
194
226
|
private brandAncestorsByDomain;
|
|
195
227
|
private brandHierarchyByDomain;
|
|
196
228
|
private brandHierarchyKeysByEntity;
|
|
@@ -231,6 +263,10 @@ export declare class RegistrySync extends EventEmitter<RegistrySyncEvents> {
|
|
|
231
263
|
* authorization after a missed revocation.
|
|
232
264
|
*/
|
|
233
265
|
isAuthorized(agentUrl: string, domain: string): boolean;
|
|
266
|
+
/** Get a property feed record by property_rid. Merged aliases resolve to their canonical RID. */
|
|
267
|
+
getProperty(rid: string): RegistrySyncProperty | undefined;
|
|
268
|
+
/** Get all property feed records for a publisher domain. */
|
|
269
|
+
getPropertiesForDomain(domain: string): RegistrySyncProperty[];
|
|
234
270
|
/**
|
|
235
271
|
* Get the ordered corporate ancestor domain chain for a brand domain.
|
|
236
272
|
*
|
|
@@ -245,6 +281,7 @@ export declare class RegistrySync extends EventEmitter<RegistrySyncEvents> {
|
|
|
245
281
|
getStats(): {
|
|
246
282
|
agents: number;
|
|
247
283
|
authorizations: number;
|
|
284
|
+
properties: number;
|
|
248
285
|
brandHierarchies: number;
|
|
249
286
|
};
|
|
250
287
|
/** The active feed transport once syncing, or null when idle. */
|
|
@@ -292,13 +329,49 @@ export declare class RegistrySync extends EventEmitter<RegistrySyncEvents> {
|
|
|
292
329
|
private setTransport;
|
|
293
330
|
private applyEvent;
|
|
294
331
|
private clearIndexes;
|
|
332
|
+
private ignoreEvent;
|
|
333
|
+
private upsertAuthorizationEntry;
|
|
334
|
+
private normalizeAuthorizationEntry;
|
|
335
|
+
private authorizationEntryFromEvent;
|
|
336
|
+
private removeAuthorizationsForAgent;
|
|
337
|
+
private removeAuthorizationEntries;
|
|
338
|
+
private removeAuthorizationEntriesFromBucket;
|
|
339
|
+
private authorizationMatches;
|
|
340
|
+
private authorizationAgentMatches;
|
|
341
|
+
private authorizationEntriesShareAgent;
|
|
342
|
+
private authDomainKey;
|
|
343
|
+
private authAgentKey;
|
|
344
|
+
private authAgentKeys;
|
|
345
|
+
private authAgentKeysForUrl;
|
|
346
|
+
private authAgentKeysOverlap;
|
|
347
|
+
private authAgentKeyFromUrl;
|
|
348
|
+
private upsertPropertyEvent;
|
|
349
|
+
private handlePropertyMerge;
|
|
350
|
+
private propertyFromPayload;
|
|
351
|
+
private setPropertyEntry;
|
|
352
|
+
private deletePropertyEntry;
|
|
353
|
+
private removePropertyRidFromDomain;
|
|
354
|
+
private propertyRidFromPayload;
|
|
355
|
+
private propertyDomainFromPayload;
|
|
356
|
+
private stringValue;
|
|
357
|
+
private resolvePropertyRid;
|
|
358
|
+
private cloneProperty;
|
|
295
359
|
private applyBrandHierarchyEvent;
|
|
296
360
|
private deleteBrandHierarchy;
|
|
297
361
|
private clearBrandHierarchyEntity;
|
|
362
|
+
private asRecord;
|
|
363
|
+
private emptyInventoryProfile;
|
|
364
|
+
private isStringArray;
|
|
365
|
+
private isAgentInventoryProfile;
|
|
366
|
+
private isAuthorizationPayload;
|
|
367
|
+
private isAgentCompliance;
|
|
368
|
+
private isResolvedBrand;
|
|
369
|
+
private cloneJsonValue;
|
|
298
370
|
private extractResolvedBrandChain;
|
|
299
371
|
private extractDomainChain;
|
|
300
372
|
private domainFromBrand;
|
|
301
373
|
private normalizeDomainKey;
|
|
302
374
|
private setState;
|
|
303
375
|
}
|
|
376
|
+
export {};
|
|
304
377
|
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/lib/registry/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAElB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/lib/registry/sync.ts"],"names":[],"mappings":"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"}
|