@adcp/sdk 14.0.0-beta.5 → 14.0.0-beta.6
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/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +26 -10
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/AgentClient.mjs +26 -10
- package/dist/lib/core/AgentClient.mjs.map +1 -1
- package/dist/lib/core/AsyncHandler.d.mts +4 -2
- package/dist/lib/core/AsyncHandler.d.ts +4 -2
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.js +15 -1
- package/dist/lib/core/AsyncHandler.js.map +1 -1
- package/dist/lib/core/AsyncHandler.mjs +15 -1
- package/dist/lib/core/AsyncHandler.mjs.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.mts +3 -1
- package/dist/lib/core/SingleAgentClient.d.ts +3 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +158 -39
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.mjs +167 -40
- package/dist/lib/core/SingleAgentClient.mjs.map +1 -1
- package/dist/lib/core/TaskExecutor.d.mts +57 -2
- package/dist/lib/core/TaskExecutor.d.ts +57 -2
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +382 -44
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/core/TaskExecutor.mjs +382 -45
- package/dist/lib/core/TaskExecutor.mjs.map +1 -1
- package/dist/lib/core/request-proposals-guard.d.mts +11 -0
- package/dist/lib/core/request-proposals-guard.d.ts +12 -0
- package/dist/lib/core/request-proposals-guard.d.ts.map +1 -0
- package/dist/lib/core/request-proposals-guard.js +65 -0
- package/dist/lib/core/request-proposals-guard.js.map +1 -0
- package/dist/lib/core/request-proposals-guard.mjs +39 -0
- package/dist/lib/core/request-proposals-guard.mjs.map +1 -0
- package/dist/lib/core/webhook-registration.d.mts +5 -0
- package/dist/lib/core/webhook-registration.d.ts +5 -0
- package/dist/lib/core/webhook-registration.d.ts.map +1 -1
- package/dist/lib/core/webhook-registration.js +13 -0
- package/dist/lib/core/webhook-registration.js.map +1 -1
- package/dist/lib/core/webhook-registration.mjs +13 -0
- package/dist/lib/core/webhook-registration.mjs.map +1 -1
- package/dist/lib/media-buy/compatibility.d.mts +45 -10
- package/dist/lib/media-buy/compatibility.d.ts +45 -10
- package/dist/lib/media-buy/compatibility.d.ts.map +1 -1
- package/dist/lib/media-buy/compatibility.js +295 -113
- package/dist/lib/media-buy/compatibility.js.map +1 -1
- package/dist/lib/media-buy/compatibility.mjs +295 -113
- package/dist/lib/media-buy/compatibility.mjs.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/types/core.generated.d.mts +334 -85
- package/dist/lib/types/core.generated.d.ts +334 -85
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js.map +1 -1
- package/dist/lib/types/decline-proposals.d.ts +0 -5
- package/dist/lib/types/index.d.mts +2 -0
- package/dist/lib/types/index.d.ts +2 -0
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/index.mjs.map +1 -1
- package/dist/lib/types/request-proposals.d.ts +254 -36
- package/dist/lib/types/schemas.generated.d.ts +3123 -835
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +192 -85
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/schemas.generated.mjs +192 -85
- package/dist/lib/types/schemas.generated.mjs.map +1 -1
- package/dist/lib/types/tools.generated.d.mts +1 -121
- package/dist/lib/types/tools.generated.d.ts +1 -121
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +3 -3
- package/dist/lib/version.mjs.map +1 -1
- package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +28 -14
- package/docs/llms.txt +1 -1
- package/package.json +1 -1
|
@@ -8266,6 +8266,340 @@ export interface AuthorizationResult {
|
|
|
8266
8266
|
message: string;
|
|
8267
8267
|
};
|
|
8268
8268
|
}
|
|
8269
|
+
/**
|
|
8270
|
+
* One or more immutable draft media-plan proposals and compact canonical products referenced by their purchases. Products always carry product_id and name and never carry legacy named-format identifiers. During the AdCP 3.x compatibility window, an SDK projecting a valid products-only get_products brief result may instead return the deprecated products_available outcome with an explicit purchase continuation. Native 3.2 sellers MUST NOT use that compatibility outcome, and adapters MUST NOT fabricate a proposal, terms digest, or feed version.
|
|
8271
|
+
*/
|
|
8272
|
+
export type RequestProposalsResponse = {
|
|
8273
|
+
/**
|
|
8274
|
+
* Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.
|
|
8275
|
+
*/
|
|
8276
|
+
adcp_version?: string;
|
|
8277
|
+
outcome: 'proposed';
|
|
8278
|
+
reason?: never;
|
|
8279
|
+
suggestions?: never;
|
|
8280
|
+
/**
|
|
8281
|
+
* @minItems 1
|
|
8282
|
+
*/
|
|
8283
|
+
proposals: [
|
|
8284
|
+
CanonicalProposal & {
|
|
8285
|
+
proposal_status: 'draft';
|
|
8286
|
+
/**
|
|
8287
|
+
* @format date-time
|
|
8288
|
+
*/
|
|
8289
|
+
expires_at: string;
|
|
8290
|
+
},
|
|
8291
|
+
...(CanonicalProposal & {
|
|
8292
|
+
proposal_status: 'draft';
|
|
8293
|
+
/**
|
|
8294
|
+
* @format date-time
|
|
8295
|
+
*/
|
|
8296
|
+
expires_at: string;
|
|
8297
|
+
})[]
|
|
8298
|
+
];
|
|
8299
|
+
/**
|
|
8300
|
+
* @minItems 1
|
|
8301
|
+
*/
|
|
8302
|
+
products: [CanonicalProduct, ...CanonicalProduct[]];
|
|
8303
|
+
/**
|
|
8304
|
+
* Usable partial discovery result retained from the established get_products response. Absence means the source response did not declare an incomplete scope; it does not authorize an adapter to infer missing proposal terms.
|
|
8305
|
+
*
|
|
8306
|
+
* @minItems 1
|
|
8307
|
+
*/
|
|
8308
|
+
incomplete?: [
|
|
8309
|
+
{
|
|
8310
|
+
scope: 'products' | 'pricing' | 'forecast' | 'proposals' | 'wholesale_feed';
|
|
8311
|
+
/**
|
|
8312
|
+
* @minLength 1
|
|
8313
|
+
*/
|
|
8314
|
+
description: string;
|
|
8315
|
+
estimated_wait?: Duration;
|
|
8316
|
+
},
|
|
8317
|
+
...{
|
|
8318
|
+
scope: 'products' | 'pricing' | 'forecast' | 'proposals' | 'wholesale_feed';
|
|
8319
|
+
/**
|
|
8320
|
+
* @minLength 1
|
|
8321
|
+
*/
|
|
8322
|
+
description: string;
|
|
8323
|
+
estimated_wait?: Duration;
|
|
8324
|
+
}[]
|
|
8325
|
+
];
|
|
8326
|
+
purchase_continuation?: never;
|
|
8327
|
+
targeting_resolution?: ProductDiscoveryTargetingResolution;
|
|
8328
|
+
status?: 'completed';
|
|
8329
|
+
task_id?: never;
|
|
8330
|
+
/**
|
|
8331
|
+
* @maxLength 2000
|
|
8332
|
+
*/
|
|
8333
|
+
message?: string;
|
|
8334
|
+
errors?: Error[];
|
|
8335
|
+
context?: ContextObject;
|
|
8336
|
+
ext?: ExtensionObject;
|
|
8337
|
+
replayed?: true;
|
|
8338
|
+
} | {
|
|
8339
|
+
/**
|
|
8340
|
+
* Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.
|
|
8341
|
+
*/
|
|
8342
|
+
adcp_version?: string;
|
|
8343
|
+
outcome: 'products_available';
|
|
8344
|
+
reason?: never;
|
|
8345
|
+
suggestions?: never;
|
|
8346
|
+
proposals?: never;
|
|
8347
|
+
/**
|
|
8348
|
+
* @minItems 1
|
|
8349
|
+
*/
|
|
8350
|
+
products: [CanonicalProduct, ...CanonicalProduct[]];
|
|
8351
|
+
/**
|
|
8352
|
+
* Usable partial discovery result retained from the established get_products response. Absence means the source response did not declare an incomplete scope; it does not authorize an adapter to infer missing proposal terms.
|
|
8353
|
+
*
|
|
8354
|
+
* @minItems 1
|
|
8355
|
+
*/
|
|
8356
|
+
incomplete?: [
|
|
8357
|
+
{
|
|
8358
|
+
scope: 'products' | 'pricing' | 'forecast' | 'proposals' | 'wholesale_feed';
|
|
8359
|
+
/**
|
|
8360
|
+
* @minLength 1
|
|
8361
|
+
*/
|
|
8362
|
+
description: string;
|
|
8363
|
+
estimated_wait?: Duration;
|
|
8364
|
+
},
|
|
8365
|
+
...{
|
|
8366
|
+
scope: 'products' | 'pricing' | 'forecast' | 'proposals' | 'wholesale_feed';
|
|
8367
|
+
/**
|
|
8368
|
+
* @minLength 1
|
|
8369
|
+
*/
|
|
8370
|
+
description: string;
|
|
8371
|
+
estimated_wait?: Duration;
|
|
8372
|
+
}[]
|
|
8373
|
+
];
|
|
8374
|
+
/**
|
|
8375
|
+
* @deprecated
|
|
8376
|
+
* Deprecated AdCP 3.x projection instruction for purchasing products returned without a proposal. This is coordinator state, not a claim that the established seller implements a compact task. A native 3.2 seller MUST NOT emit it.
|
|
8377
|
+
*/
|
|
8378
|
+
purchase_continuation: {
|
|
8379
|
+
kind: 'listed_purchase';
|
|
8380
|
+
/**
|
|
8381
|
+
* Exact products the coordinator promoted and re-read through account-scoped list_products before returning this result. The set MUST match products[].product_id.
|
|
8382
|
+
*
|
|
8383
|
+
* @minItems 1
|
|
8384
|
+
*/
|
|
8385
|
+
product_ids: [string, ...string[]];
|
|
8386
|
+
cache_scope: 'account';
|
|
8387
|
+
/**
|
|
8388
|
+
* Real seller-issued account-scoped feed fence obtained by re-reading the promoted products through list_products.
|
|
8389
|
+
* @minLength 1
|
|
8390
|
+
*/
|
|
8391
|
+
feed_version: string;
|
|
8392
|
+
/**
|
|
8393
|
+
* Real seller-issued pricing fence from the same account-scoped list_products response, when the seller versions pricing independently.
|
|
8394
|
+
* @minLength 1
|
|
8395
|
+
*/
|
|
8396
|
+
pricing_version?: string;
|
|
8397
|
+
} | {
|
|
8398
|
+
kind: 'legacy_create';
|
|
8399
|
+
/**
|
|
8400
|
+
* Opaque, short-lived coordinator token bound to the caller principal, account, and complete observed product/pricing payload. It is not a seller-issued feed fence.
|
|
8401
|
+
* @minLength 16
|
|
8402
|
+
*/
|
|
8403
|
+
continuation_token: string;
|
|
8404
|
+
/**
|
|
8405
|
+
* Absolute expiry of the single-use compatibility continuation.
|
|
8406
|
+
* @format date-time
|
|
8407
|
+
*/
|
|
8408
|
+
continuation_expires_at: string;
|
|
8409
|
+
/**
|
|
8410
|
+
* Established AdCP version actually negotiated with the peer. This provenance is required; the coordinator MUST NOT infer stronger guarantees from the label.
|
|
8411
|
+
*/
|
|
8412
|
+
source_adcp_version: '2.5' | '3.0' | '3.1';
|
|
8413
|
+
/**
|
|
8414
|
+
* Exact products bound to this continuation. A follow-up MUST select a non-empty subset and MUST NOT substitute an ID from another discovery result.
|
|
8415
|
+
*
|
|
8416
|
+
* @minItems 1
|
|
8417
|
+
*/
|
|
8418
|
+
product_ids: [string, ...string[]];
|
|
8419
|
+
/**
|
|
8420
|
+
* Guarantees that the established create_media_buy continuation cannot provide. The coordinator MUST fail before mutation unless the caller explicitly accepts every listed loss.
|
|
8421
|
+
*
|
|
8422
|
+
* @minItems 2
|
|
8423
|
+
*/
|
|
8424
|
+
losses: [
|
|
8425
|
+
'feed_version_not_atomic' | 'pricing_version_not_atomic' | 'mutation_idempotency_not_guaranteed',
|
|
8426
|
+
'feed_version_not_atomic' | 'pricing_version_not_atomic' | 'mutation_idempotency_not_guaranteed',
|
|
8427
|
+
...('feed_version_not_atomic' | 'pricing_version_not_atomic' | 'mutation_idempotency_not_guaranteed')[]
|
|
8428
|
+
];
|
|
8429
|
+
requires_explicit_acceptance: true;
|
|
8430
|
+
};
|
|
8431
|
+
targeting_resolution?: ProductDiscoveryTargetingResolution;
|
|
8432
|
+
status?: 'completed';
|
|
8433
|
+
task_id?: never;
|
|
8434
|
+
/**
|
|
8435
|
+
* @maxLength 2000
|
|
8436
|
+
*/
|
|
8437
|
+
message?: string;
|
|
8438
|
+
errors?: Error[];
|
|
8439
|
+
context?: ContextObject;
|
|
8440
|
+
ext?: ExtensionObject;
|
|
8441
|
+
replayed?: true;
|
|
8442
|
+
} | {
|
|
8443
|
+
/**
|
|
8444
|
+
* Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.
|
|
8445
|
+
*/
|
|
8446
|
+
adcp_version?: string;
|
|
8447
|
+
outcome: 'rejected';
|
|
8448
|
+
/**
|
|
8449
|
+
* @minLength 1
|
|
8450
|
+
*/
|
|
8451
|
+
reason: string;
|
|
8452
|
+
/**
|
|
8453
|
+
* @minItems 1
|
|
8454
|
+
*/
|
|
8455
|
+
suggestions?: [string, ...string[]];
|
|
8456
|
+
proposals?: never;
|
|
8457
|
+
products?: never;
|
|
8458
|
+
incomplete?: never;
|
|
8459
|
+
purchase_continuation?: never;
|
|
8460
|
+
targeting_resolution?: ProductDiscoveryTargetingResolution;
|
|
8461
|
+
status?: 'completed';
|
|
8462
|
+
task_id?: never;
|
|
8463
|
+
/**
|
|
8464
|
+
* @maxLength 2000
|
|
8465
|
+
*/
|
|
8466
|
+
message?: string;
|
|
8467
|
+
errors?: Error[];
|
|
8468
|
+
context?: ContextObject;
|
|
8469
|
+
ext?: ExtensionObject;
|
|
8470
|
+
replayed?: true;
|
|
8471
|
+
} | {
|
|
8472
|
+
/**
|
|
8473
|
+
* Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.
|
|
8474
|
+
*/
|
|
8475
|
+
adcp_version?: string;
|
|
8476
|
+
outcome?: 'proposed' | 'products_available' | 'rejected';
|
|
8477
|
+
/**
|
|
8478
|
+
* @minLength 1
|
|
8479
|
+
*/
|
|
8480
|
+
reason?: string;
|
|
8481
|
+
/**
|
|
8482
|
+
* @minItems 1
|
|
8483
|
+
*/
|
|
8484
|
+
suggestions?: [string, ...string[]];
|
|
8485
|
+
/**
|
|
8486
|
+
* @minItems 1
|
|
8487
|
+
*/
|
|
8488
|
+
proposals?: [
|
|
8489
|
+
CanonicalProposal & {
|
|
8490
|
+
proposal_status: 'draft';
|
|
8491
|
+
/**
|
|
8492
|
+
* @format date-time
|
|
8493
|
+
*/
|
|
8494
|
+
expires_at: string;
|
|
8495
|
+
},
|
|
8496
|
+
...(CanonicalProposal & {
|
|
8497
|
+
proposal_status: 'draft';
|
|
8498
|
+
/**
|
|
8499
|
+
* @format date-time
|
|
8500
|
+
*/
|
|
8501
|
+
expires_at: string;
|
|
8502
|
+
})[]
|
|
8503
|
+
];
|
|
8504
|
+
/**
|
|
8505
|
+
* @minItems 1
|
|
8506
|
+
*/
|
|
8507
|
+
products?: [CanonicalProduct, ...CanonicalProduct[]];
|
|
8508
|
+
/**
|
|
8509
|
+
* Usable partial discovery result retained from the established get_products response. Absence means the source response did not declare an incomplete scope; it does not authorize an adapter to infer missing proposal terms.
|
|
8510
|
+
*
|
|
8511
|
+
* @minItems 1
|
|
8512
|
+
*/
|
|
8513
|
+
incomplete?: [
|
|
8514
|
+
{
|
|
8515
|
+
scope: 'products' | 'pricing' | 'forecast' | 'proposals' | 'wholesale_feed';
|
|
8516
|
+
/**
|
|
8517
|
+
* @minLength 1
|
|
8518
|
+
*/
|
|
8519
|
+
description: string;
|
|
8520
|
+
estimated_wait?: Duration;
|
|
8521
|
+
},
|
|
8522
|
+
...{
|
|
8523
|
+
scope: 'products' | 'pricing' | 'forecast' | 'proposals' | 'wholesale_feed';
|
|
8524
|
+
/**
|
|
8525
|
+
* @minLength 1
|
|
8526
|
+
*/
|
|
8527
|
+
description: string;
|
|
8528
|
+
estimated_wait?: Duration;
|
|
8529
|
+
}[]
|
|
8530
|
+
];
|
|
8531
|
+
/**
|
|
8532
|
+
* @deprecated
|
|
8533
|
+
* Deprecated AdCP 3.x projection instruction for purchasing products returned without a proposal. This is coordinator state, not a claim that the established seller implements a compact task. A native 3.2 seller MUST NOT emit it.
|
|
8534
|
+
*/
|
|
8535
|
+
purchase_continuation?: {
|
|
8536
|
+
kind: 'listed_purchase';
|
|
8537
|
+
/**
|
|
8538
|
+
* Exact products the coordinator promoted and re-read through account-scoped list_products before returning this result. The set MUST match products[].product_id.
|
|
8539
|
+
*
|
|
8540
|
+
* @minItems 1
|
|
8541
|
+
*/
|
|
8542
|
+
product_ids: [string, ...string[]];
|
|
8543
|
+
cache_scope: 'account';
|
|
8544
|
+
/**
|
|
8545
|
+
* Real seller-issued account-scoped feed fence obtained by re-reading the promoted products through list_products.
|
|
8546
|
+
* @minLength 1
|
|
8547
|
+
*/
|
|
8548
|
+
feed_version: string;
|
|
8549
|
+
/**
|
|
8550
|
+
* Real seller-issued pricing fence from the same account-scoped list_products response, when the seller versions pricing independently.
|
|
8551
|
+
* @minLength 1
|
|
8552
|
+
*/
|
|
8553
|
+
pricing_version?: string;
|
|
8554
|
+
} | {
|
|
8555
|
+
kind: 'legacy_create';
|
|
8556
|
+
/**
|
|
8557
|
+
* Opaque, short-lived coordinator token bound to the caller principal, account, and complete observed product/pricing payload. It is not a seller-issued feed fence.
|
|
8558
|
+
* @minLength 16
|
|
8559
|
+
*/
|
|
8560
|
+
continuation_token: string;
|
|
8561
|
+
/**
|
|
8562
|
+
* Absolute expiry of the single-use compatibility continuation.
|
|
8563
|
+
* @format date-time
|
|
8564
|
+
*/
|
|
8565
|
+
continuation_expires_at: string;
|
|
8566
|
+
/**
|
|
8567
|
+
* Established AdCP version actually negotiated with the peer. This provenance is required; the coordinator MUST NOT infer stronger guarantees from the label.
|
|
8568
|
+
*/
|
|
8569
|
+
source_adcp_version: '2.5' | '3.0' | '3.1';
|
|
8570
|
+
/**
|
|
8571
|
+
* Exact products bound to this continuation. A follow-up MUST select a non-empty subset and MUST NOT substitute an ID from another discovery result.
|
|
8572
|
+
*
|
|
8573
|
+
* @minItems 1
|
|
8574
|
+
*/
|
|
8575
|
+
product_ids: [string, ...string[]];
|
|
8576
|
+
/**
|
|
8577
|
+
* Guarantees that the established create_media_buy continuation cannot provide. The coordinator MUST fail before mutation unless the caller explicitly accepts every listed loss.
|
|
8578
|
+
*
|
|
8579
|
+
* @minItems 2
|
|
8580
|
+
*/
|
|
8581
|
+
losses: [
|
|
8582
|
+
'feed_version_not_atomic' | 'pricing_version_not_atomic' | 'mutation_idempotency_not_guaranteed',
|
|
8583
|
+
'feed_version_not_atomic' | 'pricing_version_not_atomic' | 'mutation_idempotency_not_guaranteed',
|
|
8584
|
+
...('feed_version_not_atomic' | 'pricing_version_not_atomic' | 'mutation_idempotency_not_guaranteed')[]
|
|
8585
|
+
];
|
|
8586
|
+
requires_explicit_acceptance: true;
|
|
8587
|
+
};
|
|
8588
|
+
targeting_resolution?: ProductDiscoveryTargetingResolution;
|
|
8589
|
+
status: 'submitted';
|
|
8590
|
+
/**
|
|
8591
|
+
* @minLength 1
|
|
8592
|
+
*/
|
|
8593
|
+
task_id: string;
|
|
8594
|
+
/**
|
|
8595
|
+
* @maxLength 2000
|
|
8596
|
+
*/
|
|
8597
|
+
message?: string;
|
|
8598
|
+
errors?: Error[];
|
|
8599
|
+
context?: ContextObject;
|
|
8600
|
+
ext?: ExtensionObject;
|
|
8601
|
+
replayed?: true;
|
|
8602
|
+
};
|
|
8269
8603
|
/**
|
|
8270
8604
|
* Success response - sync operation processed creatives (may include per-item failures)
|
|
8271
8605
|
*/
|
|
@@ -13823,91 +14157,6 @@ export type GetProductsRejected = AdCPVersionEnvelope & ProtocolEnvelope & {
|
|
|
13823
14157
|
context?: ContextObject;
|
|
13824
14158
|
ext?: ExtensionObject;
|
|
13825
14159
|
};
|
|
13826
|
-
/**
|
|
13827
|
-
* Terminal response for request_proposals
|
|
13828
|
-
*/
|
|
13829
|
-
export type RequestProposalsResponse = ({
|
|
13830
|
-
outcome: 'proposed';
|
|
13831
|
-
status?: 'completed';
|
|
13832
|
-
} | {} | {
|
|
13833
|
-
outcome: 'rejected';
|
|
13834
|
-
status?: 'completed';
|
|
13835
|
-
} | CompactTaskSubmitted) & {
|
|
13836
|
-
/**
|
|
13837
|
-
* Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.
|
|
13838
|
-
*/
|
|
13839
|
-
adcp_version?: string;
|
|
13840
|
-
outcome?: 'proposed' | 'products_available' | 'rejected';
|
|
13841
|
-
reason?: string;
|
|
13842
|
-
/**
|
|
13843
|
-
* @minItems 1
|
|
13844
|
-
*/
|
|
13845
|
-
suggestions?: [string, ...string[]];
|
|
13846
|
-
/**
|
|
13847
|
-
* @minItems 1
|
|
13848
|
-
*/
|
|
13849
|
-
proposals?: [
|
|
13850
|
-
CanonicalProposal & {
|
|
13851
|
-
proposal_status: 'draft';
|
|
13852
|
-
expires_at: string;
|
|
13853
|
-
},
|
|
13854
|
-
...(CanonicalProposal & {
|
|
13855
|
-
proposal_status: 'draft';
|
|
13856
|
-
expires_at: string;
|
|
13857
|
-
})[]
|
|
13858
|
-
];
|
|
13859
|
-
/**
|
|
13860
|
-
* @minItems 1
|
|
13861
|
-
*/
|
|
13862
|
-
products?: [CanonicalProduct, ...CanonicalProduct[]];
|
|
13863
|
-
/**
|
|
13864
|
-
* Usable partial discovery result retained from the established get_products response. Absence means the source response did not declare an incomplete scope; it does not authorize an adapter to infer missing proposal terms.
|
|
13865
|
-
*
|
|
13866
|
-
* @minItems 1
|
|
13867
|
-
*/
|
|
13868
|
-
incomplete?: [
|
|
13869
|
-
{
|
|
13870
|
-
scope: 'products' | 'pricing' | 'forecast' | 'proposals' | 'wholesale_feed';
|
|
13871
|
-
description: string;
|
|
13872
|
-
estimated_wait?: Duration;
|
|
13873
|
-
},
|
|
13874
|
-
...{
|
|
13875
|
-
scope: 'products' | 'pricing' | 'forecast' | 'proposals' | 'wholesale_feed';
|
|
13876
|
-
description: string;
|
|
13877
|
-
estimated_wait?: Duration;
|
|
13878
|
-
}[]
|
|
13879
|
-
];
|
|
13880
|
-
/**
|
|
13881
|
-
* @deprecated
|
|
13882
|
-
* Deprecated AdCP 3.x projection instruction for purchasing products returned without a proposal. This is coordinator state, not a claim that the established seller implements a compact task. A native 3.2 seller MUST NOT emit it.
|
|
13883
|
-
*/
|
|
13884
|
-
purchase_continuation?: {
|
|
13885
|
-
kind: 'listed_purchase';
|
|
13886
|
-
/**
|
|
13887
|
-
* Exact products the coordinator promoted and re-read through account-scoped list_products before returning this result. The set MUST match products[].product_id.
|
|
13888
|
-
*
|
|
13889
|
-
* @minItems 1
|
|
13890
|
-
*/
|
|
13891
|
-
product_ids: [string, ...string[]];
|
|
13892
|
-
cache_scope: 'account';
|
|
13893
|
-
/**
|
|
13894
|
-
* Real seller-issued account-scoped feed fence obtained by re-reading the promoted products through list_products.
|
|
13895
|
-
*/
|
|
13896
|
-
feed_version: string;
|
|
13897
|
-
/**
|
|
13898
|
-
* Real seller-issued pricing fence from the same account-scoped list_products response, when the seller versions pricing independently.
|
|
13899
|
-
*/
|
|
13900
|
-
pricing_version?: string;
|
|
13901
|
-
} | {};
|
|
13902
|
-
targeting_resolution?: ProductDiscoveryTargetingResolution;
|
|
13903
|
-
status?: 'completed' | 'submitted';
|
|
13904
|
-
task_id?: string;
|
|
13905
|
-
message?: string;
|
|
13906
|
-
errors?: Error[];
|
|
13907
|
-
context?: ContextObject;
|
|
13908
|
-
ext?: ExtensionObject;
|
|
13909
|
-
replayed?: true;
|
|
13910
|
-
};
|
|
13911
14160
|
/**
|
|
13912
14161
|
* Compact immutable proposal for the AdCP 3.2 lifecycle. commercial_terms is the sole authoritative commercial envelope; narrative fields do not duplicate legacy allocation or creative graphs.
|
|
13913
14162
|
*/
|