@demiurgejs/core 0.2.0-beta.4 → 0.2.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.
Files changed (116) hide show
  1. package/README.md +23 -0
  2. package/bin/demiurge.mjs +17 -1
  3. package/dist/adapter/index.d.ts +1 -1
  4. package/dist/adapter/index.d.ts.map +1 -1
  5. package/dist/browser/file-router.d.ts +1 -1
  6. package/dist/chunks/{document-shell-CpJnFtSC.js → document-shell-9GPwtcTt.js} +2 -2
  7. package/dist/chunks/{document-shell-CpJnFtSC.js.map → document-shell-9GPwtcTt.js.map} +1 -1
  8. package/dist/chunks/{image-codec-BmzWnH6W.js → image-codec-Dh1POFhE.js} +2 -2
  9. package/dist/chunks/{image-codec-BmzWnH6W.js.map → image-codec-Dh1POFhE.js.map} +1 -1
  10. package/dist/chunks/{images-BQ80950B.js → images-CG7ZzayG.js} +2 -2
  11. package/dist/chunks/{images-BQ80950B.js.map → images-CG7ZzayG.js.map} +1 -1
  12. package/dist/chunks/{index-BVk9zWbe.js → index-0MNiR_wo.js} +4 -3
  13. package/dist/chunks/{index-BVk9zWbe.js.map → index-0MNiR_wo.js.map} +1 -1
  14. package/dist/chunks/plugin-BZauDxRY.js +2310 -0
  15. package/dist/chunks/plugin-BZauDxRY.js.map +1 -0
  16. package/dist/chunks/streaming-GYIsVTQH.js +560 -0
  17. package/dist/chunks/streaming-GYIsVTQH.js.map +1 -0
  18. package/dist/chunks/testing-CUwGj2ie.js +4751 -0
  19. package/dist/chunks/testing-CUwGj2ie.js.map +1 -0
  20. package/dist/chunks/{vite-DO70kZA6.js → vite-QoqrGl6f.js} +43 -43
  21. package/dist/chunks/vite-QoqrGl6f.js.map +1 -0
  22. package/dist/cli.d.ts +4 -2
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +224 -98
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config/index.js +2 -2
  27. package/dist/config/types.d.ts +11 -1
  28. package/dist/config/types.d.ts.map +1 -1
  29. package/dist/edge/index.js +3 -3
  30. package/dist/index.d.ts +3 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +161 -139
  33. package/dist/index.js.map +1 -1
  34. package/dist/inspect/command.d.ts +28 -0
  35. package/dist/inspect/command.d.ts.map +1 -0
  36. package/dist/inspect/index.d.ts +9 -0
  37. package/dist/inspect/index.d.ts.map +1 -0
  38. package/dist/inspect/redact.d.ts +35 -0
  39. package/dist/inspect/redact.d.ts.map +1 -0
  40. package/dist/inspect/report.d.ts +24 -0
  41. package/dist/inspect/report.d.ts.map +1 -0
  42. package/dist/inspect/types.d.ts +102 -0
  43. package/dist/inspect/types.d.ts.map +1 -0
  44. package/dist/internal/testing.js +12 -12
  45. package/dist/node/http.d.ts +5 -0
  46. package/dist/node/http.d.ts.map +1 -1
  47. package/dist/node/index.d.ts +1 -1
  48. package/dist/node/index.d.ts.map +1 -1
  49. package/dist/node/index.js +26 -24
  50. package/dist/node/index.js.map +1 -1
  51. package/dist/route/index.d.ts +1 -0
  52. package/dist/route/index.d.ts.map +1 -1
  53. package/dist/route/mutation.d.ts.map +1 -1
  54. package/dist/route/serialization.d.ts +24 -0
  55. package/dist/route/serialization.d.ts.map +1 -0
  56. package/dist/route/webhook.d.ts +6 -1
  57. package/dist/route/webhook.d.ts.map +1 -1
  58. package/dist/router/manifest.d.ts.map +1 -1
  59. package/dist/security/audit.d.ts +2 -1
  60. package/dist/security/audit.d.ts.map +1 -1
  61. package/dist/security/authorization.d.ts +36 -0
  62. package/dist/security/authorization.d.ts.map +1 -0
  63. package/dist/security/csrf.d.ts.map +1 -1
  64. package/dist/security/env-startup.d.ts +0 -2
  65. package/dist/security/env-startup.d.ts.map +1 -1
  66. package/dist/security/env.d.ts +27 -8
  67. package/dist/security/env.d.ts.map +1 -1
  68. package/dist/security/exceptions.d.ts +29 -0
  69. package/dist/security/exceptions.d.ts.map +1 -0
  70. package/dist/security/finding-codes.d.ts +56 -0
  71. package/dist/security/finding-codes.d.ts.map +1 -0
  72. package/dist/security/index.d.ts +5 -2
  73. package/dist/security/index.d.ts.map +1 -1
  74. package/dist/security/policy.d.ts +2 -5
  75. package/dist/security/policy.d.ts.map +1 -1
  76. package/dist/security/report.d.ts +2 -1
  77. package/dist/security/report.d.ts.map +1 -1
  78. package/dist/security/request.d.ts +1 -0
  79. package/dist/security/request.d.ts.map +1 -1
  80. package/dist/security/types.d.ts +138 -5
  81. package/dist/security/types.d.ts.map +1 -1
  82. package/dist/security/upload.d.ts +3 -3
  83. package/dist/security/upload.d.ts.map +1 -1
  84. package/dist/security/verification.d.ts.map +1 -1
  85. package/dist/server/request-handler.d.ts +3 -2
  86. package/dist/server/request-handler.d.ts.map +1 -1
  87. package/dist/server-only/browser.d.ts +2 -0
  88. package/dist/server-only/browser.d.ts.map +1 -0
  89. package/dist/server-only/browser.js +4 -0
  90. package/dist/server-only/browser.js.map +1 -0
  91. package/dist/server-only/index.d.ts +2 -0
  92. package/dist/server-only/index.d.ts.map +1 -0
  93. package/dist/server-only/index.js +2 -0
  94. package/dist/server-only/index.js.map +1 -0
  95. package/dist/static/index.js +4 -4
  96. package/dist/vite/index.d.ts +9 -4
  97. package/dist/vite/index.d.ts.map +1 -1
  98. package/dist/vite/index.js +28 -21
  99. package/dist/vite/plugin.d.ts +18 -2
  100. package/dist/vite/plugin.d.ts.map +1 -1
  101. package/dist/vite/policy-verification.d.ts +33 -2
  102. package/dist/vite/policy-verification.d.ts.map +1 -1
  103. package/dist/vite/route-audit.d.ts +14 -2
  104. package/dist/vite/route-audit.d.ts.map +1 -1
  105. package/dist/vite/server-only-boundary.d.ts +8 -0
  106. package/dist/vite/server-only-boundary.d.ts.map +1 -0
  107. package/package.json +6 -1
  108. package/dist/chunks/env-startup-DOBYWlZD.js +0 -257
  109. package/dist/chunks/env-startup-DOBYWlZD.js.map +0 -1
  110. package/dist/chunks/plugin-BQgMiHxa.js +0 -1827
  111. package/dist/chunks/plugin-BQgMiHxa.js.map +0 -1
  112. package/dist/chunks/streaming-BEbPN7Uk.js +0 -469
  113. package/dist/chunks/streaming-BEbPN7Uk.js.map +0 -1
  114. package/dist/chunks/testing-DueXbMo4.js +0 -4167
  115. package/dist/chunks/testing-DueXbMo4.js.map +0 -1
  116. package/dist/chunks/vite-DO70kZA6.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,15 +1,14 @@
