@adcp/client 4.18.1 → 4.19.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 (57) hide show
  1. package/dist/lib/adapters/governance-adapter.d.ts.map +1 -1
  2. package/dist/lib/adapters/governance-adapter.js +0 -1
  3. package/dist/lib/adapters/governance-adapter.js.map +1 -1
  4. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  5. package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -1
  6. package/dist/lib/core/GovernanceMiddleware.js +0 -2
  7. package/dist/lib/core/GovernanceMiddleware.js.map +1 -1
  8. package/dist/lib/core/GovernanceTypes.d.ts +1 -3
  9. package/dist/lib/core/GovernanceTypes.d.ts.map +1 -1
  10. package/dist/lib/core/GovernanceTypes.js +0 -10
  11. package/dist/lib/core/GovernanceTypes.js.map +1 -1
  12. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  13. package/dist/lib/core/SingleAgentClient.js +14 -8
  14. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  15. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  16. package/dist/lib/core/TaskExecutor.js +2 -3
  17. package/dist/lib/core/TaskExecutor.js.map +1 -1
  18. package/dist/lib/index.d.ts +1 -1
  19. package/dist/lib/index.d.ts.map +1 -1
  20. package/dist/lib/index.js.map +1 -1
  21. package/dist/lib/testing/agent-tester.d.ts +1 -1
  22. package/dist/lib/testing/agent-tester.d.ts.map +1 -1
  23. package/dist/lib/testing/agent-tester.js +8 -2
  24. package/dist/lib/testing/agent-tester.js.map +1 -1
  25. package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
  26. package/dist/lib/testing/compliance/comply.js +1 -3
  27. package/dist/lib/testing/compliance/comply.js.map +1 -1
  28. package/dist/lib/testing/index.d.ts +1 -1
  29. package/dist/lib/testing/index.d.ts.map +1 -1
  30. package/dist/lib/testing/index.js +3 -2
  31. package/dist/lib/testing/index.js.map +1 -1
  32. package/dist/lib/testing/orchestrator.d.ts.map +1 -1
  33. package/dist/lib/testing/orchestrator.js +1 -0
  34. package/dist/lib/testing/orchestrator.js.map +1 -1
  35. package/dist/lib/testing/scenarios/index.d.ts +1 -1
  36. package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
  37. package/dist/lib/testing/scenarios/index.js +3 -2
  38. package/dist/lib/testing/scenarios/index.js.map +1 -1
  39. package/dist/lib/testing/scenarios/media-buy.d.ts +16 -0
  40. package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
  41. package/dist/lib/testing/scenarios/media-buy.js +183 -0
  42. package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
  43. package/dist/lib/testing/stubs/governance-agent-stub.d.ts.map +1 -1
  44. package/dist/lib/testing/stubs/governance-agent-stub.js +0 -2
  45. package/dist/lib/testing/stubs/governance-agent-stub.js.map +1 -1
  46. package/dist/lib/testing/types.d.ts +1 -1
  47. package/dist/lib/testing/types.d.ts.map +1 -1
  48. package/dist/lib/types/core.generated.d.ts +33 -10
  49. package/dist/lib/types/core.generated.d.ts.map +1 -1
  50. package/dist/lib/types/core.generated.js +1 -1
  51. package/dist/lib/types/schemas.generated.d.ts +78 -36
  52. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  53. package/dist/lib/types/schemas.generated.js +36 -24
  54. package/dist/lib/types/schemas.generated.js.map +1 -1
  55. package/dist/lib/types/tools.generated.d.ts +114 -64
  56. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  57. package/package.json +1 -1
@@ -57,6 +57,10 @@ export type MetroAreaSystem = 'nielsen_dma' | 'uk_itl1' | 'uk_itl2' | 'eurostat_
57
57
  * Standardized advertising media channels describing how buyers allocate budget. Channels are planning abstractions, not technical substrates. See the Media Channel Taxonomy specification for detailed definitions.
58
58
  */
