@adcp/sdk 14.0.0-beta.11 → 14.0.0-beta.12

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 (94) hide show
  1. package/bin/adcp-storyboard-sandbox.js +16 -0
  2. package/bin/adcp.js +28 -30
  3. package/dist/lib/schemas/index.d.mts +385 -1
  4. package/dist/lib/schemas/index.d.ts +385 -1
  5. package/dist/lib/schemas/index.d.ts.map +1 -1
  6. package/dist/lib/schemas/index.js +13 -0
  7. package/dist/lib/schemas/index.js.map +1 -1
  8. package/dist/lib/schemas/index.mjs +11 -0
  9. package/dist/lib/schemas/index.mjs.map +1 -1
  10. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  11. package/dist/lib/signing/agent-context.d.mts +1 -0
  12. package/dist/lib/signing/agent-context.d.ts +1 -0
  13. package/dist/lib/signing/agent-context.d.ts.map +1 -1
  14. package/dist/lib/signing/agent-context.js +37 -2
  15. package/dist/lib/signing/agent-context.js.map +1 -1
  16. package/dist/lib/signing/agent-context.mjs +38 -3
  17. package/dist/lib/signing/agent-context.mjs.map +1 -1
  18. package/dist/lib/signing/agent-fetch.d.mts +1 -2
  19. package/dist/lib/signing/agent-fetch.d.ts +1 -2
  20. package/dist/lib/signing/agent-fetch.d.ts.map +1 -1
  21. package/dist/lib/signing/agent-fetch.js +2 -0
  22. package/dist/lib/signing/agent-fetch.js.map +1 -1
  23. package/dist/lib/signing/agent-fetch.mjs +2 -0
  24. package/dist/lib/signing/agent-fetch.mjs.map +1 -1
  25. package/dist/lib/signing/agent-resolver/etld.js.map +1 -1
  26. package/dist/lib/signing/agent-resolver/etld.mjs.map +1 -1
  27. package/dist/lib/testing/client.d.mts +6 -0
  28. package/dist/lib/testing/client.d.ts +6 -0
  29. package/dist/lib/testing/client.d.ts.map +1 -1
  30. package/dist/lib/testing/client.js +76 -4
  31. package/dist/lib/testing/client.js.map +1 -1
  32. package/dist/lib/testing/client.mjs +75 -4
  33. package/dist/lib/testing/client.mjs.map +1 -1
  34. package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
  35. package/dist/lib/testing/compliance/comply.js +6 -0
  36. package/dist/lib/testing/compliance/comply.js.map +1 -1
  37. package/dist/lib/testing/compliance/comply.mjs +7 -1
  38. package/dist/lib/testing/compliance/comply.mjs.map +1 -1
  39. package/dist/lib/testing/storyboard/request-signing/functional-dispatch.d.mts +15 -0
  40. package/dist/lib/testing/storyboard/request-signing/functional-dispatch.d.ts +16 -0
  41. package/dist/lib/testing/storyboard/request-signing/functional-dispatch.d.ts.map +1 -0
  42. package/dist/lib/testing/storyboard/request-signing/functional-dispatch.js +106 -0
  43. package/dist/lib/testing/storyboard/request-signing/functional-dispatch.js.map +1 -0
  44. package/dist/lib/testing/storyboard/request-signing/functional-dispatch.mjs +82 -0
  45. package/dist/lib/testing/storyboard/request-signing/functional-dispatch.mjs.map +1 -0
  46. package/dist/lib/testing/storyboard/request-signing/test-kit.d.mts +15 -0
  47. package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts +15 -0
  48. package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts.map +1 -1
  49. package/dist/lib/testing/storyboard/request-signing/test-kit.js +58 -0
  50. package/dist/lib/testing/storyboard/request-signing/test-kit.js.map +1 -1
  51. package/dist/lib/testing/storyboard/request-signing/test-kit.mjs +58 -0
  52. package/dist/lib/testing/storyboard/request-signing/test-kit.mjs.map +1 -1
  53. package/dist/lib/testing/storyboard/request-signing/vector-loader.d.mts +2 -0
  54. package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts +2 -0
  55. package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts.map +1 -1
  56. package/dist/lib/testing/storyboard/request-signing/vector-loader.js +7 -1
  57. package/dist/lib/testing/storyboard/request-signing/vector-loader.js.map +1 -1
  58. package/dist/lib/testing/storyboard/request-signing/vector-loader.mjs +6 -1
  59. package/dist/lib/testing/storyboard/request-signing/vector-loader.mjs.map +1 -1
  60. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  61. package/dist/lib/testing/storyboard/runner.js +10 -1
  62. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  63. package/dist/lib/testing/storyboard/runner.mjs +10 -1
  64. package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
  65. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  66. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  67. package/dist/lib/testing/types.d.mts +10 -0
  68. package/dist/lib/testing/types.d.ts +10 -0
  69. package/dist/lib/testing/types.d.ts.map +1 -1
  70. package/dist/lib/testing/types.js.map +1 -1
  71. package/dist/lib/types/comply-test-controller.d.ts +1 -14
  72. package/dist/lib/types/core.generated.d.mts +1 -1
  73. package/dist/lib/types/core.generated.d.ts +1 -1
  74. package/dist/lib/types/core.generated.d.ts.map +1 -1
  75. package/dist/lib/types/core.generated.js.map +1 -1
  76. package/dist/lib/types/get-products.d.ts +1 -14
  77. package/dist/lib/types/schemas.generated.d.ts +4 -56
  78. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  79. package/dist/lib/types/schemas.generated.js +2 -2
  80. package/dist/lib/types/schemas.generated.js.map +1 -1
  81. package/dist/lib/types/schemas.generated.mjs +2 -2
  82. package/dist/lib/types/schemas.generated.mjs.map +1 -1
  83. package/dist/lib/types/tools.generated.d.mts +1 -1
  84. package/dist/lib/types/tools.generated.d.ts +1 -1
  85. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  86. package/dist/lib/types/tools.generated.js.map +1 -1
  87. package/dist/lib/version.d.mts +3 -3
  88. package/dist/lib/version.d.ts +3 -3
  89. package/dist/lib/version.js +3 -3
  90. package/dist/lib/version.js.map +1 -1
  91. package/dist/lib/version.mjs +3 -3
  92. package/dist/lib/version.mjs.map +1 -1
  93. package/docs/llms.txt +1 -1
  94. package/package.json +2 -2
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Translate storyboard CLI routing flags into runner options.
5
+ * Omitted flags intentionally preserve the historical undefined sandbox mode.
6
+ */
7
+ function sandboxRunOptions(options = {}) {
8
+ if (options.sandbox && options.noSandbox) {
9
+ throw new Error('--sandbox and --no-sandbox are mutually exclusive');
10
+ }
11
+ if (options.sandbox) return { sandbox: true };
12
+ if (options.noSandbox) return { sandbox: false, disable_sandbox: true };
13
+ return {};
14
+ }
15
+
16
+ module.exports = { sandboxRunOptions };
package/bin/adcp.js CHANGED
@@ -53,6 +53,7 @@ const { scheduleVersionCheck } = require('./adcp-version-check.js');
53
53
  const { formatStoryboardResultsAsJUnit } = require('../dist/lib/testing/storyboard/junit.js');
