@adcp/client 4.19.0 → 4.20.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.
@@ -511,6 +511,75 @@ export interface paths {
511
511
  patch?: never;
512
512
  trace?: never;
513
513
  };
514
+ "/api/registry/feed": {
515
+ parameters: {
516
+ query?: never;
517
+ header?: never;
518
+ path?: never;
519
+ cookie?: never;
520
+ };
521
+ /**
522
+ * Registry change feed
523
+ * @description Poll the catalog event feed. Returns events since the provided cursor,
524
+ * ordered by UUID v7 event_id. Consumers save cursor and pass it on
525
+ * the next poll. When has_more is false, the consumer is caught up.
526
+ *
527
+ * Events are retained for 90 days. If the cursor refers to a deleted event,
528
+ * cursor_expired is true and the client should re-bootstrap.
529
+ */
530
+ get: operations["getRegistryFeed"];
531
+ put?: never;
532
+ post?: never;
533
+ delete?: never;
534
+ options?: never;
535
+ head?: never;
536
+ patch?: never;
537
+ trace?: never;
538
+ };
539
+ "/api/registry/agents/search": {
540
+ parameters: {
541
+ query?: never;
542
+ header?: never;
543
+ path?: never;
544
+ cookie?: never;
545
+ };
546
+ /**
547
+ * Search agents by inventory profile
548
+ * @description Query the registry for agents matching a campaign profile. Returns a
549
+ * ranked list with inventory profiles and match scores. All filters use
550
+ * AND logic across dimensions; multiple values within a filter use OR.
551
+ */
552
+ get: operations["searchAgents"];
553
+ put?: never;
554
+ post?: never;
555
+ delete?: never;
556
+ options?: never;
557
+ head?: never;
558
+ patch?: never;
559
+ trace?: never;
560
+ };
561
+ "/api/registry/crawl-request": {
562
+ parameters: {
563
+ query?: never;
564
+ header?: never;
565
+ path?: never;
566
+ cookie?: never;
567
+ };
568
+ get?: never;
569
+ put?: never;
570
+ /**
571
+ * Request domain re-crawl
572
+ * @description Request immediate re-crawl of a domain's adagents.json. The requester
573
+ * must be a member who owns the domain or an agent authorized for it.
574
+ * Rate limited to one crawl per domain per 10 minutes.
575
+ */
576
+ post: operations["requestCrawl"];
577
+ delete?: never;
578
+ options?: never;
579
+ head?: never;
580
+ patch?: never;
581
+ trace?: never;
582
+ };
514
583
  "/api/adagents/validate": {
515
584
  parameters: {
516
585
  query?: never;
@@ -934,6 +1003,7 @@ export interface components {
934
1003
  health?: components["schemas"]["AgentHealth"];
935
1004
  stats?: components["schemas"]["AgentStats"];
936
1005
  capabilities?: components["schemas"]["AgentCapabilities"];
1006
+ compliance?: components["schemas"]["AgentCompliance"];
937
1007
  publisher_domains?: string[];
938
1008
  property_summary?: components["schemas"]["PropertySummary"];
939
1009
  };
@@ -972,6 +1042,24 @@ export interface components {
972
1042
  can_preview: boolean;
973
1043
  };
974
1044
  };
1045
+ AgentCompliance: {
1046
+ /** @enum {string} */
1047
+ status: "passing" | "degraded" | "failing" | "unknown";
1048
+ /** @enum {string} */
1049
+ lifecycle_stage: "development" | "testing" | "production" | "deprecated";
1050
+ /**
1051
+ * @example {
1052
+ * "core": "pass",
1053
+ * "products": "fail"
1054
+ * }
1055
+ */
1056
+ tracks: {
1057
+ [key: string]: string;
1058
+ };
1059
+ streak_days: number;
1060
+ last_checked_at: string | null;
1061
+ headline: string | null;
1062
+ };
975
1063
  PropertySummary: {
976
1064
  total_count: number;
977
1065
  count_by_type: {
@@ -1203,6 +1291,121 @@ export interface components {
1203
1291
  created_at: string;
1204
1292
  }[];
1205
1293
  };
1294
+ CatalogEvent: {
1295
+ /**
1296
+ * Format: uuid
1297
+ * @description UUID v7, monotonically ordered
1298
+ */
1299
+ event_id: string;
1300
+ /** @enum {string} */
1301
+ event_type: "property.created" | "property.updated" | "property.merged" | "property.stale" | "property.reactivated" | "agent.discovered" | "agent.removed" | "agent.profile_updated" | "publisher.adagents_changed" | "authorization.granted" | "authorization.revoked";
1302
+ /** @enum {string} */
1303
+ entity_type: "property" | "agent" | "publisher" | "authorization";
1304
+ /** @description property_rid, agent_url, or publisher_domain */
1305
+ entity_id: string;
1306
+ payload: {
1307
+ [key: string]: unknown;
1308
+ };
1309
+ /** @description crawler, member_id, or system */
1310
+ actor: string;
1311
+ /** Format: date-time */
1312
+ created_at: string;
1313
+ };
1314
+ FeedResponse: {
1315
+ events: components["schemas"]["CatalogEvent"][];
1316
+ /**
1317
+ * Format: uuid
1318
+ * @description Pass as cursor on next poll. Null when no events returned.
1319
+ */
1320
+ cursor: string | null;
1321
+ has_more: boolean;
1322
+ /** @description True when the provided cursor has been cleaned up. Client should re-bootstrap. */
1323
+ cursor_expired?: boolean;
1324
+ };
1325
+ AgentInventoryProfile: {
1326
+ /** @description Media channels: display, olv, ctv, dooh, etc. */
1327
+ channels: string[];
1328
+ /** @description Inventory surface types: website, mobile_app, ctv_app, etc. */
1329
+ property_types: string[];
1330
+ /** @description ISO 3166-1 alpha-2 country codes */
1331
+ markets: string[];
1332
+ /** @description IAB Content Taxonomy 3.0 categories */
1333
+ categories: string[];
1334
+ /** @default iab_content_3.0 */
1335
+ category_taxonomy: string;
1336
+ tags: string[];
1337
+ /** @description guaranteed, non_guaranteed, etc. */
1338
+ delivery_types: string[];
1339
+ property_count: number;
1340
+ publisher_count: number;
1341
+ /** @description Whether the agent supports Trusted Match Protocol */
1342
+ has_tmp: boolean;
1343
+ };
1344
+ AgentSearchResult: {
1345
+ url: string;
1346
+ name: string;
1347
+ /** @enum {string} */
1348
+ type: "creative" | "signals" | "sales" | "governance" | "si" | "unknown";
1349
+ /** @enum {string} */
1350
+ protocol?: "mcp" | "a2a";
1351
+ /** @enum {string} */
1352
+ source?: "registered" | "discovered";
1353
+ member?: {
1354
+ slug?: string;
1355
+ display_name?: string;
1356
+ };
1357
+ inventory_profile: components["schemas"]["AgentInventoryProfile"];
1358
+ match: {
1359
+ score: number;
1360
+ matched_filters: string[];
1361
+ };
1362
+ };
1363
+ AgentSearchResponse: {
1364
+ results: components["schemas"]["AgentSearchResult"][];
1365
+ cursor?: string | null;
1366
+ has_more: boolean;
1367
+ filters_applied?: {
1368
+ [key: string]: string[];
1369
+ };
1370
+ };
1371
+ CrawlRequestResponse: {
1372
+ /** @enum {string} */
1373
+ status: "accepted" | "rate_limited";
1374
+ domain: string;
1375
+ /**
1376
+ * Format: date-time
1377
+ * @description Present when rate_limited
1378
+ */
1379
+ last_crawled?: string | null;
1380
+ /** @description Seconds until next crawl allowed. Present when rate_limited. */
1381
+ retry_after?: number | null;
1382
+ };
1383
+ /** @description Full authorization record from adagents.json, carried in authorization.granted/revoked event payloads. */
1384
+ AuthorizationEntry: {
1385
+ agent_url: string;
1386
+ publisher_domain: string;
1387
+ /** @enum {string} */
1388
+ authorization_type: "full" | "property_ids" | "property_types" | "collections";
1389
+ property_ids?: string[];
1390
+ placement_ids?: string[];
1391
+ collections?: {
1392
+ publisher_domain: string;
1393
+ collection_id: string;
1394
+ }[];
1395
+ /** @description ISO 3166-1 alpha-2 country codes */
1396
+ countries?: string[];
1397
+ /** @enum {string} */
1398
+ delegation_type?: "direct" | "delegated";
1399
+ exclusive?: boolean;
1400
+ signing_keys?: {
1401
+ algorithm: string;
1402
+ public_key: string;
1403
+ }[];
1404
+ /** Format: date-time */
1405
+ effective_from?: string | null;
1406
+ /** Format: date-time */
1407
+ effective_until?: string | null;
1408
+ };
1206
1409
  };
1207
1410
  responses: never;
1208
1411
  parameters: never;
@@ -1924,6 +2127,7 @@ export interface operations {
1924
2127
  health?: "true";
1925
2128
  capabilities?: "true";
1926
2129
  properties?: "true";
2130
+ compliance?: "true";
1927
2131
  };
1928
2132
  header?: never;
1929
2133
  path?: never;
@@ -2178,6 +2382,136 @@ export interface operations {
2178
2382
  };
2179
2383
  };
