@fuzdev/fuz_app 0.136.0 → 0.137.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.
Files changed (51) hide show
  1. package/dist/actions/action_spec.d.ts +0 -48
  2. package/dist/actions/action_spec.d.ts.map +1 -1
  3. package/dist/auth/account_action_specs.d.ts +1 -1
  4. package/dist/auth/account_action_specs.d.ts.map +1 -1
  5. package/dist/auth/account_action_specs.js +3 -4
  6. package/dist/auth/account_schema.d.ts +1 -6
  7. package/dist/auth/account_schema.d.ts.map +1 -1
  8. package/dist/auth/account_schema.js +1 -0
  9. package/dist/auth/actor_search_action_specs.d.ts +1 -1
  10. package/dist/auth/actor_search_action_specs.d.ts.map +1 -1
  11. package/dist/auth/actor_search_action_specs.js +3 -6
  12. package/dist/auth/cell_action_specs.d.ts +3 -3
  13. package/dist/auth/cell_action_specs.d.ts.map +1 -1
  14. package/dist/auth/cell_action_specs.js +7 -8
  15. package/dist/auth/cell_item_action_specs.d.ts.map +1 -1
  16. package/dist/auth/cell_item_action_specs.js +2 -4
  17. package/dist/auth/password.d.ts +2 -2
  18. package/dist/auth/password.d.ts.map +1 -1
  19. package/dist/auth/password.js +10 -12
  20. package/dist/auth/role_grant_offer_action_specs.d.ts.map +1 -1
  21. package/dist/auth/role_grant_offer_action_specs.js +5 -10
  22. package/dist/auth/role_grant_offer_notifications.d.ts.map +1 -1
  23. package/dist/auth/role_grant_offer_notifications.js +2 -1
  24. package/dist/auth/role_grant_offer_schema.d.ts +1 -1
  25. package/dist/auth/role_grant_offer_schema.d.ts.map +1 -1
  26. package/dist/auth/role_grant_offer_schema.js +4 -7
  27. package/dist/auth/role_schema.d.ts.map +1 -1
  28. package/dist/auth/role_schema.js +5 -4
  29. package/dist/auth/scope_kind_schema.d.ts +1 -1
  30. package/dist/auth/scope_kind_schema.d.ts.map +1 -1
  31. package/dist/auth/scope_kind_schema.js +6 -5
  32. package/dist/cli/args.d.ts +21 -15
  33. package/dist/cli/args.d.ts.map +1 -1
  34. package/dist/cli/args.js +40 -16
  35. package/dist/cli/daemon.d.ts +0 -5
  36. package/dist/cli/daemon.d.ts.map +1 -1
  37. package/dist/cli/help.d.ts +45 -6
  38. package/dist/cli/help.d.ts.map +1 -1
  39. package/dist/cli/help.js +81 -4
  40. package/dist/http/auth_shape.d.ts +0 -27
  41. package/dist/http/auth_shape.d.ts.map +1 -1
  42. package/dist/primitive_schemas.d.ts +38 -4
  43. package/dist/primitive_schemas.d.ts.map +1 -1
  44. package/dist/primitive_schemas.js +77 -13
  45. package/dist/server/x_accel.d.ts +0 -1
  46. package/dist/server/x_accel.d.ts.map +1 -1
  47. package/dist/testing/cross_backend/action_manifest.d.ts +0 -14
  48. package/dist/testing/cross_backend/action_manifest.d.ts.map +1 -1
  49. package/dist/testing/cross_backend/testing_reset_actions.d.ts +0 -9
  50. package/dist/testing/cross_backend/testing_reset_actions.d.ts.map +1 -1
  51. package/package.json +7 -5
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Reusable validator-schema primitives — `Username`, `UsernameProvided`,
3
- * `Email`. Lives at the top level (not inside `auth/` or `http/`) because
2
+ * Reusable validator-schema primitives — `bounded_string`, `Username`,
3
+ * `UsernameProvided`, `Email`. Lives at the top level (not inside `auth/` or `http/`) because
4
4
  * these shapes don't depend on or imply any domain — accounts hold a
5
5
  * username and email, but invites, password resets, future cell-sharing,
6
6
  * and other surfaces all reach for the same primitives without going
@@ -15,12 +15,82 @@
15
15
  * @module
16
16
  */
17
17
  import { z } from 'zod';
