@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.
- package/dist/lib/adapters/governance-adapter.d.ts.map +1 -1
- package/dist/lib/adapters/governance-adapter.js +0 -1
- package/dist/lib/adapters/governance-adapter.js.map +1 -1
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -1
- package/dist/lib/core/GovernanceMiddleware.js +0 -2
- package/dist/lib/core/GovernanceMiddleware.js.map +1 -1
- package/dist/lib/core/GovernanceTypes.d.ts +1 -3
- package/dist/lib/core/GovernanceTypes.d.ts.map +1 -1
- package/dist/lib/core/GovernanceTypes.js +0 -10
- package/dist/lib/core/GovernanceTypes.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +14 -8
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +2 -3
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/testing/agent-tester.d.ts +1 -1
- package/dist/lib/testing/agent-tester.d.ts.map +1 -1
- package/dist/lib/testing/agent-tester.js +8 -2
- package/dist/lib/testing/agent-tester.js.map +1 -1
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
- package/dist/lib/testing/compliance/comply.js +1 -3
- package/dist/lib/testing/compliance/comply.js.map +1 -1
- package/dist/lib/testing/index.d.ts +1 -1
- package/dist/lib/testing/index.d.ts.map +1 -1
- package/dist/lib/testing/index.js +3 -2
- package/dist/lib/testing/index.js.map +1 -1
- package/dist/lib/testing/orchestrator.d.ts.map +1 -1
- package/dist/lib/testing/orchestrator.js +1 -0
- package/dist/lib/testing/orchestrator.js.map +1 -1
- package/dist/lib/testing/scenarios/index.d.ts +1 -1
- package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/index.js +3 -2
- package/dist/lib/testing/scenarios/index.js.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.d.ts +16 -0
- package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.js +183 -0
- package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
- package/dist/lib/testing/stubs/governance-agent-stub.d.ts.map +1 -1
- package/dist/lib/testing/stubs/governance-agent-stub.js +0 -2
- package/dist/lib/testing/stubs/governance-agent-stub.js.map +1 -1
- package/dist/lib/testing/types.d.ts +1 -1
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/types/core.generated.d.ts +33 -10
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/schemas.generated.d.ts +78 -36
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +36 -24
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +114 -64
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- 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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
1572
|
+
budget?: number;
|
|
1492
1573
|
/**
|
|
1493
|
-
* Forecasted metric values
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
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'
|
|
9831
|
+
status?: 'approved' | 'denied' | 'conditions';
|
|
9755
9832
|
/**
|
|
9756
|
-
* Whether the check was
|
|
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
|
-
|
|
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.
|
|
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
|
-
*
|
|
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').
|
|
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.
|
|
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.
|
|
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.
|
|
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'
|
|
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'
|
|
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
|
*/
|