@adcp/sdk 14.0.0-beta.21 → 14.0.0-beta.22

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.
@@ -4159,7 +4159,7 @@ export interface components {
4159
4159
  adcp_version: string;
4160
4160
  verified_at: string;
4161
4161
  /** @description Specialisms demonstrably passed (enums/specialism.json). Preview specialisms are excluded from stable badges. */
4162
- verified_specialisms: ("audience-sync" | "brand-rights" | "collection-lists" | "content-standards" | "creative-ad-server" | "creative-generative" | "creative-template" | "creative-transformers" | "governance-aware-seller" | "governance-delivery-monitor" | "governance-spend-authority" | "property-lists" | "sales-broadcast-tv" | "sales-catalog-driven" | "sales-guaranteed" | "sales-non-guaranteed" | "sales-proposal-mode" | "sales-social" | "signal-marketplace" | "signal-owned" | "signed-requests" | "sponsored-intelligence")[];
4162
+ verified_specialisms: ("audience-sync" | "brand-rights" | "collection-lists" | "content-standards" | "creative-ad-server" | "creative-generative" | "creative-template" | "creative-transformers" | "governance-aware-seller" | "governance-delivery-monitor" | "governance-spend-authority" | "property-lists" | "sales-broadcast-tv" | "sales-catalog-driven" | "sales-dooh" | "sales-guaranteed" | "sales-non-guaranteed" | "sales-proposal-mode" | "sales-social" | "signal-marketplace" | "signal-owned" | "signed-requests" | "sponsored-intelligence")[];
4163
4163
  /** @description Verification axes earned. 'spec' = AdCP storyboards pass for the declared specialisms. 'live' = AAO has observed real production traffic via canonical campaigns. Always non-empty when a badge is present; an absent badge is conveyed by the parent record being omitted, not by an empty array. */
4164
4164
  verification_modes: ("spec" | "live")[];
4165
4165
  verified_protocol_version: string | null;
@@ -4159,7 +4159,7 @@ export interface components {
4159
4159
  adcp_version: string;
4160
4160
  verified_at: string;
4161
4161
  /** @description Specialisms demonstrably passed (enums/specialism.json). Preview specialisms are excluded from stable badges. */
4162
- verified_specialisms: ("audience-sync" | "brand-rights" | "collection-lists" | "content-standards" | "creative-ad-server" | "creative-generative" | "creative-template" | "creative-transformers" | "governance-aware-seller" | "governance-delivery-monitor" | "governance-spend-authority" | "property-lists" | "sales-broadcast-tv" | "sales-catalog-driven" | "sales-guaranteed" | "sales-non-guaranteed" | "sales-proposal-mode" | "sales-social" | "signal-marketplace" | "signal-owned" | "signed-requests" | "sponsored-intelligence")[];
4162
+ verified_specialisms: ("audience-sync" | "brand-rights" | "collection-lists" | "content-standards" | "creative-ad-server" | "creative-generative" | "creative-template" | "creative-transformers" | "governance-aware-seller" | "governance-delivery-monitor" | "governance-spend-authority" | "property-lists" | "sales-broadcast-tv" | "sales-catalog-driven" | "sales-dooh" | "sales-guaranteed" | "sales-non-guaranteed" | "sales-proposal-mode" | "sales-social" | "signal-marketplace" | "signal-owned" | "signed-requests" | "sponsored-intelligence")[];
4163
4163
  /** @description Verification axes earned. 'spec' = AdCP storyboards pass for the declared specialisms. 'live' = AAO has observed real production traffic via canonical campaigns. Always non-empty when a badge is present; an absent badge is conveyed by the parent record being omitted, not by an empty array. */
4164
4164
  verification_modes: ("spec" | "live")[];
4165
4165
  verified_protocol_version: string | null;
@@ -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-30T07:58:59.416Z"
7
+ "synced_at": "2026-08-30T10:27:32.743Z"
8
8
  }
@@ -1221,19 +1221,20 @@ function asProductResponseForWire(canonicalResponse, wireMode, canonicalFormatLe
1221
1221
  );
1222
1222
  }
1223
1223
  if (!Array.isArray(canonicalResponse.products)) return canonicalResponse;
1224
- const products = canonicalResponse.products.map((product) => {
1224
+ const products = [];
1225
+ const diagnostics = [];
1226
+ for (const product of canonicalResponse.products) {
1225
1227
  const projected = (0, import_v2_to_v1.projectV2ProductToV1)(product, { canonicalFormatLegacyResolver });
1226
- if (projected.diagnostics.length > 0) {
1227
- const first = projected.diagnostics[0];
1228
- throw new import_async_outcome.AdcpError("INVALID_REQUEST", {
1229
- message: "get_products returned a canonical format that cannot be represented on the configured legacy wire.",
1230
- field: first.field,
1231
- suggestion: "Add an explicit legacy format mapping to the canonical declaration, or configure this server for AdCP 3.1 or newer."
1232
- });
1233
- }
1234
- return projected.v1;
1235
- });
1236
- return { ...canonicalResponse, products };
1228
+ diagnostics.push(...projected.diagnostics);
1229
+ if (projected.v1.format_ids.length > 0) products.push(projected.v1);
1230
+ }
1231
+ const responseErrors = canonicalResponse.errors;
1232
+ const errors = Array.isArray(responseErrors) ? [...responseErrors, ...diagnostics.map(import_augment_response.projectionDiagnosticToError)] : responseErrors === void 0 ? diagnostics.map(import_augment_response.projectionDiagnosticToError) : responseErrors;
1233
+ return {
1234
+ ...canonicalResponse,
1235
+ products,
1236
+ ...Array.isArray(errors) && errors.length > 0 ? { errors } : {}
1237
+ };
1237
1238
  }