1
1
  import { jsx as Et } from "react/jsx-runtime";
2
2
  import { createContext as We, useCallback as At, createElement as R, useContext as Je, useRef as k, useMemo as ae, useActionState as nr, useId as or, useLayoutEffect as ne, useState as U, useEffect as Y, Fragment as Te, Component as ir } from "react";
3
- import { g as ar, h as at, i as sr, H as cr, j as st, k as ur, l as lr, m as Me } from "./chunks/index-BVk9zWbe.js";
4
- import { F as oi, n as ii, o as ai, q as si, t as ci, d as ui, u as li, v as di, w as fi, x as hi, y as pi, z as mi, p as yi, a as gi, A as wi, B as vi } from "./chunks/index-BVk9zWbe.js";
5
- import { E as ct, C as dr, F as Ge, i as ee, G as fr, R as hr, H as Ye, I as Ze, J as Qe, K as pr, L as xt, N as mr, l as Xe, D as kt, O as Be, P as yr, r as gr, p as Rt, Q as wr, S as ut, T as vr, U as br, V as Sr, W as Er, X as Ar, Y as xr, Z as kr, _ as Rr } from "./chunks/testing-DueXbMo4.js";
6
- import { $ as Si, a0 as Ei, a1 as Ai, a2 as xi, a3 as ki, a4 as Ri, a5 as Ti, a6 as Mi, a7 as Ci, a8 as $i, a9 as Ni, aa as Li, ab as Ii, A as Di, ac as Pi, d as Oi, c as _i, z as Fi, k as Ui, j as Bi, ad as Hi, e as zi, ae as ji, af as Vi, ag as qi, ah as Ki, ai as Wi, aj as Ji, ak as Gi, al as Yi, am as Zi, h as Qi, an as Xi, ao as ea, ap as ta, aq as ra, ar as na, as as oa, g as ia, at as aa, au as sa, m as ca, av as ua, aw as la, ax as da, ay as fa, az as ha, aA as pa, aB as ma, aC as ya, aD as ga, s as wa, aE as va, B as ba, aF as Sa, aG as Ea, aH as Aa, aI as xa, aJ as ka, aK as Ra, aL as Ta, v as Ma, n as Ca, a as $a } from "./chunks/testing-DueXbMo4.js";
3
+ import { g as ar, h as at, i as sr, H as cr, j as st, k as ur, l as lr, m as Me } from "./chunks/index-0MNiR_wo.js";
4
+ import { F as oi, n as ii, o as ai, q as si, t as ci, d as ui, u as li, v as di, w as fi, x as hi, y as pi, z as mi, p as yi, a as gi, A as wi, B as vi } from "./chunks/index-0MNiR_wo.js";
5
+ import { O as ct, J as dr, P as Ge, i as ee, Q as fr, R as hr, s as Ye, S as Ze, T as Xe, U as pr, V as xt, W as mr, l as Qe, L as kt, X as Be, Y as yr, r as gr, z as Rt, Z as wr, _ as ut, $ as vr, a0 as br, a1 as Sr, a2 as Er, a3 as Ar, a4 as xr, a5 as kr, a6 as Rr } from "./chunks/testing-CUwGj2ie.js";
6
+ import { a7 as Si, D as Ei, a8 as Ai, a9 as xi, aa as ki, ab as Ri, ac as Ti, ad as Mi, ae as Ci, af as $i, ag as Ni, ah as Li, ai as Ii, aj as Di, ak as Pi, al as Oi, am as _i, an as Fi, H as Ui, ao as Bi, e as Hi, c as zi, G as ji, n as Vi, k as qi, ap as Ki, aq as Wi, ar as Ji, f as Gi, as as Yi, at as Zi, au as Xi, av as Qi, aw as ea, ax as ta, ay as ra, az as na, aA as oa, aB as ia, aC as aa, q as sa, aD as ca, aE as ua, h as la, aF as da, aG as fa, x as ha, aH as pa, aI as ma, aJ as ya, aK as ga, j as wa, aL as va, aM as ba, aN as Sa, m as Ea, aO as Aa, aP as xa, aQ as ka, aR as Ra, aS as Ta, aT as Ma, aU as Ca, aV as $a, aW as Na, p as La, aX as Ia, u as Da, aY as Pa, aZ as Oa, a_ as _a, w as Fa, a$ as Ua, I as Ba, K as Ha, b0 as za, b1 as ja, b2 as Va, b3 as qa, b4 as Ka, b5 as Wa, b6 as Ja, b7 as Ga, N as Ya, v as Za, b8 as Xa, o as Qa, b as es } from "./chunks/testing-CUwGj2ie.js";
7
7
  import { I as Tr } from "./chunks/static-files-ehaD1kE7.js";
