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

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.
@@ -1586,6 +1586,40 @@ const SignalRefSchema = import_zod.z.union([import_zod.z.object({
1586
1586
  signal_source_url: import_zod.z.string().refine(adcpJsonSchemaUri, "Invalid URI"),
1587
1587
  signal_id: import_zod.z.string().regex(/^[a-zA-Z0-9_-]+$/)
1588
1588
  }).passthrough()]);
1589
+ const SignalTargetingExpressionSchema = import_zod.z.union([import_zod.z.object({
1590
+ signal_ref: SignalRefSchema,
1591
+ value_type: import_zod.z.literal("binary"),
1592
+ value: import_zod.z.literal(true)
1593
+ }).passthrough(), import_zod.z.object({
1594
+ signal_ref: SignalRefSchema,
1595
+ value_type: import_zod.z.literal("categorical"),
1596
+ values: import_zod.z.array(import_zod.z.string())
1597
+ }).passthrough(), import_zod.z.object({
1598
+ signal_ref: SignalRefSchema,
1599
+ value_type: import_zod.z.literal("numeric"),
1600
+ min_value: import_zod.z.number(),
1601
+ max_value: import_zod.z.number().optional()
1602
+ }).passthrough(), import_zod.z.object({
1603
+ signal_ref: SignalRefSchema,
1604
+ value_type: import_zod.z.literal("numeric"),
1605
+ min_value: import_zod.z.number().optional(),
1606
+ max_value: import_zod.z.number()
1607
+ }).passthrough()]).superRefine((value, ctx) => {
1608
+ if (value.value_type === "categorical" && value.values.length === 0) {
1609
+ ctx.addIssue({
1610
+ code: "custom",
1611
+ path: ["values"],
1612
+ message: "categorical signal values must contain at least one entry"
1613
+ });
1614
+ }
1615
+ if (value.value_type === "numeric" && value.min_value !== void 0 && value.max_value !== void 0 && value.min_value > value.max_value) {
1616
+ ctx.addIssue({
1617
+ code: "custom",
1618
+ path: ["min_value"],
1619
+ message: "min_value must be less than or equal to max_value"
1620
+ });
1621
+ }
1622
+ });
1589
1623
  const PaginationRequestSchema = import_zod.z.object({
1590
1624
  max_results: import_zod.z.number().int().min(1).max(100).optional(),
1591
1625
  cursor: import_zod.z.string().optional()
@@ -1961,15 +1995,6 @@ const PostalCountryAreaSchema = PostalCountrySystemSchema.and(import_zod.z.objec
1961
1995
  values: import_zod.z.array(import_zod.z.string())
1962
1996
  }).passthrough());
1963
1997
  const GeographicPlaceIdentifierSystemSchema = import_zod.z.union([import_zod.z.union([import_zod.z.literal("geonames"), import_zod.z.literal("google_ads"), import_zod.z.literal("microsoft_ads")]), import_zod.z.string()]);