18
- // TODO consider `.brand()` on Username and Email for compile-time safety
18
+ /**
19
+ * A string schema whose length is bounded in UTF-16 code units — what
20
+ * `String.length` measures, and what the Rust spine counts
21
+ * (`encode_utf16().count()`), so an astral-plane character costs two on both.
22
+ * Every `.min()` / `.max()` length bound on a wire string in the package is
23
+ * built here, bar a bare `.min(1)`, which reads the same in either count.
24
+ *
25
+ * Zod's `.min()` / `.max()` alone don't pin the unit: depending on the
26
+ * installed Zod they count code units or Unicode code points, and the peer
27
+ * range admits both. The schema still carries them — they are what puts
28
+ * `minLength` / `maxLength` in the generated JSON Schema — and a check beside
29
+ * them settles the verdict on `String.length`: it adds the over-`max` or
30
+ * under-`min` issue when Zod raised none, and withdraws one Zod raised for a
31
+ * string that is within the bound in units. The issue it adds has the fields
32
+ * of Zod's own and, like Zod's, lets the checks chained after it run, so a
33
+ * refusal reads the same whichever count Zod used.
34
+ *
35
+ * Returns a plain `ZodString`, so format checks, `.brand()`, `.nullish()` and
36
+ * `.meta()` chain as usual. Don't chain a further `.min()` / `.max()` — pass
37
+ * the bound here.
38
+ *
39
+ * @param options - the bounds, in UTF-16 code units
40
+ * @returns the bounded string schema
41
+ */
42
+ export const bounded_string = ({ min, max, max_message }) => {
43
+ let schema = z.string();
44
+ if (min !== undefined)
45
+ schema = schema.min(min);
46
+ schema = max_message === undefined ? schema.max(max) : schema.max(max, max_message);
47
+ return schema.check((ctx) => {
48
+ const { length } = ctx.value;
49
+ const { issues } = ctx;
50
+ const too_big = issues.findIndex((i) => i.code === 'too_big' && i.origin === 'string' && i.maximum === max);
51
+ if (length > max) {
52
+ if (too_big === -1) {
53
+ issues.push({
54
+ origin: 'string',
55
+ code: 'too_big',
56
+ maximum: max,
57
+ inclusive: true,
58
+ input: ctx.value,
59
+ // as on Zod's own length issues: the checks chained after still run
60
+ continue: true,
61
+ // `path` ahead of `message`, the key order of Zod's finalized issue
62
+ ...(max_message !== undefined && { path: [], message: max_message })
63
+ });
64
+ }
65
+ }
66
+ else if (too_big !== -1) {
67
+ issues.splice(too_big, 1);
68
+ }
69
+ if (min === undefined)
70
+ return;
71
+ const too_small = issues.findIndex((i) => i.code === 'too_small' && i.origin === 'string' && i.minimum === min);
72
+ if (length < min) {
73
+ if (too_small === -1) {
74
+ issues.push({
75
+ origin: 'string',
76
+ code: 'too_small',
77
+ minimum: min,
78
+ inclusive: true,
79
+ input: ctx.value,
80
+ continue: true
81
+ });
82
+ }
83
+ }
84
+ else if (too_small !== -1) {
85
+ issues.splice(too_small, 1);
86
+ }
87
+ });
88
+ };
19
89
  /** Minimum username length (must have start + middle + end characters). */
20
90
  export const USERNAME_LENGTH_MIN = 3;
21
- /** Maximum username length (matches GitHub's limit). */
91
+ /** Maximum username length (matches GitHub's limit). The grammar is ASCII, so units and characters agree. */
22
92
  export const USERNAME_LENGTH_MAX = 39;
23
- /** Maximum length for username input on login/lookup — more permissive than `USERNAME_LENGTH_MAX` for forward-compatibility if the creation limit is raised. */
93
+ /** Maximum length for username input on login/lookup, in UTF-16 code units, measured before trimming — more permissive than `USERNAME_LENGTH_MAX` for forward-compatibility if the creation limit is raised. */
24
94
  export const USERNAME_PROVIDED_LENGTH_MAX = 255;
25
95
  /**
26
96
  * Username for account creation — starts with letter, alphanumeric/dash/underscore middle, ends with alphanumeric. No @ or . allowed.
@@ -32,10 +102,7 @@ export const USERNAME_PROVIDED_LENGTH_MAX = 255;
32
102
  * per-caller `trim().toLowerCase()` ritual and keeps the
33
103
  * `LOWER(username) = LOWER($1)` lookup contract simple.
34
104
  */
35
- export const Username = z
36
- .string()
37
- .min(USERNAME_LENGTH_MIN)
38
- .max(USERNAME_LENGTH_MAX)
105
+ export const Username = bounded_string({ min: USERNAME_LENGTH_MIN, max: USERNAME_LENGTH_MAX })
39
106
  .regex(/^[a-zA-Z][0-9a-zA-Z_-]*[0-9a-zA-Z]$/)
40
107
  .transform((s) => s.toLowerCase());
41
108
  /**
@@ -53,10 +120,7 @@ export const Username = z
53
120
  * input, not a wrong credential. Keeps the Rust spine's
54
121
  * `account_login` (which rejects empty-after-trim) in parity.
55
122
  */
