@moltzap/protocol 2026.502.1 → 2026.503.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/helpers.d.ts.map +1 -1
- package/dist/helpers.js +35 -1
- package/dist/helpers.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AA6CvE;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GACnB,OAAO,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;CAAE,CACxE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,WAEtC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,SAAuC,CAAC;AAEnE;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B;IACD,OAAO,EAAE,KAAK,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAOA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,KAAK,CAAC;AACnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAElC,wBAAgB,aAAa,CAC3B,SAAS,EAAE,sBAAsB,EACjC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,iBAAiB,GACtB;IACD,OAAO,EAAE,KAAK,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,sBAAsB,CAAC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAQA"}
|
package/dist/helpers.js
CHANGED
|
@@ -1,4 +1,38 @@
|
|
|
1
|
-
import { Type } from "@sinclair/typebox";
|
|
1
|
+
import { FormatRegistry, Type } from "@sinclair/typebox";
|
|
2
|
+
/**
|
|
3
|
+
* Register the string formats this protocol uses with TypeBox's
|
|
4
|
+
* `FormatRegistry` as a side effect at module load. Without this,
|
|
5
|
+
* `Value.Decode` against any schema that uses `format: "uuid"` (and friends)
|
|
6
|
+
* fails with `Unknown format uuid` and every frame is rejected — see #370.
|
|
7
|
+
*
|
|
8
|
+
* Registering here makes downstream consumers correct by construction:
|
|
9
|
+
* importing anything from `@moltzap/protocol` registers the formats, even
|
|
10
|
+
* via dynamic-import paths that never reach a bin entrypoint.
|
|
11
|
+
*
|
|
12
|
+
* `FormatRegistry` is a process-global, so we gate on `Has(...)` to avoid
|
|
13
|
+
* clobbering a consumer-provided stricter validator that ran before us.
|
|
14
|
+
*/
|
|
15
|
+
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
16
|
+
// Shape filter for RFC 3339 / ISO 8601. We pair it with `Date.parse` so
|
|
17
|
+
// values like "2026-99-99T99:99:99Z" — shape-valid but semantically
|
|
18
|
+
// impossible — also reject.
|
|
19
|
+
const DATE_TIME_RE = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/;
|
|
20
|
+
// Liberal URI matcher: scheme + ":" + non-whitespace remainder. Tighter
|
|
21
|
+
// validation (e.g., authority parsing) lives in the consumer if needed.
|
|
22
|
+
const URI_RE = /^[A-Za-z][A-Za-z0-9+.-]*:\S+$/;
|
|
23
|
+
if (!FormatRegistry.Has("uuid")) {
|
|
24
|
+
FormatRegistry.Set("uuid", (value) => typeof value === "string" && UUID_RE.test(value));
|
|
25
|
+
}
|
|
26
|
+
if (!FormatRegistry.Has("date-time")) {
|
|
27
|
+
FormatRegistry.Set("date-time", (value) => {
|
|
28
|
+
if (typeof value !== "string" || !DATE_TIME_RE.test(value))
|
|
29
|
+
return false;
|
|
30
|
+
return Number.isFinite(Date.parse(value));
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (!FormatRegistry.Has("uri")) {
|
|
34
|
+
FormatRegistry.Set("uri", (value) => typeof value === "string" && URI_RE.test(value));
|
|
35
|
+
}
|
|
2
36
|
/**
|
|
3
37
|
* Creates a string enum schema without producing anyOf (which some validators reject).
|
|
4
38
|
* Uses Type.String + enum constraint (Kind="String") so TypeBox's Value.Decode
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAgB,MAAM,mBAAmB,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,GACX,iEAAiE,CAAC;AACpE,wEAAwE;AACxE,oEAAoE;AACpE,4BAA4B;AAC5B,MAAM,YAAY,GAChB,qEAAqE,CAAC;AACxE,wEAAwE;AACxE,wEAAwE;AACxE,MAAM,MAAM,GAAG,+BAA+B,CAAC;AAE/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IAChC,cAAc,CAAC,GAAG,CAChB,MAAM,EACN,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAC5D,CAAC;AACJ,CAAC;AACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;IACrC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/B,cAAc,CAAC,GAAG,CAChB,KAAK,EACL,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAqB,MAAc;IAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAoC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,KAAa,EACb,IAA8B;IAO9B,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,OAAO;QACb,KAAK;QACL,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAwBD,MAAM,UAAU,aAAa,CAC3B,SAAiC,EACjC,EAAU,EACV,IAAuB;IASvB,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,UAAU;QAChB,SAAS;QACT,EAAE;QACF,GAAG,IAAI;KACR,CAAC;AACJ,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PROTOCOL_VERSION = "2026.
|
|
1
|
+
export declare const PROTOCOL_VERSION = "2026.503.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED