@adcp/sdk 17.0.0-beta.6 → 17.0.0-beta.8
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/testing/storyboard/default-invariants.js +4 -0
- package/dist/lib/testing/storyboard/default-invariants.mjs +4 -0
- package/dist/lib/testing/storyboard/loader.js +31 -0
- package/dist/lib/testing/storyboard/loader.mjs +31 -0
- package/dist/lib/testing/storyboard/pricing-currency-filter.d.mts +13 -0
- package/dist/lib/testing/storyboard/pricing-currency-filter.d.ts +13 -0
- package/dist/lib/testing/storyboard/pricing-currency-filter.js +175 -0
- package/dist/lib/testing/storyboard/pricing-currency-filter.mjs +151 -0
- package/dist/lib/testing/storyboard/request-builder.js +6 -3
- package/dist/lib/testing/storyboard/request-builder.mjs +6 -3
- package/dist/lib/testing/storyboard/required-metric-filters.d.mts +9 -0
- package/dist/lib/testing/storyboard/required-metric-filters.d.ts +9 -0
- package/dist/lib/testing/storyboard/required-metric-filters.js +128 -0
- package/dist/lib/testing/storyboard/required-metric-filters.mjs +104 -0
- package/dist/lib/testing/storyboard/runner.js +244 -48
- package/dist/lib/testing/storyboard/runner.mjs +246 -49
- package/dist/lib/testing/storyboard/seeding.d.mts +86 -1
- package/dist/lib/testing/storyboard/seeding.d.ts +86 -1
- package/dist/lib/testing/storyboard/seeding.js +91 -18
- package/dist/lib/testing/storyboard/seeding.mjs +90 -18
- package/dist/lib/testing/storyboard/types.d.mts +30 -1
- package/dist/lib/testing/storyboard/types.d.ts +30 -1
- package/dist/lib/testing/storyboard/types.js +1 -0
- package/dist/lib/testing/storyboard/types.mjs +1 -0
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.mjs +3 -3
- package/docs/TYPE-SUMMARY.md +2 -2
- package/docs/guides/WHOLESALE-PAGE-COLLECTION.md +67 -0
- package/docs/llms.txt +2 -2
- package/docs/migration-14.x-rc-worksheet.md +4 -4
- package/package.json +1 -1
package/dist/lib/version.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const LIBRARY_VERSION = "17.0.0-beta.
|
|
1
|
+
const LIBRARY_VERSION = "17.0.0-beta.8";
|
|
2
2
|
const ADCP_VERSION = "3.3.0-beta.1";
|
|
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.1"
|
|
74
74
|
];
|
|
75
75
|
const VERSION_INFO = {
|
|
76
|
-
library: "17.0.0-beta.
|
|
76
|
+
library: "17.0.0-beta.8",
|
|
77
77
|
adcp: "3.3.0-beta.1",
|
|
78
78
|
compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
|
|
79
|
-
generatedAt: "2026-10-
|
|
79
|
+
generatedAt: "2026-10-30T04:24:20.449Z"
|
|
80
80
|
};
|
|
81
81
|
function getAdcpVersion() {
|
|
82
82
|
return ADCP_VERSION;
|
package/docs/TYPE-SUMMARY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AdCP Type Summary
|
|
2
2
|
|
|
3
|
-
> Generated at: 2026-10-
|
|
4
|
-
> @adcp/sdk v17.0.0-beta.
|
|
3
|
+
> Generated at: 2026-10-30
|
|
4
|
+
> @adcp/sdk v17.0.0-beta.8
|
|
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
|
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Collecting a wholesale product feed in a storyboard
|
|
2
|
+
|
|
3
|
+
Set `collect_product_pages: true` on a `get_products` wholesale step when its
|
|
4
|
+
checks need products beyond the seller's first page. Ordinary steps continue to
|
|
5
|
+
make one request. Declare the intrinsic runtime requirement so an older runner
|
|
6
|
+
reports missing coverage before fixture setup instead of ignoring the new flag:
|
|
7
|
+
|
|
8
|
+
```yaml
|
|
9
|
+
requires: [collect_product_pages_runner]
|
|
10
|
+
phases:
|
|
11
|
+
- id: discovery
|
|
12
|
+
steps:
|
|
13
|
+
- id: complete_catalog
|
|
14
|
+
task: get_products
|
|
15
|
+
collect_product_pages: true
|
|
16
|
+
sample_request:
|
|
17
|
+
buying_mode: wholesale
|
|
18
|
+
pagination: { max_results: 25 }
|
|
19
|
+
account: { account_id: seller-issued-account }
|
|
20
|
+
validations:
|
|
21
|
+
- check: field_contains
|
|
22
|
+
path: products[*].product_id
|
|
23
|
+
value: expected-product
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The first request is unconditional and must omit a continuation cursor. The
|
|
27
|
+
runner preserves account, filters, fields, context, extensions,
|
|
28
|
+
and the authored page size on each continuation. It follows every cursor,
|
|
29
|
+
validates every response, rejects duplicate identities and broken cursors, and
|
|
30
|
+
restarts when the feed identity changes. It permits at most three restarts,
|
|
31
|
+
1,000 physical requests, 100,000 products, and 100,000 advisory errors. Exhausting a budget fails the
|
|
32
|
+
logical read and never publishes a successful partial snapshot.
|
|
33
|
+
|
|
34
|
+
Collection requires fresh reads without `idempotency_key`. An authored key or
|
|
35
|
+
runtime-injected key is rejected before dispatch; the runner never silently
|
|
36
|
+
rewrites or removes a key. Each cursor page and restarted read has a different
|
|
37
|
+
request body, so reusing a key could conflict with a seller's optional read
|
|
38
|
+
replay protection. The SDK does not automatically add a key to these wholesale
|
|
39
|
+
reads. Ordinary one-page steps keep their existing key behavior.
|
|
40
|
+
|
|
41
|
+
Per-page validation still requires the response schema's required Product
|
|
42
|
+
fields. Forwarding `fields` does not relax schema validation for projections.
|
|
43
|
+
|
|
44
|
+
Authored field checks and context captures use
|
|
45
|
+
`product_page_collection.logical_response`. Its products and advisory errors
|
|
46
|
+
combine all pages of the final stable enumeration, including pages beyond the
|
|
47
|
+
response-retention limit. A restart discards their abandoned counterparts. Other
|
|
48
|
+
envelope fields are representative metadata from the first stable page; this
|
|
49
|
+
feature does not merge arbitrary response fields or extension definitions. The ordinary `response` and
|
|
50
|
+
`response_record` retain an actual physical page; they never masquerade as a
|
|
51
|
+
merged seller response. Each page has its own request, response, extraction,
|
|
52
|
+
schema disposition, and restart number under `product_page_collection.pages`.
|
|
53
|
+
Logical-check pointers are prefixed with
|
|
54
|
+
`/product_page_collection/logical_response`. Physical schema and invariant
|
|
55
|
+
failures cite the actual page exchange instead.
|
|
56
|
+
|
|
57
|
+
Every physical page runs the step's enabled invariants before response-evidence
|
|
58
|
+
retention limits apply, including pages later abandoned during a restart. The
|
|
59
|
+
report retains the first 16 page responses and every request. Later responses
|
|
60
|
+
carry an explicit retention marker; failing checks still retain their actual
|
|
61
|
+
page evidence. Unknown or custom pricing remains visibly unproven under its
|
|
62
|
+
existing invariant contract.
|
|
63
|
+
|
|
64
|
+
Expected-error probes, raw authentication probes, parallel dispatch, conditional
|
|
65
|
+
feed reads, and response-derived skip gates cannot be combined with collection.
|
|
66
|
+
Credentialed functional steps through the official protocol client remain
|
|
67
|
+
supported. `runStoryboardStep` exposes the same complete view and page checks.
|
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 v17.0.0-beta.
|
|
3
|
+
> Generated at: 2026-10-30
|
|
4
|
+
> Library: @adcp/sdk v17.0.0-beta.8
|
|
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.
|
|
20
|
-
| npm integrity | registry-derived after publication; run `npm view @adcp/sdk@17.0.0-beta.
|
|
19
|
+
| Checkout `package.json` version | `@adcp/sdk@17.0.0-beta.8` |
|
|
20
|
+
| npm integrity | registry-derived after publication; run `npm view @adcp/sdk@17.0.0-beta.8 dist.integrity` |
|
|
21
21
|
| Node.js runtime | `^20.19.0 || >=22.12.0` |
|
|
22
22
|
| Default AdCP wire release | `3.3.0-beta.1` |
|
|
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.1`, `3.3-beta.1` |
|
|
@@ -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.
|
|
30
|
-
npm view '@adcp/sdk@17.0.0-beta.
|
|
29
|
+
npm install --save-exact '@adcp/sdk@17.0.0-beta.8'
|
|
30
|
+
npm view '@adcp/sdk@17.0.0-beta.8' dist.integrity
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
### Required and optional peers
|