8
- import { D as La, c as Ia, i as Da } from "./chunks/static-files-ehaD1kE7.js";
9
- import { k as Mr } from "./chunks/images-BQ80950B.js";
10
- import { d as Oa, l as _a, m as Fa, n as Ua, f as Ba, o as Ha, q as za, a as ja, s as Va, t as qa, b as Ka, h as Wa, j as Ja, r as Ga } from "./chunks/images-BQ80950B.js";
11
- import { E as Za, d as Qa, a as Xa, e as es, r as ts, s as rs, b as ns, c as os, v as is } from "./chunks/env-startup-DOBYWlZD.js";
12
- import { c as ss, s as cs } from "./chunks/session-store-ChModVcq.js";
8
+ import { D as rs, c as ns, i as os } from "./chunks/static-files-ehaD1kE7.js";
9
+ import { k as Mr } from "./chunks/images-CG7ZzayG.js";
10
+ import { d as as, l as ss, m as cs, n as us, f as ls, o as ds, q as fs, a as hs, s as ps, t as ms, b as ys, h as gs, j as ws, r as vs } from "./chunks/images-CG7ZzayG.js";
11
+ import { c as Ss, s as Es } from "./chunks/session-store-ChModVcq.js";
13
12
  import "react-dom/server";
14
13
  function xo(e) {
15
14
  return {
@@ -79,9 +78,9 @@ function $r(e) {
79
78
  return Dr(t, r), [
80
79
  `<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${r}" viewBox="0 0 ${t} ${r}" role="img" aria-label="${j(i)}">`,
81
80
  ` <rect width="100%" height="100%" fill="${j(n)}" />`,
82
- a ? ` <text x="72" y="96" fill="${j(o)}" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="32" font-weight="700">${Q(a)}</text>` : null,
83
- ` <text x="72" y="${s ? 300 : 340}" fill="${j(o)}" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="76" font-weight="800">${Q(i)}</text>`,
84
- s ? ` <text x="72" y="392" fill="${j(o)}" fill-opacity="0.78" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="38" font-weight="500">${Q(s)}</text>` : null,
81
+ a ? ` <text x="72" y="96" fill="${j(o)}" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="32" font-weight="700">${X(a)}</text>` : null,
82
+ ` <text x="72" y="${s ? 300 : 340}" fill="${j(o)}" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="76" font-weight="800">${X(i)}</text>`,
83
+ s ? ` <text x="72" y="392" fill="${j(o)}" fill-opacity="0.78" font-family="Inter, ui-sans-serif, system-ui, sans-serif" font-size="38" font-weight="500">${X(s)}</text>` : null,
85
84
  "</svg>"
86
85
  ].filter((u) => !!u).join(`
87
86
  `);
@@ -97,8 +96,8 @@ function Co(e) {
97
96
  function Nr(e) {
98
97
  return [
99
98
  " <url>",
100
- ` <loc>${Q(e.url)}</loc>`,
101
- e.lastModified ? ` <lastmod>${Q(Lr(e.lastModified))}</lastmod>` : null,
99
+ ` <loc>${X(e.url)}</loc>`,
100
+ e.lastModified ? ` <lastmod>${X(Lr(e.lastModified))}</lastmod>` : null,
102
101
  e.changeFrequency ? ` <changefreq>${e.changeFrequency}</changefreq>` : null,
103
102
  e.priority !== void 0 ? ` <priority>${Ir(e.priority)}</priority>` : null,
104
103
  ...(e.alternates ?? []).map(
@@ -119,11 +118,11 @@ function Ir(e) {
119
118
  function de(e) {
120
119
  return e === void 0 ? [] : Array.isArray(e) ? e : [e];
121
120
  }
122
- function Q(e) {
121
+ function X(e) {
123
122
  return e.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
124
123
  }
125
124
  function j(e) {
126
- return Q(e).replaceAll('"', "&quot;").replaceAll("'", "&apos;");
125
+ return X(e).replaceAll('"', "&quot;").replaceAll("'", "&apos;");
127
126
  }
128
127
  function Ce(e, t) {
129
128
  return e.length > t ? `${e.slice(0, t - 3)}...` : e;
@@ -232,8 +231,16 @@ const Do = {
232
231
  status: 401
233
232
  });
234
233
  },
234
+ // ADR 0018: a framework helper that declares an exception names itself
235
+ // as the source, so the audit separates it from an application
236
+ // declaration.
235
237
  security: {
236
- csrf: !1
238
+ csrf: {
239
+ origin: "framework",
240
+ reason: "A webhook sender holds no browser session, so an HMAC signature replaces the CSRF check.",
241
+ source: "webhook.hmac()",
242
+ value: !1
243
+ }
237
244
  }
238
245
  };
239
246
  }
@@ -391,7 +398,7 @@ function Mt(e, t) {
391
398
  }, A = (h) => (a = Le(h), u = !1, d = !0, Le(h));
392
399
  return {
393
400
  async commit() {
394
- return u ? [Qr(e.cookie)] : !a || !d ? [] : [Se({
401
+ return u ? [Xr(e.cookie)] : !a || !d ? [] : [Se({
395
402
  ...e.cookie,
396
403
  expires: new Date(a.expiresAt),
397
404
  value: await t.encode(a)
@@ -460,7 +467,7 @@ function Ct(e) {
460
467
  idleExpirationMs: n,
461
468
  keys: t,
462
469
  now: e.now ?? Date.now,
463
- randomBytes: e.randomBytes ?? Xr,
470
+ randomBytes: e.randomBytes ?? Qr,
464
471
  renewal: e.renewal ?? !0
465
472
  };
466
473
  }
@@ -517,14 +524,14 @@ function Jr(e) {
517
524
  "HMAC",
518
525
  a,
519
526
  I(s),
520
- I(X(`s1.${o.id}.${r[2]}`))
527
+ I(Q(`s1.${o.id}.${r[2]}`))
521
528
  ))
522
529
  return;
523
530
  const d = Nt(i);
524
531
  return d ? { currentKey: n === 0, record: d } : void 0;
525
532
  },
526
533
  async encode(t) {
527
- const r = e[0], n = se(X(JSON.stringify(t))), o = `s1.${r.id}.${n}`, i = await crypto.subtle.importKey(
534
+ const r = e[0], n = se(Q(JSON.stringify(t))), o = `s1.${r.id}.${n}`, i = await crypto.subtle.importKey(
528
535
  "raw",
529
536
  I(r.value),
530
537
  { hash: "SHA-256", name: "HMAC" },
@@ -533,7 +540,7 @@ function Jr(e) {
533
540
  ), s = await crypto.subtle.sign(
534
541
  "HMAC",
535
542
  i,
536
- I(X(o))
543
+ I(Q(o))
537
544
  );
538
545
  return `${o}.${se(new Uint8Array(s))}`;
539
546
  }
@@ -550,7 +557,7 @@ function Gr(e, t) {
550
557
  try {
551
558
  const u = await ht(i), d = await crypto.subtle.decrypt(
552
559
  {
553
- additionalData: I(X(`e1.${i.id}`)),
560
+ additionalData: I(Q(`e1.${i.id}`)),
554
561
  iv: I(s),
555
562
  name: "AES-GCM"
556
563
  },
@@ -570,12 +577,12 @@ function Gr(e, t) {
570
577
  );
571
578
  const i = await ht(n), s = await crypto.subtle.encrypt(
572
579
  {
573
- additionalData: I(X(`e1.${n.id}`)),
580
+ additionalData: I(Q(`e1.${n.id}`)),
574
581
  iv: I(o),
575
582
  name: "AES-GCM"
576
583
  },
577
584
  i,
578
- I(X(JSON.stringify(r)))
585
+ I(Q(JSON.stringify(r)))
579
586
  );
580
587
  return `e1.${n.id}.${se(o)}.${se(new Uint8Array(s))}`;
581
588
  }
@@ -610,7 +617,7 @@ function ve(e) {
610
617
  function Zr(e, t) {
611
618
  return e.expiresAt <= t || e.idleExpiresAt !== void 0 && e.idleExpiresAt <= t;
612
619
  }
613
- function Qr(e) {
620
+ function Xr(e) {
614
621
  return Se({
615
622
  ...e,
616
623
  expires: /* @__PURE__ */ new Date(0),
@@ -626,7 +633,7 @@ function pt(e) {
626
633
  );
627
634
  return se(t);
628
635
  }
629
- function Xr(e) {
636
+ function Qr(e) {
630
637
  return crypto.getRandomValues(new Uint8Array(e));
631
638
  }
632
639
  function Ne(e) {
@@ -639,7 +646,7 @@ function Ne(e) {
639
646
  function Le(e) {
640
647
  return structuredClone(e);
641
648
  }
642
- function X(e) {
649
+ function Q(e) {
643
650
  return new TextEncoder().encode(e);
644
651
  }
645
652
  function I(e) {
@@ -1133,7 +1140,7 @@ function An(e) {
1133
1140
  promise: void 0
1134
1141
  };
1135
1142
  ze.add(o);
1136
- const s = Qe({
1143
+ const s = Xe({
1137
1144
  to: e.route,
1138
1145
  ...e.path === void 0 ? {} : { path: e.path }
1139
1146
  }), a = xn({
@@ -1161,7 +1168,7 @@ function An(e) {
1161
1168
  };
1162
1169
  }
1163
1170
  function jo(e, t) {
1164
- const r = Qe({
1171
+ const r = Xe({
1165
1172
  to: e.route,
1166
1173
  ...e.path === void 0 ? {} : { path: e.path }
1167
1174
  }), n = ae(
@@ -1261,7 +1268,7 @@ function Mn(e) {
1261
1268
  return function() {
1262
1269
  const [o, i] = U(() => F()), [s, a] = U(e.locale), u = Be(o.pathname, e.locales), d = k(o), [v, A] = U(
1263
1270
  () => e.initialMatch ?? { status: "loading" }
1264
- ), h = k(!!e.initialMatch), p = k(!0), E = k(0), g = k(void 0), b = k("navigation"), m = k(/* @__PURE__ */ new Map()), T = k(/* @__PURE__ */ new Map()), [H, w] = U(0), [$, C] = U(0), V = k(/* @__PURE__ */ new Set()), [Xt, rt] = U(0), O = k("push"), [ue, Ae] = U(null), [q, xe] = U(null), nt = k(null);
1271
+ ), h = k(!!e.initialMatch), p = k(!0), E = k(0), g = k(void 0), b = k("navigation"), m = k(/* @__PURE__ */ new Map()), T = k(/* @__PURE__ */ new Map()), [H, w] = U(0), [$, C] = U(0), V = k(/* @__PURE__ */ new Set()), [Qt, rt] = U(0), O = k("push"), [ue, Ae] = U(null), [q, xe] = U(null), nt = k(null);
1265
1272
  nt.current = ue;
1266
1273
  const K = k(void 0), ke = k(void 0), P = k(void 0), W = k(!1), ot = k(/* @__PURE__ */ new Map()), J = k([]), er = k(0);
1267
1274
  function G() {
@@ -1573,7 +1580,7 @@ function Mn(e) {
1573
1580
  NotFound: e.notFound,
1574
1581
  match: v,
1575
1582
  pendingCommit: ue,
1576
- resolvedRouteVersion: Xt,
1583
+ resolvedRouteVersion: Qt,
1577
1584
  onCommitted: (c) => {
1578
1585
  nt.current === c && xe(c);
1579
1586
  },
@@ -1662,7 +1669,7 @@ function Ln(e, t) {
1662
1669
  target: h,
1663
1670
  to: p,
1664
1671
  ...E
1665
- } = e, g = Qe(e), b = s, m = r.locales && (b ?? r.locale) ? Xe(
1672
+ } = e, g = Xe(e), b = s, m = r.locales && (b ?? r.locale) ? Qe(
1666
1673
  g,
1667
1674
  b ?? r.locale,
1668
1675
  r.locales,
@@ -1704,7 +1711,7 @@ function Ko(e) {
1704
1711
  o
1705
1712
  ));
1706
1713
  }
1707
- const { submissionKey: A, ...h } = e, p = a ? d ? a : u?.url : h.action, E = typeof p == "string" && t.locales && (e.locale ?? t.locale) ? Xe(p, e.locale ?? t.locale, t.locales, typeof window > "u" ? "http://demiurge.local" : window.location.href) : p;
1714
+ const { submissionKey: A, ...h } = e, p = a ? d ? a : u?.url : h.action, E = typeof p == "string" && t.locales && (e.locale ?? t.locale) ? Qe(p, e.locale ?? t.locale, t.locales, typeof window > "u" ? "http://demiurge.local" : window.location.href) : p;
1708
1715
  return R(
1709
1716
  Bt.Provider,
1710
1717
  {
@@ -1726,7 +1733,7 @@ function Ko(e) {
1726
1733
  );
1727
1734
  }
1728
1735
  function Wo(e) {
1729
- const t = Ee(), r = Ht(), n = _t(e.formAction), o = r && t.navigation === "server", i = t.locales && (e.locale ?? t.locale) ? Xe(n.url, e.locale ?? t.locale, t.locales, typeof window > "u" ? "http://demiurge.local" : window.location.href) : n.url;
1736
+ const t = Ee(), r = Ht(), n = _t(e.formAction), o = r && t.navigation === "server", i = t.locales && (e.locale ?? t.locale) ? Qe(n.url, e.locale ?? t.locale, t.locales, typeof window > "u" ? "http://demiurge.local" : window.location.href) : n.url;
1730
1737
  return R("button", {
1731
1738
  ...e,
1732
1739
  locale: void 0,
@@ -2270,14 +2277,14 @@ const Yn = [
2270
2277
  "INP",
2271
2278
  "LCP",
2272
2279
  "TTFB"
2273
- ], Zn = new Set(Yn), Qn = /* @__PURE__ */ new Set([
2280
+ ], Zn = new Set(Yn), Xn = /* @__PURE__ */ new Set([
2274
2281
  "back-forward",
2275
2282
  "back-forward-cache",
2276
2283
  "navigate",
2277
2284
  "prerender",
2278
2285
  "reload",
2279
2286
  "restore"
2280
- ]), Xn = /* @__PURE__ */ new Set([
2287
+ ]), Qn = /* @__PURE__ */ new Set([
2281
2288
  "good",
2282
2289
  "needs-improvement",
2283
2290
  "poor"
@@ -2286,10 +2293,10 @@ function eo(e) {
2286
2293
  return typeof e == "string" && Zn.has(e);
2287
2294
  }
2288
2295
  function to(e) {
2289
- return typeof e == "string" && Qn.has(e);
2296
+ return typeof e == "string" && Xn.has(e);
2290
2297
  }
2291
2298
  function ro(e) {
2292
- return typeof e == "string" && Xn.has(e);
2299
+ return typeof e == "string" && Qn.has(e);
2293
2300
  }
2294
2301
  const no = {
2295
2302
  CLS: { good: 0.1, poor: 0.25 },
@@ -2304,7 +2311,7 @@ function oo(e, t) {
2304
2311
  return t <= r.good ? "good" : t > r.poor ? "poor" : "needs-improvement";
2305
2312
  }
2306
2313
  const Zt = 32;
2307
- function Qo(e) {
2314
+ function Xo(e) {
2308
2315
  const t = so(e.endpoint), r = co(e.metrics), n = uo(e.sampleRate);
2309
2316
  return {
2310
2317
  endpoint: t.url,
@@ -2314,7 +2321,7 @@ function Qo(e) {
2314
2321
  sampleRate: n
2315
2322
  };
2316
2323
  }
2317
- function Xo(...e) {
2324
+ function Qo(...e) {
2318
2325
  const t = /* @__PURE__ */ new Set();
2319
2326
  for (const r of e)
2320
2327
  for (const n of r.needs.connect ?? [])
@@ -2429,7 +2436,7 @@ function po(e, t = {}) {
2429
2436
  w.persisted && (u = "back-forward-cache", a.clear(), d = 0, v = 0, A = 0, h = 0, p = void 0, E = void 0, o.has("FCP") && b("FCP", performance.now() - w.timeStamp));
2430
2437
  };
2431
2438
  if (o.has("TTFB")) {
2432
- const w = Qt();
2439
+ const w = Xt();
2433
2440
  w && w.responseStart > 0 && b("TTFB", w.responseStart);
2434
2441
  }
2435
2442
  return o.has("FCP") && ye(i, { buffered: !0, type: "paint" }, (w) => {
@@ -2496,31 +2503,33 @@ function ye(e, t, r) {
2496
2503
  return;
2497
2504
  }
2498
2505
  }
2499
- function Qt() {
2506
+ function Xt() {
2500
2507
  if (!(typeof performance > "u"))
2501
2508
  return performance.getEntriesByType("navigation")[0];
2502
2509
  }
2503
2510
  function yo() {
2504
- const e = Qt();
2511
+ const e = Xt();
2505
2512
  return e?.type === "back_forward" ? "back-forward" : e?.type === "reload" || e?.type === "prerender" ? e.type : "navigate";
2506
2513
  }
2507
2514
  export {
2508
2515
  Ue as COLLECTED_WEB_VITAL_NAMES,
2509
2516
  Si as CacheNotFoundError,
2510
- La as DEFAULT_CONTENT_TYPE,
2511
- Za as EnvValidationError,
2517
+ rs as DEFAULT_CONTENT_TYPE,
2518
+ Ei as DEFAULT_MAX_BODY_SIZE,
2519
+ Ai as EnvValidationError,
2512
2520
  oi as FRAMEWORK_TRUSTED_TYPES_POLICY,
2513
2521
  Ko as Form,
2514
2522
  Ar as HTTP_ERROR_STATUSES,
2515
- Ei as HttpError,
2523
+ xi as HttpError,
2516
2524
  Go as Image,
2517
2525
  qo as Link,
2518
2526
  mr as MUTATION_REQUEST_HEADER,
2519
2527
  pr as MUTATION_REQUEST_VALUE,
2520
2528
  xt as MUTATION_RESPONSE_MEDIA_TYPE,
2521
2529
  Wo as MutationSubmit,
2522
- Ai as MutationValidationError,
2530
+ ki as MutationValidationError,
2523
2531
  zo as RouteFocusBoundary,
2532
+ Ri as RouteSerializationError,
2524
2533
  ii as Script,
2525
2534
  rn as SessionStoreConflictError,
2526
2535
  mt as SessionStoreUnavailableError,
@@ -2529,156 +2538,169 @@ export {
2529
2538
  ti as WebVitals,
2530
2539
  Yo as analytics,
2531
2540
  Be as applicationPathname,
2532
- xi as applyFetchMetadataVary,
2533
- ki as applyLocalizedMetadata,
2541
+ Ti as applyFetchMetadataVary,
2542
+ Mi as applyLocalizedMetadata,
2534
2543
  ai as assertAdapterCapabilities,
2535
- Ri as auditScriptDependencies,
2536
- Ti as cacheNotFound,
2544
+ Ci as attachExceptionSource,
2545
+ $i as auditScriptDependencies,
2546
+ Ni as authorizeRoute,
2547
+ Li as cacheNotFound,
2537
2548
  si as checkAdapterCapabilities,
2538
- Mi as checkFetchMetadata,
2549
+ Ii as checkFetchMetadata,
2539
2550
  wn as checkWebSocketOrigin,
2540
2551
  po as collectWebVitals,
2541
- Ia as contentTypeForExtension,
2542
- Ci as createCache,
2543
- $i as createCorsHeaders,
2544
- Ni as createCsrfCookie,
2545
- Li as createCsrfToken,
2552
+ ns as contentTypeForExtension,
2553
+ Di as createCache,
2554
+ Pi as createCorsHeaders,
2555
+ Oi as createCsrfCookie,
2556
+ _i as createCsrfToken,
2546
2557
  _o as createEncryptedCookieSession,
2547
2558
  Mn as createFileRouter,
2548
2559
  ci as createFrameworkScriptUrl,
2549
- Ii as createInvalidation,
2550
- Di as createMemoryCache,
2551
- Pi as createMemoryCacheStore,
2560
+ Fi as createInvalidation,
2561
+ Ui as createMemoryCache,
2562
+ Bi as createMemoryCacheStore,
2552
2563
  $o as createMemoryIdempotencyStore,
2553
- Oi as createMemoryRateLimitStore,
2554
- ss as createMemorySessionStore,
2564
+ Hi as createMemoryRateLimitStore,
2565
+ Ss as createMemorySessionStore,
2555
2566
  An as createMutationAction,
2556
- _i as createRequestHandler,
2567
+ zi as createRequestHandler,
2557
2568
  Se as createSecureCookie,
2558
- Fi as createSecurityAudit,
2559
- Ui as createSecurityHeaders,
2569
+ ji as createSecurityAudit,
2570
+ Vi as createSecurityHeaders,
2560
2571
  Uo as createSecurityReportHandler,
2561
2572
  Fo as createSessionManager,
2562
2573
  Oo as createSignedCookieSession,
2563
- Bi as cspHash,
2564
- Hi as cspNonce,
2565
- Oa as defaultFontPath,
2574
+ qi as cspHash,
2575
+ Ki as cspNonce,
2576
+ as as defaultFontPath,
2566
2577
  ui as defineAdapter,
2567
- Qa as defineEnvSchema,
2568
- _a as defineFonts,
2569
- Fa as defineImages,
2578
+ Wi as defineAuthorization,
2579
+ Ji as defineEnvSchema,
2580
+ ss as defineFonts,
2581
+ cs as defineImages,
2570
2582
  Zo as defineInstrumentation,
2571
2583
  li as defineLinks,
2572
- zi as defineLocales,
2573
- ji as defineMetadata,
2584
+ Gi as defineLocales,
2585
+ Yi as defineMetadata,
2574
2586
  Io as defineMiddleware,
2575
2587
  To as defineOgImage,
2576
2588
  Ro as defineRobots,
2577
- Vi as defineRoutePolicy,
2589
+ Zi as defineRoutePolicy,
2578
2590
  di as defineScripts,
2579
- qi as defineSecurityPolicy,
2591
+ Xi as defineSecurityPolicy,
2580
2592
  xo as defineSitemap,
2581
- Ki as defineTags,
2582
- Qo as defineWebVitals,
2583
- Xa as deserializeEnvSchema,
2584
- Wi as enforceAllowedMethods,
2585
- Ji as enforceCsrfProtection,
2586
- Gi as enforceFetchMetadataPolicy,
2587
- Yi as enforceRateLimit,
2588
- Zi as enforceRequestSecurity,
2593
+ Qi as defineTags,
2594
+ Xo as defineWebVitals,
2595
+ ea as deserializeEnvSchema,
2596
+ ta as enforceAllowedMethods,
2597
+ ra as enforceCsrfProtection,
2598
+ na as enforceFetchMetadataPolicy,
2599
+ oa as enforceRateLimit,
2600
+ ia as enforceRequestSecurity,
2589
2601
  Ho as enforceWebSocketOrigin,
2590
- es as env,
2591
- Ua as font,
2592
- Ba as fontAssetFileName,
2593
- Ha as fontAssetUrl,
2594
- za as fontLinks,
2595
- ja as fontMediaType,
2596
- Va as fontPreloadLinks,
2597
- qa as fontSources,
2598
- Ka as fontStylesheetUrl,
2602
+ aa as env,
2603
+ us as font,
2604
+ ls as fontAssetFileName,
2605
+ ds as fontAssetUrl,
2606
+ fs as fontLinks,
2607
+ hs as fontMediaType,
2608
+ ps as fontPreloadLinks,
2609
+ ms as fontSources,
2610
+ ys as fontStylesheetUrl,
2611
+ sa as getBodySizeException,
2612
+ ca as getCspException,
2613
+ ua as getCsrfException,
2599
2614
  fi as getRequestClientAddress,
2600
2615
  hi as getScriptWorker,
2601
- Qi as handleRequestWithManifest,
2602
- Qe as href,
2603
- Xi as html,
2616
+ la as handleRequestWithManifest,
2617
+ Xe as href,
2618
+ da as html,
2604
2619
  xr as httpError,
2605
2620
  Vo as hydrateFileRouter,
2606
- Wa as isAllowedImageSource,
2607
- ea as isCacheNotFoundError,
2608
- Da as isContentHashedFileName,
2621
+ gs as isAllowedImageSource,
2622
+ fa as isCacheNotFoundError,
2623
+ os as isContentHashedFileName,
2609
2624
  Rr as isHttpError,
2610
- ta as issueCsrfToken,
2611
- ra as json,
2612
- na as jsonl,
2613
- oa as link,
2614
- ia as localeDirection,
2615
- Xe as localizeHref,
2616
- aa as mergeRoutePolicies,
2617
- sa as mergeRouteSecurityPolicies,
2618
- ca as mergeSecurityPolicies,
2619
- ua as meta,
2625
+ ha as isSecurityException,
2626
+ pa as issueCsrfToken,
2627
+ ma as json,
2628
+ ya as jsonl,
2629
+ ga as link,
2630
+ wa as localeDirection,
2631
+ Qe as localizeHref,
2632
+ va as mergeRouteAccess,
2633
+ ba as mergeRoutePolicies,
2634
+ Sa as mergeRouteSecurityPolicies,
2635
+ Ea as mergeSecurityPolicies,
2636
+ Aa as meta,
2620
2637
  pi as modulePreload,
2621
- la as mutation,
2622
- da as mutationInput,
2623
- fa as notFound,
2638
+ xa as mutation,
2639
+ ka as mutationInput,
2640
+ Ra as notFound,
2624
2641
  Lo as page,
2625
2642
  Ye as parseBodySize,
2626
2643
  ct as parseCacheDuration,
2627
2644
  Ge as parseCookieHeader,
2628
- Ja as parseImageOptimizerRequest,
2629
- ha as parseRateLimitWindow,
2645
+ ws as parseImageOptimizerRequest,
2646
+ Ta as parseRateLimitWindow,
2630
2647
  io as parseWebVitalsBeacon,
2648
+ Ma as permitsRequest,
2631
2649
  Mr as planImageTransform,
2632
2650
  mi as preconnect,
2633
2651
  yi as preload,
2634
- pa as query,
2635
- ts as readEnv,
2652
+ Ca as query,
2653
+ $a as readEnv,
2636
2654
  Po as readSecureCookie,
2637
2655
  ei as readWebVitalsBeacon,
2638
- ma as redirect,
2639
- Ga as renderFontFaceCss,
2656
+ Na as redirect,
2657
+ vs as renderFontFaceCss,
2640
2658
  Co as renderOgImageResponse,
2641
2659
  $r as renderOgImageSvg,
2642
2660
  gi as renderPageResponse,
2643
2661
  Mo as renderRobots,
2644
2662
  ko as renderSitemap,
2663
+ La as resolveCsp,
2664
+ Ia as resolveCsrf,
2645
2665
  wi as resolveLinks,
2646
2666
  gr as resolveLocale,
2647
- ya as resolveMetadata,
2667
+ Da as resolveMaxBodySize,
2668
+ Pa as resolveMetadata,
2669
+ Oa as resolveRouteAccess,
2648
2670
  vi as resolveScripts,
2649
- ga as response,
2671
+ _a as response,
2650
2672
  No as runIdempotentMutation,
2651
2673
  Me as script,
2652
2674
  ce as secureCookieName,
2653
- wa as security,
2675
+ Fa as security,
2654
2676
  mo as sendWebVitalsBeacon,
2655
2677
  dr as serializeCacheKey,
2656
- va as serializeCacheNamespace,
2657
- ba as serializeCacheTag,
2658
- rs as serializeEnvSchema,
2659
- cs as serializeSessionNamespace,
2660
- Sa as serverTiming,
2661
- Ea as sse,
2678
+ Ua as serializeCacheNamespace,
2679
+ Ba as serializeCacheTag,
2680
+ Ha as serializeEnvSchema,
2681
+ Es as serializeSessionNamespace,
2682
+ za as serverTiming,
2683
+ ja as sse,
2662
2684
  st as startDeferredScripts,
2663
- Aa as stream,
2664
- xa as structuredData,
2665
- ka as tag,
2666
- Ra as text,
2667
- Ta as toResponse,
2668
- ns as unstable_resetEnvironment,
2669
- os as unstable_startEnvironment,
2685
+ Va as stream,
2686
+ qa as structuredData,
2687
+ Ka as tag,
2688
+ Wa as text,
2689
+ Ja as toResponse,
2690
+ Ga as unstable_resetEnvironment,
2691
+ Ya as unstable_startEnvironment,
2670
2692
  Jo as useFormNavigation,
2671
2693
  jo as useMutationAction,
2672
2694
  In as useNavigation,
2673
2695
  Sn as useRouteFocusBoundary,
2674
- Ma as validateCorsPolicy,
2675
- is as validateEnv,
2676
- Ca as validateRateLimitPolicy,
2677
- $a as validateRouteModules,
2696
+ Za as validateCorsPolicy,
2697
+ Xa as validateEnv,
2698
+ Qa as validateRateLimitPolicy,
2699
+ es as validateRouteModules,
2678
2700
  Vr as validateSecureCookie,
2679
2701
  Bo as validateUploads,
2680
2702
  oo as webVitalRating,
2681
- Xo as webVitalsPolicy,
2703
+ Qo as webVitalsPolicy,
2682
2704
  Do as webhook
2683
2705
  };
2684
2706
  //# sourceMappingURL=index.js.map