@adcp/sdk 14.0.0-beta.22 → 14.0.0-beta.24
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/registry/types.generated.d.mts +138 -6
- package/dist/lib/registry/types.generated.d.ts +138 -6
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.js +4 -1
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.mjs +4 -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/schemas.generated.js +11 -11
- package/dist/lib/types/schemas.generated.mjs +11 -11
- 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.mjs +3 -3
- package/docs/llms.txt +1 -1
- package/package.json +1 -1
|
@@ -682,8 +682,8 @@ export interface paths {
|
|
|
682
682
|
get?: never;
|
|
683
683
|
put?: never;
|
|
684
684
|
/**
|
|
685
|
-
* Validate product
|
|
686
|
-
* @description
|
|
685
|
+
* Validate product property coverage
|
|
686
|
+
* @description Checks whether an agent covers a product's publisher_properties. This endpoint does not validate collection, placement, country, or time qualifiers and must not be used as full product authorization proof; validate those qualifiers against the publisher's authoritative adagents.json.
|
|
687
687
|
*/
|
|
688
688
|
post: operations["validateProductAuthorization"];
|
|
689
689
|
delete?: never;
|
|
@@ -692,6 +692,26 @@ export interface paths {
|
|
|
692
692
|
patch?: never;
|
|
693
693
|
trace?: never;
|
|
694
694
|
};
|
|
695
|
+
"/api/registry/verify/supply-path": {
|
|
696
|
+
parameters: {
|
|
697
|
+
query?: never;
|
|
698
|
+
header?: never;
|
|
699
|
+
path?: never;
|
|
700
|
+
cookie?: never;
|
|
701
|
+
};
|
|
702
|
+
get?: never;
|
|
703
|
+
put?: never;
|
|
704
|
+
/**
|
|
705
|
+
* Verify an owner-sold supply path
|
|
706
|
+
* @description Joins the owner's and host's cached adagents.json manifests (plus the host's ads.txt/app-ads.txt inventorypartnerdomain lines when needed) and returns the verification state of one owner-sold carriage path, leg by leg. States follow the documented ladder: verified_owner_sold (host adagents.json authorizes the agent for the host property, collection-scoped), host_delegated (ads.txt inventorypartnerdomain + owner-side declarations, policy-gated), owner_attested (owner distribution claim only — discovery, never authorization), unverified. The response is evidence-bearing so callers can reproduce the verdict from the authoritative files; the registry cache is a convenience, not the trust root. For a live-fetch check of a file you just changed, use POST /api/adagents/validate.
|
|
707
|
+
*/
|
|
708
|
+
post: operations["verifySupplyPath"];
|
|
709
|
+
delete?: never;
|
|
710
|
+
options?: never;
|
|
711
|
+
head?: never;
|
|
712
|
+
patch?: never;
|
|
713
|
+
trace?: never;
|
|
714
|
+
};
|
|
695
715
|
"/api/registry/expand/product-identifiers": {
|
|
696
716
|
parameters: {
|
|
697
717
|
query?: never;
|
|
@@ -2906,7 +2926,7 @@ export interface components {
|
|
|
2906
2926
|
}[];
|
|
2907
2927
|
collections?: {
|
|
2908
2928
|
publisher_domain: string;
|
|
2909
|
-
collection_ids
|
|
2929
|
+
collection_ids?: string[];
|
|
2910
2930
|
}[];
|
|
2911
2931
|
placement_ids?: string[];
|
|
2912
2932
|
placement_tags?: string[];
|
|
@@ -3982,10 +4002,10 @@ export interface components {
|
|
|
3982
4002
|
placement_tags?: string[];
|
|
3983
4003
|
collections?: ({
|
|
3984
4004
|
publisher_domain: string;
|
|
3985
|
-
collection_ids
|
|
4005
|
+
collection_ids?: string[];
|
|
3986
4006
|
} & {
|
|
3987
4007
|
[key: string]: unknown;
|
|
3988
|
-
})[];
|
|
4008
|
+
})[] | null;
|
|
3989
4009
|
countries?: string[];
|
|
3990
4010
|
delegation_type?: string;
|
|
3991
4011
|
exclusive?: boolean;
|
|
@@ -6354,7 +6374,7 @@ export interface operations {
|
|
|
6354
6374
|
};
|
|
6355
6375
|
};
|
|
6356
6376
|
responses: {
|
|
6357
|
-
/** @description
|
|
6377
|
+
/** @description Publisher-property coverage result */
|
|
6358
6378
|
200: {
|
|
6359
6379
|
headers: {
|
|
6360
6380
|
[name: string]: unknown;
|
|
@@ -6363,6 +6383,8 @@ export interface operations {
|
|
|
6363
6383
|
"application/json": {
|
|
6364
6384
|
agent_url: string;
|
|
6365
6385
|
authorized: boolean;
|
|
6386
|
+
/** @enum {string} */
|
|
6387
|
+
validation_scope: "publisher_properties_only";
|
|
6366
6388
|
checked_at: string;
|
|
6367
6389
|
} & {
|
|
6368
6390
|
[key: string]: unknown;
|
|
@@ -6371,6 +6393,109 @@ export interface operations {
|
|
|
6371
6393
|
};
|
|
6372
6394
|
};
|
|
6373
6395
|
};
|
|
6396
|
+
verifySupplyPath: {
|
|
6397
|
+
parameters: {
|
|
6398
|
+
query?: never;
|
|
6399
|
+
header?: never;
|
|
6400
|
+
path?: never;
|
|
6401
|
+
cookie?: never;
|
|
6402
|
+
};
|
|
6403
|
+
requestBody?: {
|
|
6404
|
+
content: {
|
|
6405
|
+
"application/json": {
|
|
6406
|
+
/** @description Channel owner's publisher domain — where the canonical collection is declared. */
|
|
6407
|
+
owner_domain: string;
|
|
6408
|
+
/** @description Host publisher domain — where the carrying property (e.g. CTV app) is declared. */
|
|
6409
|
+
host_domain: string;
|
|
6410
|
+
/** @description Sales agent URL the buyer would transact with. Canonicalized server-side. */
|
|
6411
|
+
agent_url: string;
|
|
6412
|
+
/** @description Owner-assigned collection ID. Omit to verify the path at domain level (bulk deals). */
|
|
6413
|
+
collection_id?: string;
|
|
6414
|
+
};
|
|
6415
|
+
};
|
|
6416
|
+
};
|
|
6417
|
+
responses: {
|
|
6418
|
+
/** @description Supply-path verification verdict with per-leg evidence */
|
|
6419
|
+
200: {
|
|
6420
|
+
headers: {
|
|
6421
|
+
[name: string]: unknown;
|
|
6422
|
+
};
|
|
6423
|
+
content: {
|
|
6424
|
+
"application/json": {
|
|
6425
|
+
/** @enum {string} */
|
|
6426
|
+
state: "verified_owner_sold" | "host_delegated" | "owner_attested" | "unverified";
|
|
6427
|
+
legs: {
|
|
6428
|
+
owner_collection_declared: {
|
|
6429
|
+
ok: boolean;
|
|
6430
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6431
|
+
failure?: string;
|
|
6432
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6433
|
+
detail?: string;
|
|
6434
|
+
} & {
|
|
6435
|
+
[key: string]: unknown;
|
|
6436
|
+
};
|
|
6437
|
+
owner_distribution_carriage: {
|
|
6438
|
+
ok: boolean;
|
|
6439
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6440
|
+
failure?: string;
|
|
6441
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6442
|
+
detail?: string;
|
|
6443
|
+
} & {
|
|
6444
|
+
[key: string]: unknown;
|
|
6445
|
+
};
|
|
6446
|
+
owner_agent_declared: {
|
|
6447
|
+
ok: boolean;
|
|
6448
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6449
|
+
failure?: string;
|
|
6450
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6451
|
+
detail?: string;
|
|
6452
|
+
} & {
|
|
6453
|
+
[key: string]: unknown;
|
|
6454
|
+
};
|
|
6455
|
+
host_authorization: {
|
|
6456
|
+
ok: boolean;
|
|
6457
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6458
|
+
failure?: string;
|
|
6459
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6460
|
+
detail?: string;
|
|
6461
|
+
} & {
|
|
6462
|
+
[key: string]: unknown;
|
|
6463
|
+
};
|
|
6464
|
+
inventory_partner_domain: {
|
|
6465
|
+
ok: boolean;
|
|
6466
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6467
|
+
failure?: string;
|
|
6468
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6469
|
+
detail?: string;
|
|
6470
|
+
} & {
|
|
6471
|
+
[key: string]: unknown;
|
|
6472
|
+
};
|
|
6473
|
+
};
|
|
6474
|
+
owner_domain: string;
|
|
6475
|
+
host_domain: string;
|
|
6476
|
+
agent_url: string;
|
|
6477
|
+
collection_id?: string;
|
|
6478
|
+
sources: {
|
|
6479
|
+
owner_adagents_url: string;
|
|
6480
|
+
host_adagents_url: string;
|
|
6481
|
+
/** @description true: manifests came from the registry's crawl cache. Re-derive from the URLs above for enforcement. */
|
|
6482
|
+
cached: boolean;
|
|
6483
|
+
};
|
|
6484
|
+
checked_at: string;
|
|
6485
|
+
} & {
|
|
6486
|
+
[key: string]: unknown;
|
|
6487
|
+
};
|
|
6488
|
+
};
|
|
6489
|
+
};
|
|
6490
|
+
/** @description Invalid request body or uncanonicalizable domain */
|
|
6491
|
+
400: {
|
|
6492
|
+
headers: {
|
|
6493
|
+
[name: string]: unknown;
|
|
6494
|
+
};
|
|
6495
|
+
content?: never;
|
|
6496
|
+
};
|
|
6497
|
+
};
|
|
6498
|
+
};
|
|
6374
6499
|
expandProductIdentifiers: {
|
|
6375
6500
|
parameters: {
|
|
6376
6501
|
query?: never;
|
|
@@ -7962,6 +8087,13 @@ export interface operations {
|
|
|
7962
8087
|
updated_at: string;
|
|
7963
8088
|
/** @description Publisher-pinned JWK set (authorized_agents[*].signing_keys) from the source adagents.json. Consumers verifying inbound TMP signatures key on kid → JWK. Null when the publisher declared no keys; consumers fall back to the agent-hosted JWKS per spec R-2 (docs/governance/property/adagents.mdx). */
|
|
7964
8089
|
signing_keys: components["schemas"]["SigningKey"][] | null;
|
|
8090
|
+
/** @description Collection constraints (authorized_agents[*].collections) from the source adagents.json. Null when the entry is unconstrained. When set, the row does NOT authorize the property unqualified — consumers MUST scope it to these selectors. A selector without collection_ids is a bulk grant for all collections declared at that publisher_domain. */
|
|
8091
|
+
collections: ({
|
|
8092
|
+
publisher_domain: string;
|
|
8093
|
+
collection_ids?: string[];
|
|
8094
|
+
} & {
|
|
8095
|
+
[key: string]: unknown;
|
|
8096
|
+
})[] | null;
|
|
7965
8097
|
override_applied: boolean;
|
|
7966
8098
|
override_reason: string | null;
|
|
7967
8099
|
}[];
|
|
@@ -682,8 +682,8 @@ export interface paths {
|
|
|
682
682
|
get?: never;
|
|
683
683
|
put?: never;
|
|
684
684
|
/**
|
|
685
|
-
* Validate product
|
|
686
|
-
* @description
|
|
685
|
+
* Validate product property coverage
|
|
686
|
+
* @description Checks whether an agent covers a product's publisher_properties. This endpoint does not validate collection, placement, country, or time qualifiers and must not be used as full product authorization proof; validate those qualifiers against the publisher's authoritative adagents.json.
|
|
687
687
|
*/
|
|
688
688
|
post: operations["validateProductAuthorization"];
|
|
689
689
|
delete?: never;
|
|
@@ -692,6 +692,26 @@ export interface paths {
|
|
|
692
692
|
patch?: never;
|
|
693
693
|
trace?: never;
|
|
694
694
|
};
|
|
695
|
+
"/api/registry/verify/supply-path": {
|
|
696
|
+
parameters: {
|
|
697
|
+
query?: never;
|
|
698
|
+
header?: never;
|
|
699
|
+
path?: never;
|
|
700
|
+
cookie?: never;
|
|
701
|
+
};
|
|
702
|
+
get?: never;
|
|
703
|
+
put?: never;
|
|
704
|
+
/**
|
|
705
|
+
* Verify an owner-sold supply path
|
|
706
|
+
* @description Joins the owner's and host's cached adagents.json manifests (plus the host's ads.txt/app-ads.txt inventorypartnerdomain lines when needed) and returns the verification state of one owner-sold carriage path, leg by leg. States follow the documented ladder: verified_owner_sold (host adagents.json authorizes the agent for the host property, collection-scoped), host_delegated (ads.txt inventorypartnerdomain + owner-side declarations, policy-gated), owner_attested (owner distribution claim only — discovery, never authorization), unverified. The response is evidence-bearing so callers can reproduce the verdict from the authoritative files; the registry cache is a convenience, not the trust root. For a live-fetch check of a file you just changed, use POST /api/adagents/validate.
|
|
707
|
+
*/
|
|
708
|
+
post: operations["verifySupplyPath"];
|
|
709
|
+
delete?: never;
|
|
710
|
+
options?: never;
|
|
711
|
+
head?: never;
|
|
712
|
+
patch?: never;
|
|
713
|
+
trace?: never;
|
|
714
|
+
};
|
|
695
715
|
"/api/registry/expand/product-identifiers": {
|
|
696
716
|
parameters: {
|
|
697
717
|
query?: never;
|
|
@@ -2906,7 +2926,7 @@ export interface components {
|
|
|
2906
2926
|
}[];
|
|
2907
2927
|
collections?: {
|
|
2908
2928
|
publisher_domain: string;
|
|
2909
|
-
collection_ids
|
|
2929
|
+
collection_ids?: string[];
|
|
2910
2930
|
}[];
|
|
2911
2931
|
placement_ids?: string[];
|
|
2912
2932
|
placement_tags?: string[];
|
|
@@ -3982,10 +4002,10 @@ export interface components {
|
|
|
3982
4002
|
placement_tags?: string[];
|
|
3983
4003
|
collections?: ({
|
|
3984
4004
|
publisher_domain: string;
|
|
3985
|
-
collection_ids
|
|
4005
|
+
collection_ids?: string[];
|
|
3986
4006
|
} & {
|
|
3987
4007
|
[key: string]: unknown;
|
|
3988
|
-
})[];
|
|
4008
|
+
})[] | null;
|
|
3989
4009
|
countries?: string[];
|
|
3990
4010
|
delegation_type?: string;
|
|
3991
4011
|
exclusive?: boolean;
|
|
@@ -6354,7 +6374,7 @@ export interface operations {
|
|
|
6354
6374
|
};
|
|
6355
6375
|
};
|
|
6356
6376
|
responses: {
|
|
6357
|
-
/** @description
|
|
6377
|
+
/** @description Publisher-property coverage result */
|
|
6358
6378
|
200: {
|
|
6359
6379
|
headers: {
|
|
6360
6380
|
[name: string]: unknown;
|
|
@@ -6363,6 +6383,8 @@ export interface operations {
|
|
|
6363
6383
|
"application/json": {
|
|
6364
6384
|
agent_url: string;
|
|
6365
6385
|
authorized: boolean;
|
|
6386
|
+
/** @enum {string} */
|
|
6387
|
+
validation_scope: "publisher_properties_only";
|
|
6366
6388
|
checked_at: string;
|
|
6367
6389
|
} & {
|
|
6368
6390
|
[key: string]: unknown;
|
|
@@ -6371,6 +6393,109 @@ export interface operations {
|
|
|
6371
6393
|
};
|
|
6372
6394
|
};
|
|
6373
6395
|
};
|
|
6396
|
+
verifySupplyPath: {
|
|
6397
|
+
parameters: {
|
|
6398
|
+
query?: never;
|
|
6399
|
+
header?: never;
|
|
6400
|
+
path?: never;
|
|
6401
|
+
cookie?: never;
|
|
6402
|
+
};
|
|
6403
|
+
requestBody?: {
|
|
6404
|
+
content: {
|
|
6405
|
+
"application/json": {
|
|
6406
|
+
/** @description Channel owner's publisher domain — where the canonical collection is declared. */
|
|
6407
|
+
owner_domain: string;
|
|
6408
|
+
/** @description Host publisher domain — where the carrying property (e.g. CTV app) is declared. */
|
|
6409
|
+
host_domain: string;
|
|
6410
|
+
/** @description Sales agent URL the buyer would transact with. Canonicalized server-side. */
|
|
6411
|
+
agent_url: string;
|
|
6412
|
+
/** @description Owner-assigned collection ID. Omit to verify the path at domain level (bulk deals). */
|
|
6413
|
+
collection_id?: string;
|
|
6414
|
+
};
|
|
6415
|
+
};
|
|
6416
|
+
};
|
|
6417
|
+
responses: {
|
|
6418
|
+
/** @description Supply-path verification verdict with per-leg evidence */
|
|
6419
|
+
200: {
|
|
6420
|
+
headers: {
|
|
6421
|
+
[name: string]: unknown;
|
|
6422
|
+
};
|
|
6423
|
+
content: {
|
|
6424
|
+
"application/json": {
|
|
6425
|
+
/** @enum {string} */
|
|
6426
|
+
state: "verified_owner_sold" | "host_delegated" | "owner_attested" | "unverified";
|
|
6427
|
+
legs: {
|
|
6428
|
+
owner_collection_declared: {
|
|
6429
|
+
ok: boolean;
|
|
6430
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6431
|
+
failure?: string;
|
|
6432
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6433
|
+
detail?: string;
|
|
6434
|
+
} & {
|
|
6435
|
+
[key: string]: unknown;
|
|
6436
|
+
};
|
|
6437
|
+
owner_distribution_carriage: {
|
|
6438
|
+
ok: boolean;
|
|
6439
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6440
|
+
failure?: string;
|
|
6441
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6442
|
+
detail?: string;
|
|
6443
|
+
} & {
|
|
6444
|
+
[key: string]: unknown;
|
|
6445
|
+
};
|
|
6446
|
+
owner_agent_declared: {
|
|
6447
|
+
ok: boolean;
|
|
6448
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6449
|
+
failure?: string;
|
|
6450
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6451
|
+
detail?: string;
|
|
6452
|
+
} & {
|
|
6453
|
+
[key: string]: unknown;
|
|
6454
|
+
};
|
|
6455
|
+
host_authorization: {
|
|
6456
|
+
ok: boolean;
|
|
6457
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6458
|
+
failure?: string;
|
|
6459
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6460
|
+
detail?: string;
|
|
6461
|
+
} & {
|
|
6462
|
+
[key: string]: unknown;
|
|
6463
|
+
};
|
|
6464
|
+
inventory_partner_domain: {
|
|
6465
|
+
ok: boolean;
|
|
6466
|
+
/** @description Machine-readable reason this leg failed. Absent when ok. */
|
|
6467
|
+
failure?: string;
|
|
6468
|
+
/** @description Human-readable diagnosis for the failing (or notable) leg. */
|
|
6469
|
+
detail?: string;
|
|
6470
|
+
} & {
|
|
6471
|
+
[key: string]: unknown;
|
|
6472
|
+
};
|
|
6473
|
+
};
|
|
6474
|
+
owner_domain: string;
|
|
6475
|
+
host_domain: string;
|
|
6476
|
+
agent_url: string;
|
|
6477
|
+
collection_id?: string;
|
|
6478
|
+
sources: {
|
|
6479
|
+
owner_adagents_url: string;
|
|
6480
|
+
host_adagents_url: string;
|
|
6481
|
+
/** @description true: manifests came from the registry's crawl cache. Re-derive from the URLs above for enforcement. */
|
|
6482
|
+
cached: boolean;
|
|
6483
|
+
};
|
|
6484
|
+
checked_at: string;
|
|
6485
|
+
} & {
|
|
6486
|
+
[key: string]: unknown;
|
|
6487
|
+
};
|
|
6488
|
+
};
|
|
6489
|
+
};
|
|
6490
|
+
/** @description Invalid request body or uncanonicalizable domain */
|
|
6491
|
+
400: {
|
|
6492
|
+
headers: {
|
|
6493
|
+
[name: string]: unknown;
|
|
6494
|
+
};
|
|
6495
|
+
content?: never;
|
|
6496
|
+
};
|
|
6497
|
+
};
|
|
6498
|
+
};
|
|
6374
6499
|
expandProductIdentifiers: {
|
|
6375
6500
|
parameters: {
|
|
6376
6501
|
query?: never;
|
|
@@ -7962,6 +8087,13 @@ export interface operations {
|
|
|
7962
8087
|
updated_at: string;
|
|
7963
8088
|
/** @description Publisher-pinned JWK set (authorized_agents[*].signing_keys) from the source adagents.json. Consumers verifying inbound TMP signatures key on kid → JWK. Null when the publisher declared no keys; consumers fall back to the agent-hosted JWKS per spec R-2 (docs/governance/property/adagents.mdx). */
|
|
7964
8089
|
signing_keys: components["schemas"]["SigningKey"][] | null;
|
|
8090
|
+
/** @description Collection constraints (authorized_agents[*].collections) from the source adagents.json. Null when the entry is unconstrained. When set, the row does NOT authorize the property unqualified — consumers MUST scope it to these selectors. A selector without collection_ids is a bulk grant for all collections declared at that publisher_domain. */
|
|
8091
|
+
collections: ({
|
|
8092
|
+
publisher_domain: string;
|
|
8093
|
+
collection_ids?: string[];
|
|
8094
|
+
} & {
|
|
8095
|
+
[key: string]: unknown;
|
|
8096
|
+
})[] | null;
|
|
7965
8097
|
override_applied: boolean;
|
|
7966
8098
|
override_reason: string | null;
|
|
7967
8099
|
}[];
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
"source_sha": "4e553ad955f83b49c7d221ab5c3ff78237ad02e3",
|
|
5
5
|
"source_tarball_sha256": "580656d6466ef9f0d1119985e6726c2efea718dc671e2ad30957fcb2fd54af0f",
|
|
6
6
|
"upstream_adcp_version": "2.5.3",
|
|
7
|
-
"synced_at": "2026-08-
|
|
7
|
+
"synced_at": "2026-08-30T18:27:50.374Z"
|
|
8
8
|
}
|
|
@@ -60,7 +60,6 @@ const TOOL_PROTOCOL_MAP = {
|
|
|
60
60
|
get_creative_delivery: "creative",
|
|
61
61
|
list_creative_formats: "creative",
|
|
62
62
|
list_creatives: "creative",
|
|
63
|
-
sync_creatives: "creative",
|
|
64
63
|
// brand
|
|
65
64
|
get_brand_identity: "brand",
|
|
66
65
|
search_brands: "brand",
|
|
@@ -79,6 +78,10 @@ const TOOL_PROTOCOL_MAP = {
|
|
|
79
78
|
sync_agent_notification_configs: "media-buy",
|
|
80
79
|
create_media_buy: "media-buy",
|
|
81
80
|
update_media_buy: "media-buy",
|
|
81
|
+
// The task-type schemas through AdCP 3.2 classify this dual-domain tool as
|
|
82
|
+
// media-buy. Keep lifecycle routing compatible even when a creative agent
|
|
83
|
+
// also implements the operation.
|
|
84
|
+
sync_creatives: "media-buy",
|
|
82
85
|
media_buy_delivery: "media-buy",
|
|
83
86
|
get_media_buy_delivery: "media-buy",
|
|
84
87
|
sync_event_sources: "media-buy",
|
|
@@ -35,7 +35,6 @@ const TOOL_PROTOCOL_MAP = {
|
|
|
35
35
|
get_creative_delivery: "creative",
|
|
36
36
|
list_creative_formats: "creative",
|
|
37
37
|
list_creatives: "creative",
|
|
38
|
-
sync_creatives: "creative",
|
|
39
38
|
// brand
|
|
40
39
|
get_brand_identity: "brand",
|
|
41
40
|
search_brands: "brand",
|
|
@@ -54,6 +53,10 @@ const TOOL_PROTOCOL_MAP = {
|
|
|
54
53
|
sync_agent_notification_configs: "media-buy",
|
|
55
54
|
create_media_buy: "media-buy",
|
|
56
55
|
update_media_buy: "media-buy",
|
|
56
|
+
// The task-type schemas through AdCP 3.2 classify this dual-domain tool as
|
|
57
|
+
// media-buy. Keep lifecycle routing compatible even when a creative agent
|
|
58
|
+
// also implements the operation.
|
|
59
|
+
sync_creatives: "media-buy",
|
|
57
60
|
media_buy_delivery: "media-buy",
|
|
58
61
|
get_media_buy_delivery: "media-buy",
|
|
59
62
|
sync_event_sources: "media-buy",
|
|
@@ -197,7 +197,7 @@ export interface UpstreamTrafficQueryResult {
|
|
|
197
197
|
*/
|
|
198
198
|
export declare function runValidations(validations: StoryboardValidation[], context: ValidationContext): ValidationResult[];
|
|
199
199
|
/** Capability semver emitted in run summaries and used for advisory expiry. */
|
|
200
|
-
export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-beta.
|
|
200
|
+
export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-beta.24";
|
|
201
201
|
/** True when a failed validation contributes to the owning step's grade. */
|
|
202
202
|
export declare function validationFailsStep(result: ValidationResult): boolean;
|
|
203
203
|
/**
|
|
@@ -197,7 +197,7 @@ export interface UpstreamTrafficQueryResult {
|
|
|
197
197
|
*/
|
|
198
198
|
export declare function runValidations(validations: StoryboardValidation[], context: ValidationContext): ValidationResult[];
|
|
199
199
|
/** Capability semver emitted in run summaries and used for advisory expiry. */
|
|
200
|
-
export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-beta.
|
|
200
|
+
export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-beta.24";
|
|
201
201
|
/** True when a failed validation contributes to the owning step's grade. */
|
|
202
202
|
export declare function validationFailsStep(result: ValidationResult): boolean;
|
|
203
203
|
/**
|
|
@@ -4043,12 +4043,12 @@ const PriceGuidanceSchema = import_zod.z.object({
|
|
|
4043
4043
|
const VCPMPricingOptionSchema = import_zod.z.object({
|
|
4044
4044
|
pricing_option_id: import_zod.z.string(),
|
|
4045
4045
|
pricing_model: import_zod.z.literal("vcpm"),
|
|
4046
|
-
currency: import_zod.z.string(),
|
|
4047
|
-
fixed_price: import_zod.z.number().optional(),
|
|
4048
|
-
floor_price: import_zod.z.number().optional(),
|
|
4046
|
+
currency: import_zod.z.string().regex(new RegExp("^[A-Z]{3}$")),
|
|
4047
|
+
fixed_price: import_zod.z.number().gte(0).optional(),
|
|
4048
|
+
floor_price: import_zod.z.number().gte(0).optional(),
|
|
4049
4049
|
max_bid: import_zod.z.boolean().optional(),
|
|
4050
4050
|
price_guidance: PriceGuidanceSchema.optional(),
|
|
4051
|
-
min_spend_per_package: import_zod.z.number().optional(),
|
|
4051
|
+
min_spend_per_package: import_zod.z.number().gte(0).optional(),
|
|
4052
4052
|
price_breakdown: PriceBreakdownSchema.optional(),
|
|
4053
4053
|
eligible_adjustments: import_zod.z.array(PriceAdjustmentKindSchema).optional()
|
|
4054
4054
|
}).passthrough();
|
|
@@ -4085,8 +4085,8 @@ const CPVPricingOptionSchema = import_zod.z.object({
|
|
|
4085
4085
|
max_bid: import_zod.z.boolean().optional(),
|
|
4086
4086
|
price_guidance: PriceGuidanceSchema.optional(),
|
|
4087
4087
|
parameters: import_zod.z.object({
|
|
4088
|
-
view_threshold: import_zod.z.union([import_zod.z.number(), import_zod.z.object({
|
|
4089
|
-
duration_seconds: import_zod.z.number()
|
|
4088
|
+
view_threshold: import_zod.z.union([import_zod.z.number().gte(0).lte(1), import_zod.z.object({
|
|
4089
|
+
duration_seconds: import_zod.z.number().int().gte(1)
|
|
4090
4090
|
}).passthrough()])
|
|
4091
4091
|
}).passthrough(),
|
|
4092
4092
|
min_spend_per_package: import_zod.z.number().gte(0).optional(),
|
|
@@ -4111,13 +4111,13 @@ const CPPPricingOptionSchema = import_zod.z.object({
|
|
|
4111
4111
|
}).passthrough();
|
|
4112
4112
|
const DoohParametersSchema = import_zod.z.object({
|
|
4113
4113
|
type: import_zod.z.literal("dooh"),
|
|
4114
|
-
sov_percentage: import_zod.z.number().optional(),
|
|
4115
|
-
loop_duration_seconds: import_zod.z.number().optional(),
|
|
4116
|
-
min_plays_per_hour: import_zod.z.number().optional(),
|
|
4114
|
+
sov_percentage: import_zod.z.number().gte(0).lte(100).optional(),
|
|
4115
|
+
loop_duration_seconds: import_zod.z.number().int().gte(1).optional(),
|
|
4116
|
+
min_plays_per_hour: import_zod.z.number().int().gte(1).optional(),
|
|
4117
4117
|
venue_package: import_zod.z.string().optional(),
|
|
4118
|
-
duration_hours: import_zod.z.number().optional(),
|
|
4118
|
+
duration_hours: import_zod.z.number().gte(0).optional(),
|
|
4119
4119
|
daypart: import_zod.z.string().optional(),
|
|
4120
|
-
estimated_impressions: import_zod.z.number().optional()
|
|
4120
|
+
estimated_impressions: import_zod.z.number().int().gte(0).optional()
|
|
4121
4121
|
}).passthrough();
|
|
4122
4122
|
const TimeBasedPricingOptionSchema = import_zod.z.object({
|
|
4123
4123
|
pricing_option_id: import_zod.z.string(),
|
|
@@ -2761,12 +2761,12 @@ const PriceGuidanceSchema = z.object({
|
|
|
2761
2761
|
const VCPMPricingOptionSchema = z.object({
|
|
2762
2762
|
pricing_option_id: z.string(),
|
|
2763
2763
|
pricing_model: z.literal("vcpm"),
|
|
2764
|
-
currency: z.string(),
|
|
2765
|
-
fixed_price: z.number().optional(),
|
|
2766
|
-
floor_price: z.number().optional(),
|
|
2764
|
+
currency: z.string().regex(new RegExp("^[A-Z]{3}$")),
|
|
2765
|
+
fixed_price: z.number().gte(0).optional(),
|
|
2766
|
+
floor_price: z.number().gte(0).optional(),
|
|
2767
2767
|
max_bid: z.boolean().optional(),
|
|
2768
2768
|
price_guidance: PriceGuidanceSchema.optional(),
|
|
2769
|
-
min_spend_per_package: z.number().optional(),
|
|
2769
|
+
min_spend_per_package: z.number().gte(0).optional(),
|
|
2770
2770
|
price_breakdown: PriceBreakdownSchema.optional(),
|
|
2771
2771
|
eligible_adjustments: z.array(PriceAdjustmentKindSchema).optional()
|
|
2772
2772
|
}).passthrough();
|
|
@@ -2803,8 +2803,8 @@ const CPVPricingOptionSchema = z.object({
|
|
|
2803
2803
|
max_bid: z.boolean().optional(),
|
|
2804
2804
|
price_guidance: PriceGuidanceSchema.optional(),
|
|
2805
2805
|
parameters: z.object({
|
|
2806
|
-
view_threshold: z.union([z.number(), z.object({
|
|
2807
|
-
duration_seconds: z.number()
|
|
2806
|
+
view_threshold: z.union([z.number().gte(0).lte(1), z.object({
|
|
2807
|
+
duration_seconds: z.number().int().gte(1)
|
|
2808
2808
|
}).passthrough()])
|
|
2809
2809
|
}).passthrough(),
|
|
2810
2810
|
min_spend_per_package: z.number().gte(0).optional(),
|
|
@@ -2829,13 +2829,13 @@ const CPPPricingOptionSchema = z.object({
|
|
|
2829
2829
|
}).passthrough();
|
|
2830
2830
|
const DoohParametersSchema = z.object({
|
|
2831
2831
|
type: z.literal("dooh"),
|
|
2832
|
-
sov_percentage: z.number().optional(),
|
|
2833
|
-
loop_duration_seconds: z.number().optional(),
|
|
2834
|
-
min_plays_per_hour: z.number().optional(),
|
|
2832
|
+
sov_percentage: z.number().gte(0).lte(100).optional(),
|
|
2833
|
+
loop_duration_seconds: z.number().int().gte(1).optional(),
|
|
2834
|
+
min_plays_per_hour: z.number().int().gte(1).optional(),
|
|
2835
2835
|
venue_package: z.string().optional(),
|
|
2836
|
-
duration_hours: z.number().optional(),
|
|
2836
|
+
duration_hours: z.number().gte(0).optional(),
|
|
2837
2837
|
daypart: z.string().optional(),
|
|
2838
|
-
estimated_impressions: z.number().optional()
|
|
2838
|
+
estimated_impressions: z.number().int().gte(0).optional()
|
|
2839
2839
|
}).passthrough();
|
|
2840
2840
|
const TimeBasedPricingOptionSchema = z.object({
|
|
2841
2841
|
pricing_option_id: z.string(),
|
package/dist/lib/version.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AdCP SDK library version
|
|
3
3
|
*/
|
|
4
|
-
export declare const LIBRARY_VERSION = "14.0.0-beta.
|
|
4
|
+
export declare const LIBRARY_VERSION = "14.0.0-beta.24";
|
|
5
5
|
/**
|
|
6
6
|
* AdCP specification version this library is built for
|
|
7
7
|
*/
|
|
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
|
|
|
33
33
|
* Full version information
|
|
34
34
|
*/
|
|
35
35
|
export declare const VERSION_INFO: {
|
|
36
|
-
readonly library: "14.0.0-beta.
|
|
36
|
+
readonly library: "14.0.0-beta.24";
|
|
37
37
|
readonly adcp: "3.2.0-beta.9";
|
|
38
38
|
readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0-beta.1", "3.0-beta.1", "3.0-beta", "3.0.0-beta.3", "3.0-beta.3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.2.0-beta.9", "3.2-beta.9"];
|
|
39
|
-
readonly generatedAt: "2026-08-
|
|
39
|
+
readonly generatedAt: "2026-08-30T18:12:23.147Z";
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
* Get the AdCP specification version this library is built for
|
package/dist/lib/version.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AdCP SDK library version
|
|
3
3
|
*/
|
|
4
|
-
export declare const LIBRARY_VERSION = "14.0.0-beta.
|
|
4
|
+
export declare const LIBRARY_VERSION = "14.0.0-beta.24";
|
|
5
5
|
/**
|
|
6
6
|
* AdCP specification version this library is built for
|
|
7
7
|
*/
|
|
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
|
|
|
33
33
|
* Full version information
|
|
34
34
|
*/
|
|
35
35
|
export declare const VERSION_INFO: {
|
|
36
|
-
readonly library: "14.0.0-beta.
|
|
36
|
+
readonly library: "14.0.0-beta.24";
|
|
37
37
|
readonly adcp: "3.2.0-beta.9";
|
|
38
38
|
readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0-beta.1", "3.0-beta.1", "3.0-beta", "3.0.0-beta.3", "3.0-beta.3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.2.0-beta.9", "3.2-beta.9"];
|
|
39
|
-
readonly generatedAt: "2026-08-
|
|
39
|
+
readonly generatedAt: "2026-08-30T18:12:23.147Z";
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
* Get the AdCP specification version this library is built for
|
package/dist/lib/version.js
CHANGED
|
@@ -31,7 +31,7 @@ __export(version_exports, {
|
|
|
31
31
|
toReleasePrecisionVersion: () => toReleasePrecisionVersion
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(version_exports);
|
|
34
|
-
const LIBRARY_VERSION = "14.0.0-beta.
|
|
34
|
+
const LIBRARY_VERSION = "14.0.0-beta.24";
|
|
35
35
|
const ADCP_VERSION = "3.2.0-beta.9";
|
|
36
36
|
const ADCP_MAJOR_VERSION = 3;
|
|
37
37
|
const COMPATIBLE_ADCP_VERSIONS = [
|
|
@@ -94,10 +94,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
|
|
|
94
94
|
"3.2-beta.9"
|
|
95
95
|
];
|
|
96
96
|
const VERSION_INFO = {
|
|
97
|
-
library: "14.0.0-beta.
|
|
97
|
+
library: "14.0.0-beta.24",
|
|
98
98
|
adcp: "3.2.0-beta.9",
|
|
99
99
|
compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
|
|
100
|
-
generatedAt: "2026-08-
|
|
100
|
+
generatedAt: "2026-08-30T18:12:23.147Z"
|
|
101
101
|
};
|
|
102
102
|
function getAdcpVersion() {
|
|
103
103
|
return ADCP_VERSION;
|
package/dist/lib/version.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const LIBRARY_VERSION = "14.0.0-beta.
|
|
1
|
+
const LIBRARY_VERSION = "14.0.0-beta.24";
|
|
2
2
|
const ADCP_VERSION = "3.2.0-beta.9";
|
|
3
3
|
const ADCP_MAJOR_VERSION = 3;
|
|
4
4
|
const COMPATIBLE_ADCP_VERSIONS = [
|
|
@@ -61,10 +61,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
|
|
|
61
61
|
"3.2-beta.9"
|
|
62
62
|
];
|
|
63
63
|
const VERSION_INFO = {
|
|
64
|
-
library: "14.0.0-beta.
|
|
64
|
+
library: "14.0.0-beta.24",
|
|
65
65
|
adcp: "3.2.0-beta.9",
|
|
66
66
|
compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
|
|
67
|
-
generatedAt: "2026-08-
|
|
67
|
+
generatedAt: "2026-08-30T18:12:23.147Z"
|
|
68
68
|
};
|
|
69
69
|
function getAdcpVersion() {
|
|
70
70
|
return ADCP_VERSION;
|
package/docs/llms.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Ad Context Protocol (AdCP)
|
|
2
2
|
|
|
3
3
|
> Generated at: 2026-08-30
|
|
4
|
-
> Library: @adcp/sdk v14.0.0-beta.
|
|
4
|
+
> Library: @adcp/sdk v14.0.0-beta.24
|
|
5
5
|
> AdCP major version: 3
|
|
6
6
|
> Canonical URL: https://adcontextprotocol.github.io/adcp-client/llms.txt
|
|
7
7
|
> Note: the `Library` stamp reflects the package.json version at doc-generation time. The narrative below describes the surface that lands on the next-published minor — including any 6.7 helpers documented here ahead of the release tag.
|