@adcp/sdk 16.5.0 → 16.6.0
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/adapters/version/3.0/brand-fields.d.mts +7 -1
- package/dist/lib/adapters/version/3.0/brand-fields.d.ts +7 -1
- package/dist/lib/adapters/version/3.0/brand-fields.js +139 -3
- package/dist/lib/adapters/version/3.0/brand-fields.mjs +136 -2
- package/dist/lib/adapters/version/3.0/index.js +6 -0
- package/dist/lib/adapters/version/3.0/index.mjs +7 -1
- package/dist/lib/adapters/version/3.1/bidding.js +1 -1
- package/dist/lib/adapters/version/3.1/bidding.mjs +1 -1
- package/dist/lib/adapters/version/types.d.mts +5 -0
- package/dist/lib/adapters/version/types.d.ts +5 -0
- package/dist/lib/canonical-references/index.js +2 -0
- package/dist/lib/canonical-references/index.mjs +2 -0
- package/dist/lib/client/account-changes.d.mts +3 -1
- package/dist/lib/client/account-changes.d.ts +3 -1
- package/dist/lib/client/account-changes.js +22 -2
- package/dist/lib/client/account-changes.mjs +22 -2
- package/dist/lib/conformance/oracle.js +3 -2
- package/dist/lib/conformance/oracle.mjs +3 -2
- package/dist/lib/core/AgentClient.d.mts +165 -1
- package/dist/lib/core/AgentClient.d.ts +165 -1
- package/dist/lib/core/AgentClient.js +446 -8
- package/dist/lib/core/AgentClient.mjs +446 -8
- package/dist/lib/core/ConversationTypes.d.mts +8 -0
- package/dist/lib/core/ConversationTypes.d.ts +8 -0
- package/dist/lib/core/ProtocolResponseParser.d.mts +1 -1
- package/dist/lib/core/ProtocolResponseParser.d.ts +1 -1
- package/dist/lib/core/ProtocolResponseParser.js +28 -18
- package/dist/lib/core/ProtocolResponseParser.mjs +11 -1
- package/dist/lib/core/ResponseValidator.js +1 -1
- package/dist/lib/core/ResponseValidator.mjs +1 -1
- package/dist/lib/core/SingleAgentClient.d.mts +116 -6
- package/dist/lib/core/SingleAgentClient.d.ts +116 -6
- package/dist/lib/core/SingleAgentClient.js +556 -84
- package/dist/lib/core/SingleAgentClient.mjs +545 -72
- package/dist/lib/core/TaskExecutor.d.mts +7 -0
- package/dist/lib/core/TaskExecutor.d.ts +7 -0
- package/dist/lib/core/TaskExecutor.js +23 -8
- package/dist/lib/core/TaskExecutor.mjs +23 -8
- package/dist/lib/core/task-status.d.mts +2 -0
- package/dist/lib/core/task-status.d.ts +2 -0
- package/dist/lib/core/task-status.js +11 -2
- package/dist/lib/core/task-status.mjs +9 -1
- package/dist/lib/errors/index.d.mts +22 -0
- package/dist/lib/errors/index.d.ts +22 -0
- package/dist/lib/errors/index.js +43 -0
- package/dist/lib/errors/index.mjs +42 -0
- package/dist/lib/identity-3.3/trust.d.mts +1 -4
- package/dist/lib/identity-3.3/trust.d.ts +1 -4
- package/dist/lib/identity-3.3/trust.js +34 -21
- package/dist/lib/identity-3.3/trust.mjs +34 -21
- package/dist/lib/identity-3.3/validation.js +5 -3
- package/dist/lib/identity-3.3/validation.mjs +6 -4
- package/dist/lib/index.d.mts +8 -54
- package/dist/lib/index.d.ts +8 -54
- package/dist/lib/index.js +15 -0
- package/dist/lib/index.mjs +11 -0
- package/dist/lib/media-buy/action-assessment.js +29 -3
- package/dist/lib/media-buy/action-assessment.mjs +32 -4
- package/dist/lib/media-buy/action-contracts.d.mts +3 -0
- package/dist/lib/media-buy/action-contracts.d.ts +3 -0
- package/dist/lib/media-buy/action-contracts.js +24 -1
- package/dist/lib/media-buy/action-contracts.mjs +22 -1
- package/dist/lib/media-buy/compatibility.js +6 -1
- package/dist/lib/media-buy/compatibility.mjs +6 -1
- package/dist/lib/media-buy/preflight.js +1 -1
- package/dist/lib/media-buy/preflight.mjs +3 -2
- package/dist/lib/media-buy/types.d.mts +6 -1
- package/dist/lib/media-buy/types.d.ts +6 -1
- package/dist/lib/protocols/mcp-modern.d.mts +2 -0
- package/dist/lib/protocols/mcp-modern.d.ts +2 -0
- package/dist/lib/protocols/mcp-modern.js +31 -5
- package/dist/lib/protocols/mcp-modern.mjs +31 -5
- package/dist/lib/protocols/mcp-scope.d.mts +6 -1
- package/dist/lib/protocols/mcp-scope.d.ts +6 -1
- package/dist/lib/protocols/mcp-scope.js +25 -3
- package/dist/lib/protocols/mcp-scope.mjs +24 -3
- package/dist/lib/protocols/mcp.js +12 -6
- package/dist/lib/protocols/mcp.mjs +13 -6
- package/dist/lib/reporting/inspection.js +1 -0
- package/dist/lib/reporting/inspection.mjs +1 -0
- package/dist/lib/schemas/browser.d.mts +2 -0
- package/dist/lib/schemas/browser.d.ts +2 -0
- package/dist/lib/schemas/browser.js +3 -0
- package/dist/lib/schemas/browser.mjs +2 -0
- package/dist/lib/schemas/index.d.mts +5 -2
- package/dist/lib/schemas/index.d.ts +5 -2
- package/dist/lib/schemas/index.js +5 -0
- package/dist/lib/schemas/index.mjs +4 -0
- package/dist/lib/server/account-response-identity.d.mts +17 -0
- package/dist/lib/server/account-response-identity.d.ts +17 -0
- package/dist/lib/server/account-response-identity.js +52 -0
- package/dist/lib/server/account-response-identity.mjs +28 -0
- package/dist/lib/server/account-sync-contract.js +1 -0
- package/dist/lib/server/account-sync-contract.mjs +1 -0
- package/dist/lib/server/create-adcp-server.js +32 -19
- package/dist/lib/server/create-adcp-server.mjs +36 -12
- package/dist/lib/server/decisioning/account.d.mts +13 -6
- package/dist/lib/server/decisioning/account.d.ts +13 -6
- package/dist/lib/server/decisioning/account.js +37 -15
- package/dist/lib/server/decisioning/account.mjs +37 -15
- package/dist/lib/server/decisioning/runtime/from-platform.d.mts +5 -5
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts +5 -5
- package/dist/lib/server/decisioning/runtime/from-platform.js +6 -6
- package/dist/lib/server/decisioning/runtime/from-platform.mjs +6 -6
- package/dist/lib/server/index.d.mts +1 -1
- package/dist/lib/server/index.d.ts +1 -1
- package/dist/lib/server/index.js +2 -0
- package/dist/lib/server/index.mjs +2 -0
- package/dist/lib/server/media-buy-action-resolver.d.mts +3 -0
- package/dist/lib/server/media-buy-action-resolver.d.ts +3 -0
- package/dist/lib/server/media-buy-action-resolver.js +32 -0
- package/dist/lib/server/media-buy-action-resolver.mjs +32 -0
- package/dist/lib/server/media-buy-store.d.mts +26 -12
- package/dist/lib/server/media-buy-store.d.ts +26 -12
- package/dist/lib/server/media-buy-store.js +69 -21
- package/dist/lib/server/media-buy-store.mjs +69 -21
- package/dist/lib/server/responses.js +9 -1
- package/dist/lib/server/responses.mjs +9 -1
- package/dist/lib/server/state-machine.d.mts +10 -11
- package/dist/lib/server/state-machine.d.ts +10 -11
- package/dist/lib/server/state-machine.js +20 -5
- package/dist/lib/server/state-machine.mjs +19 -5
- package/dist/lib/signing/agent-fetch.d.mts +1 -1
- package/dist/lib/signing/agent-fetch.d.ts +1 -1
- package/dist/lib/signing/agent-fetch.js +3 -3
- package/dist/lib/signing/agent-fetch.mjs +3 -3
- package/dist/lib/testing/client.d.mts +1 -0
- package/dist/lib/testing/client.d.ts +1 -0
- package/dist/lib/testing/client.js +6 -5
- package/dist/lib/testing/client.mjs +6 -5
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.js +60 -14
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.mjs +60 -14
- package/dist/lib/testing/storyboard/compliance.d.mts +2 -5
- package/dist/lib/testing/storyboard/compliance.d.ts +2 -5
- package/dist/lib/testing/storyboard/compliance.js +62 -13
- package/dist/lib/testing/storyboard/compliance.mjs +63 -14
- package/dist/lib/testing/storyboard/context.d.mts +13 -3
- package/dist/lib/testing/storyboard/context.d.ts +13 -3
- package/dist/lib/testing/storyboard/context.js +15 -10
- package/dist/lib/testing/storyboard/context.mjs +15 -10
- package/dist/lib/testing/storyboard/default-invariants.js +10 -8
- package/dist/lib/testing/storyboard/default-invariants.mjs +11 -9
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.mts +2 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts +2 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.js +11 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.mjs +10 -0
- package/dist/lib/testing/storyboard/runner.js +23 -10
- package/dist/lib/testing/storyboard/runner.mjs +23 -10
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/testing/storyboard/validations.js +4 -1
- package/dist/lib/testing/storyboard/validations.mjs +4 -1
- package/dist/lib/testing/test-controller.js +3 -0
- package/dist/lib/testing/test-controller.mjs +3 -0
- package/dist/lib/types/asset-instances.d.mts +1 -1
- package/dist/lib/types/asset-instances.d.ts +1 -1
- package/dist/lib/types/index.d.mts +5 -0
- package/dist/lib/types/index.d.ts +5 -0
- package/dist/lib/types/index.js +6 -1
- package/dist/lib/types/index.mjs +4 -1
- package/dist/lib/types/inline-enums.generated.d.mts +30 -4
- package/dist/lib/types/inline-enums.generated.d.ts +30 -4
- package/dist/lib/types/inline-enums.generated.js +41 -2
- package/dist/lib/types/inline-enums.generated.mjs +28 -2
- package/dist/lib/types/media-buy-delivery-report.d.mts +4 -0
- package/dist/lib/types/media-buy-delivery-report.d.ts +4 -0
- package/dist/lib/types/media-buy-delivery-report.js +16 -0
- package/dist/lib/types/media-buy-delivery-report.mjs +0 -0
- package/dist/lib/types/schemas.generated.d.ts +20 -69
- package/dist/lib/types/schemas.generated.js +29 -46
- package/dist/lib/types/schemas.generated.mjs +29 -46
- package/dist/lib/types/targeting-keys.generated.d.mts +4 -0
- package/dist/lib/types/targeting-keys.generated.d.ts +4 -0
- package/dist/lib/types/targeting-keys.generated.js +105 -0
- package/dist/lib/types/targeting-keys.generated.mjs +80 -0
- package/dist/lib/utils/adcp-version-config.js +5 -2
- package/dist/lib/utils/adcp-version-config.mjs +5 -2
- package/dist/lib/utils/envelope-status-compat.d.mts +18 -1
- package/dist/lib/utils/envelope-status-compat.d.ts +18 -1
- package/dist/lib/utils/envelope-status-compat.js +11 -5
- package/dist/lib/utils/envelope-status-compat.mjs +11 -5
- package/dist/lib/utils/response-unwrapper.js +18 -10
- package/dist/lib/utils/response-unwrapper.mjs +18 -10
- package/dist/lib/v2/format-schema/resolver.js +1 -1
- package/dist/lib/v2/format-schema/resolver.mjs +1 -1
- package/dist/lib/v2/projection/creative-delivery.js +123 -30
- package/dist/lib/v2/projection/creative-delivery.mjs +127 -30
- package/dist/lib/v2/projection/index.d.mts +1 -0
- package/dist/lib/v2/projection/index.d.ts +1 -0
- package/dist/lib/v2/projection/index.js +3 -0
- package/dist/lib/v2/projection/index.mjs +2 -0
- package/dist/lib/v2/projection/legacy-metadata.d.mts +19 -0
- package/dist/lib/v2/projection/legacy-metadata.d.ts +19 -0
- package/dist/lib/v2/projection/legacy-metadata.js +91 -0
- package/dist/lib/v2/projection/legacy-metadata.mjs +86 -0
- package/dist/lib/validation/compact-schema.d.mts +27 -0
- package/dist/lib/validation/compact-schema.d.ts +27 -0
- package/dist/lib/validation/compact-schema.js +276 -0
- package/dist/lib/validation/compact-schema.mjs +250 -0
- package/dist/lib/validation/media-buy-delivery-report.d.mts +8 -0
- package/dist/lib/validation/media-buy-delivery-report.d.ts +8 -0
- package/dist/lib/validation/media-buy-delivery-report.js +31 -0
- package/dist/lib/validation/media-buy-delivery-report.mjs +7 -0
- package/dist/lib/validation/schema-diagnostic-origins.d.mts +21 -0
- package/dist/lib/validation/schema-diagnostic-origins.d.ts +21 -0
- package/dist/lib/validation/schema-diagnostic-origins.js +193 -0
- package/dist/lib/validation/schema-diagnostic-origins.mjs +169 -0
- package/dist/lib/validation/schema-loader.js +86 -16
- package/dist/lib/validation/schema-loader.mjs +82 -16
- package/dist/lib/validation/schema-validator.d.mts +10 -19
- package/dist/lib/validation/schema-validator.d.ts +10 -19
- package/dist/lib/validation/schema-validator.js +136 -43
- package/dist/lib/validation/schema-validator.mjs +140 -44
- 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/dist/lib/webhooks/index.d.mts +3 -0
- package/dist/lib/webhooks/index.d.ts +3 -0
- package/dist/lib/webhooks/index.js +3 -0
- package/dist/lib/webhooks/index.mjs +2 -0
- package/dist/lib/webhooks/media-buy-delivery.d.mts +43 -0
- package/dist/lib/webhooks/media-buy-delivery.d.ts +43 -0
- package/dist/lib/webhooks/media-buy-delivery.js +119 -0
- package/dist/lib/webhooks/media-buy-delivery.mjs +94 -0
- package/docs/TYPE-SUMMARY.md +2 -2
- package/docs/guides/BUILD-AN-AGENT.md +9 -1
- package/docs/guides/DELIVERY-WEBHOOK-PARSING.md +135 -0
- package/docs/guides/DISCOVERY-CACHE-AND-SESSION-REUSE.md +15 -0
- package/docs/guides/TYPED-CLIENT-TOOLS.md +49 -0
- package/docs/llms.txt +3 -3
- package/docs/migration-14.x-rc-worksheet.md +4 -4
- package/docs/migration-6.6-to-6.7.md +14 -0
- package/docs/migration-account-change-feed.md +19 -0
- package/docs/releases/sdk-16.6-adoption-fixes.md +33 -0
- package/package.json +2 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Typed client tools
|
|
2
|
+
|
|
3
|
+
`SingleAgentClient` and `AgentClient` expose a camelCase method for every tool
|
|
4
|
+
in the bundled AdCP manifest. Each method uses the normal request validation,
|
|
5
|
+
idempotency-key generation, and per-client version negotiation. `executeTask`
|
|
6
|
+
also has typed request and response mappings for every tool.
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
const result = await client.getTaskStatus({ task_id: sellerTaskId, include_result: true });
|
|
10
|
+
if (result.success) console.log(result.data.status, result.data.result);
|
|
11
|
+
|
|
12
|
+
const tasks = await client.listTasks({}); // Queries the seller's list_tasks tool.
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
`getTaskStatus({ task_id })` returns the protocol response inside `TaskResult`.
|
|
16
|
+
The observed task's `status` and `error` remain data: querying a failed or working
|
|
17
|
+
task completes the query without resubmitting or following that task.
|
|
18
|
+
|
|
19
|
+
For compatibility, `getTaskStatus(taskId)` still returns mapped `TaskInfo`, and
|
|
20
|
+
`listTasks()` with no arguments still lists locally tracked tasks. Use
|
|
21
|
+
`trackTask()` or a submitted result's `waitForCompletion()` to observe completion.
|
|
22
|
+
The object overload calls `get_task_status` directly and requires a seller that
|
|
23
|
+
supports that tool. Use the string overload or task tracking for negotiated
|
|
24
|
+
compatibility with older sellers.
|
|
25
|
+
The typed response preserves the seller's `task_id`; callers should compare it
|
|
26
|
+
with the requested ID. The string overload and completion tracking enforce that
|
|
27
|
+
identity check automatically. Discovery and authorization failures are surfaced
|
|
28
|
+
rather than treated as evidence that only the legacy tool is supported.
|
|
29
|
+
|
|
30
|
+
SDK polling chooses `get_task_status` when advertised by the seller, falling back
|
|
31
|
+
to `tasks_get` for MCP or `tasks/get` for A2A otherwise.
|
|
32
|
+
|
|
33
|
+
The supported tools `listCreativeFormats`, `buildCreative`, `listTransformers`,
|
|
34
|
+
`getContentStandards`, `listContentStandards`, `calibrateContent`, and
|
|
35
|
+
`validateContentDelivery` have ordinary typed methods. Their existing `*Legacy`
|
|
36
|
+
aliases remain available. These tool methods return their protocol wire shapes;
|
|
37
|
+
the SDK's canonical creative discovery and delivery helpers remain available too.
|
|
38
|
+
On the SDK 16 line these are the AdCP 3.2 wire shapes, including any legacy
|
|
39
|
+
`format_id` fields the protocol still supports. Generic `preview_creative`
|
|
40
|
+
execution uses the canonical preview helper; use `previewCreativeLegacy` for
|
|
41
|
+
raw named-format requests.
|
|
42
|
+
|
|
43
|
+
Direct `SingleAgentClient.syncPlans` and `getPlanAuditLogs` calls use the
|
|
44
|
+
configured governance agent when present. Without one, the client requires its
|
|
45
|
+
own agent to advertise the governance tool before sending the request.
|
|
46
|
+
|
|
47
|
+
`complyTestController` is typed for conformance testing against a seller that
|
|
48
|
+
advertises it. Its availability does not imply that a production seller enables
|
|
49
|
+
test controls.
|
package/docs/llms.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Ad Context Protocol (AdCP)
|
|
2
2
|
|
|
3
|
-
> Generated at: 2026-10-
|
|
4
|
-
> Library: @adcp/sdk v16.
|
|
3
|
+
> Generated at: 2026-10-27
|
|
4
|
+
> Library: @adcp/sdk v16.6.0
|
|
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.
|
|
@@ -13,7 +13,7 @@ AdCP is an open protocol for AI agents to buy, manage, and optimize advertising
|
|
|
13
13
|
|
|
14
14
|
## Start here: AdCP 3.2
|
|
15
15
|
|
|
16
|
-
The SDK requires Node.js `^20.19.0 || >=22.12.0`. Install this reference's release train with `npm install @adcp/sdk@16.
|
|
16
|
+
The SDK requires Node.js `^20.19.0 || >=22.12.0`. Install this reference's release train with `npm install @adcp/sdk@16.6`; use the documentation from the exact published SDK version you install. For reproducible CLI runs, pin that exact SDK version. After installation, `node -p "require('@adcp/sdk').ADCP_VERSION"` reports its protocol pin; `ls node_modules/@adcp/sdk/compliance/cache` lists its packaged compliance versions. The legacy `adcp-3.2` npm tag selects SDK 14 and does not receive the refreshed compliance caches.
|
|
17
17
|
|
|
18
18
|
The SDK is compact-lifecycle first: `list_products → buy_products → control_media_buy`, with `request_proposals → refine_proposals → accept_proposal` when terms need negotiation.
|
|
19
19
|
|
|
@@ -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@16.
|
|
20
|
-
| npm integrity | registry-derived after publication; run `npm view @adcp/sdk@16.
|
|
19
|
+
| Checkout `package.json` version | `@adcp/sdk@16.6.0` |
|
|
20
|
+
| npm integrity | registry-derived after publication; run `npm view @adcp/sdk@16.6.0 dist.integrity` |
|
|
21
21
|
| Node.js runtime | `^20.19.0 || >=22.12.0` |
|
|
22
22
|
| Default AdCP wire release | `3.2.7` |
|
|
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` |
|
|
@@ -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@16.
|
|
30
|
-
npm view '@adcp/sdk@16.
|
|
29
|
+
npm install --save-exact '@adcp/sdk@16.6.0'
|
|
30
|
+
npm view '@adcp/sdk@16.6.0' dist.integrity
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
### Required and optional peers
|
|
@@ -1061,6 +1061,20 @@ paths produce a value. The store fills the gap for adopters who
|
|
|
1061
1061
|
hadn't wired echo yet (the canonical silent-storyboard-failure for
|
|
1062
1062
|
`media_buy_seller/inventory_list_targeting/get_after_create`).
|
|
1063
1063
|
|
|
1064
|
+
The current store also persists buy-level and package-level `context` from
|
|
1065
|
+
`create_media_buy`, including empty objects and null-valued keys. It fills
|
|
1066
|
+
missing resource context on `get_media_buys`; seller-provided echoes and the
|
|
1067
|
+
read request's top-level context take precedence. Targeting updates retain
|
|
1068
|
+
creation context. Context for packages added by `update_media_buy` remains
|
|
1069
|
+
adapter-owned.
|
|
1070
|
+
|
|
1071
|
+
Package context follows unambiguous echoed identities (`product_id`,
|
|
1072
|
+
`package_id`, or legacy `buyer_ref`). Positional matching requires equal
|
|
1073
|
+
package counts and no contradictory identities. If pairing is ambiguous,
|
|
1074
|
+
only context echoed on the create response is retained for that package.
|
|
1075
|
+
Existing targeting-only records need no migration; creation context cannot
|
|
1076
|
+
be recovered retroactively from those records.
|
|
1077
|
+
|
|
1064
1078
|
### 16. **breaking** — drop `customTools["update_rights"]`; wire `BrandRightsPlatform.updateRights`
|
|
1065
1079
|
|
|
1066
1080
|
`update_rights` is now a framework-registered first-class tool (PR
|
|
@@ -262,3 +262,22 @@ status-change record and webhook, so the subsequent authoritative
|
|
|
262
262
|
creative library needed by the scenario's applicability check. Those training
|
|
263
263
|
seller changes belong upstream; they do not introduce buyer durable storage or
|
|
264
264
|
a persistent subscription runtime into the SDK.
|
|
265
|
+
|
|
266
|
+
### Validating older feed releases
|
|
267
|
+
|
|
268
|
+
`streamAccountChanges` uses negotiated response metadata, the served-version echo,
|
|
269
|
+
or the client's configured AdCP version to select the page schema. For a custom
|
|
270
|
+
reader without SDK metadata, pass `adcpVersion: '3.2.7'` in the stream options and
|
|
271
|
+
send the same release in your reader's requests. AdCP 3.3 requires nonempty
|
|
272
|
+
`changed_paths` on seller-originated changes; AdCP 3.2 does not.
|
|
273
|
+
|
|
274
|
+
SDK 16.6 also provides the signature-agnostic delivery receiver parser described
|
|
275
|
+
in [Parsing media-buy delivery webhooks](./guides/DELIVERY-WEBHOOK-PARSING.md).
|
|
276
|
+
The stable parser accepts the bundled AdCP 3.0, 3.1, and 3.2 reporting contracts.
|
|
277
|
+
|
|
278
|
+
When available, `metadata.wireAdcpVersion` records the trusted SDK-selected wire
|
|
279
|
+
release, independently of the seller echo. Drains prefer negotiated/wire
|
|
280
|
+
metadata, then a custom reader's explicit `adcpVersion`, then the echo and
|
|
281
|
+
configured client pin. An older echo cannot weaken a known wire contract.
|
|
282
|
+
Sellers without authoritative release metadata keep the echo/client fallback;
|
|
283
|
+
use an explicit validation pin for a custom reader when its release is known.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# SDK 16 stable adoption fixes
|
|
2
|
+
|
|
3
|
+
The SDK keeps its AdCP 3.2.7 pin and existing legacy HTML mapping. New APIs are
|
|
4
|
+
additive: `parseMediaBuyDeliveryWebhook`, the shared delivery report body/schema,
|
|
5
|
+
canonical `AssetVariant` exports, and targeting overlay key arrays. The standalone
|
|
6
|
+
parser accepts authenticated bytes and validates the trusted caller-selected
|
|
7
|
+
release; existing `verifyAndParseWebhook` return contracts are unchanged.
|
|
8
|
+
|
|
9
|
+
Account-sync results retain `account`, `operator_unit`, `revision`,
|
|
10
|
+
`identity_change`, `identity_change_preview`, `currency`, and `timezone`.
|
|
11
|
+
`SyncAccountsResultRow` remains an interface with required legacy
|
|
12
|
+
`brand`/`operator`/`status` fields, so existing extending interfaces and read-side
|
|
13
|
+
wrappers keep compiling. A 3.2 `account` reference takes precedence over the flat
|
|
14
|
+
wire anchor; 3.0 and 3.1 retain the flat fields. The modern account-only result
|
|
15
|
+
union is an SDK 17 migration. Adopters serving multiple releases should select
|
|
16
|
+
result identity using `ctx.servedAdcpVersion`.
|
|
17
|
+
|
|
18
|
+
The entire `destination_billing_entity` is request-only. Its name and tax data
|
|
19
|
+
are stripped along with bank details and framework auth/context metadata before
|
|
20
|
+
responses or replay caching. Nested account and operator identity objects use
|
|
21
|
+
closed protocol schemas and are emitted as detached validated snapshots.
|
|
22
|
+
|
|
23
|
+
Global daypart-union and nonempty Zod output tightening stays on SDK 17.
|
|
24
|
+
AssetVariant alone restores reachable protocol minItems and shallow output
|
|
25
|
+
typing, fixing the published TypeScript repro while preserving union options. The
|
|
26
|
+
shared stable report body reflects the existing tolerant poll Zod output;
|
|
27
|
+
version-aware delivery parsing uses strict authoritative JSON schemas.
|
|
28
|
+
|
|
29
|
+
Asset bounds also apply when the shared catalog, provenance, inline-markup,
|
|
30
|
+
tag/redirect and tracker schemas are used outside AssetVariant. Direct Zod
|
|
31
|
+
consumers now reject those protocol-invalid empty arrays consistently with the
|
|
32
|
+
existing authoritative wire schemas. Typed input and per-branch union helpers
|
|
33
|
+
remain available.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adcp/sdk",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.6.0",
|
|
4
4
|
"description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
".",
|
|
@@ -645,7 +645,7 @@
|
|
|
645
645
|
"sync-registry-schemas": "tsx scripts/generate-registry-types.ts --sync",
|
|
646
646
|
"schemas:ensure": "tsx scripts/schemas-ensure.ts",
|
|
647
647
|
"schema-diff": "tsx scripts/schema-diff.ts",
|
|
648
|
-
"generate-types": "tsx scripts/generate-types.ts && tsx scripts/generate-enum-arrays.ts && tsx scripts/generate-inline-enum-arrays.ts && tsx scripts/generate-manifest-derived.ts && tsx scripts/generate-entity-hydration.ts && tsx scripts/generate-media-buy-update-fields.ts && tsx scripts/generate-media-buy-action-metadata.ts",
|
|
648
|
+
"generate-types": "tsx scripts/generate-types.ts && tsx scripts/generate-enum-arrays.ts && tsx scripts/generate-targeting-keys.ts && tsx scripts/generate-inline-enum-arrays.ts && tsx scripts/generate-manifest-derived.ts && tsx scripts/generate-entity-hydration.ts && tsx scripts/generate-media-buy-update-fields.ts && tsx scripts/generate-media-buy-action-metadata.ts",
|
|
649
649
|
"generate-manifest-derived": "tsx scripts/generate-manifest-derived.ts",
|
|
650
650
|
"generate-entity-hydration": "tsx scripts/generate-entity-hydration.ts",
|
|
651
651
|
"generate-types:all": "npm run generate-types",
|