59
59
  export type MediaChannel = 'display' | 'olv' | 'social' | 'search' | 'ctv' | 'linear_tv' | 'radio' | 'streaming_audio' | 'podcast' | 'dooh' | 'ooh' | 'print' | 'cinema' | 'email' | 'gaming' | 'retail_media' | 'influencer' | 'affiliate' | 'product_placement' | 'sponsored_intelligence';
60
+ /**
61
+ * What the publisher wants back from a TMP context match. Determines the richness level of the buyer's offer response.
62
+ */
63
+ export type TMPResponseType = 'activation' | 'catalog_items' | 'creative' | 'deal';
60
64
  /**
61
65
  * Geographic targeting level (country, region, metro, postal_area)
62
66
  */
@@ -129,6 +133,10 @@ export type SignalID = {
129
133
  */
130
134
  id: string;
131
135
  };
136
+ /**
137
+ * Postal code system (e.g., 'us_zip', 'gb_outward')
138
+ */
139
+ export type PostalCodeSystem = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode' | 'ch_plz' | 'at_plz';
132
140
  /**
133
141
  * Request parameters for discovering or refining advertising products. buying_mode declares the buyer's intent: 'brief' for curated discovery, 'wholesale' for raw catalog access, or 'refine' to iterate on known products and proposals.
134
142
  */