56
- export const UsernameProvided = z
57
- .string()
58
- .min(1)
59
- .max(USERNAME_PROVIDED_LENGTH_MAX)
123
+ export const UsernameProvided = bounded_string({ min: 1, max: USERNAME_PROVIDED_LENGTH_MAX })
60
124
  .transform((s) => s.trim().toLowerCase())
61
125
  .refine((s) => s.length > 0, { message: 'Username must not be empty after trimming whitespace' });
62
126
  /**
@@ -50,7 +50,6 @@ export declare const validate_facts_internal_location: (config: string, facts_lo
50
50
  * an explicit cast, so the factory is the only ordinary construction path.
51
51
  */
52
52
  export declare const XAccelConfig: z.core.$ZodBranded<z.ZodObject<{
53
- /** The validated redirect prefix the serving path prepends (e.g. `/_facts/`). */
54
53
  redirect_prefix: z.ZodString;
55
54
  }, z.core.$strict>, "XAccelConfig", "out">;
56
55
  export type XAccelConfig = z.infer<typeof XAccelConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"x_accel.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/x_accel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACpC,gEAAgE;IAChE,EAAE,EAAE,OAAO,CAAC;IACZ,iEAAiE;IACjE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB;AAuDD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gCAAgC,GAC5C,QAAQ,MAAM,EACd,gBAAgB,MAAM,KACpB,oBAqBF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;IAEvB,iFAAiF;;0CAG5D,CAAC;AACxB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;CAKjC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,GACjC,iBAAiB,MAAM,EACvB,cAAc,MAAM,KAClB,YAMF,CAAC"}
1
+ {"version":3,"file":"x_accel.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/server/x_accel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACpC,gEAAgE;IAChE,EAAE,EAAE,OAAO,CAAC;IACZ,iEAAiE;IACjE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtB;AAuDD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gCAAgC,GAC5C,QAAQ,MAAM,EACd,gBAAgB,MAAM,KACpB,oBAqBF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;;0CAKF,CAAC;AACxB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;CAKjC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,GACjC,iBAAiB,MAAM,EACvB,cAAc,MAAM,KAClB,YAMF,CAAC"}
@@ -43,27 +43,20 @@ import type { RequestResponseActionSpec } from '../../actions/action_spec.js';
43
43
  * serializes an explicit `null`, so a missing key is drift, not a default.
44
44
  */
