@adcp/sdk 9.6.2 → 10.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.
Files changed (48) hide show
  1. package/bin/adcp-registry.js +26 -9
  2. package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -1
  3. package/dist/lib/core/ProtocolResponseParser.js +54 -14
  4. package/dist/lib/core/ProtocolResponseParser.js.map +1 -1
  5. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  6. package/dist/lib/core/TaskExecutor.js +21 -7
  7. package/dist/lib/core/TaskExecutor.js.map +1 -1
  8. package/dist/lib/index.d.ts +1 -1
  9. package/dist/lib/index.d.ts.map +1 -1
  10. package/dist/lib/index.js.map +1 -1
  11. package/dist/lib/registry/feed-stream.d.ts +2 -1
  12. package/dist/lib/registry/feed-stream.d.ts.map +1 -1
  13. package/dist/lib/registry/feed-stream.js.map +1 -1
  14. package/dist/lib/registry/index.d.ts +15 -3
  15. package/dist/lib/registry/index.d.ts.map +1 -1
  16. package/dist/lib/registry/index.js +54 -4
  17. package/dist/lib/registry/index.js.map +1 -1
  18. package/dist/lib/registry/sync.d.ts +2 -2
  19. package/dist/lib/registry/sync.d.ts.map +1 -1
  20. package/dist/lib/registry/sync.js.map +1 -1
  21. package/dist/lib/registry/types.d.ts +94 -3
  22. package/dist/lib/registry/types.d.ts.map +1 -1
  23. package/dist/lib/registry/types.generated.d.ts +833 -15
  24. package/dist/lib/registry/types.generated.d.ts.map +1 -1
  25. package/dist/lib/registry/types.generated.js +1 -1
  26. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  27. package/dist/lib/server/decisioning/account.d.ts +5 -2
  28. package/dist/lib/server/decisioning/account.d.ts.map +1 -1
  29. package/dist/lib/server/decisioning/account.js +5 -2
  30. package/dist/lib/server/decisioning/account.js.map +1 -1
  31. package/dist/lib/server/decisioning/tenant-store.d.ts +42 -6
  32. package/dist/lib/server/decisioning/tenant-store.d.ts.map +1 -1
  33. package/dist/lib/server/decisioning/tenant-store.js +31 -6
  34. package/dist/lib/server/decisioning/tenant-store.js.map +1 -1
  35. package/dist/lib/server/pin-and-bind-fetch.d.ts +6 -7
  36. package/dist/lib/server/pin-and-bind-fetch.d.ts.map +1 -1
  37. package/dist/lib/server/pin-and-bind-fetch.js +6 -7
  38. package/dist/lib/server/pin-and-bind-fetch.js.map +1 -1
  39. package/dist/lib/server/webhook-emitter.d.ts +12 -8
  40. package/dist/lib/server/webhook-emitter.d.ts.map +1 -1
  41. package/dist/lib/server/webhook-emitter.js +2 -1
  42. package/dist/lib/server/webhook-emitter.js.map +1 -1
  43. package/dist/lib/version.d.ts +3 -3
  44. package/dist/lib/version.d.ts.map +1 -1
  45. package/dist/lib/version.js +3 -3
  46. package/dist/lib/version.js.map +1 -1
  47. package/package.json +1 -1
  48. package/skills/adcp/SKILL.md +1 -1
@@ -1978,10 +1978,120 @@ export interface paths {
1978
1978
  patch?: never;
1979
1979
  trace?: never;
1980
1980
  };