2180
2384
  };
2385
+ getRegistryFeed: {
2386
+ parameters: {
2387
+ query?: {
2388
+ /** @description Last event_id processed. Omit for start of retention window. */
2389
+ cursor?: string;
2390
+ /** @description Comma-separated event types. Supports glob: property.*, authorization.* */
2391
+ types?: string;
2392
+ limit?: number;
2393
+ };
2394
+ header?: never;
2395
+ path?: never;
2396
+ cookie?: never;
2397
+ };
2398
+ requestBody?: never;
2399
+ responses: {
2400
+ /** @description Feed events */
2401
+ 200: {
2402
+ headers: {
2403
+ [name: string]: unknown;
2404
+ };
2405
+ content: {
2406
+ "application/json": components["schemas"]["FeedResponse"];
2407
+ };
2408
+ };
2409
+ /** @description Authentication required */
2410
+ 401: {
2411
+ headers: {
2412
+ [name: string]: unknown;
2413
+ };
2414
+ content: {
2415
+ "application/json": components["schemas"]["Error"];
2416
+ };
2417
+ };
2418
+ };
2419
+ };
2420
+ searchAgents: {
2421
+ parameters: {
2422
+ query?: {
2423
+ type?: "creative" | "signals" | "sales" | "governance" | "si";
2424
+ /** @description Comma-separated media channels: ctv, olv, display, dooh */
2425
+ channels?: string;
2426
+ /** @description Comma-separated ISO 3166-1 alpha-2 codes: US, GB, CA */
2427
+ markets?: string;
2428
+ /** @description Comma-separated IAB categories: IAB-7, IAB-7-1 */
2429
+ categories?: string;
2430
+ /** @description Comma-separated: website, mobile_app, ctv_app */
2431
+ property_types?: string;
2432
+ /** @description Comma-separated property tags */
2433
+ tags?: string;
2434
+ /** @description Comma-separated: guaranteed, non_guaranteed */
2435
+ delivery_types?: string;
2436
+ /** @description Filter to agents supporting Trusted Match Protocol */
2437
+ has_tmp?: boolean;
2438
+ min_properties?: number;
2439
+ sort?: "relevance" | "property_count" | "publisher_count";
2440
+ limit?: number;
2441
+ /** @description Pagination cursor from previous response */
2442
+ cursor?: string;
2443
+ };
2444
+ header?: never;
2445
+ path?: never;
2446
+ cookie?: never;
2447
+ };
2448
+ requestBody?: never;
2449
+ responses: {
2450
+ /** @description Search results */
2451
+ 200: {
2452
+ headers: {
2453
+ [name: string]: unknown;
2454
+ };
2455
+ content: {
2456
+ "application/json": components["schemas"]["AgentSearchResponse"];
2457
+ };
2458
+ };
2459
+ /** @description Authentication required */
2460
+ 401: {
2461
+ headers: {
2462
+ [name: string]: unknown;
2463
+ };
2464
+ content: {
2465
+ "application/json": components["schemas"]["Error"];
2466
+ };
2467
+ };
2468
+ };
2469
+ };
2470
+ requestCrawl: {
2471
+ parameters: {
2472
+ query?: never;
2473
+ header?: never;
2474
+ path?: never;
2475
+ cookie?: never;
2476
+ };
2477
+ requestBody: {
2478
+ content: {
2479
+ "application/json": {
2480
+ /** @description Publisher domain to re-crawl */
2481
+ domain: string;
2482
+ };
2483
+ };
2484
+ };
2485
+ responses: {
2486
+ /** @description Crawl accepted or rate limited */
2487
+ 200: {
2488
+ headers: {
2489
+ [name: string]: unknown;
2490
+ };
2491
+ content: {
2492
+ "application/json": components["schemas"]["CrawlRequestResponse"];
2493
+ };
2494
+ };
2495
+ /** @description Authentication required */
2496
+ 401: {
2497
+ headers: {
2498
+ [name: string]: unknown;
2499
+ };
2500
+ content: {
2501
+ "application/json": components["schemas"]["Error"];
2502
+ };
2503
+ };
2504
+ /** @description Rate limit exceeded */
2505
+ 429: {
2506
+ headers: {
2507
+ [name: string]: unknown;
2508
+ };
2509
+ content: {
2510
+ "application/json": components["schemas"]["CrawlRequestResponse"];
2511
+ };
2512
+ };
2513
+ };
2514
+ };
2181
2515
  validateAdagents: {
2182
2516
  parameters: {
2183
2517
  query?: never;
@@ -2765,4 +3099,11 @@ export type AgentCapabilities = components['schemas']['AgentCapabilities'];
2765
3099
  export type PropertySummary = components['schemas']['PropertySummary'];
2766
3100
  export type FederatedPublisher = components['schemas']['FederatedPublisher'];
2767
3101
  export type DomainLookupResult = components['schemas']['DomainLookupResult'];
3102
+ export type CatalogEvent = components['schemas']['CatalogEvent'];
3103
+ export type FeedResponse = components['schemas']['FeedResponse'];
3104
+ export type AgentInventoryProfile = components['schemas']['AgentInventoryProfile'];
3105
+ export type AgentSearchResult = components['schemas']['AgentSearchResult'];
3106
+ export type AgentSearchResponse = components['schemas']['AgentSearchResponse'];
3107
+ export type CrawlRequestResponse = components['schemas']['CrawlRequestResponse'];
3108
+ export type AuthorizationEntry = components['schemas']['AuthorizationEntry'];
2768
3109
  //# sourceMappingURL=types.generated.d.ts.map