54
54
  const { LIBRARY_VERSION } = require('../dist/lib/version.js');
55
55
  const { appendBuiltInVersionUnsupportedHint } = require('./adcp-version-unsupported-hint.js');
56
+ const { sandboxRunOptions } = require('./adcp-storyboard-sandbox.js');
56
57
  const {
57
58
  createCLIOAuthProvider,
58
59
  hasValidOAuthTokens,
@@ -1053,12 +1054,14 @@ function parseAgentOptions(args) {
1053
1054
  // transport/version behavior against a known schema-invalid legacy seller.
1054
1055
  // Normal local compliance runs remain strict by default.
1055
1056
  const strictResponseSchemaValidation = !args.includes('--no-strict-response-schema-validation');
1056
- // `--no-sandbox` forces `account.sandbox: false` (production) on every
1057
- // request the runner builds. The default behavior leaves the field unset
1058
- // (spec-equivalent to false), but agents that key sandbox routing on
1059
- // field PRESENCE rather than VALUE behave differently. Setting the flag
1060
- // makes the production intent explicit on the wire.
1057
+ // Direct storyboard runs can explicitly choose sandbox or production
1058
+ // routing. Leaving both flags absent preserves the historical wire shape.
1059
+ const sandbox = args.includes('--sandbox');
1061
1060
  const noSandbox = args.includes('--no-sandbox');
1061
+ if (sandbox && noSandbox) {
1062
+ console.error('Error: --sandbox and --no-sandbox are mutually exclusive.');
1063
+ process.exit(2);
1064
+ }
1062
1065
 
1063
1066
  // `--asserts-seeded-state` declares that the operator has provisioned
1064
1067
  // initial test state out-of-band (HTTP admin endpoint, pre-test script,
@@ -1238,6 +1241,7 @@ function parseAgentOptions(args) {
1238
1241
  dryRun,
1239
1242
  allowHttp,
1240
1243
  strictResponseSchemaValidation,
1244
+ sandbox,
1241
1245
  noSandbox,
1242
1246
  assertsSeededState,
1243
1247
  mediaBuyLifecycleCompatibility,
@@ -2049,6 +2053,9 @@ RUN OPTIONS (full assessment):
2049
2053
  after this budget, without aborting an active storyboard
2050
2054
  (default: max(120, 10 × selected storyboard count))
2051
2055
  --brief TEXT Custom brief for product discovery
2056
+ --sandbox Explicitly run against sandbox accounts. Sets
2057
+ account.sandbox=true and enables sandbox-only runner
2058
+ facilities such as functional request signing.
2052
2059
  --no-sandbox Force production-path responses (#841). Sets
2053
2060
  account.sandbox=false on every request AND stamps
2054
2061
  ext.adcp.disable_sandbox=true to signal adopters
@@ -2916,7 +2923,7 @@ async function handleStoryboardRun(args) {
2916
2923
  ...(fileComplianceOptions.adcpVersion && { adcpVersion: fileComplianceOptions.adcpVersion }),
2917
2924
  ...(fileComplianceOptions.schemaRoot && { schemaRoot: fileComplianceOptions.schemaRoot }),
2918
2925
  ...(!opts.strictResponseSchemaValidation && { strictResponseSchemaValidation: false }),
2919
- ...(opts.noSandbox && { sandbox: false, disable_sandbox: true }),
2926
+ ...sandboxRunOptions(opts),
2920
2927
  ...(opts.assertsSeededState && { assertsSeededState: true }),
2921
2928
  ...(opts.mediaBuyLifecycleCompatibility && {
2922
2929
  mediaBuyLifecycleCompatibility: opts.mediaBuyLifecycleCompatibility,
@@ -3755,27 +3762,17 @@ async function handleLocalAgentStoryboardRun(modulePath, args, opts) {
3755
3762
  createAgent,
3756
3763
  storyboards: storyboardsSpec,
3757
3764
  compliance: resolveOptions,
3758
- ...(opts.complianceVersion ||
3759
- opts.schemaRoot ||
3760
- !opts.strictResponseSchemaValidation ||
3761
- opts.noSandbox ||
3762
- opts.assertsSeededState ||
3763
- opts.mediaBuyLifecycleCompatibility ||
3764
- opts.loadedTestKit !== undefined
3765
- ? {
3766
- runStoryboardOptions: {
3767
- ...(opts.complianceVersion && !opts.complianceDir && { adcpVersion: opts.complianceVersion }),
3768
- ...(opts.schemaRoot && { schemaRoot: opts.schemaRoot }),
3769
- ...(!opts.strictResponseSchemaValidation && { strictResponseSchemaValidation: false }),
3770
- ...(opts.noSandbox && { sandbox: false, disable_sandbox: true }),
3771
- ...(opts.assertsSeededState && { assertsSeededState: true }),
3772
- ...(opts.mediaBuyLifecycleCompatibility && {
3773
- mediaBuyLifecycleCompatibility: opts.mediaBuyLifecycleCompatibility,
3774
- }),
3775
- ...(opts.loadedTestKit !== undefined && { test_kit: opts.loadedTestKit }),
3776
- },
3777
- }
3778
- : {}),
3765
+ runStoryboardOptions: {
3766
+ ...sandboxRunOptions(opts),
3767
+ ...(opts.complianceVersion && !opts.complianceDir && { adcpVersion: opts.complianceVersion }),
3768
+ ...(opts.schemaRoot && { schemaRoot: opts.schemaRoot }),
3769
+ ...(!opts.strictResponseSchemaValidation && { strictResponseSchemaValidation: false }),
3770
+ ...(opts.assertsSeededState && { assertsSeededState: true }),
3771
+ ...(opts.mediaBuyLifecycleCompatibility && {
3772
+ mediaBuyLifecycleCompatibility: opts.mediaBuyLifecycleCompatibility,
3773
+ }),
3774
+ ...(opts.loadedTestKit !== undefined && { test_kit: opts.loadedTestKit }),
3775
+ },
3779
3776
  onStoryboardComplete:
3780
3777
  jsonOutput || format === 'junit'
3781
3778
  ? undefined
@@ -4204,7 +4201,7 @@ async function handleMultiInstanceStoryboardRun(args, opts, urls) {
4204
4201
  ...(runAdcpVersion && { adcpVersion: runAdcpVersion }),
4205
4202
  ...(runSchemaRoot && { schemaRoot: runSchemaRoot }),
4206
4203
  ...(!opts.strictResponseSchemaValidation && { strictResponseSchemaValidation: false }),
4207
- ...(opts.noSandbox && { sandbox: false, disable_sandbox: true }),
4204
+ ...sandboxRunOptions(opts),
4208
4205
  ...(opts.assertsSeededState && { assertsSeededState: true }),
4209
4206
  ...(opts.mediaBuyLifecycleCompatibility && {
4210
4207
  mediaBuyLifecycleCompatibility: opts.mediaBuyLifecycleCompatibility,
@@ -4488,7 +4485,7 @@ async function handleAgentsRoutedStoryboardRun(args, opts, routing) {
4488
4485
  ...(runAdcpVersion && { adcpVersion: runAdcpVersion }),
4489
4486
  ...(runSchemaRoot && { schemaRoot: runSchemaRoot }),
4490
4487
  ...(!opts.strictResponseSchemaValidation && { strictResponseSchemaValidation: false }),
4491
- ...(opts.noSandbox && { sandbox: false, disable_sandbox: true }),
4488
+ ...sandboxRunOptions(opts),
4492
4489
  ...(opts.assertsSeededState && { assertsSeededState: true }),
4493
4490
  ...(opts.mediaBuyLifecycleCompatibility && {
4494
4491
  mediaBuyLifecycleCompatibility: opts.mediaBuyLifecycleCompatibility,
@@ -4703,7 +4700,7 @@ async function runFullAssessment(agentArg, rawArgs, parsedOpts) {
4703
4700
  ...(authOption && { auth: authOption }),
4704
4701
  ...(opts.allowHttp && { allow_http: true }),
4705
4702
  ...(webhookReceiverOpts ?? {}),
4706
- ...(opts.noSandbox && { sandbox: false, disable_sandbox: true }),
4703
+ ...sandboxRunOptions(opts),
4707
4704
  ...(opts.assertsSeededState && { assertsSeededState: true }),
4708
4705
  ...(opts.mediaBuyLifecycleCompatibility && {
4709
4706
  mediaBuyLifecycleCompatibility: opts.mediaBuyLifecycleCompatibility,
@@ -4941,6 +4938,7 @@ async function handleStoryboardStepCmd(args) {
4941
4938
  context,
4942
4939
  ...(contributions && { contributions }),
4943
4940
  request,
4941
+ ...sandboxRunOptions(opts),
4944
4942
  ...(complianceVersion && { adcpVersion: complianceVersion }),
4945
4943
  ...(opts.complianceDir && { complianceDir: opts.complianceDir }),
4946
4944
  ...(schemaRoot && { schemaRoot }),
@@ -39,11 +39,395 @@
39
39
  * });
40
40
  * ```
41
41
  */
42
- import type { z } from 'zod';
42
+ import { z } from 'zod';
43
43
  import * as schemas from '../types/schemas.generated.mjs';
44
+ import type { CanonicalGetProductsRequest } from '../v2/projection/creative-delivery.mjs';
44
45
  import type { KnownToolRequestSchemas } from '../utils/tool-request-schemas.mjs';
45
46
  import { type ResolvedToolSchemaDocument, type ResponseVariant } from '../validation/schema-loader.mjs';
46
47
  export * from '../types/schemas.generated.mjs';
48
+ type LooseObjectSchemaFor<T extends object> = z.ZodObject<{
49
+ [K in keyof T]-?: undefined extends T[K] ? z.ZodOptional<z.ZodType<Exclude<T[K], undefined>, Exclude<T[K], undefined>>> : z.ZodType<T[K], T[K]>;
50
+ }, z.core.$loose> & z.ZodType<T & Record<string, unknown>, T & Record<string, unknown>>;
51
+ /** Wire-compatible request schema, including the legacy `format_ids` selector. */
52
+ export declare const LegacyGetProductsRequestSchema: z.ZodObject<{
53
+ adcp_version: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
54
+ adcp_major_version: z.ZodOptional<z.ZodType<number, number, z.core.$ZodTypeInternals<number, number>>>;
55
+ idempotency_key: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
56
+ buying_mode: z.ZodType<"brief" | "wholesale" | "refine", "brief" | "wholesale" | "refine", z.core.$ZodTypeInternals<"brief" | "wholesale" | "refine", "brief" | "wholesale" | "refine">>;
57
+ brief: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
58
+ refine: z.ZodOptional<z.ZodType<({
59
+ scope: "request";
60
+ ask: string;
61
+ } | {
62
+ scope: "product";
63
+ product_id: string;
64
+ action?: "include" | "omit" | "more_like_this";
65
+ ask?: string;
66
+ } | {
67
+ scope: "proposal";
68
+ proposal_id: string;
69
+ action?: "include" | "omit" | "finalize";
70
+ ask?: string;
71
+ })[], ({
72
+ scope: "request";
73
+ ask: string;
74
+ } | {
75
+ scope: "product";
76
+ product_id: string;
77
+ action?: "include" | "omit" | "more_like_this";
78
+ ask?: string;
79
+ } | {
80
+ scope: "proposal";
81
+ proposal_id: string;
82
+ action?: "include" | "omit" | "finalize";
83
+ ask?: string;
84
+ })[], z.core.$ZodTypeInternals<({
85
+ scope: "request";
86
+ ask: string;
87
+ } | {
88
+ scope: "product";
89
+ product_id: string;
90
+ action?: "include" | "omit" | "more_like_this";
91
+ ask?: string;
92
+ } | {
93
+ scope: "proposal";
94
+ proposal_id: string;
95
+ action?: "include" | "omit" | "finalize";
96
+ ask?: string;
97
+ })[], ({
98
+ scope: "request";
99
+ ask: string;
100
+ } | {
101
+ scope: "product";
102
+ product_id: string;
103
+ action?: "include" | "omit" | "more_like_this";
104
+ ask?: string;
105
+ } | {
106
+ scope: "proposal";
107
+ proposal_id: string;
108
+ action?: "include" | "omit" | "finalize";
109
+ ask?: string;
110
+ })[]>>>;
111
+ brand: z.ZodOptional<z.ZodType<import("../index.mjs").BrandReference, import("../index.mjs").BrandReference, z.core.$ZodTypeInternals<import("../index.mjs").BrandReference, import("../index.mjs").BrandReference>>>;
112
+ catalog: z.ZodOptional<z.ZodType<import("../index.mjs").Catalog, import("../index.mjs").Catalog, z.core.$ZodTypeInternals<import("../index.mjs").Catalog, import("../index.mjs").Catalog>>>;
113
+ account: z.ZodOptional<z.ZodType<import("../index.mjs").AccountReference, import("../index.mjs").AccountReference, z.core.$ZodTypeInternals<import("../index.mjs").AccountReference, import("../index.mjs").AccountReference>>>;
114
+ preferred_delivery_types: z.ZodOptional<z.ZodType<import("../types/core.generated.mjs").DeliveryType[], import("../types/core.generated.mjs").DeliveryType[], z.core.$ZodTypeInternals<import("../types/core.generated.mjs").DeliveryType[], import("../types/core.generated.mjs").DeliveryType[]>>>;
115
+ filters: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").ProductFilters, import("../types/tools.generated.mjs").ProductFilters, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").ProductFilters, import("../types/tools.generated.mjs").ProductFilters>>>;
116
+ targeting_overlay: z.ZodOptional<z.ZodType<{
117
+ geo_countries?: [string, ...string[]];
118
+ geo_countries_exclude?: [string, ...string[]];
119
+ geo_regions?: [string, ...string[]];
120
+ geo_regions_exclude?: [string, ...string[]];
121
+ geo_metros?: [{
122
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
123
+ values: [string, ...string[]];
124
+ }, ...{
125
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
126
+ values: [string, ...string[]];
127
+ }[]];
128
+ geo_metros_exclude?: [{
129
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
130
+ values: [string, ...string[]];
131
+ }, ...{
132
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
133
+ values: [string, ...string[]];
134
+ }[]];
135
+ geo_postal_areas?: [import("../types/tools.generated.mjs").PostalArea, ...import("../types/tools.generated.mjs").PostalArea[]];
136
+ geo_postal_areas_exclude?: [import("../types/tools.generated.mjs").PostalArea, ...import("../types/tools.generated.mjs").PostalArea[]];
137
+ geo_places?: [import("../types/tools.generated.mjs").GeographicPlaceArea, ...import("../types/tools.generated.mjs").GeographicPlaceArea[]];
138
+ geo_places_exclude?: [import("../types/tools.generated.mjs").GeographicPlaceArea, ...import("../types/tools.generated.mjs").GeographicPlaceArea[]];
139
+ daypart_targets?: [import("../types/tools.generated.mjs").DaypartTarget, ...import("../types/tools.generated.mjs").DaypartTarget[]];
140
+ axe_include_segment?: string;
141
+ axe_exclude_segment?: string;
142
+ audience_include?: [string, ...string[]];
143
+ audience_exclude?: [string, ...string[]];
144
+ signal_targeting_groups?: import("../types/tools.generated.mjs").PackageSignalTargetingGroups;
145
+ signal_targeting?: [import("../index.mjs").SignalTargeting, ...import("../index.mjs").SignalTargeting[]];
146
+ demographics?: import("../types/tools.generated.mjs").DemographicTargetingIntent;
147
+ frequency_cap?: import("../index.mjs").FrequencyCap;
148
+ property_list?: import("../types/tools.generated.mjs").PropertyListReference;
149
+ property_list_exclude?: import("../types/tools.generated.mjs").PropertyListReference;
150
+ collection_list?: import("../types/tools.generated.mjs").CollectionListReference;
151
+ collection_list_exclude?: import("../types/tools.generated.mjs").CollectionListReference;
152
+ placement_selection?: import("../types/tools.generated.mjs").PlacementSelection;
153
+ age_restriction?: {
154
+ min: number;
155
+ verification_required?: boolean;
156
+ accepted_methods?: [import("../types/core.generated.mjs").AgeVerificationMethod, ...import("../types/core.generated.mjs").AgeVerificationMethod[]];
157
+ };
158
+ device_platform?: [import("../types/core.generated.mjs").DevicePlatform, ...import("../types/core.generated.mjs").DevicePlatform[]];
159
+ device_platform_exclude?: [import("../types/core.generated.mjs").DevicePlatform, ...import("../types/core.generated.mjs").DevicePlatform[]];
160
+ device_type?: [import("../index.mjs").DeviceType, ...import("../index.mjs").DeviceType[]];
161
+ device_type_exclude?: [import("../index.mjs").DeviceType, ...import("../index.mjs").DeviceType[]];
162
+ browser?: [import("../types/core.generated.mjs").BrowserFamily, ...import("../types/core.generated.mjs").BrowserFamily[]];
163
+ browser_exclude?: [import("../types/core.generated.mjs").BrowserFamily, ...import("../types/core.generated.mjs").BrowserFamily[]];
164
+ store_catchments?: [{
165
+ catalog_id: string;
166
+ store_ids?: [string, ...string[]];
167
+ catchment_ids?: [string, ...string[]];
168
+ }, ...{
169
+ catalog_id: string;
170
+ store_ids?: [string, ...string[]];
171
+ catchment_ids?: [string, ...string[]];
172
+ }[]];
173
+ geo_proximity?: [({} | {} | {}), ...({} | {} | {})[]];
174
+ language?: [import("../types/tools.generated.mjs").LanguageTag, ...import("../types/tools.generated.mjs").LanguageTag[]];
175
+ keyword_targets?: [{
176
+ keyword: string;
177
+ match_type: import("../types/core.generated.mjs").MatchType;
178
+ bid_price?: number;
179
+ }, ...{
180
+ keyword: string;
181
+ match_type: import("../types/core.generated.mjs").MatchType;
182
+ bid_price?: number;
183
+ }[]];
184
+ negative_keywords?: [{
185
+ keyword: string;
186
+ match_type: import("../types/core.generated.mjs").MatchType;
187
+ }, ...{
188
+ keyword: string;
189
+ match_type: import("../types/core.generated.mjs").MatchType;
190
+ }[]];
191
+ }, {
192
+ geo_countries?: [string, ...string[]];
193
+ geo_countries_exclude?: [string, ...string[]];
194
+ geo_regions?: [string, ...string[]];
195
+ geo_regions_exclude?: [string, ...string[]];
196
+ geo_metros?: [{
197
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
198
+ values: [string, ...string[]];
199
+ }, ...{
200
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
201
+ values: [string, ...string[]];
202
+ }[]];
203
+ geo_metros_exclude?: [{
204
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
205
+ values: [string, ...string[]];
206
+ }, ...{
207
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
208
+ values: [string, ...string[]];
209
+ }[]];
210
+ geo_postal_areas?: [import("../types/tools.generated.mjs").PostalArea, ...import("../types/tools.generated.mjs").PostalArea[]];
211
+ geo_postal_areas_exclude?: [import("../types/tools.generated.mjs").PostalArea, ...import("../types/tools.generated.mjs").PostalArea[]];
212
+ geo_places?: [import("../types/tools.generated.mjs").GeographicPlaceArea, ...import("../types/tools.generated.mjs").GeographicPlaceArea[]];
213
+ geo_places_exclude?: [import("../types/tools.generated.mjs").GeographicPlaceArea, ...import("../types/tools.generated.mjs").GeographicPlaceArea[]];
214
+ daypart_targets?: [import("../types/tools.generated.mjs").DaypartTarget, ...import("../types/tools.generated.mjs").DaypartTarget[]];
215
+ axe_include_segment?: string;
216
+ axe_exclude_segment?: string;
217
+ audience_include?: [string, ...string[]];
218
+ audience_exclude?: [string, ...string[]];
219
+ signal_targeting_groups?: import("../types/tools.generated.mjs").PackageSignalTargetingGroups;
220
+ signal_targeting?: [import("../index.mjs").SignalTargeting, ...import("../index.mjs").SignalTargeting[]];
221
+ demographics?: import("../types/tools.generated.mjs").DemographicTargetingIntent;
222
+ frequency_cap?: import("../index.mjs").FrequencyCap;
223
+ property_list?: import("../types/tools.generated.mjs").PropertyListReference;
224
+ property_list_exclude?: import("../types/tools.generated.mjs").PropertyListReference;
225
+ collection_list?: import("../types/tools.generated.mjs").CollectionListReference;
226
+ collection_list_exclude?: import("../types/tools.generated.mjs").CollectionListReference;
227
+ placement_selection?: import("../types/tools.generated.mjs").PlacementSelection;
228
+ age_restriction?: {
229
+ min: number;
230
+ verification_required?: boolean;
231
+ accepted_methods?: [import("../types/core.generated.mjs").AgeVerificationMethod, ...import("../types/core.generated.mjs").AgeVerificationMethod[]];
232
+ };
233
+ device_platform?: [import("../types/core.generated.mjs").DevicePlatform, ...import("../types/core.generated.mjs").DevicePlatform[]];
234
+ device_platform_exclude?: [import("../types/core.generated.mjs").DevicePlatform, ...import("../types/core.generated.mjs").DevicePlatform[]];
235
+ device_type?: [import("../index.mjs").DeviceType, ...import("../index.mjs").DeviceType[]];
236
+ device_type_exclude?: [import("../index.mjs").DeviceType, ...import("../index.mjs").DeviceType[]];
237
+ browser?: [import("../types/core.generated.mjs").BrowserFamily, ...import("../types/core.generated.mjs").BrowserFamily[]];
238
+ browser_exclude?: [import("../types/core.generated.mjs").BrowserFamily, ...import("../types/core.generated.mjs").BrowserFamily[]];
239
+ store_catchments?: [{
240
+ catalog_id: string;
241
+ store_ids?: [string, ...string[]];
242
+ catchment_ids?: [string, ...string[]];
243
+ }, ...{
244
+ catalog_id: string;
245
+ store_ids?: [string, ...string[]];
246
+ catchment_ids?: [string, ...string[]];
247
+ }[]];
248
+ geo_proximity?: [({} | {} | {}), ...({} | {} | {})[]];
249
+ language?: [import("../types/tools.generated.mjs").LanguageTag, ...import("../types/tools.generated.mjs").LanguageTag[]];
250
+ keyword_targets?: [{
251
+ keyword: string;
252
+ match_type: import("../types/core.generated.mjs").MatchType;
253
+ bid_price?: number;
254
+ }, ...{
255
+ keyword: string;
256
+ match_type: import("../types/core.generated.mjs").MatchType;
257
+ bid_price?: number;
258
+ }[]];
259
+ negative_keywords?: [{
260
+ keyword: string;
261
+ match_type: import("../types/core.generated.mjs").MatchType;
262
+ }, ...{
263
+ keyword: string;
264
+ match_type: import("../types/core.generated.mjs").MatchType;
265
+ }[]];
266
+ }, z.core.$ZodTypeInternals<{
267
+ geo_countries?: [string, ...string[]];
268
+ geo_countries_exclude?: [string, ...string[]];
269
+ geo_regions?: [string, ...string[]];
270
+ geo_regions_exclude?: [string, ...string[]];
271
+ geo_metros?: [{
272
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
273
+ values: [string, ...string[]];
274
+ }, ...{
275
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
276
+ values: [string, ...string[]];
277
+ }[]];
278
+ geo_metros_exclude?: [{
279
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
280
+ values: [string, ...string[]];
281
+ }, ...{
282
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
283
+ values: [string, ...string[]];
284
+ }[]];
285
+ geo_postal_areas?: [import("../types/tools.generated.mjs").PostalArea, ...import("../types/tools.generated.mjs").PostalArea[]];
286
+ geo_postal_areas_exclude?: [import("../types/tools.generated.mjs").PostalArea, ...import("../types/tools.generated.mjs").PostalArea[]];
287
+ geo_places?: [import("../types/tools.generated.mjs").GeographicPlaceArea, ...import("../types/tools.generated.mjs").GeographicPlaceArea[]];
288
+ geo_places_exclude?: [import("../types/tools.generated.mjs").GeographicPlaceArea, ...import("../types/tools.generated.mjs").GeographicPlaceArea[]];
289
+ daypart_targets?: [import("../types/tools.generated.mjs").DaypartTarget, ...import("../types/tools.generated.mjs").DaypartTarget[]];
290
+ axe_include_segment?: string;
291
+ axe_exclude_segment?: string;
292
+ audience_include?: [string, ...string[]];
293
+ audience_exclude?: [string, ...string[]];
294
+ signal_targeting_groups?: import("../types/tools.generated.mjs").PackageSignalTargetingGroups;
295
+ signal_targeting?: [import("../index.mjs").SignalTargeting, ...import("../index.mjs").SignalTargeting[]];
296
+ demographics?: import("../types/tools.generated.mjs").DemographicTargetingIntent;
297
+ frequency_cap?: import("../index.mjs").FrequencyCap;
298
+ property_list?: import("../types/tools.generated.mjs").PropertyListReference;
299
+ property_list_exclude?: import("../types/tools.generated.mjs").PropertyListReference;
300
+ collection_list?: import("../types/tools.generated.mjs").CollectionListReference;
301
+ collection_list_exclude?: import("../types/tools.generated.mjs").CollectionListReference;
302
+ placement_selection?: import("../types/tools.generated.mjs").PlacementSelection;
303
+ age_restriction?: {
304
+ min: number;
305
+ verification_required?: boolean;
306
+ accepted_methods?: [import("../types/core.generated.mjs").AgeVerificationMethod, ...import("../types/core.generated.mjs").AgeVerificationMethod[]];
307
+ };
308
+ device_platform?: [import("../types/core.generated.mjs").DevicePlatform, ...import("../types/core.generated.mjs").DevicePlatform[]];
309
+ device_platform_exclude?: [import("../types/core.generated.mjs").DevicePlatform, ...import("../types/core.generated.mjs").DevicePlatform[]];
310
+ device_type?: [import("../index.mjs").DeviceType, ...import("../index.mjs").DeviceType[]];
311
+ device_type_exclude?: [import("../index.mjs").DeviceType, ...import("../index.mjs").DeviceType[]];
312
+ browser?: [import("../types/core.generated.mjs").BrowserFamily, ...import("../types/core.generated.mjs").BrowserFamily[]];
313
+ browser_exclude?: [import("../types/core.generated.mjs").BrowserFamily, ...import("../types/core.generated.mjs").BrowserFamily[]];
314
+ store_catchments?: [{
315
+ catalog_id: string;
316
+ store_ids?: [string, ...string[]];
317
+ catchment_ids?: [string, ...string[]];
318
+ }, ...{
319
+ catalog_id: string;
320
+ store_ids?: [string, ...string[]];
321
+ catchment_ids?: [string, ...string[]];
322
+ }[]];
323
+ geo_proximity?: [({} | {} | {}), ...({} | {} | {})[]];
324
+ language?: [import("../types/tools.generated.mjs").LanguageTag, ...import("../types/tools.generated.mjs").LanguageTag[]];
325
+ keyword_targets?: [{
326
+ keyword: string;
327
+ match_type: import("../types/core.generated.mjs").MatchType;
328
+ bid_price?: number;
329
+ }, ...{
330
+ keyword: string;
331
+ match_type: import("../types/core.generated.mjs").MatchType;
332
+ bid_price?: number;
333
+ }[]];
334
+ negative_keywords?: [{
335
+ keyword: string;
336
+ match_type: import("../types/core.generated.mjs").MatchType;
337
+ }, ...{
338
+ keyword: string;
339
+ match_type: import("../types/core.generated.mjs").MatchType;
340
+ }[]];
341
+ }, {
342
+ geo_countries?: [string, ...string[]];
343
+ geo_countries_exclude?: [string, ...string[]];
344
+ geo_regions?: [string, ...string[]];
345
+ geo_regions_exclude?: [string, ...string[]];
346
+ geo_metros?: [{
347
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
348
+ values: [string, ...string[]];
349
+ }, ...{
350
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
351
+ values: [string, ...string[]];
352
+ }[]];
353
+ geo_metros_exclude?: [{
354
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
355
+ values: [string, ...string[]];
356
+ }, ...{
357
+ system: import("../types/core.generated.mjs").MetroAreaSystem;
358
+ values: [string, ...string[]];
359
+ }[]];
360
+ geo_postal_areas?: [import("../types/tools.generated.mjs").PostalArea, ...import("../types/tools.generated.mjs").PostalArea[]];
361
+ geo_postal_areas_exclude?: [import("../types/tools.generated.mjs").PostalArea, ...import("../types/tools.generated.mjs").PostalArea[]];
362
+ geo_places?: [import("../types/tools.generated.mjs").GeographicPlaceArea, ...import("../types/tools.generated.mjs").GeographicPlaceArea[]];
363
+ geo_places_exclude?: [import("../types/tools.generated.mjs").GeographicPlaceArea, ...import("../types/tools.generated.mjs").GeographicPlaceArea[]];
364
+ daypart_targets?: [import("../types/tools.generated.mjs").DaypartTarget, ...import("../types/tools.generated.mjs").DaypartTarget[]];
365
+ axe_include_segment?: string;
366
+ axe_exclude_segment?: string;
367
+ audience_include?: [string, ...string[]];
368
+ audience_exclude?: [string, ...string[]];
369
+ signal_targeting_groups?: import("../types/tools.generated.mjs").PackageSignalTargetingGroups;
370
+ signal_targeting?: [import("../index.mjs").SignalTargeting, ...import("../index.mjs").SignalTargeting[]];
371
+ demographics?: import("../types/tools.generated.mjs").DemographicTargetingIntent;
372
+ frequency_cap?: import("../index.mjs").FrequencyCap;
373
+ property_list?: import("../types/tools.generated.mjs").PropertyListReference;
374
+ property_list_exclude?: import("../types/tools.generated.mjs").PropertyListReference;
375
+ collection_list?: import("../types/tools.generated.mjs").CollectionListReference;
376
+ collection_list_exclude?: import("../types/tools.generated.mjs").CollectionListReference;
377
+ placement_selection?: import("../types/tools.generated.mjs").PlacementSelection;
378
+ age_restriction?: {
379
+ min: number;
380
+ verification_required?: boolean;
381
+ accepted_methods?: [import("../types/core.generated.mjs").AgeVerificationMethod, ...import("../types/core.generated.mjs").AgeVerificationMethod[]];
382
+ };
383
+ device_platform?: [import("../types/core.generated.mjs").DevicePlatform, ...import("../types/core.generated.mjs").DevicePlatform[]];
384
+ device_platform_exclude?: [import("../types/core.generated.mjs").DevicePlatform, ...import("../types/core.generated.mjs").DevicePlatform[]];
385
+ device_type?: [import("../index.mjs").DeviceType, ...import("../index.mjs").DeviceType[]];
386
+ device_type_exclude?: [import("../index.mjs").DeviceType, ...import("../index.mjs").DeviceType[]];
387
+ browser?: [import("../types/core.generated.mjs").BrowserFamily, ...import("../types/core.generated.mjs").BrowserFamily[]];
388
+ browser_exclude?: [import("../types/core.generated.mjs").BrowserFamily, ...import("../types/core.generated.mjs").BrowserFamily[]];
389
+ store_catchments?: [{
390
+ catalog_id: string;
391
+ store_ids?: [string, ...string[]];
392
+ catchment_ids?: [string, ...string[]];
393
+ }, ...{
394
+ catalog_id: string;
395
+ store_ids?: [string, ...string[]];
396
+ catchment_ids?: [string, ...string[]];
397
+ }[]];
398
+ geo_proximity?: [({} | {} | {}), ...({} | {} | {})[]];
399
+ language?: [import("../types/tools.generated.mjs").LanguageTag, ...import("../types/tools.generated.mjs").LanguageTag[]];
400
+ keyword_targets?: [{
401
+ keyword: string;
402
+ match_type: import("../types/core.generated.mjs").MatchType;
403
+ bid_price?: number;
404
+ }, ...{
405
+ keyword: string;
406
+ match_type: import("../types/core.generated.mjs").MatchType;
407
+ bid_price?: number;
408
+ }[]];
409
+ negative_keywords?: [{
410
+ keyword: string;
411
+ match_type: import("../types/core.generated.mjs").MatchType;
412
+ }, ...{
413
+ keyword: string;
414
+ match_type: import("../types/core.generated.mjs").MatchType;
415
+ }[]];
416
+ }>>>;
417
+ required_overlay_support: z.ZodOptional<z.ZodType<import("../types/core.generated.mjs").TargetingOverlayRequirements, import("../types/core.generated.mjs").TargetingOverlayRequirements, z.core.$ZodTypeInternals<import("../types/core.generated.mjs").TargetingOverlayRequirements, import("../types/core.generated.mjs").TargetingOverlayRequirements>>>;
418
+ property_list: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").PropertyListReference, import("../types/tools.generated.mjs").PropertyListReference, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").PropertyListReference, import("../types/tools.generated.mjs").PropertyListReference>>>;
419
+ fields: z.ZodOptional<z.ZodType<("name" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "brief_relevance" | "expires_at" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "overlay_support" | "targeting_resolution" | "collections" | "collection_targeting_allowed" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "brief_relevance" | "expires_at" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "overlay_support" | "targeting_resolution" | "collections" | "collection_targeting_allowed" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], z.core.$ZodTypeInternals<("name" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "brief_relevance" | "expires_at" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "overlay_support" | "targeting_resolution" | "collections" | "collection_targeting_allowed" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "forecast" | "description" | "publisher_properties" | "audience_evidence" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "brief_relevance" | "expires_at" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "overlay_support" | "targeting_resolution" | "collections" | "collection_targeting_allowed" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[]>>>;
420
+ time_budget: z.ZodOptional<z.ZodType<import("../index.mjs").Duration, import("../index.mjs").Duration, z.core.$ZodTypeInternals<import("../index.mjs").Duration, import("../index.mjs").Duration>>>;
421
+ push_notification_config: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").PushNotificationConfig, import("../types/tools.generated.mjs").PushNotificationConfig, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").PushNotificationConfig, import("../types/tools.generated.mjs").PushNotificationConfig>>>;
422
+ pagination: z.ZodOptional<z.ZodType<import("../index.mjs").PaginationRequest, import("../index.mjs").PaginationRequest, z.core.$ZodTypeInternals<import("../index.mjs").PaginationRequest, import("../index.mjs").PaginationRequest>>>;
423
+ if_wholesale_feed_version: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
424
+ if_pricing_version: z.ZodOptional<z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
425
+ context: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").ContextObject, import("../types/tools.generated.mjs").ContextObject, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").ContextObject, import("../types/tools.generated.mjs").ContextObject>>>;
426
+ required_policies: z.ZodOptional<z.ZodType<string[], string[], z.core.$ZodTypeInternals<string[], string[]>>>;
427
+ ext: z.ZodOptional<z.ZodType<import("../index.mjs").ExtensionObject, import("../index.mjs").ExtensionObject, z.core.$ZodTypeInternals<import("../index.mjs").ExtensionObject, import("../index.mjs").ExtensionObject>>>;
428
+ }, z.core.$loose> & z.ZodType<import("../index.mjs").LegacyGetProductsRequest & Record<string, unknown>, import("../index.mjs").LegacyGetProductsRequest & Record<string, unknown>, z.core.$ZodTypeInternals<import("../index.mjs").LegacyGetProductsRequest & Record<string, unknown>, import("../index.mjs").LegacyGetProductsRequest & Record<string, unknown>>>;
429
+ /** Primary request schema; legacy `format_ids` selection is rejected. */
430
+ export declare const GetProductsRequestSchema: LooseObjectSchemaFor<CanonicalGetProductsRequest>;
47
431
  export { BiddingPolicySchema } from '../validation/bidding-policy.mjs';
48
432
  export { CanonicalBudgetAllocationSchema } from '../validation/budget-allocation.mjs';
49
433
  export { TOOL_REQUEST_SCHEMAS } from '../utils/tool-request-schemas.mjs';