@adcp/sdk 17.0.0-beta.3 → 17.0.0-beta.4

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.
@@ -1,4 +1,8 @@
1
1
  import type { SyncAccountsSuccess } from '../types/tools.generated.mjs';
2
+ export declare const ACCOUNT_REQUEST_RESULT_KEYS: readonly ["request_id", "resolution"];
3
+ export type AccountRequestResultFields = Pick<SyncAccountsSuccess['accounts'][number], Extract<keyof SyncAccountsSuccess['accounts'][number], (typeof ACCOUNT_REQUEST_RESULT_KEYS)[number]>>;
4
+ /** Preserve request results only after the source protocol bundle declares them. */
5
+ export declare function projectAccountRequestResultFields(account: object): AccountRequestResultFields;
2
6
  declare const IDENTITY_RESPONSE_SCHEMAS: {
3
7
  readonly account: "core/account-ref.json";
4
8
  readonly operator_unit: "core/operator-unit.json";
@@ -1,4 +1,8 @@
1
1
  import type { SyncAccountsSuccess } from '../types/tools.generated';
2
+ export declare const ACCOUNT_REQUEST_RESULT_KEYS: readonly ["request_id", "resolution"];
3
+ export type AccountRequestResultFields = Pick<SyncAccountsSuccess['accounts'][number], Extract<keyof SyncAccountsSuccess['accounts'][number], (typeof ACCOUNT_REQUEST_RESULT_KEYS)[number]>>;
4
+ /** Preserve request results only after the source protocol bundle declares them. */
5
+ export declare function projectAccountRequestResultFields(account: object): AccountRequestResultFields;
2
6
  declare const IDENTITY_RESPONSE_SCHEMAS: {
3
7
  readonly account: "core/account-ref.json";
4
8
  readonly operator_unit: "core/operator-unit.json";
@@ -18,10 +18,31 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var account_response_identity_exports = {};
20
20
  __export(account_response_identity_exports, {
21
+ ACCOUNT_REQUEST_RESULT_KEYS: () => ACCOUNT_REQUEST_RESULT_KEYS,
22
+ projectAccountRequestResultFields: () => projectAccountRequestResultFields,
21
23
  projectAccountResponseIdentityFields: () => projectAccountResponseIdentityFields
22
24
  });
23
25
  module.exports = __toCommonJS(account_response_identity_exports);
24
26
  var import_schema_loader = require('../validation/schema-loader.js');
27
+ const ACCOUNT_REQUEST_RESULT_KEYS = ["request_id", "resolution"];
28
+ function projectAccountRequestResultFields(account) {
29
+ const source = account;
30
+ const projected = {};
31
+ if (ACCOUNT_REQUEST_RESULT_KEYS.every((key) => source[key] === void 0)) return projected;
32
+ const schema = (0, import_schema_loader.getSchemaDocumentByRef)("account/sync-accounts-response.json")?.schema;
33
+ const branches = schema?.oneOf;
34
+ const success = Array.isArray(branches) ? branches.find((branch) => branch && typeof branch === "object" && branch.title === "SyncAccountsSuccess") : void 0;
35
+ const fields = success?.properties?.accounts?.items?.properties;
36
+ for (const key of ACCOUNT_REQUEST_RESULT_KEYS) {
37
+ const value = source[key];
38
+ if (value === void 0 || !fields || !Object.hasOwn(fields, key)) continue;
39
+ if (typeof value !== "string") {
40
+ throw new Error(`Account request result ${key} must be a string.`);
41
+ }
42
+ Object.assign(projected, { [key]: value });
43
+ }
44
+ return projected;
45
+ }
25
46
  const IDENTITY_RESPONSE_SCHEMAS = {
26
47
  account: "core/account-ref.json",
27
48
  operator_unit: "core/operator-unit.json",
@@ -48,5 +69,7 @@ function projectAccountResponseIdentityFields(account) {
48
69
  }
49
70
  // Annotate the CommonJS export names for ESM import in node:
50
71
  0 && (module.exports = {
72
+ ACCOUNT_REQUEST_RESULT_KEYS,
73
+ projectAccountRequestResultFields,
51
74
  projectAccountResponseIdentityFields
52
75
  });
@@ -1,4 +1,23 @@
1
- import { getSchemaValidatorByRef } from "../validation/schema-loader.mjs";
1
+ import { getSchemaDocumentByRef, getSchemaValidatorByRef } from "../validation/schema-loader.mjs";
2
+ const ACCOUNT_REQUEST_RESULT_KEYS = ["request_id", "resolution"];
3
+ function projectAccountRequestResultFields(account) {
4
+ const source = account;
5
+ const projected = {};
6
+ if (ACCOUNT_REQUEST_RESULT_KEYS.every((key) => source[key] === void 0)) return projected;
7
+ const schema = getSchemaDocumentByRef("account/sync-accounts-response.json")?.schema;
8
+ const branches = schema?.oneOf;
9
+ const success = Array.isArray(branches) ? branches.find((branch) => branch && typeof branch === "object" && branch.title === "SyncAccountsSuccess") : void 0;
10
+ const fields = success?.properties?.accounts?.items?.properties;
11
+ for (const key of ACCOUNT_REQUEST_RESULT_KEYS) {
12
+ const value = source[key];
13
+ if (value === void 0 || !fields || !Object.hasOwn(fields, key)) continue;
14
+ if (typeof value !== "string") {
15
+ throw new Error(`Account request result ${key} must be a string.`);
16
+ }
17
+ Object.assign(projected, { [key]: value });
18
+ }
19
+ return projected;
20
+ }
2
21
  const IDENTITY_RESPONSE_SCHEMAS = {
3
22
  account: "core/account-ref.json",
4
23
  operator_unit: "core/operator-unit.json",
@@ -24,5 +43,7 @@ function projectAccountResponseIdentityFields(account) {
24
43
  return projected;
25
44
  }
26
45
  export {
46
+ ACCOUNT_REQUEST_RESULT_KEYS,
47
+ projectAccountRequestResultFields,
27
48
  projectAccountResponseIdentityFields
28
49
  };
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import type { Account as WireAccount, AccountAuthorization, AccountScope, BillingParty, BrandReference, AccountReference, BusinessEntity, ExtensionObject, ListAccountChangesRequest, ListAccountChangesResponse, ListAccountsRequest, NotificationConfig, PaymentTerms, ReportingDeliveryConfigurationState, ListAccountsResponse, ReportUsageRequest, ReportUsageResponse, SyncAccountsResponse, SyncAccountsSuccess, SyncGovernanceRequest, SyncGovernanceResponse, SyncGovernanceSuccess, GetAccountFinancialsRequest, GetAccountFinancialsResponse, GetAccountFinancialsSuccess } from '../../types/tools.generated.mjs';
20
20
  import type { ServerPayload } from '../../types/server-payload.mjs';
21
+ import { type AccountRequestResultFields } from '../account-response-identity.mjs';
21
22
  import type { CursorPage } from './pagination.mjs';
22
23
  import type { AccountMode } from '../account-mode.mjs';
23
24
  import type { AdcpStructuredError } from './async-outcome.mjs';
@@ -889,7 +890,7 @@ export type AccountFilter = ListAccountsRequest;
889
890
  * returned rows — same MUST-NOT-LEAK rule the framework enforces on
890
891
  * `Account.authInfo`.
891
892
  */
892
- interface SyncAccountsResultFields {
893
+ interface SyncAccountsResultFields extends AccountRequestResultFields {
893
894
  account_id?: string;
894
895
  /** Current canonical operator unit, distinct from the seller account ID. */
895
896
  operator_unit?: SyncAccountsRow['operator_unit'];
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import type { Account as WireAccount, AccountAuthorization, AccountScope, BillingParty, BrandReference, AccountReference, BusinessEntity, ExtensionObject, ListAccountChangesRequest, ListAccountChangesResponse, ListAccountsRequest, NotificationConfig, PaymentTerms, ReportingDeliveryConfigurationState, ListAccountsResponse, ReportUsageRequest, ReportUsageResponse, SyncAccountsResponse, SyncAccountsSuccess, SyncGovernanceRequest, SyncGovernanceResponse, SyncGovernanceSuccess, GetAccountFinancialsRequest, GetAccountFinancialsResponse, GetAccountFinancialsSuccess } from '../../types/tools.generated';
20
20
  import type { ServerPayload } from '../../types/server-payload';
21
+ import { type AccountRequestResultFields } from '../account-response-identity';
21
22
  import type { CursorPage } from './pagination';
22
23
  import type { AccountMode } from '../account-mode';
23
24
  import type { AdcpStructuredError } from './async-outcome';
@@ -889,7 +890,7 @@ export type AccountFilter = ListAccountsRequest;
889
890
  * returned rows — same MUST-NOT-LEAK rule the framework enforces on
890
891
  * `Account.authInfo`.
891
892
  */
892
- interface SyncAccountsResultFields {
893
+ interface SyncAccountsResultFields extends AccountRequestResultFields {
893
894
  account_id?: string;
894
895
  /** Current canonical operator unit, distinct from the seller account ID. */
895
896
  operator_unit?: SyncAccountsRow['operator_unit'];
@@ -156,6 +156,7 @@ function toWireSyncAccountRow(row) {
156
156
  row.authorization
157
157
  );
158
158
  }
159
+ Object.assign(wire, (0, import_account_response_identity.projectAccountRequestResultFields)(row));
159
160
  return wire;
160
161
  }
161
162
  function projectNotificationConfig(config) {
@@ -1,5 +1,8 @@
1
1
  import { projectReportingDeliveryConfigStates } from "../reporting-delivery-config.mjs";
2
- import { projectAccountResponseIdentityFields } from "../account-response-identity.mjs";
2
+ import {
3
+ projectAccountRequestResultFields,
4
+ projectAccountResponseIdentityFields
5
+ } from "../account-response-identity.mjs";
3
6
  const ACCOUNT_AUTHORIZATION_WIRE_KEYS = [
4
7
  "allowed_tasks",
5
8
  "field_scopes",
@@ -125,6 +128,7 @@ function toWireSyncAccountRow(row) {
125
128
  row.authorization
126
129
  );
127
130
  }
131
+ Object.assign(wire, projectAccountRequestResultFields(row));
128
132
  return wire;
129
133
  }
130
134
  function projectNotificationConfig(config) {
@@ -124,7 +124,7 @@ function stripBusinessEntityBank(row, key) {
124
124
  }
125
125
  return stripped;
126
126
  }
127
- function stripAccountWriteOnlyFields(account) {
127
+ function stripAccountWriteOnlyFields(account, syncResult = false) {
128
128
  const {
129
129
  destination_billing_entity: _destination,
130
130
  authInfo: _authInfo,
@@ -133,6 +133,10 @@ function stripAccountWriteOnlyFields(account) {
133
133
  } = account;
134
134
  const response = stripBusinessEntityBank(stripNotificationConfigSecrets(responseFields), "billing_entity");
135
135
  const stripped = { ...response, ...(0, import_account_response_identity.projectAccountResponseIdentityFields)(response) };
136
+ if (syncResult) {
137
+ for (const key of import_account_response_identity.ACCOUNT_REQUEST_RESULT_KEYS) delete stripped[key];
138
+ Object.assign(stripped, (0, import_account_response_identity.projectAccountRequestResultFields)(response));
139
+ }
136
140
  const reportingDeliveryConfigs = stripped.reporting_delivery_configs;
137
141
  if (reportingDeliveryConfigs === void 0) return stripped;
138
142
  return {
@@ -142,12 +146,12 @@ function stripAccountWriteOnlyFields(account) {
142
146
  )
143
147
  };
144
148
  }
145
- function stripAccountsWriteOnlyFields(data) {
149
+ function stripAccountsWriteOnlyFields(data, syncResult = false) {
146
150
  if (!Array.isArray(data.accounts)) return data;
147
151
  return {
148
152
  ...data,
149
153
  accounts: data.accounts.map(
150
- (account) => account != null && typeof account === "object" ? stripAccountWriteOnlyFields(account) : account
154
+ (account) => account != null && typeof account === "object" ? stripAccountWriteOnlyFields(account, syncResult) : account
151
155
  )
152
156
  };
153
157
  }
@@ -476,7 +480,7 @@ function creativeApprovalError(data) {
476
480
  return data;
477
481
  }
478
482
  function syncAccountsResponse(data, summary) {
479
- const stripped = "accounts" in data ? stripAccountsWriteOnlyFields(data) : data;
483
+ const stripped = "accounts" in data ? stripAccountsWriteOnlyFields(data, true) : data;
480
484
  const defaultSummary = "errors" in stripped ? "Account sync error" : `Synced ${stripped.accounts?.length ?? 0} account${stripped.accounts?.length === 1 ? "" : "s"}`;
481
485
  return {
482
486
  content: [{ type: "text", text: summary ?? defaultSummary }],
@@ -1,6 +1,10 @@
1
1
  import { validActionsForStatus } from "./media-buy-helpers.mjs";
2
2
  import { projectReportingDeliveryConfigStates } from "./reporting-delivery-config.mjs";
3
- import { projectAccountResponseIdentityFields } from "./account-response-identity.mjs";
3
+ import {
4
+ ACCOUNT_REQUEST_RESULT_KEYS,
5
+ projectAccountRequestResultFields,
6
+ projectAccountResponseIdentityFields
7
+ } from "./account-response-identity.mjs";
4
8
  const explicitResponseSummaries = /* @__PURE__ */ new WeakMap();
5
9
  function _getExplicitResponseSummary(response) {
6
10
  return explicitResponseSummaries.get(response);
@@ -64,7 +68,7 @@ function stripBusinessEntityBank(row, key) {
64
68
  }
65
69
  return stripped;
66
70
  }
67
- function stripAccountWriteOnlyFields(account) {
71
+ function stripAccountWriteOnlyFields(account, syncResult = false) {
68
72
  const {
69
73
  destination_billing_entity: _destination,
70
74
  authInfo: _authInfo,
@@ -73,6 +77,10 @@ function stripAccountWriteOnlyFields(account) {
73
77
  } = account;
74
78
  const response = stripBusinessEntityBank(stripNotificationConfigSecrets(responseFields), "billing_entity");
75
79
  const stripped = { ...response, ...projectAccountResponseIdentityFields(response) };
80
+ if (syncResult) {
81
+ for (const key of ACCOUNT_REQUEST_RESULT_KEYS) delete stripped[key];
82
+ Object.assign(stripped, projectAccountRequestResultFields(response));
83
+ }
76
84
  const reportingDeliveryConfigs = stripped.reporting_delivery_configs;
77
85
  if (reportingDeliveryConfigs === void 0) return stripped;
78
86
  return {
@@ -82,12 +90,12 @@ function stripAccountWriteOnlyFields(account) {
82
90
  )
83
91
  };
84
92
  }
85
- function stripAccountsWriteOnlyFields(data) {
93
+ function stripAccountsWriteOnlyFields(data, syncResult = false) {
86
94
  if (!Array.isArray(data.accounts)) return data;
87
95
  return {
88
96
  ...data,
89
97
  accounts: data.accounts.map(
90
- (account) => account != null && typeof account === "object" ? stripAccountWriteOnlyFields(account) : account
98
+ (account) => account != null && typeof account === "object" ? stripAccountWriteOnlyFields(account, syncResult) : account
91
99
  )
92
100
  };
93
101
  }
@@ -416,7 +424,7 @@ function creativeApprovalError(data) {
416
424
  return data;
417
425
  }
418
426
  function syncAccountsResponse(data, summary) {
419
- const stripped = "accounts" in data ? stripAccountsWriteOnlyFields(data) : data;
427
+ const stripped = "accounts" in data ? stripAccountsWriteOnlyFields(data, true) : data;
420
428
  const defaultSummary = "errors" in stripped ? "Account sync error" : `Synced ${stripped.accounts?.length ?? 0} account${stripped.accounts?.length === 1 ? "" : "s"}`;
421
429
  return {
422
430
  content: [{ type: "text", text: summary ?? defaultSummary }],
@@ -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 = "17.0.0-beta.3";
200
+ export declare const RUNNER_CAPABILITY_VERSION = "17.0.0-beta.4";
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 = "17.0.0-beta.3";
200
+ export declare const RUNNER_CAPABILITY_VERSION = "17.0.0-beta.4";
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 = "17.0.0-beta.3";
4
+ export declare const LIBRARY_VERSION = "17.0.0-beta.4";
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: "17.0.0-beta.3";
36
+ readonly library: "17.0.0-beta.4";
37
37
  readonly adcp: "3.3.0-beta.0";
38
38
  readonly compatibleVersions: readonly ["v3", "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.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5", "3.2.6", "3.2.7", "3.3.0-beta.0", "3.3-beta.0"];
39
- readonly generatedAt: "2026-10-28T13:03:53.360Z";
39
+ readonly generatedAt: "2026-10-28T18:30:58.178Z";
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 = "17.0.0-beta.3";
4
+ export declare const LIBRARY_VERSION = "17.0.0-beta.4";
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: "17.0.0-beta.3";
36
+ readonly library: "17.0.0-beta.4";
37
37
  readonly adcp: "3.3.0-beta.0";
38
38
  readonly compatibleVersions: readonly ["v3", "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.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5", "3.2.6", "3.2.7", "3.3.0-beta.0", "3.3-beta.0"];
39
- readonly generatedAt: "2026-10-28T13:03:53.360Z";
39
+ readonly generatedAt: "2026-10-28T18:30:58.178Z";
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 = "17.0.0-beta.3";
34
+ const LIBRARY_VERSION = "17.0.0-beta.4";
35
35
  const ADCP_VERSION = "3.3.0-beta.0";
36
36
  const ADCP_MAJOR_VERSION = 3;
37
37
  const COMPATIBLE_ADCP_VERSIONS = [
@@ -106,10 +106,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
106
106
  "3.3-beta.0"
107
107
  ];
108
108
  const VERSION_INFO = {
109
- library: "17.0.0-beta.3",
109
+ library: "17.0.0-beta.4",
110
110
  adcp: "3.3.0-beta.0",
111
111
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
112
- generatedAt: "2026-10-28T13:03:53.360Z"
112
+ generatedAt: "2026-10-28T18:30:58.178Z"
113
113
  };
114
114
  function getAdcpVersion() {
115
115
  return ADCP_VERSION;
@@ -1,4 +1,4 @@
1
- const LIBRARY_VERSION = "17.0.0-beta.3";
1
+ const LIBRARY_VERSION = "17.0.0-beta.4";
2
2
  const ADCP_VERSION = "3.3.0-beta.0";
3
3
  const ADCP_MAJOR_VERSION = 3;
4
4
  const COMPATIBLE_ADCP_VERSIONS = [
@@ -73,10 +73,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
73
73
  "3.3-beta.0"
74
74
  ];
75
75
  const VERSION_INFO = {
76
- library: "17.0.0-beta.3",
76
+ library: "17.0.0-beta.4",
77
77
  adcp: "3.3.0-beta.0",
78
78
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
79
- generatedAt: "2026-10-28T13:03:53.360Z"
79
+ generatedAt: "2026-10-28T18:30:58.178Z"
80
80
  };
81
81
  function getAdcpVersion() {
82
82
  return ADCP_VERSION;
@@ -1,7 +1,7 @@
1
1
  # AdCP Type Summary
2
2
 
3
3
  > Generated at: 2026-10-28
4
- > @adcp/sdk v17.0.0-beta.3
4
+ > @adcp/sdk v17.0.0-beta.4
5
5
 
6
6
  Curated reference of the types that matter for using the AdCP client. For full generated types see `src/lib/types/tools.generated.ts` and `src/lib/types/core.generated.ts`.
7
7
 
package/docs/llms.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  # Ad Context Protocol (AdCP)
2
2
 
3
3
  > Generated at: 2026-10-28
4
- > Library: @adcp/sdk v17.0.0-beta.3
4
+ > Library: @adcp/sdk v17.0.0-beta.4
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.
@@ -16,8 +16,8 @@ pin using `ADCP_VERSION` inside that tarball.
16
16
 
17
17
  | Fact | Value |
18
18
  | --- | --- |
19
- | Checkout `package.json` version | `@adcp/sdk@17.0.0-beta.3` |
20
- | npm integrity | registry-derived after publication; run `npm view @adcp/sdk@17.0.0-beta.3 dist.integrity` |
19
+ | Checkout `package.json` version | `@adcp/sdk@17.0.0-beta.4` |
20
+ | npm integrity | registry-derived after publication; run `npm view @adcp/sdk@17.0.0-beta.4 dist.integrity` |
21
21
  | Node.js runtime | `^20.19.0 || >=22.12.0` |
22
22
  | Default AdCP wire release | `3.3.0-beta.0` |
23
23
  | Maintained wire releases | `v3`, `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.1.19`, `3.1.20`, `3.1.21`, `3.1.22`, `3.1.23`, `3.1.24`, `3.1.25`, `3.1.26`, `3.1.27`, `3.1.28`, `3.1.29`, `3.2.1`, `3.2`, `3.2.2`, `3.2.3`, `3.2.4`, `3.2.5`, `3.2.6`, `3.2.7`, `3.3.0-beta.0`, `3.3-beta.0` |
@@ -26,8 +26,8 @@ pin using `ADCP_VERSION` inside that tarball.
26
26
  For a checkout at the published release commit, install the exact package version:
27
27
 
28
28
  ```bash
29
- npm install --save-exact '@adcp/sdk@17.0.0-beta.3'
30
- npm view '@adcp/sdk@17.0.0-beta.3' dist.integrity
29
+ npm install --save-exact '@adcp/sdk@17.0.0-beta.4'
30
+ npm view '@adcp/sdk@17.0.0-beta.4' dist.integrity
31
31
  ```
32
32
 
33
33
  ### Required and optional peers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adcp/sdk",
3
- "version": "17.0.0-beta.3",
3
+ "version": "17.0.0-beta.4",
4
4
  "description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
5
5
  "workspaces": [
6
6
  ".",