45
45
  export declare const ActionManifestEntry: z.ZodObject<{
46
- /** RPC method name (`spec.method`). */
47
46
  method: z.ZodString;
48
- /** `true` when the action declares `side_effects` (mutation; POST-only on the RPC transport). */
49
47
  side_effects: z.ZodBoolean;
50
- /** The `account` auth axis. */
51
48
  account: z.ZodEnum<{
52
49
  optional: "optional";
53
50
  none: "none";
54
51
  required: "required";
55
52
  }>;
56
- /** The `actor` auth axis. */
57
53
  actor: z.ZodEnum<{
58
54
  optional: "optional";
59
55
  none: "none";
60
56
  required: "required";
61
57
  }>;
62
- /** Required roles (any-of), sorted; `[]` when the action declares no role gate. */
63
58
  roles: z.ZodArray<z.ZodString>;
64
- /** Permitted credential channels, sorted; `[]` when ungated (any credential). */
65
59
  credential_types: z.ZodArray<z.ZodString>;
66
- /** Per-action rate-limit class, or `null` when the action declares none. */
67
60
  rate_limit: z.ZodNullable<z.ZodEnum<{
68
61
  account: "account";
69
62
  ip: "ip";
@@ -74,27 +67,20 @@ export type ActionManifestEntry = z.infer<typeof ActionManifestEntry>;
74
67
  /** The full action manifest — every entry, sorted by `method`. */
75
68
  export declare const ActionManifest: z.ZodObject<{
76
69
  methods: z.ZodArray<z.ZodObject<{
77
- /** RPC method name (`spec.method`). */
78
70
  method: z.ZodString;
79
- /** `true` when the action declares `side_effects` (mutation; POST-only on the RPC transport). */
80
71
  side_effects: z.ZodBoolean;
81
- /** The `account` auth axis. */
82
72
  account: z.ZodEnum<{
83
73
  optional: "optional";
84
74
  none: "none";
85
75
  required: "required";
86
76
  }>;
87
- /** The `actor` auth axis. */
88
77
  actor: z.ZodEnum<{
89
78
  optional: "optional";
90
79
  none: "none";
91
80
  required: "required";
92
81
  }>;
93
- /** Required roles (any-of), sorted; `[]` when the action declares no role gate. */
94
82
  roles: z.ZodArray<z.ZodString>;
95
- /** Permitted credential channels, sorted; `[]` when ungated (any credential). */
96
83
  credential_types: z.ZodArray<z.ZodString>;
97
- /** Per-action rate-limit class, or `null` when the action declares none. */
98
84
  rate_limit: z.ZodNullable<z.ZodEnum<{
99
85
  account: "account";
100
86
  ip: "ip";
@@ -1 +1 @@
1
- {"version":3,"file":"action_manifest.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/action_manifest.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;IAC/B,uCAAuC;;IAEvC,iGAAiG;;IAEjG,+BAA+B;;;;;;IAE/B,6BAA6B;;;;;;IAE7B,mFAAmF;;IAEnF,iFAAiF;;IAEjF,4EAA4E;;;;;;kBAE3E,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,kEAAkE;AAClE,eAAO,MAAM,cAAc;;QAlB1B,uCAAuC;;QAEvC,iGAAiG;;QAEjG,+BAA+B;;;;;;QAE/B,6BAA6B;;;;;;QAE7B,mFAAmF;;QAEnF,iFAAiF;;QAEjF,4EAA4E;;;;;;;kBAQ3E,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM5D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;CACnC,KAAG,mBAQF,CAAC;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GACjC,OAAO,aAAa,CACnB,IAAI,CAAC,yBAAyB,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,YAAY,CAAC,CAClF,KACC,cAED,CAAC"}
1
+ {"version":3,"file":"action_manifest.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/action_manifest.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;kBAe9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,kEAAkE;AAClE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;kBAEzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM5D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;CACnC,KAAG,mBAQF,CAAC;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GACjC,OAAO,aAAa,CACnB,IAAI,CAAC,yBAAyB,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,YAAY,CAAC,CAClF,KACC,cAED,CAAC"}
@@ -118,15 +118,6 @@ export declare const testing_reset_action_spec: {
118
118
  password_value: z.ZodOptional<z.ZodString>;
119
119
  roles: z.ZodArray<z.ZodString>;
120
120
  }, z.core.$strict>>>;
121
- /**
122
- * Additional actor names to seed on the **keeper** account, beyond
123
- * its single bootstrap actor. Drives the multi-actor `acting`
124
- * selector branches (omitted `acting` + >1 actor ⇒ `actor_required`
125
- * with the `available[]` list) that are otherwise unreachable
126
- * cross-process — account creation only ever mints one actor, and no
127
- * production wire path adds a second. Bootstrap-cradle seeding, same
128
- * rationale as `extra_accounts`.
129
- */
130
121
  extra_actors: z.ZodOptional<z.ZodArray<z.ZodString>>;
131
122
  }, z.core.$strict>;
132
123
  readonly output: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"testing_reset_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/testing_reset_actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing_reset_actions.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/testing_reset_actions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fuzdev/fuz_app",
3
- "version": "0.136.0",
3
+ "version": "0.137.0",
4
4
  "description": "fullstack app library",
5
5
  "glyph": "🗝",
6
6
  "logo": "logo.svg",
@@ -34,7 +34,8 @@
34
34
  "@electric-sql/pglite": ">=0.4",
35
35
  "@fuzdev/blake3-wasm": ">=0.2.0",
36
36
  "@fuzdev/fuz_css": ">=0.65.0",
37
- "@fuzdev/fuz_util": ">=0.70.0",
37
+ "@fuzdev/fuz_schema": "^0.2.0",
38
+ "@fuzdev/fuz_util": ">=0.73.0",
38
39
  "@fuzdev/pglet-wasm": ">=0.1.1",
39
40
  "@hono/bun": ">=1",
40
41
  "@hono/deno": ">=1",
@@ -92,9 +93,10 @@
92
93
  "@fuzdev/blake3-wasm": "^0.2.0",
93
94
  "@fuzdev/fuz_code": "^0.52.1",
94
95
  "@fuzdev/fuz_css": "^0.66.1",
96
+ "@fuzdev/fuz_schema": "^0.2.0",
95
97
  "@fuzdev/fuz_ui": "^0.213.0",
96
- "@fuzdev/fuz_util": "^0.72.0",
97
- "@fuzdev/gro": "^0.216.0",
98
+ "@fuzdev/fuz_util": "^0.73.0",
99
+ "@fuzdev/gro": "^0.217.0",
98
100
  "@fuzdev/mdz": "^0.4.0",
99
101
  "@fuzdev/pglet-wasm": "^0.1.1",
100
102
  "@hono/bun": "^1.0.1",
@@ -130,7 +132,7 @@
130
132
  "vitest": "^5.0.0",
131
133
  "ws": "^8.20.1",
132
134
  "zimmerframe": "^1.1.4",
133
- "zod": "^4.3.6"
135
+ "zod": "^4.6.7"
134
136
  },
135
137
  "sideEffects": [
136
138
  "**/*.css"