1981
+ "/api/registry/resolve": {
1982
+ parameters: {
1983
+ query?: never;
1984
+ header?: never;
1985
+ path?: never;
1986
+ cookie?: never;
1987
+ };
1988
+ get?: never;
1989
+ put?: never;
1990
+ /**
1991
+ * Resolve identifiers to property_rids (and contribute them)
1992
+ * @description The primary fact-contribution path. Takes identifiers plus a provenance envelope and returns stable `property_rid`s. In `resolve` mode (default) it auto-creates missing catalog entries and logs demand activity — so resolving your own identifier list IS the contribution. `property_rid` is a non-authoritative join/match handle, never an authorization credential. Re-resolving is idempotent on the identifier→rid mapping but additive on the activity log.
1993
+ */
1994
+ post: operations["resolveIdentifiers"];
1995
+ delete?: never;
1996
+ options?: never;
1997
+ head?: never;
1998
+ patch?: never;
1999
+ trace?: never;
2000
+ };
2001
+ "/api/registry/catalog/disputes": {
2002
+ parameters: {
2003
+ query?: never;
2004
+ header?: never;
2005
+ path?: never;
2006
+ cookie?: never;
2007
+ };
2008
+ get?: never;
2009
+ put?: never;
2010
+ /**
2011
+ * Dispute a catalog fact
2012
+ * @description Challenge or correct a catalog claim — the community disavow/challenge verb. Adding links is hard; suspending suspicious ones is easy: a disputed medium/weak link is suspended immediately (`action_taken: 'link_suspended'`); stronger claims queue for review. Poll status with getCatalogDispute.
2013
+ */
2014
+ post: operations["fileCatalogDispute"];
2015
+ delete?: never;
2016
+ options?: never;
2017
+ head?: never;
2018
+ patch?: never;
2019
+ trace?: never;
2020
+ };
2021
+ "/api/registry/catalog/disputes/{id}": {
2022
+ parameters: {
2023
+ query?: never;
2024
+ header?: never;
2025
+ path?: never;
2026
+ cookie?: never;
2027
+ };
2028
+ /**
2029
+ * Get a catalog dispute
2030
+ * @description Fetch the current state of a filed dispute by id.
2031
+ */
2032
+ get: operations["getCatalogDispute"];
2033
+ put?: never;
2034
+ post?: never;
2035
+ delete?: never;
2036
+ options?: never;
2037
+ head?: never;
2038
+ patch?: never;
2039
+ trace?: never;
2040
+ };
2041
+ "/api/registry/catalog": {
2042
+ parameters: {
2043
+ query?: never;
2044
+ header?: never;
2045
+ path?: never;
2046
+ cookie?: never;
2047
+ };
2048
+ /**
2049
+ * Browse the property catalog
2050
+ * @description Browse the property fact-graph with filters. Cursor-paginated (opaque `cursor` → `next_cursor`). Each entry carries the property's identifiers. `property_rid` is a non-authoritative join/match handle, never an authorization credential.
2051
+ */
2052
+ get: operations["browseCatalog"];
2053
+ put?: never;
2054
+ post?: never;
2055
+ delete?: never;
2056
+ options?: never;
2057
+ head?: never;
2058
+ patch?: never;
2059
+ trace?: never;
2060
+ };
2061
+ "/api/registry/catalog/sync": {
2062
+ parameters: {
2063
+ query?: never;
2064
+ header?: never;
2065
+ path?: never;
2066
+ cookie?: never;
2067
+ };
2068
+ /**
2069
+ * Sync catalog changes since a watermark
2070
+ * @description Delta sync for local mirrors: returns catalog entries created/updated since `since` (a prior `server_timestamp`), capped at 10,000 per page. Pagination is by the returned `server_timestamp` watermark, distinct from browseCatalog's opaque cursor.
2071
+ */
2072
+ get: operations["syncCatalog"];
2073
+ put?: never;
2074
+ post?: never;
2075
+ delete?: never;
2076
+ options?: never;
2077
+ head?: never;
2078
+ patch?: never;
2079
+ trace?: never;
2080
+ };
1981
2081
  }
1982
2082
  export type webhooks = Record<string, never>;
