@adcp/client 3.8.0 → 3.9.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 (86) hide show
  1. package/bin/adcp.js +536 -20
  2. package/dist/lib/agents/index.generated.d.ts +9 -1
  3. package/dist/lib/agents/index.generated.d.ts.map +1 -1
  4. package/dist/lib/agents/index.generated.js +12 -0
  5. package/dist/lib/agents/index.generated.js.map +1 -1
  6. package/dist/lib/auth/index.d.ts +1 -0
  7. package/dist/lib/auth/index.d.ts.map +1 -1
  8. package/dist/lib/auth/index.js +16 -0
  9. package/dist/lib/auth/index.js.map +1 -1
  10. package/dist/lib/auth/oauth/CLIFlowHandler.d.ts +61 -0
  11. package/dist/lib/auth/oauth/CLIFlowHandler.d.ts.map +1 -0
  12. package/dist/lib/auth/oauth/CLIFlowHandler.js +287 -0
  13. package/dist/lib/auth/oauth/CLIFlowHandler.js.map +1 -0
  14. package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts +126 -0
  15. package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts.map +1 -0
  16. package/dist/lib/auth/oauth/MCPOAuthProvider.js +236 -0
  17. package/dist/lib/auth/oauth/MCPOAuthProvider.js.map +1 -0
  18. package/dist/lib/auth/oauth/index.d.ts +104 -0
  19. package/dist/lib/auth/oauth/index.d.ts.map +1 -0
  20. package/dist/lib/auth/oauth/index.js +168 -0
  21. package/dist/lib/auth/oauth/index.js.map +1 -0
  22. package/dist/lib/auth/oauth/types.d.ts +114 -0
  23. package/dist/lib/auth/oauth/types.d.ts.map +1 -0
  24. package/dist/lib/auth/oauth/types.js +104 -0
  25. package/dist/lib/auth/oauth/types.js.map +1 -0
  26. package/dist/lib/core/TaskExecutor.d.ts +7 -0
  27. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  28. package/dist/lib/core/TaskExecutor.js +46 -10
  29. package/dist/lib/core/TaskExecutor.js.map +1 -1
  30. package/dist/lib/index.d.ts +1 -0
  31. package/dist/lib/index.d.ts.map +1 -1
  32. package/dist/lib/index.js +11 -3
  33. package/dist/lib/index.js.map +1 -1
  34. package/dist/lib/protocols/index.d.ts +2 -1
  35. package/dist/lib/protocols/index.d.ts.map +1 -1
  36. package/dist/lib/protocols/index.js +4 -1
  37. package/dist/lib/protocols/index.js.map +1 -1
  38. package/dist/lib/protocols/mcp.d.ts +80 -0
  39. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  40. package/dist/lib/protocols/mcp.js +158 -0
  41. package/dist/lib/protocols/mcp.js.map +1 -1
  42. package/dist/lib/testing/agent-tester.d.ts +1 -1
  43. package/dist/lib/testing/agent-tester.d.ts.map +1 -1
  44. package/dist/lib/testing/agent-tester.js +39 -1
  45. package/dist/lib/testing/agent-tester.js.map +1 -1
  46. package/dist/lib/testing/index.d.ts +1 -1
  47. package/dist/lib/testing/index.d.ts.map +1 -1
  48. package/dist/lib/testing/index.js +11 -1
  49. package/dist/lib/testing/index.js.map +1 -1
  50. package/dist/lib/testing/scenarios/capabilities.d.ts +27 -0
  51. package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -0
  52. package/dist/lib/testing/scenarios/capabilities.js +250 -0
  53. package/dist/lib/testing/scenarios/capabilities.js.map +1 -0
  54. package/dist/lib/testing/scenarios/governance.d.ts +35 -0
  55. package/dist/lib/testing/scenarios/governance.d.ts.map +1 -0
  56. package/dist/lib/testing/scenarios/governance.js +428 -0
  57. package/dist/lib/testing/scenarios/governance.js.map +1 -0
  58. package/dist/lib/testing/scenarios/index.d.ts +3 -0
  59. package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
  60. package/dist/lib/testing/scenarios/index.js +15 -1
  61. package/dist/lib/testing/scenarios/index.js.map +1 -1
  62. package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts +34 -0
  63. package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts.map +1 -0
  64. package/dist/lib/testing/scenarios/sponsored-intelligence.js +318 -0
  65. package/dist/lib/testing/scenarios/sponsored-intelligence.js.map +1 -0
  66. package/dist/lib/testing/types.d.ts +9 -1
  67. package/dist/lib/testing/types.d.ts.map +1 -1
  68. package/dist/lib/types/adcp.d.ts +47 -1
  69. package/dist/lib/types/adcp.d.ts.map +1 -1
  70. package/dist/lib/types/core.generated.d.ts +393 -164
  71. package/dist/lib/types/core.generated.d.ts.map +1 -1
  72. package/dist/lib/types/core.generated.js +2 -2
  73. package/dist/lib/types/core.generated.js.map +1 -1
  74. package/dist/lib/types/schemas.generated.d.ts +1275 -845
  75. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  76. package/dist/lib/types/schemas.generated.js +300 -198
  77. package/dist/lib/types/schemas.generated.js.map +1 -1
  78. package/dist/lib/types/tools.generated.d.ts +461 -167
  79. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  80. package/dist/lib/types/tools.generated.js +1 -1
  81. package/dist/lib/types/tools.generated.js.map +1 -1
  82. package/dist/lib/version.d.ts +5 -5
  83. package/dist/lib/version.d.ts.map +1 -1
  84. package/dist/lib/version.js +5 -5
  85. package/dist/lib/version.js.map +1 -1
  86. package/package.json +2 -2
