@adcp/sdk 8.1.0-beta.2 → 8.1.0-beta.5

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.
@@ -8,10 +8,11 @@ exports.getLibraryVersion = getLibraryVersion;
8
8
  exports.isCompatibleWith = isCompatibleWith;
9
9
  exports.getCompatibleVersions = getCompatibleVersions;
10
10
  exports.parseAdcpMajorVersion = parseAdcpMajorVersion;
11
+ exports.toReleasePrecisionVersion = toReleasePrecisionVersion;
11
12
  /**
12
13
  * AdCP SDK library version
13
14
  */
14
- exports.LIBRARY_VERSION = '8.1.0-beta.2';
15
+ exports.LIBRARY_VERSION = '8.1.0-beta.5';
15
16
  /**
16
17
  * AdCP specification version this library is built for
17
18
  */
@@ -56,10 +57,10 @@ exports.COMPATIBLE_ADCP_VERSIONS = [
56
57
  * Full version information
57
58
  */
58
59
  exports.VERSION_INFO = {
59
- library: '8.1.0-beta.2',
60
+ library: '8.1.0-beta.5',
60
61
  adcp: '3.1.0-beta.3',
61
62
  compatibleVersions: exports.COMPATIBLE_ADCP_VERSIONS,
62
- generatedAt: '2026-05-22T18:41:21.745Z',
63
+ generatedAt: '2026-05-23T14:50:39.897Z',
63
64
  };
64
65
  /**
65
66
  * Get the AdCP specification version this library is built for
@@ -100,4 +101,42 @@ function parseAdcpMajorVersion(version) {
100
101
  const major = parseInt(semverLike.split('.')[0] ?? '', 10);
101
102
  return Number.isFinite(major) ? major : NaN;
102
103
  }
104
+ /**
105
+ * Normalize a full-semver AdCP version (`MAJOR.MINOR.PATCH[-prerelease]`) to
106
+ * the release-precision form that AdCP 3.1+ requires on the wire:
107
+ * `MAJOR.MINOR[-prerelease]` — the patch digit is dropped.
108
+ *
109
+ * Per the spec note on `adcp_version`: "SDKs that read full-semver values
110
+ * from bundle metadata (e.g. `ComplianceIndex.published_version =
111
+ * "3.1.0-beta.1"`) MUST normalize to release-precision (`"3.1-beta.1"`)
112
+ * before emitting on the wire — meta-field values are NOT valid wire
113
+ * values." The wire regex (`^\d+\.\d+(-[a-zA-Z0-9.-]+)?$`) rejects strings
114
+ * with a patch digit.
115
+ *
116
+ * Behavior:
117
+ * - `"3.1.0-beta.3"` → `"3.1-beta.3"`
118
+ * - `"3.1.0"` → `"3.1"`
119
+ * - `"3.0.12"` → `"3.0"`
120
+ * - Already-release-precision input (`"3.1"`, `"3.1-beta.3"`) passes through
121
+ * - Legacy aliases (`"v2.5"`, `"v3"`) pass through unchanged — the wire
122
+ * regex doesn't accept them anyway; the v2.5 path uses
123
+ * `adcp_major_version` instead of `adcp_version` for transport.
124
+ * - Unrecognized strings pass through unchanged so callers can detect drift
125
+ * via the wire validator rather than have it masked by this helper.
126
+ */
127
+ function toReleasePrecisionVersion(version) {
128
+ const trimmed = version.trim();
129
+ // Pre-release form `MAJOR.MINOR.PATCH-prerelease` → `MAJOR.MINOR-prerelease`
130
+ const semverMatch = trimmed.match(/^(\d+)\.(\d+)\.\d+(-[A-Za-z0-9.-]+)?$/);
131
+ if (semverMatch) {
132
+ const [, major, minor, pre = ''] = semverMatch;
133
+ return `${major}.${minor}${pre}`;
134
+ }
135
+ // Already release-precision (no patch digit). Includes `3.1`, `3.1-beta.3`.
136
+ if (/^\d+\.\d+(-[A-Za-z0-9.-]+)?$/.test(trimmed))
137
+ return trimmed;
138
+ // Legacy aliases (`v3`, `v2.5`, `v2.6`) and anything we don't recognize —
139
+ // pass through so the wire validator can flag genuine drift.
140
+ return version;
141
+ }
103
142
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,iDAAiD;;;AAyEjD,wCAEC;AAKD,8CAEC;AAKD,4CAEC;AAKD,sDAEC;AAWD,sDAKC;AA9GD;;GAEG;AACU,QAAA,eAAe,GAAG,cAAc,CAAC;AAE9C;;GAEG;AACU,QAAA,YAAY,GAAG,cAAc,CAAC;AAE3C;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;;;;;GAMG;AACU,QAAA,wBAAwB,GAAG;IACtC,MAAM;IACN,MAAM;IACN,IAAI;IACJ,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AAYX;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE,cAAc;IACpB,kBAAkB,EAAE,gCAAwB;IAC5C,WAAW,EAAE,0BAA0B;CAC/B,CAAC;AAEX;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,oBAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,uBAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,OAAQ,gCAA8C,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,gCAAwB,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,iDAAiD;;;AAyEjD,wCAEC;AAKD,8CAEC;AAKD,4CAEC;AAKD,sDAEC;AAWD,sDAKC;AAyBD,8DAaC;AApJD;;GAEG;AACU,QAAA,eAAe,GAAG,cAAc,CAAC;AAE9C;;GAEG;AACU,QAAA,YAAY,GAAG,cAAc,CAAC;AAE3C;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;;;;;GAMG;AACU,QAAA,wBAAwB,GAAG;IACtC,MAAM;IACN,MAAM;IACN,IAAI;IACJ,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AAYX;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE,cAAc;IACpB,kBAAkB,EAAE,gCAAwB;IAC5C,WAAW,EAAE,0BAA0B;CAC/B,CAAC;AAEX;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,oBAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,uBAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,OAAQ,gCAA8C,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,gCAAwB,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,yBAAyB,CAAC,OAAe;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,6EAA6E;IAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3E,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC;QAC/C,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;IACnC,CAAC;IACD,4EAA4E;IAC5E,IAAI,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACjE,0EAA0E;IAC1E,6DAA6D;IAC7D,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adcp/sdk",
3
- "version": "8.1.0-beta.2",
3
+ "version": "8.1.0-beta.5",
4
4
  "description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
5
5
  "workspaces": [
6
6
  ".",