@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.
Files changed (35) hide show
  1. package/dist/lib/testing/storyboard/default-invariants.js +4 -0
  2. package/dist/lib/testing/storyboard/default-invariants.mjs +4 -0
  3. package/dist/lib/testing/storyboard/loader.js +31 -0
  4. package/dist/lib/testing/storyboard/loader.mjs +31 -0
  5. package/dist/lib/testing/storyboard/pricing-currency-filter.d.mts +13 -0
  6. package/dist/lib/testing/storyboard/pricing-currency-filter.d.ts +13 -0
  7. package/dist/lib/testing/storyboard/pricing-currency-filter.js +175 -0
  8. package/dist/lib/testing/storyboard/pricing-currency-filter.mjs +151 -0
  9. package/dist/lib/testing/storyboard/request-builder.js +6 -3
  10. package/dist/lib/testing/storyboard/request-builder.mjs +6 -3
  11. package/dist/lib/testing/storyboard/required-metric-filters.d.mts +9 -0
  12. package/dist/lib/testing/storyboard/required-metric-filters.d.ts +9 -0
  13. package/dist/lib/testing/storyboard/required-metric-filters.js +128 -0
  14. package/dist/lib/testing/storyboard/required-metric-filters.mjs +104 -0
  15. package/dist/lib/testing/storyboard/runner.js +244 -48
  16. package/dist/lib/testing/storyboard/runner.mjs +246 -49
  17. package/dist/lib/testing/storyboard/seeding.d.mts +86 -1
  18. package/dist/lib/testing/storyboard/seeding.d.ts +86 -1
  19. package/dist/lib/testing/storyboard/seeding.js +91 -18
  20. package/dist/lib/testing/storyboard/seeding.mjs +90 -18
  21. package/dist/lib/testing/storyboard/types.d.mts +30 -1
  22. package/dist/lib/testing/storyboard/types.d.ts +30 -1
  23. package/dist/lib/testing/storyboard/types.js +1 -0
  24. package/dist/lib/testing/storyboard/types.mjs +1 -0
  25. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  26. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  27. package/dist/lib/version.d.mts +3 -3
  28. package/dist/lib/version.d.ts +3 -3
  29. package/dist/lib/version.js +3 -3
  30. package/dist/lib/version.mjs +3 -3
  31. package/docs/TYPE-SUMMARY.md +2 -2
  32. package/docs/guides/WHOLESALE-PAGE-COLLECTION.md +67 -0
  33. package/docs/llms.txt +2 -2
  34. package/docs/migration-14.x-rc-worksheet.md +4 -4
  35. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- const LIBRARY_VERSION = "17.0.0-beta.6";
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.6",
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-29T19:03:50.550Z"
79
+ generatedAt: "2026-10-30T04:24:20.449Z"
80
80
  };
81
81
  function getAdcpVersion() {
82
82
  return ADCP_VERSION;
@@ -1,7 +1,7 @@
1
1
  # AdCP Type Summary
2
2
 
3
- > Generated at: 2026-10-29
4
- > @adcp/sdk v17.0.0-beta.6
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-29
4
- > Library: @adcp/sdk v17.0.0-beta.6
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.6` |
20
- | npm integrity | registry-derived after publication; run `npm view @adcp/sdk@17.0.0-beta.6 dist.integrity` |
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.6'
30
- npm view '@adcp/sdk@17.0.0-beta.6' dist.integrity
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adcp/sdk",
3
- "version": "17.0.0-beta.6",
3
+ "version": "17.0.0-beta.8",
4
4
  "description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
5
5
  "workspaces": [
6
6
  ".",