1983
2083
  export interface components {
1984
2084
  schemas: {
2085
+ BrandEventPayload: {
2086
+ /** @description Brand domain; brand.* events are identified by entity_id (the brand) and carry hierarchy context here. */
2087
+ domain?: string;
2088
+ /** @description On brand.resolved/hierarchy_updated: the resolved brand chain (root → leaf). */
2089
+ chain?: {
2090
+ [key: string]: unknown;
2091
+ }[];
2092
+ ancestor_domains?: string[];
2093
+ domains?: string[];
2094
+ };
1985
2095
  ResolvedBrand: {
1986
2096
  /** @example acmecorp.com */
1987
2097
  canonical_id: string;
@@ -2975,6 +3085,408 @@ export interface components {
2975
3085
  created_at: string;
2976
3086
  }[];
2977
3087
  };
3088
+ RegistryFeedEvent: {
3089
+ /** Format: uuid */
3090
+ event_id: string;
3091
+ /** @enum {string} */
3092
+ event_type: "agent.discovered";
3093
+ entity_type: string;
3094
+ entity_id: string;
3095
+ payload: components["schemas"]["AgentEventPayload"];
3096
+ actor: string;
3097
+ /** Format: date-time */
3098
+ created_at: string;
3099
+ } | {
3100
+ /** Format: uuid */
3101
+ event_id: string;
3102
+ /** @enum {string} */
3103
+ event_type: "agent.removed";
3104
+ entity_type: string;
3105
+ entity_id: string;
3106
+ payload: components["schemas"]["AgentEventPayload"];
3107
+ actor: string;
3108
+ /** Format: date-time */
3109
+ created_at: string;
3110
+ } | {
3111
+ /** Format: uuid */
3112
+ event_id: string;
3113
+ /** @enum {string} */
3114
+ event_type: "agent.profile_updated";
3115
+ entity_type: string;
3116
+ entity_id: string;
3117
+ payload: components["schemas"]["AgentEventPayload"];
3118
+ actor: string;
3119
+ /** Format: date-time */
3120
+ created_at: string;
3121
+ } | {
3122
+ /** Format: uuid */
3123
+ event_id: string;
3124
+ /** @enum {string} */
3125
+ event_type: "agent.compliance_changed";
3126
+ entity_type: string;
3127
+ entity_id: string;
3128
+ payload: components["schemas"]["AgentEventPayload"];
3129
+ actor: string;
3130
+ /** Format: date-time */
3131
+ created_at: string;
3132
+ } | {
3133
+ /** Format: uuid */
3134
+ event_id: string;
3135
+ /** @enum {string} */
3136
+ event_type: "agent.verification_earned";
3137
+ entity_type: string;
3138
+ entity_id: string;
3139
+ payload: components["schemas"]["AgentEventPayload"];
3140
+ actor: string;
3141
+ /** Format: date-time */
3142
+ created_at: string;
3143
+ } | {
3144
+ /** Format: uuid */
3145
+ event_id: string;
3146
+ /** @enum {string} */
3147
+ event_type: "agent.verification_lost";
3148
+ entity_type: string;
3149
+ entity_id: string;
3150
+ payload: components["schemas"]["AgentEventPayload"];
3151
+ actor: string;
3152
+ /** Format: date-time */
3153
+ created_at: string;
3154
+ } | {
3155
+ /** Format: uuid */
3156
+ event_id: string;
3157
+ /** @enum {string} */
3158
+ event_type: "property.created";
3159
+ entity_type: string;
3160
+ entity_id: string;
3161
+ payload: components["schemas"]["PropertyEventPayload"];
3162
+ actor: string;
3163
+ /** Format: date-time */
3164
+ created_at: string;
3165
+ } | {
3166
+ /** Format: uuid */
3167
+ event_id: string;
3168
+ /** @enum {string} */
3169
+ event_type: "property.updated";
3170
+ entity_type: string;
3171
+ entity_id: string;
3172
+ payload: components["schemas"]["PropertyEventPayload"];
3173
+ actor: string;
3174
+ /** Format: date-time */
3175
+ created_at: string;
3176
+ } | {
3177
+ /** Format: uuid */
3178
+ event_id: string;
3179
+ /** @enum {string} */
3180
+ event_type: "property.merged";
3181
+ entity_type: string;
3182
+ entity_id: string;
3183
+ payload: components["schemas"]["PropertyEventPayload"];
3184
+ actor: string;
3185
+ /** Format: date-time */
3186
+ created_at: string;
3187
+ } | {
3188
+ /** Format: uuid */
3189
+ event_id: string;
3190
+ /** @enum {string} */
3191
+ event_type: "property.stale";
3192
+ entity_type: string;
3193
+ entity_id: string;
3194
+ payload: components["schemas"]["PropertyEventPayload"];
3195
+ actor: string;
3196
+ /** Format: date-time */
3197
+ created_at: string;
3198
+ } | {
3199
+ /** Format: uuid */
3200
+ event_id: string;
3201
+ /** @enum {string} */
3202
+ event_type: "property.reactivated";
3203
+ entity_type: string;
3204
+ entity_id: string;
3205
+ payload: components["schemas"]["PropertyEventPayload"];
3206
+ actor: string;
3207
+ /** Format: date-time */
3208
+ created_at: string;
3209
+ } | {
3210
+ /** Format: uuid */
3211
+ event_id: string;
3212
+ /** @enum {string} */
3213
+ event_type: "collection.created";
3214
+ entity_type: string;
3215
+ entity_id: string;
3216
+ payload: components["schemas"]["CollectionEventPayload"];
3217
+ actor: string;
3218
+ /** Format: date-time */
3219
+ created_at: string;
3220
+ } | {
3221
+ /** Format: uuid */
3222
+ event_id: string;
3223
+ /** @enum {string} */
3224
+ event_type: "collection.updated";
3225
+ entity_type: string;
3226
+ entity_id: string;
3227
+ payload: components["schemas"]["CollectionEventPayload"];
3228
+ actor: string;
3229
+ /** Format: date-time */
3230
+ created_at: string;
3231
+ } | {
3232
+ /** Format: uuid */
3233
+ event_id: string;
3234
+ /** @enum {string} */
3235
+ event_type: "collection.merged";
3236
+ entity_type: string;
3237
+ entity_id: string;
3238
+ payload: components["schemas"]["CollectionEventPayload"];
3239
+ actor: string;
3240
+ /** Format: date-time */
3241
+ created_at: string;
3242
+ } | {
3243
+ /** Format: uuid */
3244
+ event_id: string;
3245
+ /** @enum {string} */
3246
+ event_type: "collection.removed";
3247
+ entity_type: string;
3248
+ entity_id: string;
3249
+ payload: components["schemas"]["CollectionEventPayload"];
3250
+ actor: string;
3251
+ /** Format: date-time */
3252
+ created_at: string;
3253
+ } | {
3254
+ /** Format: uuid */
3255
+ event_id: string;
3256
+ /** @enum {string} */
3257
+ event_type: "authorization.granted";
3258
+ entity_type: string;
3259
+ entity_id: string;
3260
+ payload: components["schemas"]["AuthorizationEventPayload"];
3261
+ actor: string;
3262
+ /** Format: date-time */
3263
+ created_at: string;
3264
+ } | {
3265
+ /** Format: uuid */
3266
+ event_id: string;
3267
+ /** @enum {string} */
3268
+ event_type: "authorization.revoked";
3269
+ entity_type: string;
3270
+ entity_id: string;
3271
+ payload: components["schemas"]["AuthorizationEventPayload"];
3272
+ actor: string;
3273
+ /** Format: date-time */
3274
+ created_at: string;
3275
+ } | {
3276
+ /** Format: uuid */
3277
+ event_id: string;
3278
+ /** @enum {string} */
3279
+ event_type: "authorization.modified";
3280
+ entity_type: string;
3281
+ entity_id: string;
3282
+ payload: components["schemas"]["AuthorizationEventPayload"];
3283
+ actor: string;
3284
+ /** Format: date-time */
3285
+ created_at: string;
3286
+ } | {
3287
+ /** Format: uuid */
3288
+ event_id: string;
3289
+ /** @enum {string} */
3290
+ event_type: "publisher.adagents_changed";
3291
+ entity_type: string;
3292
+ entity_id: string;
3293
+ payload: components["schemas"]["PublisherEventPayload"];
3294
+ actor: string;
3295
+ /** Format: date-time */
3296
+ created_at: string;
3297
+ } | {
3298
+ /** Format: uuid */
3299
+ event_id: string;
3300
+ /** @enum {string} */
3301
+ event_type: "publisher.adagents_discovered";
3302
+ entity_type: string;
3303
+ entity_id: string;
3304
+ payload: components["schemas"]["PublisherEventPayload"];
3305
+ actor: string;
3306
+ /** Format: date-time */
3307
+ created_at: string;
3308
+ };
3309
+ AgentEventPayload: {
3310
+ /** @description Canonical agent URL; the routing key for agent.* events (agents span many publishers). */
3311
+ agent_url: string;
3312
+ name?: string;
3313
+ type?: string;
3314
+ channels?: string[];
3315
+ property_types?: string[];
3316
+ markets?: string[];
3317
+ categories?: string[];
3318
+ category_taxonomy?: string | null;
3319
+ tags?: string[];
3320
+ delivery_types?: string[];
3321
+ format_ids?: string[];
3322
+ property_count?: number;
3323
+ publisher_count?: number;
3324
+ has_tmp?: boolean;
3325
+ updated_at?: string;
3326
+ changed_fields?: string[];
3327
+ /** @description On agent.profile_updated: the agent's refreshed inventory profile. */
3328
+ inventory_profile?: {
3329
+ [key: string]: unknown;
3330
+ };
3331
+ compliance_summary?: {
3332
+ [key: string]: unknown;
3333
+ };
3334
+ /** @description On agent.compliance_changed: prior compliance/verification status. */
3335
+ previous_status?: string;
3336
+ /** @description On agent.compliance_changed: new compliance/verification status. */
3337
+ current_status?: string;
3338
+ /** @description On agent.compliance_changed: human-readable summary of the compliance transition. */
3339
+ headline?: string | null;
3340
+ /** @description On agent.compliance_changed: map of compliance track id to track status. */
3341
+ tracks?: {
3342
+ [key: string]: "pass" | "fail" | "partial" | "skip" | "silent" | "warning" | "unknown" | "skipped";
3343
+ };
3344
+ storyboards_passing?: number;
3345
+ storyboards_total?: number;
3346
+ storyboards?: ({
3347
+ storyboard_id: string;
3348
+ status: string;
3349
+ steps_passed?: number;
3350
+ steps_total?: number;
3351
+ } & {
3352
+ [key: string]: unknown;
3353
+ })[];
3354
+ /** @description On agent.verification_earned/lost: verified role affected by the badge transition. */
3355
+ role?: string;
3356
+ /** @description On agent.verification_earned: specialisms covered by the earned badge. */
3357
+ verified_specialisms?: string[];
3358
+ /** @description On agent.verification_lost: reason the badge was revoked. */
3359
+ reason?: string;
3360
+ /** @description On agent.verification_earned/lost: AdCP version the badge applies to, when known. */
3361
+ adcp_version?: string;
3362
+ } & {
3363
+ [key: string]: unknown;
3364
+ };
3365
+ PropertyEventPayload: {
3366
+ property_rid?: string;
3367
+ /** @description Publisher domain that owns the property; the routing key for property.* events. */
3368
+ publisher_domain?: string;
3369
+ identifiers?: components["schemas"]["PropertyIdentifier"][];
3370
+ classification?: string;
3371
+ /** @enum {string} */
3372
+ source?: "authoritative" | "enriched" | "contributed";
3373
+ /** @description Optional full post-change property object when available. */
3374
+ property?: {
3375
+ [key: string]: unknown;
3376
+ };
3377
+ changed_fields?: string[];
3378
+ /** @description On property.stale: last successful resolution timestamp. */
3379
+ last_resolved_at?: string;
3380
+ /** @description On property.reactivated: reactivation timestamp when available. */
3381
+ reactivated_at?: string;
3382
+ /** @description On property.stale: reason the property aged out of active resolution. */
3383
+ reason?: string;
3384
+ /** @description On property.merged: the RID merged away. */
3385
+ alias_rid?: string;
3386
+ /** @description On property.merged: the surviving RID. */
3387
+ canonical_rid?: string;
3388
+ evidence?: string;
3389
+ } & {
3390
+ [key: string]: unknown;
3391
+ };
3392
+ CollectionEventPayload: {
3393
+ collection_rid?: string;
3394
+ /** @description Publisher domain that owns the collection; the routing key for collection.* events. */
3395
+ publisher_domain?: string;
3396
+ collection_id?: string | null;
3397
+ name?: string | null;
3398
+ kind?: string | null;
3399
+ source?: string;
3400
+ status?: string;
3401
+ /** @description Distribution identifiers; the per-identifier publisher_domain (e.g. youtube.com) is the distribution surface, distinct from the owning publisher_domain above. */
3402
+ identifiers?: {
3403
+ publisher_domain: string;
3404
+ type: string;
3405
+ value: string;
3406
+ }[];
3407
+ collection?: {
3408
+ [key: string]: unknown;
3409
+ };
3410
+ changed_fields?: string[];
3411
+ /** @description On collection.merged: the RID merged away. */
3412
+ alias_rid?: string;
3413
+ /** @description On collection.merged: the surviving RID. */
3414
+ canonical_rid?: string;
3415
+ evidence?: string;
3416
+ } & {
3417
+ [key: string]: unknown;
3418
+ };
3419
+ AuthorizationEventPayload: {
3420
+ /**
3421
+ * Format: uuid
3422
+ * @description Registry authorization row id when the event is backed by a materialized effective authorization row.
3423
+ */
3424
+ id?: string;
3425
+ agent_url: string;
3426
+ /** @description Registry-canonicalized form of agent_url for equality checks. */
3427
+ agent_url_canonical?: string;
3428
+ /** @description Publisher domain the authorization applies to; the routing key for authorization.* events. */
3429
+ publisher_domain: string;
3430
+ /** @description Present on authorization.granted; authorization.revoked carries only agent_url + publisher_domain. */
3431
+ authorization_type?: string;
3432
+ authorized_for?: string | null;
3433
+ property_ids?: string[];
3434
+ property_tags?: string[];
3435
+ properties?: {
3436
+ [key: string]: unknown;
3437
+ }[];
3438
+ publisher_properties?: {
3439
+ [key: string]: unknown;
3440
+ }[];
3441
+ /** @description Catalog property_rid for materialized per-property authorization rows. Null for publisher-wide rows. */
3442
+ property_rid?: string | null;
3443
+ /** @description Publisher-local property id for materialized per-property authorization rows. */
3444
+ property_id_slug?: string | null;
3445
+ placement_ids?: string[];
3446
+ placement_tags?: string[];
3447
+ collections?: ({
3448
+ publisher_domain: string;
3449
+ collection_ids: string[];
3450
+ } & {
3451
+ [key: string]: unknown;
3452
+ })[];
3453
+ countries?: string[];
3454
+ delegation_type?: string;
3455
+ exclusive?: boolean;
3456
+ effective_from?: string;
3457
+ effective_until?: string;
3458
+ signing_keys?: {
3459
+ [key: string]: unknown;
3460
+ }[];
3461
+ evidence?: string;
3462
+ disputed?: boolean;
3463
+ created_by?: string | null;
3464
+ expires_at?: string | null;
3465
+ created_at?: string | null;
3466
+ updated_at?: string | null;
3467
+ override_applied?: boolean;
3468
+ override_reason?: string | null;
3469
+ } & {
3470
+ [key: string]: unknown;
3471
+ };
3472
+ PublisherEventPayload: {
3473
+ /** @description Publisher domain whose adagents.json was discovered/changed; the routing key for publisher.* events. */
3474
+ publisher_domain?: string;
3475
+ /** @description Legacy alias for publisher_domain retained for early feed examples. */
3476
+ domain?: string;
3477
+ properties_added?: number;
3478
+ properties_removed?: number;
3479
+ agents_added?: string[];
3480
+ agents_removed?: string[];
3481
+ agent_count?: number;
3482
+ property_count?: number;
3483
+ collection_count?: number;
3484
+ discovery_method?: string;
3485
+ manager_domain?: string | null;
3486
+ source?: string;
3487
+ } & {
3488
+ [key: string]: unknown;
3489
+ };
2978
3490
  AgentComplianceDetail: {
2979
3491
  agent_url: string;
2980
3492
  /** @description Requested compliance target before alias resolution, e.g. 3.0 or 3.1-beta. Null for legacy rows before target recording. */
@@ -3377,6 +3889,132 @@ export interface components {
3377
3889
  * @enum {string}
3378
3890
  */
3379
3891
  OrganizationRevenueTier: "under_1m" | "1m_5m" | "5m_50m" | "50m_250m" | "250m_1b" | "1b_plus";
3892
+ ResolveResponse: {
3893
+ resolved: components["schemas"]["ResolvedEntry"][];
3894
+ summary: {
3895
+ total: number;
3896
+ resolved: number;
3897
+ created: number;
3898
+ excluded: number;
3899
+ not_found: number;
3900
+ };
3901
+ server_timestamp: string;
3902
+ };
3903
+ ResolvedEntry: {
3904
+ identifier: components["schemas"]["CatalogIdentifier"];
3905
+ /** @description Stable catalog handle for joining/dedup and TMP matching. NOT an authorization credential. `null` for excluded (ad_infra / publisher_mask) or unresolved-in-lookup identifiers. */
3906
+ property_rid: string | null;
3907
+ /** @example property */
3908
+ classification: string;
3909
+ /** @enum {string} */
3910
+ status: "existing" | "created" | "excluded";
3911
+ source: string | null;
3912
+ };
3913
+ CatalogIdentifier: {
3914
+ /** @example domain */
3915
+ type: string;
3916
+ /** @example nytimes.com */
3917
+ value: string;
3918
+ };
3919
+ ResolveRequest: {
3920
+ /** @description Identifiers to resolve (and, in resolve mode, contribute). Max 10,000 per call for all callers. */
3921
+ identifiers: components["schemas"]["CatalogIdentifier"][];
3922
+ provenance: components["schemas"]["FactProvenance"];
3923
+ /**
3924
+ * @description `resolve` (default) contributes the identifiers, auto-creates missing catalog entries, logs demand activity, and returns rids — requires authentication. `lookup` is a pure read: no write, no activity log, no auth.
3925
+ * @default resolve
3926
+ * @enum {string}
3927
+ */
3928
+ mode: "resolve" | "lookup";
3929
+ };
3930
+ FactProvenance: {
3931
+ /**
3932
+ * @description How the caller knows these identifiers — the trust/audit envelope on the fact. Determines the confidence the catalog assigns. `crawl` is reserved for server-side pipelines; callers use the others.
3933
+ * @enum {string}
3934
+ */
3935
+ type: "agency_allowlist" | "publisher_declaration" | "impression_log" | "ssp_inventory" | "deal_history" | "crawl" | "data_partner" | "member_assertion";
3936
+ /**
3937
+ * @description Optional free-text annotation (campaign, dataset).
3938
+ * @example unilever_q3
3939
+ */
3940
+ context?: string;
3941
+ };
3942
+ CatalogDisputeTriageResult: {
3943
+ dispute_id: string;
3944
+ /**
3945
+ * @description What filing the dispute did: a medium/weak link is suspended immediately; otherwise the dispute is queued or escalated for review.
3946
+ * @enum {string}
3947
+ */
3948
+ action_taken: "link_suspended" | "queued_for_review" | "escalated";
3949
+ reason: string;
3950
+ };
3951
+ CatalogDisputeRequest: {
3952
+ /** @enum {string} */
3953
+ dispute_type: "identifier_link" | "classification" | "property_data" | "false_merge";
3954
+ /**
3955
+ * @description What is being disputed — e.g. `identifier` or `property_rid`.
3956
+ * @example identifier
3957
+ */
3958
+ subject_type: string;
3959
+ /** @example com.example.app */
3960
+ subject_value: string;
3961
+ /** @description The dispute claim (10–2000 chars). */
3962
+ claim: string;
3963
+ /** @description Optional supporting evidence (≤5000 chars). */
3964
+ evidence?: string;
3965
+ };
3966
+ CatalogDisputeRecord: {
3967
+ id: string;
3968
+ /** @enum {string} */
3969
+ dispute_type: "identifier_link" | "classification" | "property_data" | "false_merge";
3970
+ subject_type: string;
3971
+ subject_value: string;
3972
+ claim: string;
3973
+ evidence?: string | null;
3974
+ /**
3975
+ * @description Current dispute status.
3976
+ * @example suspended
3977
+ */
3978
+ status: string;
3979
+ created_at: string;
3980
+ } & {
3981
+ [key: string]: unknown;
3982
+ };
3983
+ CatalogBrowseResponse: {
3984
+ entries: components["schemas"]["CatalogBrowseEntry"][];
3985
+ total: number;
3986
+ /** @description Opaque cursor for the next page; null when exhausted. */
3987
+ next_cursor: string | null;
3988
+ };
3989
+ CatalogBrowseEntry: {
3990
+ property_rid: string;
3991
+ property_id: string | null;
3992
+ /** @example property */
3993
+ classification: string;
3994
+ /** @example adagents_json */
3995
+ source: string;
3996
+ /** @example active */
3997
+ status: string;
3998
+ identifiers: components["schemas"]["CatalogIdentifier"][];
3999
+ };
4000
+ CatalogSyncResponse: {
4001
+ entries: components["schemas"]["CatalogSyncEntry"][];
4002
+ /** @description Watermark to pass as `since` on the next sync (avoids clock skew). */
4003
+ server_timestamp: string;
4004
+ next_cursor: string | null;
4005
+ };
4006
+ CatalogSyncEntry: {
4007
+ property_rid: string;
4008
+ property_id: string | null;
4009
+ classification: string;
4010
+ source: string;
4011
+ status: string;
4012
+ adagents_url: string | null;
4013
+ created_by: string | null;
4014
+ created_at: string;
4015
+ updated_at: string;
4016
+ source_updated_at: string;
4017
+ };
3380
4018
  AdagentsJson: {
3381
4019
  /** Format: uri */
3382
4020
  $schema?: string;
@@ -5844,21 +6482,7 @@ export interface operations {
5844
6482
  };
5845
6483
  content: {
5846
6484
  "application/json": {
5847
- events: {
5848
- /** Format: uuid */
5849
- event_id: string;
5850
- /** @example property.created */
5851
- event_type: string;
5852
- /** @example property */
5853
- entity_type: string;
5854
- entity_id: string;
5855
- payload: {
5856
- [key: string]: unknown;
5857
- };
5858
- actor: string;
5859
- /** Format: date-time */
5860
- created_at: string;
5861
- }[];
6485
+ events: components["schemas"]["RegistryFeedEvent"][];
5862
6486
  /**
5863
6487
  * Format: uuid
5864
6488
  * @description Pass as cursor in the next request to continue polling
@@ -8972,6 +9596,189 @@ export interface operations {
8972
9596
  };
8973
9597
  };
8974
9598
  };
9599
+ resolveIdentifiers: {
9600
+ parameters: {
9601
+ query?: never;
9602
+ header?: never;
9603
+ path?: never;
9604
+ cookie?: never;
9605
+ };
9606
+ requestBody?: {
9607
+ content: {
9608
+ "application/json": components["schemas"]["ResolveRequest"];
9609
+ };
9610
+ };
9611
+ responses: {
9612
+ /** @description Resolve/lookup result */
9613
+ 200: {
9614
+ headers: {
9615
+ [name: string]: unknown;
9616
+ };
9617
+ content: {
9618
+ "application/json": components["schemas"]["ResolveResponse"];
9619
+ };
9620
+ };
9621
+ /** @description Invalid request (bad identifiers, unknown provenance type, batch > 10,000) */
9622
+ 400: {
9623
+ headers: {
9624
+ [name: string]: unknown;
9625
+ };
9626
+ content: {
9627
+ "application/json": components["schemas"]["Error"];
9628
+ };
9629
+ };
9630
+ /** @description Authentication required for resolve mode */
9631
+ 401: {
9632
+ headers: {
9633
+ [name: string]: unknown;
9634
+ };
9635
+ content: {
9636
+ "application/json": components["schemas"]["Error"];
9637
+ };
9638
+ };
9639
+ };
9640
+ };
9641
+ fileCatalogDispute: {
9642
+ parameters: {
9643
+ query?: never;
9644
+ header?: never;
9645
+ path?: never;
9646
+ cookie?: never;
9647
+ };
9648
+ requestBody?: {
9649
+ content: {
9650
+ "application/json": components["schemas"]["CatalogDisputeRequest"];
9651
+ };
9652
+ };
9653
+ responses: {
9654
+ /** @description Dispute filed and triaged */
9655
+ 200: {
9656
+ headers: {
9657
+ [name: string]: unknown;
9658
+ };
9659
+ content: {
9660
+ "application/json": components["schemas"]["CatalogDisputeTriageResult"];
9661
+ };
9662
+ };
9663
+ /** @description Invalid dispute request */
9664
+ 400: {
9665
+ headers: {
9666
+ [name: string]: unknown;
9667
+ };
9668
+ content: {
9669
+ "application/json": components["schemas"]["Error"];
9670
+ };
9671
+ };
9672
+ /** @description Authentication required */
9673
+ 401: {
9674
+ headers: {
9675
+ [name: string]: unknown;
9676
+ };
9677
+ content: {
9678
+ "application/json": components["schemas"]["Error"];
9679
+ };
9680
+ };
9681
+ };
9682
+ };
9683
+ getCatalogDispute: {
9684
+ parameters: {
9685
+ query?: never;
9686
+ header?: never;
9687
+ path: {
9688
+ id: string;
9689
+ };
9690
+ cookie?: never;
9691
+ };
9692
+ requestBody?: never;
9693
+ responses: {
9694
+ /** @description Dispute record */
9695
+ 200: {
9696
+ headers: {
9697
+ [name: string]: unknown;
9698
+ };
9699
+ content: {
9700
+ "application/json": components["schemas"]["CatalogDisputeRecord"];
9701
+ };
9702
+ };
9703
+ /** @description Dispute not found */
9704
+ 404: {
9705
+ headers: {
9706
+ [name: string]: unknown;
9707
+ };
9708
+ content: {
9709
+ "application/json": components["schemas"]["Error"];
9710
+ };
9711
+ };
9712
+ };
9713
+ };
9714
+ browseCatalog: {
9715
+ parameters: {
9716
+ query?: {
9717
+ classification?: string;
9718
+ source?: string;
9719
+ status?: string;
9720
+ identifier_type?: string;
9721
+ search?: string;
9722
+ /** @description Minimum lifetime resolve count (integer). */
9723
+ min_resolves?: string;
9724
+ /** @description ISO 8601 — only properties with resolve activity since this time. */
9725
+ active_since?: string;
9726
+ /** @description Page size (integer). */
9727
+ limit?: string;
9728
+ /** @description Opaque pagination cursor from a prior `next_cursor`. */
9729
+ cursor?: string;
9730
+ };
9731
+ header?: never;
9732
+ path?: never;
9733
+ cookie?: never;
9734
+ };
9735
+ requestBody?: never;
9736
+ responses: {
9737
+ /** @description Catalog page */
9738
+ 200: {
9739
+ headers: {
9740
+ [name: string]: unknown;
9741
+ };
9742
+ content: {
9743
+ "application/json": components["schemas"]["CatalogBrowseResponse"];
9744
+ };
9745
+ };
9746
+ };
9747
+ };
9748
+ syncCatalog: {
9749
+ parameters: {
9750
+ query: {
9751
+ /** @description Watermark from a prior response `server_timestamp` (required). */
9752
+ since: string;
9753
+ /** @description Page size, capped at 10,000. */
9754
+ limit?: string;
9755
+ };
9756
+ header?: never;
9757
+ path?: never;
9758
+ cookie?: never;
9759
+ };
9760
+ requestBody?: never;
9761
+ responses: {
9762
+ /** @description Catalog delta */
9763
+ 200: {
9764
+ headers: {
9765
+ [name: string]: unknown;
9766
+ };
9767
+ content: {
9768
+ "application/json": components["schemas"]["CatalogSyncResponse"];
9769
+ };
9770
+ };
9771
+ /** @description Missing required `since` parameter */
9772
+ 400: {
9773
+ headers: {
9774
+ [name: string]: unknown;
9775
+ };
9776
+ content: {
9777
+ "application/json": components["schemas"]["Error"];
9778
+ };
9779
+ };
9780
+ };
9781
+ };
8975
9782
  }
8976
9783
  export type ResolvedBrand = components['schemas']['ResolvedBrand'];
8977
9784
  export type LocalizedName = components['schemas']['LocalizedName'];
@@ -8994,6 +9801,17 @@ export type PropertyActivity = components['schemas']['PropertyActivity'];
8994
9801
  export type PolicySummary = components['schemas']['PolicySummary'];
8995
9802
  export type Policy = components['schemas']['Policy'];
8996
9803
  export type PolicyHistory = components['schemas']['PolicyHistory'];
9804
+ export type RegistryFeedEvent = components['schemas']['RegistryFeedEvent'];
9805
+ export type AgentEventPayload = components['schemas']['AgentEventPayload'];
9806
+ export type PropertyEventPayload = components['schemas']['PropertyEventPayload'];
9807
+ export type CollectionEventPayload = components['schemas']['CollectionEventPayload'];
9808
+ export type AuthorizationEventPayload = components['schemas']['AuthorizationEventPayload'];
9809
+ export type PublisherEventPayload = components['schemas']['PublisherEventPayload'];
9810
+ export type BrandEventPayload = components['schemas']['BrandEventPayload'];
9811
+ export type CatalogBrowseResponse = components['schemas']['CatalogBrowseResponse'];
9812
+ export type CatalogBrowseEntry = components['schemas']['CatalogBrowseEntry'];
9813
+ export type CatalogSyncResponse = components['schemas']['CatalogSyncResponse'];
9814
+ export type CatalogSyncEntry = components['schemas']['CatalogSyncEntry'];
8997
9815
  export type AgentCompliance = components['schemas']['AgentCompliance'];
8998
9816
  export type AgentComplianceDetail = components['schemas']['AgentComplianceDetail'];
8999
9817
  export type StoryboardStatus = components['schemas']['StoryboardStatus'];