1964
- const SignalTargetingExpressionSchema = import_zod.z.union([import_zod.z.object({
1965
- signal_ref: SignalRefSchema,
1966
- value_type: import_zod.z.literal("binary"),
1967
- value: import_zod.z.literal(true)
1968
- }).passthrough(), import_zod.z.object({
1969
- signal_ref: SignalRefSchema,
1970
- value_type: import_zod.z.literal("categorical"),
1971
- values: import_zod.z.array(import_zod.z.string())
1972
- }).passthrough(), import_zod.z.union([import_zod.z.object({}).passthrough(), import_zod.z.object({}).passthrough()])]);
1973
1998
  const ActivationKeySchema = import_zod.z.union([import_zod.z.object({
1974
1999
  type: import_zod.z.literal("segment_id"),
1975
2000
  segment_id: import_zod.z.string()
@@ -304,6 +304,40 @@ const SignalRefSchema = z.union([z.object({
304
304
  signal_source_url: z.string().refine(adcpJsonSchemaUri, "Invalid URI"),
305
305
  signal_id: z.string().regex(/^[a-zA-Z0-9_-]+$/)
306
306
  }).passthrough()]);
307
+ const SignalTargetingExpressionSchema = z.union([z.object({
308
+ signal_ref: SignalRefSchema,
309
+ value_type: z.literal("binary"),
310
+ value: z.literal(true)
311
+ }).passthrough(), z.object({
312
+ signal_ref: SignalRefSchema,
313
+ value_type: z.literal("categorical"),
314
+ values: z.array(z.string())
315
+ }).passthrough(), z.object({
316
+ signal_ref: SignalRefSchema,
317
+ value_type: z.literal("numeric"),
318
+ min_value: z.number(),
319
+ max_value: z.number().optional()
320
+ }).passthrough(), z.object({
321
+ signal_ref: SignalRefSchema,
322
+ value_type: z.literal("numeric"),
323
+ min_value: z.number().optional(),
324
+ max_value: z.number()
325
+ }).passthrough()]).superRefine((value, ctx) => {
326
+ if (value.value_type === "categorical" && value.values.length === 0) {
327
+ ctx.addIssue({
328
+ code: "custom",
329
+ path: ["values"],
330
+ message: "categorical signal values must contain at least one entry"
331
+ });
332
+ }
333
+ if (value.value_type === "numeric" && value.min_value !== void 0 && value.max_value !== void 0 && value.min_value > value.max_value) {
334
+ ctx.addIssue({
335
+ code: "custom",
336
+ path: ["min_value"],
337
+ message: "min_value must be less than or equal to max_value"
338
+ });
339
+ }
340
+ });
307
341
  const PaginationRequestSchema = z.object({
308
342
  max_results: z.number().int().min(1).max(100).optional(),
309
343
  cursor: z.string().optional()
@@ -679,15 +713,6 @@ const PostalCountryAreaSchema = PostalCountrySystemSchema.and(z.object({
679
713
  values: z.array(z.string())
680
714
  }).passthrough());
681
715
  const GeographicPlaceIdentifierSystemSchema = z.union([z.union([z.literal("geonames"), z.literal("google_ads"), z.literal("microsoft_ads")]), z.string()]);
682
- const SignalTargetingExpressionSchema = z.union([z.object({
683
- signal_ref: SignalRefSchema,
684
- value_type: z.literal("binary"),
685
- value: z.literal(true)
686
- }).passthrough(), z.object({
687
- signal_ref: SignalRefSchema,
688
- value_type: z.literal("categorical"),
689
- values: z.array(z.string())
690
- }).passthrough(), z.union([z.object({}).passthrough(), z.object({}).passthrough()])]);
691
716
  const ActivationKeySchema = z.union([z.object({
692
717
  type: z.literal("segment_id"),
693
718
  segment_id: z.string()
@@ -9985,11 +9985,19 @@ export type SignalTargetingExpression = {
9985
9985
  value_type: 'categorical';
9986
9986
  /**
9987
9987
  * Values to target. Users with any of these values match the expression.
9988
- *
9989
- * @minItems 1
9990
9988
  */
9991
9989
  values: [string, ...string[]];
9992
- } | ({} | {});
9990
+ } | {
9991
+ signal_ref: SignalRef;
9992
+ value_type: 'numeric';
9993
+ min_value: number;
9994
+ max_value?: number;
9995
+ } | {
9996
+ signal_ref: SignalRef;
9997
+ value_type: 'numeric';
9998
+ min_value?: number;
9999
+ max_value: number;
10000
+ };
9993
10001
 
9994
10002
  /**
9995
10003
  * Exactly one of: (a) fixed (`width` + `height` both set), (b) multi-size (`sizes` set), (c) responsive (any of `min_width`/`max_width`/`min_height`/`max_height` set), (d) none (no size constraint declared — accepts any dimensions). Combining modes (e.g., `width` + `sizes`) is rejected at schema layer; same rule on `html5` and `display_tag` canonicals.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AdCP SDK library version
3
3
  */
4
- export declare const LIBRARY_VERSION = "14.0.0-beta.20";
4
+ export declare const LIBRARY_VERSION = "14.0.0-beta.21";
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.20";
36
+ readonly library: "14.0.0-beta.21";
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-30T05:56:08.494Z";
39
+ readonly generatedAt: "2026-08-30T07:43:44.925Z";
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.20";
4
+ export declare const LIBRARY_VERSION = "14.0.0-beta.21";
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.20";
36
+ readonly library: "14.0.0-beta.21";
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-30T05:56:08.494Z";
39
+ readonly generatedAt: "2026-08-30T07:43:44.925Z";
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.20";
34
+ const LIBRARY_VERSION = "14.0.0-beta.21";
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.20",
97
+ library: "14.0.0-beta.21",
98
98
  adcp: "3.2.0-beta.9",
99
99
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
100
- generatedAt: "2026-08-30T05:56:08.494Z"
100
+ generatedAt: "2026-08-30T07:43:44.925Z"
101
101
  };
102
102
  function getAdcpVersion() {
103
103
  return ADCP_VERSION;
@@ -1,4 +1,4 @@
1
- const LIBRARY_VERSION = "14.0.0-beta.20";
1
+ const LIBRARY_VERSION = "14.0.0-beta.21";
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.20",
64
+ library: "14.0.0-beta.21",
65
65
  adcp: "3.2.0-beta.9",
66
66
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
67
- generatedAt: "2026-08-30T05:56:08.494Z"
67
+ generatedAt: "2026-08-30T07:43:44.925Z"
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.20
4
+ > Library: @adcp/sdk v14.0.0-beta.21
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.20",
3
+ "version": "14.0.0-beta.21",
4
4
  "description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
5
5
  "workspaces": [
6
6
  ".",