@@ -39,6 +39,10 @@ export interface GetProductsRequest {
39
39
  */
40
40
  proposal_id?: string;
41
41
  brand_manifest?: BrandManifestReference;
42
+ /**
43
+ * Account context for product lookup. When provided, returns products with pricing specific to this account's rate card. Optional if the agent has a single account.
44
+ */
45
+ account_id?: string;
42
46
  filters?: ProductFilters;
43
47
  property_list?: PropertyListReference;
44
48
  context?: ContextObject;
@@ -633,6 +637,10 @@ export interface Product {
633
637
  * Whether this is a custom product
634
638
  */
635
639
  is_custom?: boolean;
640
+ /**
641
+ * Whether buyers can filter this product to a subset of its publisher_properties. When false (default), the product is 'all or nothing' - buyers must accept all properties or the product is excluded from property_list filtering results.
642
+ */
643
+ property_targeting_allowed?: boolean;
636
644
  /**
637
645
  * Explanation of why this product matches the brief (only included when brief is provided)
638
646
  */
@@ -718,33 +726,35 @@ export interface CPMPricingOption {
718
726
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
719
727
  */
720
728
  floor_price?: number;
721
- /**
722
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
723
- */
724
- price_guidance?: {
725
- /**
726
- * 25th percentile winning price
727
- */
728
- p25?: number;
729
- /**
730
- * Median winning price
731
- */
732
- p50?: number;
733
- /**
734
- * 75th percentile winning price
735
- */
736
- p75?: number;
737
- /**
738
- * 90th percentile winning price
739
- */
740
- p90?: number;
741
- };
729
+ price_guidance?: PriceGuidance;
742
730
  /**
743
731
  * Minimum spend requirement per package using this pricing option, in the specified currency
744
732
  */
745
733
  min_spend_per_package?: number;
746
734
  [k: string]: unknown | undefined;
747
735
  }
736
+ /**
737
+ * Optional pricing guidance for auction-based bidding
738
+ */
739
+ export interface PriceGuidance {
740
+ /**
741
+ * 25th percentile of recent winning bids
742
+ */
743
+ p25?: number;
744
+ /**
745
+ * Median of recent winning bids
746
+ */
747
+ p50?: number;
748
+ /**
749
+ * 75th percentile of recent winning bids
750
+ */
751
+ p75?: number;
752
+ /**
753
+ * 90th percentile of recent winning bids
754
+ */
755
+ p90?: number;
756
+ [k: string]: unknown | undefined;
757
+ }
748
758
  /**
749
759
  * Viewable Cost Per Mille (cost per 1,000 viewable impressions) pricing - MRC viewability standard. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
750
760
  */
@@ -769,33 +779,35 @@ export interface VCPMPricingOption {
769
779
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
770
780
  */
771
781
  floor_price?: number;
772
- /**
773
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
774
- */
775
- price_guidance?: {
776
- /**
777
- * 25th percentile of recent winning bids
778
- */
779
- p25?: number;
780
- /**
781
- * Median of recent winning bids
782
- */
783
- p50?: number;
784
- /**
785
- * 75th percentile of recent winning bids
786
- */
787
- p75?: number;
788
- /**
789
- * 90th percentile of recent winning bids
790
- */
791
- p90?: number;
792
- };
782
+ price_guidance?: PriceGuidance1;
793
783
  /**
794
784
  * Minimum spend requirement per package using this pricing option, in the specified currency
795
785
  */
796
786
  min_spend_per_package?: number;
797
787
  [k: string]: unknown | undefined;
798
788
  }
789
+ /**
790
+ * Optional pricing guidance for auction-based bidding
791
+ */
792
+ export interface PriceGuidance1 {
793
+ /**
794
+ * 25th percentile of recent winning bids
795
+ */
796
+ p25?: number;
797
+ /**
798
+ * Median of recent winning bids
799
+ */
800
+ p50?: number;
801
+ /**
802
+ * 75th percentile of recent winning bids
803
+ */
804
+ p75?: number;
805
+ /**
806
+ * 90th percentile of recent winning bids
807
+ */
808
+ p90?: number;
809
+ [k: string]: unknown | undefined;
810
+ }
799
811
  /**
800
812
  * Cost Per Click pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
801
813
  */
@@ -820,33 +832,35 @@ export interface CPCPricingOption {
820
832
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
821
833
  */
822
834
  floor_price?: number;
823
- /**
824
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
825
- */
826
- price_guidance?: {
827
- /**
828
- * 25th percentile of recent winning bids
829
- */
830
- p25?: number;
831
- /**
832
- * Median of recent winning bids
833
- */
834
- p50?: number;
835
- /**
836
- * 75th percentile of recent winning bids
837
- */
838
- p75?: number;
839
- /**
840
- * 90th percentile of recent winning bids
841
- */
842
- p90?: number;
843
- };
835
+ price_guidance?: PriceGuidance2;
844
836
  /**
845
837
  * Minimum spend requirement per package using this pricing option, in the specified currency
846
838
  */
847
839
  min_spend_per_package?: number;
848
840
  [k: string]: unknown | undefined;
849
841
  }
842
+ /**
843
+ * Optional pricing guidance for auction-based bidding
844
+ */
845
+ export interface PriceGuidance2 {
846
+ /**
847
+ * 25th percentile of recent winning bids
848
+ */
849
+ p25?: number;
850
+ /**
851
+ * Median of recent winning bids
852
+ */
853
+ p50?: number;
854
+ /**
855
+ * 75th percentile of recent winning bids
856
+ */
857
+ p75?: number;
858
+ /**
859
+ * 90th percentile of recent winning bids
860
+ */
861
+ p90?: number;
862
+ [k: string]: unknown | undefined;
863
+ }
850
864
  /**
851
865
  * Cost Per Completed View (100% video/audio completion) pricing. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
852
866
  */
@@ -871,33 +885,35 @@ export interface CPCVPricingOption {
871
885
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
872
886
  */
873
887
  floor_price?: number;
874
- /**
875
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
876
- */
877
- price_guidance?: {
878
- /**
879
- * 25th percentile of recent winning bids
880
- */
881
- p25?: number;
882
- /**
883
- * Median of recent winning bids
884
- */
885
- p50?: number;
886
- /**
887
- * 75th percentile of recent winning bids
888
- */
889
- p75?: number;
890
- /**
891
- * 90th percentile of recent winning bids
892
- */
893
- p90?: number;
894
- };
888
+ price_guidance?: PriceGuidance3;
895
889
  /**
896
890
  * Minimum spend requirement per package using this pricing option, in the specified currency
897
891
  */
898
892
  min_spend_per_package?: number;
899
893
  [k: string]: unknown | undefined;
900
894
  }
895
+ /**
896
+ * Optional pricing guidance for auction-based bidding
897
+ */
898
+ export interface PriceGuidance3 {
899
+ /**
900
+ * 25th percentile of recent winning bids
901
+ */
902
+ p25?: number;
903
+ /**
904
+ * Median of recent winning bids
905
+ */
906
+ p50?: number;
907
+ /**
908
+ * 75th percentile of recent winning bids
909
+ */
910
+ p75?: number;
911
+ /**
912
+ * 90th percentile of recent winning bids
913
+ */
914
+ p90?: number;
915
+ [k: string]: unknown | undefined;
916
+ }
901
917
  /**
902
918
  * Cost Per View (at publisher-defined threshold) pricing for video/audio. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
903
919
  */
@@ -922,27 +938,7 @@ export interface CPVPricingOption {
922
938
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
923
939
  */
924
940
  floor_price?: number;
925
- /**
926
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
927
- */
928
- price_guidance?: {
929
- /**
930
- * 25th percentile of recent winning bids
931
- */
932
- p25?: number;
933
- /**
934
- * Median of recent winning bids
935
- */
936
- p50?: number;
937
- /**
938
- * 75th percentile of recent winning bids
939
- */
940
- p75?: number;
941
- /**
942
- * 90th percentile of recent winning bids
943
- */
944
- p90?: number;
945
- };
941
+ price_guidance?: PriceGuidance4;
946
942
  /**
947
943
  * CPV-specific parameters defining the view threshold
948
944
  */
@@ -962,6 +958,28 @@ export interface CPVPricingOption {
962
958
  min_spend_per_package?: number;
963
959
  [k: string]: unknown | undefined;
964
960
  }
961
+ /**
962
+ * Optional pricing guidance for auction-based bidding
963
+ */
964
+ export interface PriceGuidance4 {
965
+ /**
966
+ * 25th percentile of recent winning bids
967
+ */
968
+ p25?: number;
969
+ /**
970
+ * Median of recent winning bids
971
+ */
972
+ p50?: number;
973
+ /**
974
+ * 75th percentile of recent winning bids
975
+ */
976
+ p75?: number;
977
+ /**
978
+ * 90th percentile of recent winning bids
979
+ */
980
+ p90?: number;
981
+ [k: string]: unknown | undefined;
982
+ }
965
983
  /**
966
984
  * Cost Per Point (Gross Rating Point) pricing for TV and audio campaigns. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
967
985
  */
@@ -986,27 +1004,7 @@ export interface CPPPricingOption {
986
1004
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
987
1005
  */
988
1006
  floor_price?: number;
989
- /**
990
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
991
- */
992
- price_guidance?: {
993
- /**
994
- * 25th percentile of recent winning bids
995
- */
996
- p25?: number;
997
- /**
998
- * Median of recent winning bids
999
- */
1000
- p50?: number;
1001
- /**
1002
- * 75th percentile of recent winning bids
1003
- */
1004
- p75?: number;
1005
- /**
1006
- * 90th percentile of recent winning bids
1007
- */
1008
- p90?: number;
1009
- };
1007
+ price_guidance?: PriceGuidance5;
1010
1008
  /**
1011
1009
  * CPP-specific parameters for demographic targeting
1012
1010
  */
@@ -1027,6 +1025,28 @@ export interface CPPPricingOption {
1027
1025
  min_spend_per_package?: number;
1028
1026
  [k: string]: unknown | undefined;
1029
1027
  }
1028
+ /**
1029
+ * Optional pricing guidance for auction-based bidding
1030
+ */
1031
+ export interface PriceGuidance5 {
1032
+ /**
1033
+ * 25th percentile of recent winning bids
1034
+ */
1035
+ p25?: number;
1036
+ /**
1037
+ * Median of recent winning bids
1038
+ */
1039
+ p50?: number;
1040
+ /**
1041
+ * 75th percentile of recent winning bids
1042
+ */
1043
+ p75?: number;
1044
+ /**
1045
+ * 90th percentile of recent winning bids
1046
+ */
1047
+ p90?: number;
1048
+ [k: string]: unknown | undefined;
1049
+ }
1030
1050
  /**
1031
1051
  * Flat rate pricing for DOOH, sponsorships, and time-based campaigns. If fixed_price is present, it's fixed pricing. If absent, it's auction-based.
1032
1052
  */
@@ -1051,27 +1071,7 @@ export interface FlatRatePricingOption {
1051
1071
  * Minimum acceptable bid for auction pricing (mutually exclusive with fixed_price). Bids below this value will be rejected.
1052
1072
  */
1053
1073
  floor_price?: number;
1054
- /**
1055
- * Optional pricing guidance for auction-based bidding. Helps buyers calibrate bids with historical percentiles.
1056
- */
1057
- price_guidance?: {
1058
- /**
1059
- * 25th percentile of recent winning bids
1060
- */
1061
- p25?: number;
1062
- /**
1063
- * Median of recent winning bids
1064
- */
1065
- p50?: number;
1066
- /**
1067
- * 75th percentile of recent winning bids
1068
- */
1069
- p75?: number;
1070
- /**
1071
- * 90th percentile of recent winning bids
1072
- */
1073
- p90?: number;
1074
- };
1074
+ price_guidance?: PriceGuidance6;
1075
1075
  /**
1076
1076
  * Flat rate parameters for DOOH and time-based campaigns
1077
1077
  */
@@ -1112,6 +1112,28 @@ export interface FlatRatePricingOption {
1112
1112
  min_spend_per_package?: number;
1113
1113
  [k: string]: unknown | undefined;
1114
1114
  }
1115
+ /**
1116
+ * Optional pricing guidance for auction-based bidding
1117
+ */
1118
+ export interface PriceGuidance6 {
1119
+ /**
1120
+ * 25th percentile of recent winning bids
1121
+ */
1122
+ p25?: number;
1123
+ /**
1124
+ * Median of recent winning bids
1125
+ */
1126
+ p50?: number;
1127
+ /**
1128
+ * 75th percentile of recent winning bids
1129
+ */
1130
+ p75?: number;
1131
+ /**
1132
+ * 90th percentile of recent winning bids
1133
+ */
1134
+ p90?: number;
1135
+ [k: string]: unknown | undefined;
1136
+ }
1115
1137
  /**
1116
1138
  * Measurement capabilities included with a product
1117
1139
  */
@@ -1474,7 +1496,7 @@ export interface Format {
1474
1496
  })[]
1475
1497
  ];
1476
1498
  /**
1477
- * Array of all assets supported for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Use the 'required' boolean on each asset to indicate whether it's mandatory. This field replaces the deprecated 'assets_required' and enables full asset discovery for buyers and AI agents.
1499
+ * Array of all assets supported for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Use the 'required' boolean on each asset to indicate whether it's mandatory.
1478
1500
  */
1479
1501
  assets?: ({
1480
1502
  /**
@@ -1781,6 +1803,10 @@ export interface CreateMediaBuyRequest {
1781
1803
  * Buyer's reference identifier for this media buy
1782
1804
  */
1783
1805
  buyer_ref: string;
1806
+ /**
1807
+ * Account to bill for this media buy. Optional if the agent has a single account or the seller can determine the account from context (brand + agent). Required if the agent has multiple accounts and the seller cannot route automatically.
1808
+ */
1809
+ account_id?: string;
1784
1810
  /**
1785
1811
  * ID of a proposal from get_products to execute. When provided with total_budget, the publisher converts the proposal's allocation percentages into packages automatically. Alternative to providing packages array.
1786
1812
  */
@@ -1954,6 +1980,7 @@ export interface TargetingOverlay {
1954
1980
  */
1955
1981
  axe_exclude_segment?: string;
1956
1982
  frequency_cap?: FrequencyCap;
1983
+ property_list?: PropertyListReference;
1957
1984
  [k: string]: unknown | undefined;
1958
1985
  }
1959
1986
  /**
@@ -1967,7 +1994,7 @@ export interface FrequencyCap {
1967
1994
  [k: string]: unknown | undefined;
1968
1995
  }
1969
1996
  /**
1970
- * Assignment of a creative asset to a package with optional placement targeting. Used in create_media_buy and update_media_buy requests. Note: sync_creatives does not support placement_ids - use create/update_media_buy for placement-level targeting.
1997
+ * Reference to a property list for targeting specific properties within this product. The package runs on the intersection of the product's publisher_properties and this list. Sellers SHOULD return a validation error if the product has property_targeting_allowed: false.
1971
1998
  */
1972
1999
  export interface CreativeAssignment {
1973
2000
  /**
@@ -2069,7 +2096,7 @@ export interface ImageAsset {
2069
2096
  [k: string]: unknown | undefined;
2070
2097
  }
2071
2098
  /**
2072
- * Video asset with URL and specifications
2099
+ * Video asset with URL and technical specifications including audio track properties
2073
2100
  */
2074
2101
  export interface VideoAsset {
2075
2102
  /**
@@ -2089,17 +2116,97 @@ export interface VideoAsset {
2089
2116
  */
2090
2117
  duration_ms?: number;
2091
2118
  /**
2092
- * Video file format (mp4, webm, mov, etc.)
2119
+ * File size in bytes
2093
2120
  */
2094
- format?: string;
2121
+ file_size_bytes?: number;
2095
2122
  /**
2096
- * Video bitrate in kilobits per second
2123
+ * Video container format (mp4, webm, mov, etc.)
2097
2124
  */
2098
- bitrate_kbps?: number;
2125
+ container_format?: string;
2126
+ /**
2127
+ * Video codec used (h264, h265, vp9, av1, prores, etc.)
2128
+ */
2129
+ video_codec?: string;
2130
+ /**
2131
+ * Video stream bitrate in kilobits per second
2132
+ */
2133
+ video_bitrate_kbps?: number;
2134
+ /**
2135
+ * Frame rate as string to preserve precision (e.g., '23.976', '29.97', '30')
2136
+ */
2137
+ frame_rate?: string;
2138
+ /**
2139
+ * Whether the video uses constant (CFR) or variable (VFR) frame rate
2140
+ */
2141
+ frame_rate_type?: 'constant' | 'variable';
2142
+ /**
2143
+ * Scan type of the video
2144
+ */
2145
+ scan_type?: 'progressive' | 'interlaced';
2146
+ /**
2147
+ * Color space of the video
2148
+ */
2149
+ color_space?: 'rec709' | 'rec2020' | 'rec2100' | 'srgb' | 'dci_p3';
2150
+ /**
2151
+ * HDR format if applicable, or 'sdr' for standard dynamic range
2152
+ */
2153
+ hdr_format?: 'sdr' | 'hdr10' | 'hdr10_plus' | 'hlg' | 'dolby_vision';
2154
+ /**
2155
+ * Chroma subsampling format
2156
+ */
2157
+ chroma_subsampling?: '4:2:0' | '4:2:2' | '4:4:4';
2158
+ /**
2159
+ * Video bit depth
2160
+ */
2161
+ video_bit_depth?: 8 | 10 | 12;
2162
+ /**
2163
+ * GOP/keyframe interval in seconds
2164
+ */
2165
+ gop_interval_seconds?: number;
2166
+ /**
2167
+ * GOP structure type
2168
+ */
2169
+ gop_type?: 'closed' | 'open';
2170
+ /**
2171
+ * Position of moov atom in MP4 container
2172
+ */
2173
+ moov_atom_position?: 'start' | 'end';
2174
+ /**
2175
+ * Whether the video contains an audio track
2176
+ */
2177
+ has_audio?: boolean;
2178
+ /**
2179
+ * Audio codec used (aac, aac_lc, he_aac, pcm, mp3, ac3, eac3, etc.)
2180
+ */
2181
+ audio_codec?: string;
2182
+ /**
2183
+ * Audio sampling rate in Hz (e.g., 44100, 48000)
2184
+ */
2185
+ audio_sampling_rate_hz?: number;
2186
+ /**
2187
+ * Audio channel configuration
2188
+ */
2189
+ audio_channels?: 'mono' | 'stereo' | '5.1' | '7.1';
2190
+ /**
2191
+ * Audio bit depth
2192
+ */
2193
+ audio_bit_depth?: 16 | 24 | 32;
2194
+ /**
2195
+ * Audio bitrate in kilobits per second
2196
+ */
2197
+ audio_bitrate_kbps?: number;
2198
+ /**
2199
+ * Integrated loudness in LUFS
2200
+ */
2201
+ audio_loudness_lufs?: number;
2202
+ /**
2203
+ * True peak level in dBFS
2204
+ */
2205
+ audio_true_peak_dbfs?: number;
2099
2206
  [k: string]: unknown | undefined;
2100
2207
  }
2101
2208
  /**
2102
- * Audio asset with URL and specifications
2209
+ * Audio asset with URL and technical specifications
2103
2210
  */
2104
2211
  export interface AudioAsset {
2105
2212
  /**
@@ -2111,13 +2218,41 @@ export interface AudioAsset {
2111
2218
  */
2112
2219
  duration_ms?: number;
2113
2220
  /**
2114
- * Audio file format (mp3, wav, aac, etc.)
2221
+ * File size in bytes
2115
2222
  */
2116
- format?: string;
2223
+ file_size_bytes?: number;
2117
2224
  /**
2118
- * Audio bitrate in kilobits per second
2225
+ * Audio container/file format (mp3, m4a, aac, wav, ogg, flac, etc.)
2226
+ */
2227
+ container_format?: string;
2228
+ /**
2229
+ * Audio codec used (aac, aac_lc, he_aac, pcm, mp3, vorbis, opus, flac, ac3, eac3, etc.)
2230
+ */
2231
+ codec?: string;
2232
+ /**
2233
+ * Sampling rate in Hz (e.g., 44100, 48000, 96000)
2234
+ */
2235
+ sampling_rate_hz?: number;
2236
+ /**
2237
+ * Channel configuration
2238
+ */
2239
+ channels?: 'mono' | 'stereo' | '5.1' | '7.1';
2240
+ /**
2241
+ * Bit depth
2242
+ */
2243
+ bit_depth?: 16 | 24 | 32;
2244
+ /**
2245
+ * Bitrate in kilobits per second
2119
2246
  */
2120
2247
  bitrate_kbps?: number;
2248
+ /**
2249
+ * Integrated loudness in LUFS
2250
+ */
2251
+ loudness_lufs?: number;
2252
+ /**
2253
+ * True peak level in dBFS
2254
+ */
2255
+ true_peak_dbfs?: number;
2121
2256
  [k: string]: unknown | undefined;
2122
2257
  }
2123
2258
  /**
@@ -2358,6 +2493,7 @@ export interface CreateMediaBuySuccess {
2358
2493
  * Buyer's reference identifier for this media buy
2359
2494
  */
2360
2495
  buyer_ref: string;
2496
+ account?: Account;
2361
2497
  /**
2362
2498
  * ISO 8601 timestamp for creative upload deadline
2363
2499
  */
@@ -2370,7 +2506,48 @@ export interface CreateMediaBuySuccess {
2370
2506
  ext?: ExtensionObject;
2371
2507
  }
2372
2508
  /**
2373
- * A specific product within a media buy (line item)
2509
+ * Account billed for this media buy. Includes advertiser, billing proxy (if any), and rate card applied.
2510
+ */
2511
+ export interface Account {
2512
+ /**
2513
+ * Unique identifier for this account
2514
+ */
2515
+ account_id: string;
2516
+ /**
2517
+ * Human-readable account name (e.g., 'Coke', 'Coke c/o Publicis')
2518
+ */
2519
+ name: string;
2520
+ /**
2521
+ * The advertiser whose rates apply to this account
2522
+ */
2523
+ advertiser?: string;
2524
+ /**
2525
+ * Optional intermediary who receives invoices on behalf of the advertiser (e.g., agency)
2526
+ */
2527
+ billing_proxy?: string;
2528
+ /**
2529
+ * Account status
2530
+ */
2531
+ status: 'active' | 'suspended' | 'closed';
2532
+ /**
2533
+ * Identifier for the rate card applied to this account
2534
+ */
2535
+ rate_card?: string;
2536
+ /**
2537
+ * Payment terms (e.g., 'net_30', 'prepay')
2538
+ */
2539
+ payment_terms?: string;
2540
+ /**
2541
+ * Maximum outstanding balance allowed
2542
+ */
2543
+ credit_limit?: {
2544
+ amount: number;
2545
+ currency: string;
2546
+ };
2547
+ ext?: ExtensionObject;
2548
+ }
2549
+ /**
2550
+ * Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.
2374
2551
  */
2375
2552
  export interface Package {
2376
2553
  /**
@@ -2440,6 +2617,10 @@ export type ValidationMode = 'strict' | 'lenient';
2440
2617
  * Authentication schemes for push notification endpoints
2441
2618
  */
2442
2619
  export interface SyncCreativesRequest {
2620
+ /**
2621
+ * Account that owns these creatives. Optional if the agent has a single account or the seller can determine the account from context. Required if the agent has multiple accounts and the seller cannot route automatically.
2622
+ */
2623
+ account_id?: string;
2443
2624
  /**
2444
2625
  * Array of creative assets to sync (create or update)
2445
2626
  *
@@ -2533,6 +2714,7 @@ export interface SyncCreativesSuccess {
2533
2714
  * Creative ID from the request
2534
2715
  */
2535
2716
  creative_id: string;
2717
+ account?: Account;
2536
2718
  action: CreativeAction;
2537
2719
  /**
2538
2720
  * Platform-specific ID assigned to the creative
@@ -2579,7 +2761,7 @@ export interface SyncCreativesSuccess {
2579
2761
  ext?: ExtensionObject;
2580
2762
  }
2581
2763
  /**
2582
- * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
2764
+ * Account that owns this creative
2583
2765
  */
2584
2766
  export interface SyncCreativesError {
2585
2767
  /**
@@ -2648,6 +2830,10 @@ export interface ListCreativesRequest {
2648
2830
  * Filter criteria for querying creative assets from the centralized library. By default, archived creatives are excluded from results. To include archived creatives, explicitly filter by status='archived' or include 'archived' in the statuses array.
2649
2831
  */
2650
2832
  export interface CreativeFilters {
2833
+ /**
2834
+ * Filter creatives by owning accounts. Useful for agencies managing multiple client accounts.
2835
+ */
2836
+ account_ids?: string[];
2651
2837
  /**
2652
2838
  * Filter by creative format types (e.g., video, audio, display)
2653
2839
  */
@@ -2816,6 +3002,7 @@ export interface ListCreativesResponse {
2816
3002
  * Unique identifier for the creative
2817
3003
  */
2818
3004
  creative_id: string;
3005
+ account?: Account;
2819
3006
  /**
2820
3007
  * Human-readable creative name
2821
3008
  */
@@ -2945,7 +3132,7 @@ export interface ListCreativesResponse {
2945
3132
  ext?: ExtensionObject;
2946
3133
  }
2947
3134
  /**
2948
- * Format identifier specifying which format this creative conforms to
3135
+ * Account that owns this creative
2949
3136
  */
2950
3137
  /**
2951
3138
  * Request parameters for updating campaign and package settings
@@ -3519,7 +3706,7 @@ export interface CreativeManifest {
3519
3706
  */
3520
3707
  promoted_offering?: string;
3521
3708
  /**
3522
- * Map of asset IDs to actual asset content. Each key MUST match an asset_id from the format's assets_required array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). The asset_id is the technical identifier used to match assets to format requirements.
3709
+ * Map of asset IDs to actual asset content. Each key MUST match an asset_id from the format's assets array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). The asset_id is the technical identifier used to match assets to format requirements.
3523
3710
  *
3524
3711
  * IMPORTANT: Creative manifest validation MUST be performed in the context of the format specification. The format defines what type each asset_id should be, which eliminates any validation ambiguity.
3525
3712
  */
@@ -3696,7 +3883,7 @@ export interface CreativeManifest1 {
3696
3883
  */
3697
3884
  promoted_offering?: string;
3698
3885
  /**
3699
- * Map of asset IDs to actual asset content. Each key MUST match an asset_id from the format's assets_required array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). The asset_id is the technical identifier used to match assets to format requirements.
3886
+ * Map of asset IDs to actual asset content. Each key MUST match an asset_id from the format's assets array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). The asset_id is the technical identifier used to match assets to format requirements.
3700
3887
  *
3701
3888
  * IMPORTANT: Creative manifest validation MUST be performed in the context of the format specification. The format defines what type each asset_id should be, which eliminates any validation ambiguity.
3702
3889
  */
@@ -4362,7 +4549,7 @@ export interface PropertyListFilters {
4362
4549
  */
4363
4550
  export interface FeatureRequirement {
4364
4551
  /**
4365
- * Feature to evaluate (discovered via list_property_features)
4552
+ * Feature to evaluate (discovered via get_adcp_capabilities)
4366
4553
  */
4367
4554
  feature_id: string;
4368
4555
  /**
@@ -6073,6 +6260,24 @@ export interface SICapabilities {
6073
6260
  acp_checkout?: boolean;
6074
6261
  [k: string]: unknown | undefined;
6075
6262
  };
6263
+ /**
6264
+ * A2UI (Agent-to-UI) capabilities
6265
+ */
6266
+ a2ui?: {
6267
+ /**
6268
+ * Supports A2UI surface rendering
6269
+ */
6270
+ supported?: boolean;
6271
+ /**
6272
+ * Supported A2UI component catalogs (e.g., 'si-standard', 'standard')
6273
+ */
6274
+ catalogs?: string[];
6275
+ [k: string]: unknown | undefined;
6276
+ };
6277
+ /**
6278
+ * Supports MCP Apps for rendering A2UI surfaces in iframes
6279
+ */
6280
+ mcp_apps?: boolean;
6076
6281
  [k: string]: unknown | undefined;
6077
6282
  }
6078
6283
  /**
@@ -6175,11 +6380,17 @@ export interface SISendMessageResponse {
6175
6380
  * Conversational message from brand agent
6176
6381
  */
6177
6382
  message?: string;
6383
+ surface?: A2UISurface;
6178
6384
  /**
6179
- * Visual components to render
6385
+ * @deprecated
6386
+ * Visual components to render (DEPRECATED: use surface instead)
6180
6387
  */
6181
6388
  ui_elements?: SIUIElement[];
6182
6389
  };
6390
+ /**
6391
+ * MCP resource URI for hosts with MCP Apps support (e.g., ui://si/session-abc123)
6392
+ */
6393
+ mcp_resource_uri?: string;
6183
6394
  /**
6184
6395
  * Current session status
6185
6396
  */
@@ -6229,6 +6440,57 @@ export interface SISendMessageResponse {
6229
6440
  errors?: Error[];
6230
6441
  ext?: ExtensionObject;
6231
6442
  }
6443
+ /**
6444
+ * A2UI surface with interactive components
6445
+ */
6446
+ export interface A2UISurface {
6447
+ /**
6448
+ * Unique identifier for this surface
6449
+ */
6450
+ surfaceId: string;
6451
+ /**
6452
+ * Component catalog to use for rendering
6453
+ */
6454
+ catalogId?: string;
6455
+ /**
6456
+ * Flat list of components (adjacency list structure)
6457
+ */
6458
+ components: A2UIComponent[];
6459
+ /**
6460
+ * ID of the root component (if not specified, first component is root)
6461
+ */
6462
+ rootId?: string;
6463
+ /**
6464
+ * Application data that components can bind to
6465
+ */
6466
+ dataModel?: {
6467
+ [k: string]: unknown | undefined;
6468
+ };
6469
+ [k: string]: unknown | undefined;
6470
+ }
6471
+ /**
6472
+ * A component in an A2UI surface
6473
+ */
6474
+ export interface A2UIComponent {
6475
+ /**
6476
+ * Unique identifier for this component within the surface
6477
+ */
6478
+ id: string;
6479
+ /**
6480
+ * ID of the parent component (null for root)
6481
+ */
6482
+ parentId?: string;
6483
+ /**
6484
+ * Component definition (keyed by component type)
6485
+ */
6486
+ component: {
6487
+ /**
6488
+ * Component properties
6489
+ */
6490
+ [k: string]: {} | undefined;
6491
+ };
6492
+ [k: string]: unknown | undefined;
6493
+ }
6232
6494
  /**
6233
6495
  * Standard error structure for task-specific errors and warnings
6234
6496
  */
@@ -6324,7 +6586,7 @@ export interface GetAdCPCapabilitiesRequest {
6324
6586
  /**
6325
6587
  * Specific protocols to query capabilities for. If omitted, returns capabilities for all supported protocols.
6326
6588
  */
6327
- protocols?: ('media_buy' | 'signals' | 'sponsored_intelligence')[];
6589
+ protocols?: ('media_buy' | 'signals' | 'governance' | 'sponsored_intelligence' | 'creative')[];
6328
6590
  context?: ContextObject;
6329
6591
  ext?: ExtensionObject;
6330
6592
  }
@@ -6347,7 +6609,7 @@ export interface GetAdCPCapabilitiesResponse {
6347
6609
  /**
6348
6610
  * Which AdCP domain protocols this seller supports
6349
6611
  */
6350
- supported_protocols: ('media_buy' | 'signals' | 'governance' | 'sponsored_intelligence')[];
6612
+ supported_protocols: ('media_buy' | 'signals' | 'governance' | 'sponsored_intelligence' | 'creative')[];
6351
6613
  /**
6352
6614
  * Media-buy protocol capabilities. Only present if media_buy is in supported_protocols.
6353
6615
  */
@@ -6588,4 +6850,36 @@ export interface GetAdCPCapabilitiesResponse {
6588
6850
  /**
6589
6851
  * Optional media-buy protocol features. Used in capability declarations (seller declares support) and product filters (buyer requires support). If a seller declares a feature as true, they MUST honor requests using that feature.
6590
6852
  */
6853
+ /**
6854
+ * Request parameters for listing accounts accessible to the authenticated agent
6855
+ */
6856
+ export interface ListAccountsRequest {
6857
+ /**
6858
+ * Filter accounts by status
6859
+ */
6860
+ status?: 'active' | 'suspended' | 'closed' | 'all';
6861
+ context?: ContextObject;
6862
+ ext?: ExtensionObject;
6863
+ }
6864
+ /**
6865
+ * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
6866
+ */
6867
+ /**
6868
+ * Response payload for list_accounts task
6869
+ */
6870
+ export interface ListAccountsResponse {
6871
+ /**
6872
+ * Array of accounts accessible to the authenticated agent
6873
+ */
6874
+ accounts: Account[];
6875
+ /**
6876
+ * Task-specific errors and warnings
6877
+ */
6878
+ errors?: Error[];
6879
+ context?: ContextObject;
6880
+ ext?: ExtensionObject;
6881
+ }
6882
+ /**
6883
+ * A billing account representing the relationship between a buyer and seller. The account determines rate cards, payment terms, and billing entity.
6884
+ */
6591
6885
  //# sourceMappingURL=tools.generated.d.ts.map