@@ -200,7 +208,7 @@ export interface GetProductsRequest {
200
208
  /**
201
209
  * Specific product fields to include in the response. When omitted, all fields are returned. Use for lightweight discovery calls where only a subset of product data is needed (e.g., just IDs and pricing for comparison). Required fields (product_id, name) are always included regardless of selection.
202
210
  */
203
- fields?: ('product_id' | 'name' | 'description' | 'publisher_properties' | 'channels' | 'format_ids' | 'placements' | 'delivery_type' | 'exclusivity' | 'pricing_options' | 'forecast' | 'outcome_measurement' | 'delivery_measurement' | 'reporting_capabilities' | 'creative_policy' | 'catalog_types' | 'metric_optimization' | 'conversion_tracking' | 'data_provider_signals' | 'max_optimization_goals' | 'catalog_match' | 'collections' | 'collection_targeting_allowed' | 'installments' | 'brief_relevance' | 'expires_at' | 'product_card' | 'product_card_detailed' | 'enforced_policies')[];
211
+ fields?: ('product_id' | 'name' | 'description' | 'publisher_properties' | 'channels' | 'format_ids' | 'placements' | 'delivery_type' | 'exclusivity' | 'pricing_options' | 'forecast' | 'outcome_measurement' | 'delivery_measurement' | 'reporting_capabilities' | 'creative_policy' | 'catalog_types' | 'metric_optimization' | 'conversion_tracking' | 'data_provider_signals' | 'max_optimization_goals' | 'catalog_match' | 'collections' | 'collection_targeting_allowed' | 'installments' | 'brief_relevance' | 'expires_at' | 'product_card' | 'product_card_detailed' | 'enforced_policies' | 'trusted_match')[];
204
212
  /**
205
213
  * Maximum time the buyer will commit to this request. The seller returns the best results achievable within this budget and does not start processes (human approvals, expensive external queries) that cannot complete in time. When omitted, the seller decides timing.
206
214
  */
@@ -390,9 +398,36 @@ export interface ProductFilters {
390
398
  */
391
399
  channels?: MediaChannel[];
392
400
  /**
393
- * Filter to products executable through specific agentic ad exchanges. URLs are canonical identifiers.
401
+ * @deprecated
402
+ * Deprecated: Use trusted_match filter instead. Filter to products executable through specific agentic ad exchanges. URLs are canonical identifiers.
394
403
  */
395
404
  required_axe_integrations?: string[];
405
+ /**
406
+ * Filter products by Trusted Match Protocol capabilities. Only products with matching TMP support are returned.
407
+ */
408
+ trusted_match?: {
409
+ /**
410
+ * Filter to products with specific TMP providers and match types. Each entry identifies a provider by agent_url and optionally requires specific match capabilities. Products must match at least one entry.
411
+ */
412
+ providers?: {
413
+ /**
414
+ * Provider's agent URL from the registry.
415
+ */
416
+ agent_url: string;
417
+ /**
418
+ * When true, require this provider to support context match.
419
+ */
420
+ context_match?: boolean;
421
+ /**
422
+ * When true, require this provider to support identity match.
423
+ */
424
+ identity_match?: boolean;
425
+ }[];
426
+ /**
427
+ * Filter to products supporting specific TMP response types (e.g., 'activation', 'creative', 'catalog_items'). Products must support at least one of the listed types.
428
+ */
429
+ response_types?: TMPResponseType[];
430
+ };
396
431
  required_features?: MediaBuyFeatures;
397
432
  /**
398
433
  * Filter to products from sellers supporting specific geo targeting capabilities. Each entry specifies a targeting level (country, region, metro, postal_area) and optionally a system for levels that have multiple classification systems.
@@ -408,6 +443,35 @@ export interface ProductFilters {
408
443
  * Filter to products supporting specific signals from data provider catalogs. Products must have the requested signals in their data_provider_signals and signal_targeting_allowed must be true (or all signals requested).
409
444
  */
410
445
  signal_targeting?: SignalTargeting[];
446
+ /**
447
+ * Filter by postal area coverage for locally-bound inventory (direct mail, DOOH, local campaigns). Use when products have postal-area-specific coverage. For digital inventory where products have broad coverage, use required_geo_targeting instead to filter by seller capability.
448
+ */
449
+ postal_areas?: {
450
+ system: PostalCodeSystem;
451
+ /**
452
+ * Postal codes within the system (e.g., ['10001', '10002'] for us_zip)
453
+ */
454
+ values: string[];
455
+ }[];
456
+ /**
457
+ * Filter by proximity to geographic points. Returns products with inventory coverage near these locations. Follows the same format as the targeting overlay — each entry uses exactly one method: travel_time + transport_mode, radius, or geometry. For locally-bound inventory (DOOH, radio), filters to products with coverage in the area. For digital inventory, filters to products from sellers supporting geo_proximity targeting.
458
+ */
459
+ geo_proximity?: {
460
+ [k: string]: unknown | undefined;
461
+ }[];
462
+ /**
463
+ * Filter by keyword relevance for search and retail media platforms. Returns products that support keyword targeting for these terms. Allows the sell-side agent to assess keyword availability and recommend appropriate products. Use match_type to indicate the desired precision.
464
+ */
465
+ keywords?: {
466
+ /**
467
+ * The keyword to target
468
+ */
469
+ keyword: string;
470
+ /**
471
+ * Desired match type: broad matches related queries, phrase matches queries containing the keyword phrase, exact matches the query exactly. Defaults to broad.
472
+ */
473
+ match_type?: 'broad' | 'phrase' | 'exact';
474
+ }[];
411
475
  }
412
476
  /**
413
477
  * Structured format identifier with agent URL and format name. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants.
@@ -572,9 +636,9 @@ export type PriceAdjustmentKind = 'fee' | 'discount' | 'commission' | 'settlemen
572
636
  */
573
637
  export type DemographicSystem = 'nielsen' | 'barb' | 'agf' | 'oztam' | 'mediametrie' | 'custom';
574
638
  /**
575
- * How to interpret the points array. 'spend' (default when omitted): points at ascending budget levels. 'reach_freq': points at ascending reach/frequency targets. 'weekly'/'daily': metrics are per-period values. 'clicks'/'conversions': points at ascending outcome targets.
639
+ * How to interpret the points array. 'spend' (default when omitted): points at ascending budget levels. 'availability': total available inventory, budget omitted. 'reach_freq': points at ascending reach/frequency targets. 'weekly'/'daily': metrics are per-period values. 'clicks'/'conversions': points at ascending outcome targets.
576
640
  */
577
- export type ForecastRangeUnit = 'spend' | 'reach_freq' | 'weekly' | 'daily' | 'clicks' | 'conversions';
641
+ export type ForecastRangeUnit = 'spend' | 'availability' | 'reach_freq' | 'weekly' | 'daily' | 'clicks' | 'conversions';
578
642
  /**
579
643
  * Method used to produce this forecast
580
644
  */
@@ -666,10 +730,6 @@ export type TalentRole = 'host' | 'guest' | 'creator' | 'cast' | 'narrator' | 'p
666
730
  * What kind of derivative content this is
667
731
  */
668
732
  export type DerivativeType = 'clip' | 'highlight' | 'recap' | 'trailer' | 'bonus';
669
- /**
670
- * What the publisher wants back from a TMP context match. Determines the richness level of the buyer's offer response.
671
- */
672
- export type TMPResponseType = 'activation' | 'catalog_items' | 'creative' | 'deal';
673
733
  /**
674
734
  * Days of the week for daypart targeting
675
735
  */
@@ -951,6 +1011,23 @@ export interface Product {
951
1011
  * Whether the buyer can select a brand at match time. When false (default), the brand must be specified on the media buy/package. When true, the buyer's offer can include any brand — the publisher applies approval rules at match time. Enables multi-brand agreements where the holding company or buyer agent selects brand based on context.
952
1012
  */
953
1013
  dynamic_brands?: boolean;
1014
+ /**
1015
+ * TMP providers integrated with this product's inventory. Each entry identifies a provider by agent_url (from the registry) and declares what match types it supports for this product. The product-level context_match and identity_match booleans declare what the product supports overall; the per-provider booleans declare which provider handles each match type. Enables buyer discovery: 'find products where a specific provider does context matching.'
1016
+ */
1017
+ providers?: {
1018
+ /**
1019
+ * Provider's agent URL from the registry. Canonical identifier for this TMP provider.
1020
+ */
1021
+ agent_url: string;
1022
+ /**
1023
+ * Whether this provider handles context match for this product.
1024
+ */
1025
+ context_match?: boolean;
1026
+ /**
1027
+ * Whether this provider handles identity match for this product.
1028
+ */
1029
+ identity_match?: boolean;
1030
+ }[];
954
1031
  };
955
1032
  /**
956
1033
  * Instructions for submitting physical creative materials (print, static OOH, cinema). Present only for products requiring physical delivery outside the digital creative assignment flow. Buyer agents MUST validate url and email domains against the seller's known domains (from adagents.json) before submitting materials. Never auto-submit without human confirmation.
@@ -973,7 +1050,7 @@ export interface Product {
973
1050
  ext?: ExtensionObject;
974
1051
  }
975
1052
  /**
976
- * Represents a specific ad placement within a product's inventory
1053
+ * Represents a specific ad placement within a product's inventory. When the publisher declares a placement registry in adagents.json, products SHOULD reuse those placement_id values. Reusing a registered placement_id preserves the registry's semantic identity; product-level placement objects may narrow format_ids or add operational detail, but SHOULD NOT redefine the placement's meaning incompatibly.
977
1054
  */
978
1055
  export interface Placement {
979
1056
  /**
@@ -988,6 +1065,10 @@ export interface Placement {
988
1065
  * Detailed description of where and how the placement appears
989
1066
  */
990
1067
  description?: string;
1068
+ /**
1069
+ * Optional tags for grouping placements within a product (e.g., 'homepage', 'native', 'premium'). When the placement_id comes from the publisher registry, these should align with the registry tags unless the product is narrowing scope.
1070
+ */
1071
+ tags?: string[];
991
1072
  /**
992
1073
  * Format IDs supported by this specific placement. Can include: (1) concrete format_ids (fixed dimensions), (2) template format_ids without parameters (accepts any dimensions/duration), or (3) parameterized format_ids (specific dimension/duration constraints).
993
1074
  */
@@ -1456,7 +1537,7 @@ export interface TimeBasedPricingOption {
1456
1537
  */
1457
1538
  export interface DeliveryForecast {
1458
1539
  /**
1459
- * Forecasted delivery at one or more budget levels. A single point is a standard forecast; multiple points ordered by ascending budget form a curve showing how metrics scale with spend. Each point pairs a budget with metric ranges.
1540
+ * Forecasted delivery data points. For spend curves (default), points at ascending budget levels show how metrics scale with spend. For availability forecasts, points represent total available inventory independent of budget. See forecast_range_unit for interpretation.
1460
1541
  */
1461
1542
  points: ForecastPoint[];
1462
1543
  forecast_range_unit?: ForecastRangeUnit;
@@ -1482,15 +1563,15 @@ export interface DeliveryForecast {
1482
1563
  ext?: ExtensionObject;
1483
1564
  }
1484
1565
  /**
1485
- * A forecast at a specific budget level. A single point represents a standard forecast; multiple points ordered by ascending budget form a curve showing how delivery metrics scale with spend.
1566
+ * A forecast data point. When budget is present, the point pairs a spend level with expected delivery — multiple points at ascending budgets form a curve. When budget is omitted, the point represents total available inventory for the requested targeting and dates, independent of spend.
1486
1567
  */
1487
1568
  export interface ForecastPoint {
1488
1569
  /**
1489
- * Budget amount for this forecast point. For allocation-level forecasts, this is the absolute budget for that allocation (not the percentage). For proposal-level forecasts, this is the total proposal budget.
1570
+ * Budget amount for this forecast point. Required for spend curves; omit for availability forecasts where the metrics represent total available inventory. For allocation-level forecasts, this is the absolute budget for that allocation (not the percentage). For proposal-level forecasts, this is the total proposal budget. When omitted, use metrics.spend to express the estimated cost of the available inventory.
1490
1571
  */
1491
- budget: number;
1572
+ budget?: number;
1492
1573
  /**
1493
- * Forecasted metric values at this budget level. Keys are forecastable-metric enum values for delivery/engagement or event-type enum values for outcomes. Values are ForecastRange objects (low/mid/high). Use { "mid": value } for point estimates. Include spend when the platform predicts it will differ from budget. Additional keys beyond the documented properties are allowed for event-type values (purchase, lead, app_install, etc.).
1574
+ * Forecasted metric values. Keys are forecastable-metric enum values for delivery/engagement or event-type enum values for outcomes. Values are ForecastRange objects (low/mid/high). Use { "mid": value } for point estimates. When budget is present, these are the expected metrics at that spend level. When budget is omitted, these represent total available inventory — use spend to express the estimated cost. Additional keys beyond the documented properties are allowed for event-type values (purchase, lead, app_install, etc.).
1494
1575
  */
1495
1576
  metrics: {
1496
1577
  audience_size?: ForecastRange;
@@ -2530,10 +2611,6 @@ export type OptimizationGoal = {
2530
2611
  */
2531
2612
  priority?: number;
2532
2613
  };
2533
- /**
2534
- * Postal code system (e.g., 'us_zip', 'gb_outward'). System name encodes country and precision.
2535
- */
2536
- export type PostalCodeSystem = 'us_zip' | 'us_zip_plus_four' | 'gb_outward' | 'gb_full' | 'ca_fsa' | 'ca_full' | 'de_plz' | 'fr_code_postal' | 'au_postcode' | 'ch_plz' | 'at_plz';
2537
2614
  /**
2538
2615
  * Frequency capping settings for package-level application. Two types of frequency control can be used independently or together: suppress enforces a cooldown between consecutive exposures; max_impressions + per + window caps total exposures per entity in a time window. When both suppress and max_impressions are set, an impression is delivered only if both constraints permit it (AND semantics). At least one of suppress, suppress_minutes, or max_impressions must be set.
2539
2616
  */
@@ -2996,11 +3073,13 @@ export interface TargetingOverlay {
2996
3073
  */
2997
3074
  daypart_targets?: DaypartTarget[];
2998
3075
  /**
2999
- * AXE segment ID to include for targeting
3076
+ * @deprecated
3077
+ * Deprecated: Use TMP provider fields instead. AXE segment ID to include for targeting.
3000
3078
  */
3001
3079
  axe_include_segment?: string;
3002
3080
  /**
3003
- * AXE segment ID to exclude from targeting
3081
+ * @deprecated
3082
+ * Deprecated: Use TMP provider fields instead. AXE segment ID to exclude from targeting.
3004
3083
  */
3005
3084
  axe_exclude_segment?: string;
3006
3085
  /**
@@ -9163,10 +9242,6 @@ export type RestrictedAttribute = 'racial_ethnic_origin' | 'political_opinions'
9163
9242
  * Authority level granted to this agent.
9164
9243
  */
9165
9244
  export type DelegationAuthority = 'full' | 'execute_only' | 'propose_only';
9166
- /**
9167
- * Governance enforcement mode for this plan. 'enforce': denied actions are blocked. 'advisory': denied actions proceed with findings logged. 'audit': all actions proceed, findings logged. Defaults to 'enforce' if omitted.
9168
- */
9169
- export type GovernanceMode = 'audit' | 'advisory' | 'enforce';
9170
9245
  /**
9171
9246
  * Push campaign plans to the governance agent. A plan defines the authorized parameters for a campaign -- budget limits, channels, flight dates, and authorized markets.
9172
9247
  */
@@ -9327,7 +9402,6 @@ export interface SyncPlansRequest {
9327
9402
  */
9328
9403
  shared_exclusions?: string[];
9329
9404
  };
9330
- mode?: GovernanceMode;
9331
9405
  ext?: ExtensionObject;
9332
9406
  }[];
9333
9407
  }
@@ -9646,7 +9720,10 @@ export interface GetPlanAuditLogsResponse {
9646
9720
  approved?: number;
9647
9721
  denied?: number;
9648
9722
  conditions?: number;
9649
- escalated?: number;
9723
+ /**
9724
+ * Supplementary count of checks that went through internal human review. These checks are also counted in approved or denied.
9725
+ */
9726
+ human_reviewed?: number;
9650
9727
  };
9651
9728
  /**
9652
9729
  * Total findings across all checks and outcomes.
@@ -9751,11 +9828,11 @@ export interface GetPlanAuditLogsResponse {
9751
9828
  /**
9752
9829
  * Governance check status (present for check entries).
9753
9830
  */
9754
- status?: 'approved' | 'denied' | 'conditions' | 'escalated';
9831
+ status?: 'approved' | 'denied' | 'conditions';
9755
9832
  /**
9756
- * Whether the check was proposed or committed (present for check entries).
9833
+ * Whether the check was an intent check (orchestrator) or execution check (seller). Inferred from the fields present on the original check request. Present for check entries.
9757
9834
  */
9758
- binding?: 'proposed' | 'committed';
9835
+ check_type?: 'intent' | 'execution';
9759
9836
  /**
9760
9837
  * Human-readable explanation of the governance decision (present for check entries).
9761
9838
  */
@@ -9820,7 +9897,7 @@ export interface GetPlanAuditLogsResponse {
9820
9897
  */
9821
9898
  export type GovernancePhase = 'purchase' | 'modification' | 'delivery';
9822
9899
  /**
9823
- * Universal governance check for campaign actions. Called by the orchestrator before sending to a seller (proposed) or by the seller before executing (committed). The governance agent evaluates the action against the campaign plan and returns a status.
9900
+ * Universal governance check for campaign actions. The governance agent infers the check type from the fields present: tool+payload (intent check, orchestrator) or media_buy_id+planned_delivery (execution check, seller).
9824
9901
  */
9825
9902
  export interface CheckGovernanceRequest {
9826
9903
  /**
@@ -9828,19 +9905,15 @@ export interface CheckGovernanceRequest {
9828
9905
  */
9829
9906
  plan_id: string;
9830
9907
  /**
9831
- * Whether this is an advisory check or a binding commitment. 'proposed': the orchestrator is checking before sending to a seller — no budget is committed. 'committed': the seller is about to execute — the governance agent validates the planned delivery against the plan. Budget is committed later via report_plan_outcome, not on approval.
9832
- */
9833
- binding: 'proposed' | 'committed';
9834
- /**
9835
- * URL of the agent making the request (orchestrator for proposed, seller for committed).
9908
+ * URL of the agent making the request.
9836
9909
  */
9837
9910
  caller: string;
9838
9911
  /**
9839
- * The AdCP tool being checked (e.g., 'create_media_buy', 'get_products'). Expected for proposed checks. The governance agent uses this to apply tool-specific validation rules.
9912
+ * The AdCP tool being checked (e.g., 'create_media_buy', 'get_products'). Present on intent checks (orchestrator). The governance agent uses the presence of tool+payload to identify an intent check.
9840
9913
  */
9841
9914
  tool?: string;
9842
9915
  /**
9843
- * The full tool arguments as they would be sent to the seller. Expected for proposed checks. The governance agent can inspect any field to validate against the plan.
9916
+ * The full tool arguments as they would be sent to the seller. Present on intent checks. The governance agent can inspect any field to validate against the plan.
9844
9917
  */
9845
9918
  payload?: {};
9846
9919
  /**
@@ -9848,7 +9921,7 @@ export interface CheckGovernanceRequest {
9848
9921
  */
9849
9922
  governance_context?: string;
9850
9923
  /**
9851
- * The seller's identifier for the media buy. Expected for committed checks.
9924
+ * The seller's identifier for the media buy. Present on execution checks (seller). The governance agent uses the presence of media_buy_id+planned_delivery to identify an execution check.
9852
9925
  */
9853
9926
  media_buy_id?: string;
9854
9927
  phase?: GovernancePhase;
@@ -9937,13 +10010,9 @@ export interface CheckGovernanceResponse {
9937
10010
  */
9938
10011
  check_id: string;
9939
10012
  /**
9940
- * Governance decision. 'approved': proceed as planned. 'denied': do not proceed. 'conditions': approved if the caller accepts the listed conditions, then re-calls check_governance with the adjusted parameters. 'escalated': halted pending human review.
10013
+ * Governance decision. 'approved': proceed as planned. 'denied': do not proceed. 'conditions': approved if the caller accepts the listed conditions, then re-calls check_governance with the adjusted parameters.
9941
10014
  */
9942
- status: 'approved' | 'denied' | 'conditions' | 'escalated';
9943
- /**
9944
- * Echoed from request. Lets the caller confirm the governance agent understood the commitment level.
9945
- */
9946
- binding: 'proposed' | 'committed';
10015
+ status: 'approved' | 'denied' | 'conditions';
9947
10016
  /**
9948
10017
  * Echoed from request.
9949
10018
  */
@@ -9952,9 +10021,8 @@ export interface CheckGovernanceResponse {
9952
10021
  * Human-readable explanation of the governance decision.
9953
10022
  */
9954
10023
  explanation: string;
9955
- mode?: GovernanceMode;
9956
10024
  /**
9957
- * Specific issues found during the governance check. Present when status is 'denied', 'conditions', or 'escalated'. MAY also be present on 'approved' for advisory findings (e.g., budget approaching limit).
10025
+ * Specific issues found during the governance check. Present when status is 'denied' or 'conditions'. MAY also be present on 'approved' for informational findings (e.g., budget approaching limit).
9958
10026
  */
9959
10027
  findings?: {
9960
10028
  /**
@@ -10002,24 +10070,6 @@ export interface CheckGovernanceResponse {
10002
10070
  */
10003
10071
  reason: string;
10004
10072
  }[];
10005
- /**
10006
- * Present when status is 'escalated'. The action is halted pending human review.
10007
- */
10008
- escalation?: {
10009
- /**
10010
- * Human-readable explanation of why the action was escalated.
10011
- */
10012
- reason: string;
10013
- severity: EscalationSeverity;
10014
- /**
10015
- * Whether human approval is required before proceeding.
10016
- */
10017
- requires_human: boolean;
10018
- /**
10019
- * Organizational role or tier required to resolve this escalation. The value is organization-defined; the governance agent infers the tier from the escalation context. Common values include 'manager', 'director', 'legal', 'cfo'. Enables programmatic routing of escalations to the right person.
10020
- */
10021
- approval_tier?: string;
10022
- };
10023
10073
  /**
10024
10074
  * When this approval expires. Present when status is 'approved' or 'conditions'. The caller must act before this time or re-call check_governance. A lapsed approval is no approval.
10025
10075
  */