1238
1239
  function refuseInlineAccountIdWhenForbidden(resolution, ref) {
1239
1240
  if (resolution !== "implicit" && resolution !== "derived") return;
@@ -90,7 +90,7 @@ import {
90
90
  import {
91
91
  legacyFormatConverterFromCatalogSnapshots
92
92
  } from "../../../v2/projection/catalog-snapshot.mjs";
93
- import { toCanonicalOnlyResponse } from "../../../v2/projection/augment-response.mjs";
93
+ import { projectionDiagnosticToError, toCanonicalOnlyResponse } from "../../../v2/projection/augment-response.mjs";
94
94
  import {
95
95
  CanonicalFormatLegacyResolutionError,
96
96
  projectV2ProductToV1,
@@ -1244,19 +1244,20 @@ function asProductResponseForWire(canonicalResponse, wireMode, canonicalFormatLe
1244
1244
  );
1245
1245
  }
1246
1246
  if (!Array.isArray(canonicalResponse.products)) return canonicalResponse;
1247
- const products = canonicalResponse.products.map((product) => {
1247
+ const products = [];
1248
+ const diagnostics = [];
1249
+ for (const product of canonicalResponse.products) {
1248
1250
  const projected = projectV2ProductToV1(product, { canonicalFormatLegacyResolver });
1249
- if (projected.diagnostics.length > 0) {
1250
- const first = projected.diagnostics[0];
1251
- throw new AdcpError("INVALID_REQUEST", {
1252
- message: "get_products returned a canonical format that cannot be represented on the configured legacy wire.",
1253
- field: first.field,
1254
- suggestion: "Add an explicit legacy format mapping to the canonical declaration, or configure this server for AdCP 3.1 or newer."
1255
- });
1256
- }
1257
- return projected.v1;
1258
- });
1259
- return { ...canonicalResponse, products };
1251
+ diagnostics.push(...projected.diagnostics);
1252
+ if (projected.v1.format_ids.length > 0) products.push(projected.v1);
1253
+ }
1254
+ const responseErrors = canonicalResponse.errors;
1255
+ const errors = Array.isArray(responseErrors) ? [...responseErrors, ...diagnostics.map(projectionDiagnosticToError)] : responseErrors === void 0 ? diagnostics.map(projectionDiagnosticToError) : responseErrors;
1256
+ return {
1257
+ ...canonicalResponse,
1258
+ products,
1259
+ ...Array.isArray(errors) && errors.length > 0 ? { errors } : {}
1260
+ };
1260
1261
  }
1261
1262
  function refuseInlineAccountIdWhenForbidden(resolution, ref) {
1262
1263
  if (resolution !== "implicit" && resolution !== "derived") return;
@@ -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.21";
200
+ export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-beta.22";
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.21";
200
+ export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-beta.22";
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
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AdCP SDK library version
3
3
  */
4
- export declare const LIBRARY_VERSION = "14.0.0-beta.21";
4
+ export declare const LIBRARY_VERSION = "14.0.0-beta.22";
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.21";
36
+ readonly library: "14.0.0-beta.22";
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-30T07:43:44.925Z";
39
+ readonly generatedAt: "2026-08-30T10:12:29.152Z";
40
40
  };
41
41
  /**
42
42
  * Get the AdCP specification version this library is built for
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AdCP SDK library version
3
3
  */
4
- export declare const LIBRARY_VERSION = "14.0.0-beta.21";
4
+ export declare const LIBRARY_VERSION = "14.0.0-beta.22";
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.21";
36
+ readonly library: "14.0.0-beta.22";
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-30T07:43:44.925Z";
39
+ readonly generatedAt: "2026-08-30T10:12:29.152Z";
40
40
  };
41
41
  /**
42
42
  * Get the AdCP specification version this library is built for
@@ -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.21";
34
+ const LIBRARY_VERSION = "14.0.0-beta.22";
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.21",
97
+ library: "14.0.0-beta.22",
98
98
  adcp: "3.2.0-beta.9",
99
99
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
100
- generatedAt: "2026-08-30T07:43:44.925Z"
100
+ generatedAt: "2026-08-30T10:12:29.152Z"
101
101
  };
102
102
  function getAdcpVersion() {
103
103
  return ADCP_VERSION;
@@ -1,4 +1,4 @@
1
- const LIBRARY_VERSION = "14.0.0-beta.21";
1
+ const LIBRARY_VERSION = "14.0.0-beta.22";
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.21",
64
+ library: "14.0.0-beta.22",
65
65
  adcp: "3.2.0-beta.9",
66
66
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
67
- generatedAt: "2026-08-30T07:43:44.925Z"
67
+ generatedAt: "2026-08-30T10:12:29.152Z"
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.21
4
+ > Library: @adcp/sdk v14.0.0-beta.22
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adcp/sdk",
3
- "version": "14.0.0-beta.21",
3
+ "version": "14.0.0-beta.22",
4
4
  "description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
5
5
  "workspaces": [
6
6
  ".",