theokit 0.66.1 → 0.68.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 (123) hide show
  1. package/dist/{actions-virtual-module-RMEAW2NX.js → actions-virtual-module-3OPYLD76.js} +4 -4
  2. package/dist/{actions-virtual-module-LVWXLDCT.js → actions-virtual-module-SE44BKR4.js} +6 -6
  3. package/dist/adapters/security-headers.d.ts +2 -2
  4. package/dist/adapters/security-headers.js +1 -1
  5. package/dist/{agent-OCQA4WXF.js → agent-UBDDP2L5.js} +2 -2
  6. package/dist/{app-typed-client-J7NWKMS7.js → app-typed-client-BE3PV3JY.js} +4 -4
  7. package/dist/{app-typed-client-Z4MF5HCB.js → app-typed-client-RAFEBA7S.js} +6 -6
  8. package/dist/assets-map-BMQASQHW.js +70 -0
  9. package/dist/assets-map-BMQASQHW.js.map +1 -0
  10. package/dist/assets-map-CV2YZ3MY.js +69 -0
  11. package/dist/assets-map-CV2YZ3MY.js.map +1 -0
  12. package/dist/{aws-lambda-AN6CEBXO.js → aws-lambda-R76PWR27.js} +3 -3
  13. package/dist/boot/index.d.ts +4 -5
  14. package/dist/boot/index.js +1 -1
  15. package/dist/boot/index.js.map +1 -1
  16. package/dist/{build-JQSCQ3SQ.js → build-U4HVYY6F.js} +6 -6
  17. package/dist/{bun-3FFL7CS4.js → bun-NPBIAWSU.js} +3 -3
  18. package/dist/chunk-46FM5AFZ.js +44 -0
  19. package/dist/chunk-46FM5AFZ.js.map +1 -0
  20. package/dist/{chunk-PALZUV6E.js → chunk-6B3CMPE4.js} +2 -2
  21. package/dist/{chunk-D4VP2QPR.js → chunk-7L7LQ2GU.js} +1 -1
  22. package/dist/{chunk-D4VP2QPR.js.map → chunk-7L7LQ2GU.js.map} +1 -1
  23. package/dist/{chunk-MOTGIGWC.js → chunk-7THO4PRL.js} +23 -11
  24. package/dist/{chunk-MOTGIGWC.js.map → chunk-7THO4PRL.js.map} +1 -1
  25. package/dist/{chunk-3IIKKBOJ.js → chunk-AL5JHX7X.js} +24 -1
  26. package/dist/chunk-AL5JHX7X.js.map +1 -0
  27. package/dist/{chunk-EQCSUC65.js → chunk-AROOYXI5.js} +2 -2
  28. package/dist/{chunk-OPHA3577.js → chunk-CO7Q75IS.js} +28 -13
  29. package/dist/chunk-CO7Q75IS.js.map +1 -0
  30. package/dist/{chunk-5GZROLDV.js → chunk-ENSFCKP6.js} +5 -1
  31. package/dist/{chunk-5GZROLDV.js.map → chunk-ENSFCKP6.js.map} +1 -1
  32. package/dist/{chunk-N6XDYNWK.js → chunk-FYYKMPST.js} +2 -2
  33. package/dist/{chunk-O3EBLVMP.js → chunk-G2NWAVGG.js} +3 -3
  34. package/dist/chunk-G2NWAVGG.js.map +1 -0
  35. package/dist/{chunk-WAYUHS54.js → chunk-GDF2XQOO.js} +2 -2
  36. package/dist/{chunk-2ERTA4FM.js → chunk-LADTWXOB.js} +44 -17
  37. package/dist/chunk-LADTWXOB.js.map +1 -0
  38. package/dist/{chunk-5VLP3GQ2.js → chunk-MS4A7N77.js} +1 -1
  39. package/dist/chunk-MS4A7N77.js.map +1 -0
  40. package/dist/{chunk-5AGNZXHJ.js → chunk-Q7T3UQ4L.js} +89 -30
  41. package/dist/chunk-Q7T3UQ4L.js.map +1 -0
  42. package/dist/{chunk-5LRBIP4B.js → chunk-QGNSZ2ZK.js} +27 -2
  43. package/dist/chunk-QGNSZ2ZK.js.map +1 -0
  44. package/dist/{chunk-GAPBPRPP.js → chunk-TRCJHFAX.js} +1 -1
  45. package/dist/{chunk-GAPBPRPP.js.map → chunk-TRCJHFAX.js.map} +1 -1
  46. package/dist/{chunk-VV2VU3LJ.js → chunk-WSMLSIS5.js} +5 -1
  47. package/dist/chunk-WSMLSIS5.js.map +1 -0
  48. package/dist/{chunk-EYRWD2AB.js → chunk-WSOAN4KN.js} +2 -2
  49. package/dist/cli/index.js +6 -6
  50. package/dist/{cloudflare-VIQX4FVC.js → cloudflare-5HU56XIH.js} +38 -11
  51. package/dist/cloudflare-5HU56XIH.js.map +1 -0
  52. package/dist/{route-config-B7FaTSby.d.ts → define-middleware-D2n71Svm.d.ts} +39 -1
  53. package/dist/{deno-deploy-PTO7IE4G.js → deno-deploy-BXOQ45LD.js} +3 -3
  54. package/dist/{dev-DPOAVHUS.js → dev-E3USPAWQ.js} +7 -7
  55. package/dist/{health-route-C0hk64_U.d.ts → health-route-CYI7z5g3.d.ts} +2 -3
  56. package/dist/{index-BXGSBlxf.d.ts → index-B9iVBHJI.d.ts} +49 -7
  57. package/dist/index.js +6 -6
  58. package/dist/{internal-api-VHFQCXR2.js → internal-api-OOTVIOH2.js} +4 -4
  59. package/dist/{internal-api-C5NIIJJY.js → internal-api-VAKXXW6F.js} +6 -6
  60. package/dist/{mcp-LOMU5PGA.js → mcp-7UOQM4FW.js} +2 -2
  61. package/dist/{netlify-3VSNVURQ.js → netlify-LPJAPMQ2.js} +3 -3
  62. package/dist/{observability-bootstrap-H4NSILXD.js → observability-bootstrap-YQKMEYW7.js} +2 -2
  63. package/dist/{preview-24MJYNYN.js → preview-GPMF43QX.js} +3 -3
  64. package/dist/registry-UOWTDUFL.js +23 -0
  65. package/dist/{security-headers-C2cByfJn.d.ts → security-headers-vris2MQq.d.ts} +14 -0
  66. package/dist/server/auth/index.d.ts +17 -1
  67. package/dist/server/auth/index.js +3 -1
  68. package/dist/server/define/index.d.ts +3 -29
  69. package/dist/server/define/index.js +3 -3
  70. package/dist/server/http/index.d.ts +2 -2
  71. package/dist/server/http/index.js +5 -3
  72. package/dist/server/index.d.ts +7 -6
  73. package/dist/server/index.js +12 -8
  74. package/dist/server/index.js.map +1 -1
  75. package/dist/server/security/index.d.ts +2 -2
  76. package/dist/server/security/index.js +2 -2
  77. package/dist/{server-boundary-DJ4PYJR5.js → server-boundary-A3HW27C7.js} +4 -4
  78. package/dist/{server-boundary-FVMJ5WAU.js → server-boundary-V6PCM22J.js} +6 -6
  79. package/dist/{start-TXRUHKFJ.js → start-6WEPXA3X.js} +39 -15
  80. package/dist/start-6WEPXA3X.js.map +1 -0
  81. package/dist/{static-SVDWIOXJ.js → static-7OJNB7D2.js} +4 -4
  82. package/dist/{vercel-BZ35DF3B.js → vercel-YUZADKGV.js} +3 -3
  83. package/dist/vite-plugin/index.js +6 -6
  84. package/dist/{vite-plugin-AVFHID5Z.js → vite-plugin-WBF5NXGW.js} +7 -7
  85. package/package.json +2 -2
  86. package/dist/chunk-2ERTA4FM.js.map +0 -1
  87. package/dist/chunk-3IIKKBOJ.js.map +0 -1
  88. package/dist/chunk-5AGNZXHJ.js.map +0 -1
  89. package/dist/chunk-5LRBIP4B.js.map +0 -1
  90. package/dist/chunk-5VLP3GQ2.js.map +0 -1
  91. package/dist/chunk-O3EBLVMP.js.map +0 -1
  92. package/dist/chunk-OPHA3577.js.map +0 -1
  93. package/dist/chunk-VV2VU3LJ.js.map +0 -1
  94. package/dist/cloudflare-VIQX4FVC.js.map +0 -1
  95. package/dist/registry-RZHBBLIF.js +0 -23
  96. package/dist/start-TXRUHKFJ.js.map +0 -1
  97. /package/dist/{actions-virtual-module-RMEAW2NX.js.map → actions-virtual-module-3OPYLD76.js.map} +0 -0
  98. /package/dist/{actions-virtual-module-LVWXLDCT.js.map → actions-virtual-module-SE44BKR4.js.map} +0 -0
  99. /package/dist/{agent-OCQA4WXF.js.map → agent-UBDDP2L5.js.map} +0 -0
  100. /package/dist/{app-typed-client-J7NWKMS7.js.map → app-typed-client-BE3PV3JY.js.map} +0 -0
  101. /package/dist/{app-typed-client-Z4MF5HCB.js.map → app-typed-client-RAFEBA7S.js.map} +0 -0
  102. /package/dist/{aws-lambda-AN6CEBXO.js.map → aws-lambda-R76PWR27.js.map} +0 -0
  103. /package/dist/{build-JQSCQ3SQ.js.map → build-U4HVYY6F.js.map} +0 -0
  104. /package/dist/{bun-3FFL7CS4.js.map → bun-NPBIAWSU.js.map} +0 -0
  105. /package/dist/{chunk-PALZUV6E.js.map → chunk-6B3CMPE4.js.map} +0 -0
  106. /package/dist/{chunk-EQCSUC65.js.map → chunk-AROOYXI5.js.map} +0 -0
  107. /package/dist/{chunk-N6XDYNWK.js.map → chunk-FYYKMPST.js.map} +0 -0
  108. /package/dist/{chunk-WAYUHS54.js.map → chunk-GDF2XQOO.js.map} +0 -0
  109. /package/dist/{chunk-EYRWD2AB.js.map → chunk-WSOAN4KN.js.map} +0 -0
  110. /package/dist/{deno-deploy-PTO7IE4G.js.map → deno-deploy-BXOQ45LD.js.map} +0 -0
  111. /package/dist/{dev-DPOAVHUS.js.map → dev-E3USPAWQ.js.map} +0 -0
  112. /package/dist/{internal-api-VHFQCXR2.js.map → internal-api-OOTVIOH2.js.map} +0 -0
  113. /package/dist/{internal-api-C5NIIJJY.js.map → internal-api-VAKXXW6F.js.map} +0 -0
  114. /package/dist/{mcp-LOMU5PGA.js.map → mcp-7UOQM4FW.js.map} +0 -0
  115. /package/dist/{netlify-3VSNVURQ.js.map → netlify-LPJAPMQ2.js.map} +0 -0
  116. /package/dist/{observability-bootstrap-H4NSILXD.js.map → observability-bootstrap-YQKMEYW7.js.map} +0 -0
  117. /package/dist/{preview-24MJYNYN.js.map → preview-GPMF43QX.js.map} +0 -0
  118. /package/dist/{registry-RZHBBLIF.js.map → registry-UOWTDUFL.js.map} +0 -0
  119. /package/dist/{server-boundary-DJ4PYJR5.js.map → server-boundary-A3HW27C7.js.map} +0 -0
  120. /package/dist/{server-boundary-FVMJ5WAU.js.map → server-boundary-V6PCM22J.js.map} +0 -0
  121. /package/dist/{static-SVDWIOXJ.js.map → static-7OJNB7D2.js.map} +0 -0
  122. /package/dist/{vercel-BZ35DF3B.js.map → vercel-YUZADKGV.js.map} +0 -0
  123. /package/dist/{vite-plugin-AVFHID5Z.js.map → vite-plugin-WBF5NXGW.js.map} +0 -0
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-ZDUO4IYN.js";
9
9
  import {
10
10
  WEB_SHAPED_MIDDLEWARE
11
- } from "./chunk-D4VP2QPR.js";
11
+ } from "./chunk-7L7LQ2GU.js";
12
12
  import {
13
13
  evaluateRoutePolicy,
14
14
  subjectFromContext
@@ -272,12 +272,66 @@ function runZodValidation(routeConfig, res, requestId, input) {
272
272
  }
273
273
 
274
274
  // src/server/http/web-middleware-runner.ts
275
- async function runWebMiddleware(request, middleware, context) {
276
- for (const mw of middleware) {
277
- const result = await mw(request, context);
278
- if (result instanceof Response) return result;
279
- }
280
- return void 0;
275
+ async function runWebMiddleware(request, middleware, context, downstream) {
276
+ const runFrom = async (index) => {
277
+ if (index >= middleware.length) {
278
+ return downstream === void 0 ? void 0 : await downstream(request, context);
279
+ }
280
+ const invocations = [];
281
+ const rejections = /* @__PURE__ */ new Map();
282
+ let frameSettled = false;
283
+ let yieldedInvocation;
284
+ const next = () => {
285
+ const started = runFrom(index + 1);
286
+ invocations.push(started);
287
+ started.catch((reason) => {
288
+ if (frameSettled) {
289
+ reportOne(started, reason);
290
+ return;
291
+ }
292
+ rejections.set(started, reason);
293
+ });
294
+ return started;
295
+ };
296
+ const reportOne = (invocation, reason) => {
297
+ if (invocation === yieldedInvocation) return;
298
+ const detail = reason instanceof Error ? reason.stack ?? reason.message : String(reason);
299
+ console.warn(
300
+ `[theokit] a middleware invoked next() and the downstream rejected, but the frame did not yield that result, so this failure reached no client: ${detail}`
301
+ );
302
+ };
303
+ const report = (yielded) => {
304
+ yieldedInvocation = yielded;
305
+ frameSettled = true;
306
+ for (const [invocation, reason] of rejections) reportOne(invocation, reason);
307
+ };
308
+ let own;
309
+ try {
310
+ own = await middleware[index](request, context, next);
311
+ } catch (error) {
312
+ let held;
313
+ for (const [invocation, reason] of rejections) {
314
+ if (reason === error) held = invocation;
315
+ }
316
+ report(held);
317
+ throw error;
318
+ }
319
+ if (own instanceof Response) {
320
+ report();
321
+ return own;
322
+ }
323
+ if (invocations.length > 0) {
324
+ const yielded = invocations[invocations.length - 1];
325
+ try {
326
+ return await yielded;
327
+ } finally {
328
+ report(yielded);
329
+ }
330
+ }
331
+ report();
332
+ return await runFrom(index + 1);
333
+ };
334
+ return runFrom(0);
281
335
  }
282
336
 
283
337
  // src/server/web-handler.ts
@@ -467,19 +521,21 @@ async function executeWebRequest(request, routeModule, opts = {}) {
467
521
  }
468
522
  try {
469
523
  const context = {};
524
+ const runRoute = async () => {
525
+ const outcome = await runHandler(
526
+ config,
527
+ request,
528
+ opts.bodyParser ?? "inline",
529
+ opts.params ?? {},
530
+ context
531
+ );
532
+ return outcome.ok ? toResponse(outcome.result, config.status) : outcome.response;
533
+ };
470
534
  if (opts.middleware?.length) {
471
- const shortCircuit = await runWebMiddleware(request, opts.middleware, context);
472
- if (shortCircuit) return shortCircuit;
535
+ const response = await runWebMiddleware(request, opts.middleware, context, runRoute);
536
+ if (response !== void 0) return response;
473
537
  }
474
- const outcome = await runHandler(
475
- config,
476
- request,
477
- opts.bodyParser ?? "inline",
478
- opts.params ?? {},
479
- context
480
- );
481
- if (!outcome.ok) return outcome.response;
482
- return toResponse(outcome.result, config.status);
538
+ return await runRoute();
483
539
  } catch (err) {
484
540
  return handlerErrorResponse(err);
485
541
  }
@@ -511,21 +567,24 @@ async function runHandlerStage(hookCtx, request, config, opts, method) {
511
567
  hookCtx.response = methodNotAllowedResponse(method);
512
568
  return;
513
569
  }
570
+ const runRoute = async () => {
571
+ const outcome = await runHandler(
572
+ config,
573
+ request,
574
+ opts.bodyParser ?? "inline",
575
+ opts.params ?? {},
576
+ hookCtx.ctx
577
+ );
578
+ return outcome.ok ? toResponse(outcome.result, config.status) : outcome.response;
579
+ };
514
580
  if (opts.middleware?.length) {
515
- const shortCircuit = await runWebMiddleware(request, opts.middleware, hookCtx.ctx);
516
- if (shortCircuit) {
517
- hookCtx.response = shortCircuit;
581
+ const response = await runWebMiddleware(request, opts.middleware, hookCtx.ctx, runRoute);
582
+ if (response !== void 0) {
583
+ hookCtx.response = response;
518
584
  return;
519
585
  }
520
586
  }
521
- const outcome = await runHandler(
522
- config,
523
- request,
524
- opts.bodyParser ?? "inline",
525
- opts.params ?? {},
526
- hookCtx.ctx
527
- );
528
- hookCtx.response = outcome.ok ? toResponse(outcome.result, config.status) : outcome.response;
587
+ hookCtx.response = await runRoute();
529
588
  }
530
589
  async function runWithHooks(request, config, opts, hooks) {
531
590
  const hookCtx = {
@@ -1702,4 +1761,4 @@ export {
1702
1761
  createCorsHandler,
1703
1762
  createCorsWebHandler
1704
1763
  };
1705
- //# sourceMappingURL=chunk-5AGNZXHJ.js.map
1764
+ //# sourceMappingURL=chunk-Q7T3UQ4L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/contracts/client-safe-error.ts","../src/server/http/send-response.ts","../src/server/http/node-request.ts","../src/server/http/validate-route-input.ts","../src/server/http/execute-stages.ts","../src/server/http/web-middleware-runner.ts","../src/server/web-handler.ts","../src/server/http/middleware-runner.ts","../src/server/http/node-web-adapter.ts","../src/core/contracts/auth-error-guard.ts","../src/server/security/csrf-warn-dispatch.ts","../src/server/http/execute.ts","../src/server/http/handle-request-error.ts","../src/server/http/form-data-to-object.ts","../src/server/http/serialize-action-result.ts","../src/server/http/action-execute.ts","../src/server/http/batch-handler.ts","../src/server/http/cors.ts"],"mappings":"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","names":["CSRF_PROTECTED_METHODS","ctx","serverErrorToEnvelope","body","runPreHandlerPipeline","z"]}
@@ -4,12 +4,36 @@ import {
4
4
  } from "./chunk-O2KGDLA7.js";
5
5
  import {
6
6
  validateRouteInput
7
- } from "./chunk-5AGNZXHJ.js";
7
+ } from "./chunk-Q7T3UQ4L.js";
8
8
  import {
9
9
  evaluateRoutePolicy,
10
10
  subjectFromContext
11
11
  } from "./chunk-ENRT6DAU.js";
12
12
 
13
+ // src/core/contracts/module-preloads.ts
14
+ function escapeAttribute(value) {
15
+ return value.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;");
16
+ }
17
+ function routePathFromTarget(target) {
18
+ if (target.startsWith("/")) return target.split(/[?#]/)[0];
19
+ try {
20
+ return new URL(target).pathname;
21
+ } catch {
22
+ return void 0;
23
+ }
24
+ }
25
+ function injectModulePreloads(head, assetsMap, url) {
26
+ if (assetsMap === void 0) return head;
27
+ const path = routePathFromTarget(url);
28
+ if (path === void 0) return head;
29
+ const route = path.length > 1 ? path.replace(/\/$/, "") : path;
30
+ const chunks = assetsMap[route] ?? assetsMap[path];
31
+ if (chunks === void 0 || chunks.length === 0) return head;
32
+ const links = chunks.map((chunk) => `<link rel="modulepreload" href="/${escapeAttribute(chunk)}">`).join("");
33
+ const closing = /<\/head\s*>/i;
34
+ return closing.test(head) ? head.replace(closing, (tag) => links + tag) : head + links;
35
+ }
36
+
13
37
  // src/server/http/error-pages.ts
14
38
  import { closeSync, fstatSync, openSync, readFileSync } from "node:fs";
15
39
  import { resolve } from "node:path";
@@ -263,6 +287,7 @@ function jsonResponse(status, body) {
263
287
  }
264
288
 
265
289
  export {
290
+ injectModulePreloads,
266
291
  MAX_ERROR_HTML_BYTES,
267
292
  loadCustomErrorPages,
268
293
  serveStaticFile,
@@ -271,4 +296,4 @@ export {
271
296
  callProcedure,
272
297
  createOpenApiHandler
273
298
  };
274
- //# sourceMappingURL=chunk-5LRBIP4B.js.map
299
+ //# sourceMappingURL=chunk-QGNSZ2ZK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/contracts/module-preloads.ts","../src/server/http/error-pages.ts","../src/server/http/static.ts","../src/server/http/in-process-caller.ts","../src/server/openapi/serve-docs.ts"],"mappings":"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","names":["closeSync","fstatSync","openSync","readFileSync","resolve","closeSync","fstatSync","openSync","readFileSync","resolve","resolve","openSync","fstatSync","readFileSync","closeSync"]}
@@ -35,4 +35,4 @@ export {
35
35
  defineReadyRoute,
36
36
  serveReservedRoute
37
37
  };
38
- //# sourceMappingURL=chunk-GAPBPRPP.js.map
38
+ //# sourceMappingURL=chunk-TRCJHFAX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/define/health-route.ts"],"mappings":";AAcO,IAAM,cAAc;AAEpB,IAAM,aAAa;AAgCnB,SAAS,kBACd,UAAyB,OAAO,EAAE,QAAQ,KAAK,IAC5B;AACnB,SAAO,EAAE,MAAM,UAAU,QAAQ;AACnC;AAMO,SAAS,iBAAiB,OAA2D;AAC1F,SAAO,EAAE,MAAM,SAAS,MAAM;AAChC;AAQA,eAAsB,mBACpB,UACA,SAAyB,CAAC,GACQ;AAClC,MAAI,aAAa,aAAa;AAC5B,UAAM,UAAU,OAAO,QAAQ,YAAY,OAAO,EAAE,QAAQ,KAAK;AACjE,WAAO,EAAE,QAAQ,KAAK,MAAM,QAAQ,EAAE;AAAA,EACxC;AACA,MAAI,aAAa,YAAY;AAC3B,UAAM,QAAQ,OAAO,OAAO;AAC5B,QAAI,UAAU,QAAW;AACvB,aAAO,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,QAAQ,EAAE;AAAA,IAClD;AACA,QAAI;AACF,YAAM,QAAQ,MAAM,MAAM;AAC1B,aAAO,QACH,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,QAAQ,EAAE,IACzC,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,YAAY,EAAE;AAAA,IACnD,SAAS,KAAK;AAIZ,cAAQ,MAAM,6DAAwD,GAAG;AACzE,aAAO,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,YAAY,EAAE;AAAA,IACtD;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../src/server/define/health-route.ts"],"mappings":";AAaO,IAAM,cAAc;AAEpB,IAAM,aAAa;AAgCnB,SAAS,kBACd,UAAyB,OAAO,EAAE,QAAQ,KAAK,IAC5B;AACnB,SAAO,EAAE,MAAM,UAAU,QAAQ;AACnC;AAMO,SAAS,iBAAiB,OAA2D;AAC1F,SAAO,EAAE,MAAM,SAAS,MAAM;AAChC;AAQA,eAAsB,mBACpB,UACA,SAAyB,CAAC,GACQ;AAClC,MAAI,aAAa,aAAa;AAC5B,UAAM,UAAU,OAAO,QAAQ,YAAY,OAAO,EAAE,QAAQ,KAAK;AACjE,WAAO,EAAE,QAAQ,KAAK,MAAM,QAAQ,EAAE;AAAA,EACxC;AACA,MAAI,aAAa,YAAY;AAC3B,UAAM,QAAQ,OAAO,OAAO;AAC5B,QAAI,UAAU,QAAW;AACvB,aAAO,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,QAAQ,EAAE;AAAA,IAClD;AACA,QAAI;AACF,YAAM,QAAQ,MAAM,MAAM;AAC1B,aAAO,QACH,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,QAAQ,EAAE,IACzC,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,YAAY,EAAE;AAAA,IACnD,SAAS,KAAK;AAIZ,cAAQ,MAAM,6DAAwD,GAAG;AACzE,aAAO,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,YAAY,EAAE;AAAA,IACtD;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -44,6 +44,10 @@ function buildSecurityHeaders(config, env, options = {}) {
44
44
  if (effectiveNonce) {
45
45
  out["Cache-Control"] = "private, no-store";
46
46
  }
47
+ if (options.preview) {
48
+ out["X-Robots-Tag"] = "noindex, nofollow";
49
+ out["Cache-Control"] = "private, no-store";
50
+ }
47
51
  return out;
48
52
  }
49
53
 
@@ -81,4 +85,4 @@ export {
81
85
  buildSecurityHeaders,
82
86
  generateNonce
83
87
  };
84
- //# sourceMappingURL=chunk-VV2VU3LJ.js.map
88
+ //# sourceMappingURL=chunk-WSMLSIS5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/contracts/security-headers.ts","../src/core/contracts/nonce.ts"],"sourcesContent":["/**\n * The security-header baseline, as a pure function of configuration.\n *\n * It lives in `core/contracts/` because **every** target needs it and none of it\n * is transport-specific: `buildSecurityHeaders` takes a config object and\n * returns `Record<string, string>`. `theokit start` writes that map onto a Node\n * `ServerResponse` (`server/security/security-headers.ts`); the six Web deploy\n * adapters write it onto a `Response` (`adapters/security-headers.ts`). Putting\n * it under `server/` made the second group import across a boundary the\n * dependency graph forbids — `adapters → server` is not a declared edge in\n * ADR-0001 v3 — and the fix is not to widen the rule but to notice that this\n * code was never server code.\n *\n * `core/contracts/<file>.ts` is the declared exception to the deep-import rule,\n * so both callers reach it directly and there is still exactly ONE definition of\n * what a configured header set means.\n *\n * Phase 6 — Default Security Headers (D4 / EC-2).\n *\n * Per-response security baseline. The framework applies these BEFORE the\n * route handler runs so a handler can still override via `res.setHeader`.\n *\n * EC-2 backward-compatibility: CSP ships in `report-only` mode by default\n * for 0.2.0. Existing apps with inline scripts or third-party CDN scripts\n * keep working but consumers see violation reports via their CSP report\n * collector (or browser DevTools). 0.3.0 will flip the default to\n * `enforce` after a release of visibility.\n */\n\n/**\n * Default Content-Security-Policy. Conservative-but-not-paralyzing:\n *\n * - default-src 'self' — every fetch falls back to same-origin\n * - script-src 'self' — T6.1 (0.3.0): `'unsafe-inline'`\n * dropped. The SSR pipeline issues a\n * per-request nonce that REPLACES\n * this directive at runtime\n * (`'nonce-<token>'`). For static /\n * non-SSR contexts where no nonce is\n * available, the policy is strict-\n * no-inline — user inline scripts\n * must be migrated to external\n * `<script src=\"...\">` or threaded\n * through `ctx.nonce`.\n * - style-src 'self' 'unsafe-inline' — Tailwind + TheoUI use style attrs\n * in animation directives\n * - img-src 'self' data: blob: — supports inline data URIs, blobs\n * from canvas exports\n * - media-src 'self' data: blob: — same reasoning for audio/video the app\n * generated itself. Absent until #553:\n * `<audio>` fell back to default-src\n * and a blob: from plugin-voice's TTS\n * was blocked in the browser\n * - font-src 'self' data: — Geist fonts inline-base64\n * - connect-src 'self' ws: wss: — WebSocket dev HMR + agent streams\n * - frame-ancestors 'none' — clickjacking defense\n */\n/**\n * T5.1 — default CSP includes the built-in report endpoint so violations\n * are visible without extra config. Apps that ship a custom `csp` string\n * override the report-uri.\n */\nexport const DEFAULT_CSP =\n \"default-src 'self'; \" +\n \"script-src 'self'; \" +\n \"style-src 'self' 'unsafe-inline'; \" +\n \"img-src 'self' data: blob:; \" +\n \"media-src 'self' data: blob:; \" +\n \"font-src 'self' data:; \" +\n \"connect-src 'self' ws: wss:; \" +\n \"frame-ancestors 'none'; \" +\n 'report-uri /__theo/csp-report'\n\n/**\n * T1.1 — Default Permissions-Policy header (default-deny stance).\n *\n * Disables sensitive Web APIs that the vast majority of apps don't use.\n * Apps that DO need any of these opt in by overriding `permissionsPolicy`\n * in `config.security.headers`.\n *\n * The seven features listed are the most-abused for: tracking\n * (geolocation, accelerometer, gyroscope), spyware (camera, microphone),\n * fraud (payment), and hardware exfiltration (usb).\n *\n * Aligns with Mozilla baseline + OWASP Secure Headers + Lighthouse PWA.\n */\nexport const DEFAULT_PERMISSIONS_POLICY =\n 'geolocation=(), camera=(), microphone=(), payment=(), usb=(), accelerometer=(), gyroscope=()'\n\nexport type CspMode = 'enforce' | 'report-only' | 'off'\n\nexport interface SecurityHeadersConfig {\n /**\n * Custom CSP policy string. When set, replaces the default verbatim.\n * Pass `false` to disable CSP entirely (alias for `cspMode: 'off'`).\n */\n csp?: string | false\n /**\n * Enforcement mode for CSP. Default `report-only` for 0.2.0 (EC-2).\n * 0.3.0 will default to `enforce`.\n */\n cspMode?: CspMode\n /**\n * Strict-Transport-Security value. Defaults to\n * `max-age=31536000; includeSubDomains` in production. Pass `false` to\n * suppress (e.g. internal LANs without TLS).\n */\n hsts?: string | false\n /** X-Frame-Options. Default DENY. */\n frameOptions?: 'DENY' | 'SAMEORIGIN'\n /** X-Content-Type-Options. Default `nosniff`. */\n contentTypeOptions?: 'nosniff'\n /** Referrer-Policy. Default `strict-origin-when-cross-origin`. */\n referrerPolicy?: string\n /**\n * T1.1 — Permissions-Policy directive string. When set, replaces the\n * default verbatim (no merge — see ADR-EC-12). Pass `false` to disable\n * the header entirely. Schema-level refinement rejects any string\n * containing CR/LF (EC-3 — CWE-113 HTTP Response Splitting mitigation).\n */\n permissionsPolicy?: string | false\n}\n\nexport interface SecurityEnv {\n production: boolean\n}\n\n/**\n * T4.1 — Per-request options passed by the SSR pipeline.\n *\n * - `nonce`: when set, the framework substitutes the `'unsafe-inline'`\n * token in `script-src` with `'nonce-<nonce>'`. EC-3 forces\n * `Cache-Control: private, no-store` so a CDN cannot cache the HTML\n * (carrying one nonce) and re-serve it with a freshly-generated CSP\n * header (carrying a different nonce).\n * - `prerender`: when true, the nonce is IGNORED. Prerendered HTML is\n * generated at build time with no nonce in the script tags; mixing a\n * runtime nonce in the header would block every script. EC-4.\n */\nexport interface SecurityHeadersOptions {\n nonce?: string\n prerender?: boolean\n /**\n * B-034 — this response is being served against a valid preview credential.\n *\n * Two headers follow, and both are the Definition-of-done rather than decoration. `X-Robots-Tag`\n * keeps an unpublished document out of an index. `Cache-Control: private, no-store` keeps it out\n * of a CDN, without which *\"served only against a valid credential\"* is false however good the\n * credential is: the first hit fills a shared cache and every later reader gets the draft for\n * free.\n *\n * The nonce path below emits the same `Cache-Control` for a different reason (EC-3) and exempts\n * prerendered routes, whose HTML is meant to be cached. **This condition takes no such exemption:\n * a prerendered draft is still a draft.** That is why the two are separate `if`s rather than one.\n */\n preview?: boolean\n}\n\nconst DEFAULT_HSTS = 'max-age=31536000; includeSubDomains'\n\n/**\n * Apply a nonce to the script-src directive of an existing CSP policy\n * string. Replaces `'unsafe-inline'` (if present) with `'nonce-<value>'`;\n * otherwise appends the nonce directive to the script-src line.\n */\nfunction applyNonceToCsp(policy: string, nonce: string): string {\n return policy\n .split(';')\n .map((directive) => {\n const trimmed = directive.trim()\n if (!trimmed.startsWith('script-src')) return directive\n if (trimmed.includes(\"'unsafe-inline'\")) {\n return directive.replace(\"'unsafe-inline'\", `'nonce-${nonce}'`)\n }\n return `${directive} 'nonce-${nonce}'`\n })\n .join(';')\n}\n\n/**\n * Apply Content-Security-Policy header(s) to `out`. Extracted from\n * `buildSecurityHeaders` to keep that function's complexity within ceiling.\n * Handles the four shapes:\n * csp: false → opt out\n * cspMode: 'off' → opt out\n * cspMode: 'enforce' → Content-Security-Policy (T6.1 default for 0.3.0)\n * cspMode: 'report-only' → Content-Security-Policy-Report-Only (legacy 0.2.x)\n */\nfunction applyCsp(\n out: Record<string, string>,\n config: SecurityHeadersConfig,\n effectiveNonce: string | undefined,\n): void {\n if (config.csp === false || config.cspMode === 'off') return\n let policy = typeof config.csp === 'string' ? config.csp : DEFAULT_CSP\n if (effectiveNonce) {\n policy = applyNonceToCsp(policy, effectiveNonce)\n }\n // T6.1 — default flipped from 'report-only' to 'enforce' for 0.3.0.\n const mode: CspMode = config.cspMode ?? 'enforce'\n if (mode === 'enforce') {\n out['Content-Security-Policy'] = policy\n } else {\n out['Content-Security-Policy-Report-Only'] = policy\n }\n}\n\n/**\n * Build the security headers map for a given config + env. Pure function —\n * returned object can be inspected, logged, or applied to a response.\n */\nexport function buildSecurityHeaders(\n config: SecurityHeadersConfig,\n env: SecurityEnv,\n options: SecurityHeadersOptions = {},\n): Record<string, string> {\n const out: Record<string, string> = {}\n\n // EC-4: prerendered routes must NOT receive a nonce — the build-time\n // HTML carries no nonce, so a runtime nonce would mismatch.\n const effectiveNonce = options.prerender ? undefined : options.nonce\n\n applyCsp(out, config, effectiveNonce)\n\n // X-Frame-Options\n out['X-Frame-Options'] = config.frameOptions ?? 'DENY'\n\n // X-Content-Type-Options\n out['X-Content-Type-Options'] = config.contentTypeOptions ?? 'nosniff'\n\n // Referrer-Policy\n out['Referrer-Policy'] = config.referrerPolicy ?? 'strict-origin-when-cross-origin'\n\n // T1.1 — Permissions-Policy. Default-deny on geo/camera/mic/payment/usb;\n // configurable via `permissionsPolicy`; suppressed via `permissionsPolicy: false`.\n if (config.permissionsPolicy !== false) {\n out['Permissions-Policy'] =\n typeof config.permissionsPolicy === 'string'\n ? config.permissionsPolicy\n : DEFAULT_PERMISSIONS_POLICY\n }\n\n // HSTS — production only, suppressible via hsts: false\n if (env.production && config.hsts !== false) {\n out['Strict-Transport-Security'] = typeof config.hsts === 'string' ? config.hsts : DEFAULT_HSTS\n }\n\n // EC-3: when a nonce is in play, the response carries a one-shot CSP\n // header AND inline scripts in the HTML body. A CDN that caches the\n // HTML and proxies a fresh CSP per request would block every script\n // (nonces wouldn't match). Force no-store to prevent that class of\n // silent prod-only failure. Prerendered routes (which carry no nonce\n // by design — EC-4) are exempt; their HTML is meant to be cacheable.\n if (effectiveNonce) {\n out['Cache-Control'] = 'private, no-store'\n }\n\n // B-034 — deliberately AFTER the nonce block and deliberately not folded into it. The nonce's\n // `no-store` is exempt for prerendered routes; a draft is not, and merging the conditions would\n // silently take that exemption for content that must never be cached publicly.\n if (options.preview) {\n out['X-Robots-Tag'] = 'noindex, nofollow'\n out['Cache-Control'] = 'private, no-store'\n }\n\n return out\n}\n","/**\n * The per-request CSP nonce, minted the same way on every target.\n *\n * It lives in `core/contracts/` for the same reason\n * `core/contracts/security-headers.ts` does: `theokit start` needs it\n * (`cli/commands/start/request-handler.ts`) and so does the streamed Cloudflare\n * worker, which is the one deploy path that renders HTML at request time and can\n * put the same value on the script tags it emits. `adapters → server` is not an\n * edge in the module DAG (ADR-0001 v3), and a Web-Crypto call that returns a\n * base64 string was never server code.\n *\n * T4.1 — Per-request CSP nonce generation.\n *\n * Returns a 22–24 character base64-encoded string carrying 16 bytes of\n * cryptographic entropy. Used by the SSR pipeline to nonce the inline\n * hydration data script so the default CSP can drop `'unsafe-inline'`\n * from `script-src` in 0.3.0.\n *\n * Runtime portability: prefers Web Crypto (`globalThis.crypto`) because\n * it is available on every target runtime (Node 19+, Bun, Deno, Vercel\n * Edge, Cloudflare Workers). Falls back to `node:crypto` for older Node\n * builds where `globalThis.crypto` is absent.\n *\n * NOT a security primitive in the cryptographic sense — the nonce is a\n * one-shot, single-request value that defeats trivial XSS injection by\n * making the attacker guess a 128-bit string per request. It is NOT\n * suitable for signing or session tokens.\n */\n\nfunction bytesToBase64(bytes: Uint8Array): string {\n // Prefer Buffer when available (Node, Bun) — its base64 encoder is fast\n // and well-tested. In Edge runtimes that lack Buffer, fall back to the\n // standard btoa(String.fromCharCode(...)) trick.\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(bytes).toString('base64')\n }\n let binary = ''\n for (const b of bytes) {\n binary += String.fromCharCode(b)\n }\n // `btoa` exists in browsers + edge runtimes; if it doesn't, the caller\n // is on a JS runtime we don't support — let the ReferenceError bubble.\n return btoa(binary)\n}\n\n// CR-027 fix: the previous fallback path used `require('node:crypto')`,\n// which throws ReferenceError in strict ESM contexts (Bun, Deno, Vercel\n// Edge) when reached. Web Crypto has been a hard requirement since Node\n// 19; for older Node we now throw a clear error at module load time\n// instead of failing on first SSR request.\nlet cachedWebCrypto: Crypto | null | undefined\n\nfunction getWebCrypto(): Crypto {\n if (cachedWebCrypto === undefined) {\n const candidate = (globalThis as { crypto?: Crypto }).crypto\n cachedWebCrypto =\n candidate && typeof candidate.getRandomValues === 'function' ? candidate : null\n }\n if (!cachedWebCrypto) {\n throw new Error(\n 'generateNonce: Web Crypto unavailable. TheoKit requires Node.js 19+, Bun, Deno, ' +\n 'or any modern Edge runtime where `globalThis.crypto.getRandomValues` is present.',\n )\n }\n return cachedWebCrypto\n}\n\nexport function generateNonce(): string {\n const buf = new Uint8Array(16)\n getWebCrypto().getRandomValues(buf)\n return bytesToBase64(buf)\n}\n"],"mappings":";;;;AA8DO,IAAM,cACX;AAuBK,IAAM,6BACX;AAuEF,IAAM,eAAe;AAOrB,SAAS,gBAAgB,QAAgB,OAAuB;AAC9D,SAAO,OACJ,MAAM,GAAG,EACT,IAAI,CAAC,cAAc;AAClB,UAAM,UAAU,UAAU,KAAK;AAC/B,QAAI,CAAC,QAAQ,WAAW,YAAY,EAAG,QAAO;AAC9C,QAAI,QAAQ,SAAS,iBAAiB,GAAG;AACvC,aAAO,UAAU,QAAQ,mBAAmB,UAAU,KAAK,GAAG;AAAA,IAChE;AACA,WAAO,GAAG,SAAS,WAAW,KAAK;AAAA,EACrC,CAAC,EACA,KAAK,GAAG;AACb;AAWA,SAAS,SACP,KACA,QACA,gBACM;AACN,MAAI,OAAO,QAAQ,SAAS,OAAO,YAAY,MAAO;AACtD,MAAI,SAAS,OAAO,OAAO,QAAQ,WAAW,OAAO,MAAM;AAC3D,MAAI,gBAAgB;AAClB,aAAS,gBAAgB,QAAQ,cAAc;AAAA,EACjD;AAEA,QAAM,OAAgB,OAAO,WAAW;AACxC,MAAI,SAAS,WAAW;AACtB,QAAI,yBAAyB,IAAI;AAAA,EACnC,OAAO;AACL,QAAI,qCAAqC,IAAI;AAAA,EAC/C;AACF;AAMO,SAAS,qBACd,QACA,KACA,UAAkC,CAAC,GACX;AACxB,QAAM,MAA8B,CAAC;AAIrC,QAAM,iBAAiB,QAAQ,YAAY,SAAY,QAAQ;AAE/D,WAAS,KAAK,QAAQ,cAAc;AAGpC,MAAI,iBAAiB,IAAI,OAAO,gBAAgB;AAGhD,MAAI,wBAAwB,IAAI,OAAO,sBAAsB;AAG7D,MAAI,iBAAiB,IAAI,OAAO,kBAAkB;AAIlD,MAAI,OAAO,sBAAsB,OAAO;AACtC,QAAI,oBAAoB,IACtB,OAAO,OAAO,sBAAsB,WAChC,OAAO,oBACP;AAAA,EACR;AAGA,MAAI,IAAI,cAAc,OAAO,SAAS,OAAO;AAC3C,QAAI,2BAA2B,IAAI,OAAO,OAAO,SAAS,WAAW,OAAO,OAAO;AAAA,EACrF;AAQA,MAAI,gBAAgB;AAClB,QAAI,eAAe,IAAI;AAAA,EACzB;AAKA,MAAI,QAAQ,SAAS;AACnB,QAAI,cAAc,IAAI;AACtB,QAAI,eAAe,IAAI;AAAA,EACzB;AAEA,SAAO;AACT;;;AC7OA,SAAS,cAAc,OAA2B;AAIhD,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,OAAO,KAAK,KAAK,EAAE,SAAS,QAAQ;AAAA,EAC7C;AACA,MAAI,SAAS;AACb,aAAW,KAAK,OAAO;AACrB,cAAU,OAAO,aAAa,CAAC;AAAA,EACjC;AAGA,SAAO,KAAK,MAAM;AACpB;AAOA,IAAI;AAEJ,SAAS,eAAuB;AAC9B,MAAI,oBAAoB,QAAW;AACjC,UAAM,YAAa,WAAmC;AACtD,sBACE,aAAa,OAAO,UAAU,oBAAoB,aAAa,YAAY;AAAA,EAC/E;AACA,MAAI,CAAC,iBAAiB;AACpB,UAAM,IAAI;AAAA,MACR;AAAA,IAEF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,gBAAwB;AACtC,QAAM,MAAM,IAAI,WAAW,EAAE;AAC7B,eAAa,EAAE,gBAAgB,GAAG;AAClC,SAAO,cAAc,GAAG;AAC1B;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildSecurityHeaders
3
- } from "./chunk-5GZROLDV.js";
3
+ } from "./chunk-ENSFCKP6.js";
4
4
  import {
5
5
  safeAudit
6
6
  } from "./chunk-AVQU5CQF.js";
@@ -359,4 +359,4 @@ export {
359
359
  CsrfReadinessStore,
360
360
  applySecurityHeaders
361
361
  };
362
- //# sourceMappingURL=chunk-EYRWD2AB.js.map
362
+ //# sourceMappingURL=chunk-WSOAN4KN.js.map
package/dist/cli/index.js CHANGED
@@ -15,12 +15,12 @@ function cliVersion() {
15
15
  // src/cli/index.ts
16
16
  var cli = cac("theokit");
17
17
  cli.command("dev", "Start development server").option("--port <port>", "Port number").action(async (options) => {
18
- const { devCommand } = await import("../dev-DPOAVHUS.js");
18
+ const { devCommand } = await import("../dev-E3USPAWQ.js");
19
19
  await devCommand({ port: options.port ? Number(options.port) : void 0 });
20
20
  });
21
21
  cli.command("build", "Build for production").option("--target <target>", "Deploy target (node, vercel, cloudflare)").action(async (options) => {
22
22
  try {
23
- const { buildCommand } = await import("../build-JQSCQ3SQ.js");
23
+ const { buildCommand } = await import("../build-U4HVYY6F.js");
24
24
  await buildCommand({ target: options.target });
25
25
  } catch (err) {
26
26
  const msg = err instanceof Error ? err.message : String(err);
@@ -32,7 +32,7 @@ cli.command("build", "Build for production").option("--target <target>", "Deploy
32
32
  });
33
33
  cli.command("start", "Start production server").option("--port <port>", "Port number").action(async (options) => {
34
34
  try {
35
- const { startCommand } = await import("../start-TXRUHKFJ.js");
35
+ const { startCommand } = await import("../start-6WEPXA3X.js");
36
36
  await startCommand({ port: options.port ? Number(options.port) : void 0 });
37
37
  } catch (err) {
38
38
  const msg = err instanceof Error ? err.message : String(err);
@@ -44,7 +44,7 @@ cli.command("start", "Start production server").option("--port <port>", "Port nu
44
44
  });
45
45
  cli.command("preview", "Build for production, then serve it \u2014 one step (B-030)").option("--port <port>", "Port number").option("--target <target>", "Deploy target (node, vercel, cloudflare)").action(async (options) => {
46
46
  try {
47
- const { previewCommand } = await import("../preview-24MJYNYN.js");
47
+ const { previewCommand } = await import("../preview-GPMF43QX.js");
48
48
  await previewCommand({
49
49
  port: options.port ? Number(options.port) : void 0,
50
50
  target: options.target
@@ -77,7 +77,7 @@ cli.command(
77
77
  "Run an agent in the terminal (stream + tool calls + approval)"
78
78
  ).action(async (name, message) => {
79
79
  try {
80
- const { agentCommand } = await import("../agent-OCQA4WXF.js");
80
+ const { agentCommand } = await import("../agent-UBDDP2L5.js");
81
81
  const { sawError } = await agentCommand(name, message);
82
82
  if (sawError) process.exit(1);
83
83
  } catch (err) {
@@ -108,7 +108,7 @@ cli.command("agent sessions gc", "Collect old transcripts for this project (dry
108
108
  });
109
109
  cli.command("mcp <agent>", "Serve an agent as an MCP server over stdio (for desktop MCP clients)").action(async (agent) => {
110
110
  try {
111
- const { mcpCommand } = await import("../mcp-LOMU5PGA.js");
111
+ const { mcpCommand } = await import("../mcp-7UOQM4FW.js");
112
112
  await mcpCommand(agent);
113
113
  } catch (err) {
114
114
  const msg = err instanceof Error ? err.message : String(err);
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import "tsx/esm";
3
+ import {
4
+ parseAssetsMap
5
+ } from "./chunk-46FM5AFZ.js";
3
6
  import {
4
7
  deployedAgentsFragment,
5
8
  planDeployedPlugins
@@ -12,14 +15,14 @@ import {
12
15
  describeDeployedSecurityHeaders,
13
16
  renderSecurityHeadersConfigLiteral,
14
17
  serverDirLiteral
15
- } from "./chunk-PALZUV6E.js";
16
- import {
17
- findRootDiv
18
- } from "./chunk-3PWQQWT6.js";
18
+ } from "./chunk-6B3CMPE4.js";
19
19
  import {
20
20
  nodeAdapter
21
21
  } from "./chunk-KI4DOTN4.js";
22
- import "./chunk-VV2VU3LJ.js";
22
+ import {
23
+ findRootDiv
24
+ } from "./chunk-3PWQQWT6.js";
25
+ import "./chunk-WSMLSIS5.js";
23
26
  import {
24
27
  assertServicesUnsupported,
25
28
  readManifest
@@ -92,16 +95,29 @@ function routeRuntimeLines(moduleEntries, tableEntries) {
92
95
  ``
93
96
  ];
94
97
  }
95
- function renderCloudflareWorkerEntry(opts = {}) {
96
- const streamingImport = opts.ssrStreaming ? `import { renderStreamingWeb } from '/@theo/entry-server'` : `// (ssrStreaming off: renderStreamingWeb not imported)`;
97
- const nonApiBranch = opts.ssrStreaming ? [
98
+ function readAssetsMapForBake(path) {
99
+ try {
100
+ return parseAssetsMap(readFileSync(path, "utf8"));
101
+ } catch {
102
+ return void 0;
103
+ }
104
+ }
105
+ function preloadsApplyTo(opts) {
106
+ return opts.ssrStreaming === true && opts.assetsMap !== void 0;
107
+ }
108
+ function renderPreloadSupport(assetsMap) {
109
+ if (assetsMap === void 0) return "";
110
+ return `const __THEO_ASSETS_MAP = ${JSON.stringify(assetsMap)}`;
111
+ }
112
+ function renderNonApiBranch(opts, preloadsApply) {
113
+ return opts.ssrStreaming ? [
98
114
  ` // T2.3 \u2014 streaming SSR for non-API routes`,
99
115
  ` // The same primitive \`theokit start\` uses, not a second one:`,
100
116
  ` // 16 bytes of Web Crypto entropy, base64.`,
101
117
  ` const nonce = generateNonce()`,
102
118
  ` return withSecurityHeaders(`,
103
119
  ` await renderStreamingWeb(request, {`,
104
- ` htmlHead: ${JSON.stringify(opts.htmlHead ?? "")},`,
120
+ !preloadsApply ? ` htmlHead: ${JSON.stringify(opts.htmlHead ?? "")},` : ` htmlHead: injectModulePreloads(${JSON.stringify(opts.htmlHead ?? "")}, __THEO_ASSETS_MAP, new URL(request.url).pathname),`,
105
121
  ` htmlTail: ${JSON.stringify(opts.htmlTail ?? "")},`,
106
122
  ` nonce,`,
107
123
  ` }),`,
@@ -118,6 +134,12 @@ function renderCloudflareWorkerEntry(opts = {}) {
118
134
  ` if (assets === undefined) return notFoundResponse()`,
119
135
  ` return withSecurityHeaders(await assets.fetch(request), SECURITY_HEADERS)`
120
136
  ].join("\n");
137
+ }
138
+ function renderCloudflareWorkerEntry(opts = {}) {
139
+ const streamingImport = opts.ssrStreaming ? `import { renderStreamingWeb } from '/@theo/entry-server'` : `// (ssrStreaming off: renderStreamingWeb not imported)`;
140
+ const preloadsApply = preloadsApplyTo(opts);
141
+ const preloadSupport = preloadsApply ? renderPreloadSupport(opts.assetsMap) : "";
142
+ const nonApiBranch = renderNonApiBranch(opts, preloadsApply);
121
143
  const { routeImports, routeModuleEntries, routeTableEntries } = renderBakedRoutes(
122
144
  opts.routes ?? []
123
145
  );
@@ -136,7 +158,8 @@ function renderCloudflareWorkerEntry(opts = {}) {
136
158
  `// so Wrangler bundles theokit and its transitive deps`,
137
159
  `// - Deploy: wrangler deploy`,
138
160
  ``,
139
- `import { matchRoute, executeRoute, compilePattern, extractTraceIdFromRequest, TRACE_HEADER, createCorsWebHandler } from 'theokit/server'`,
161
+ !preloadsApply ? `import { matchRoute, executeRoute, compilePattern, extractTraceIdFromRequest, TRACE_HEADER, createCorsWebHandler } from 'theokit/server'` : `import { matchRoute, executeRoute, compilePattern, extractTraceIdFromRequest, TRACE_HEADER, createCorsWebHandler } from 'theokit/server'
162
+ import { injectModulePreloads } from 'theokit/server/http'`,
140
163
  `import { createWebShim } from 'theokit/adapters/web-shim'`,
141
164
  opts.ssrStreaming ? `import { buildSecurityHeaders, generateNonce, withSecurityHeaders } from 'theokit/adapters/security-headers'` : `import { buildSecurityHeaders, withSecurityHeaders } from 'theokit/adapters/security-headers'`,
142
165
  `// T3.4 \u2014 WS bridge for Cloudflare Workers`,
@@ -156,6 +179,7 @@ function renderCloudflareWorkerEntry(opts = {}) {
156
179
  `// here as a literal because a Worker has no theo.config.ts to read. Same`,
157
180
  `// function, same input, so the deployed page and the local one cannot`,
158
181
  `// disagree about what the configuration means.`,
182
+ preloadSupport,
159
183
  `const SECURITY_HEADERS_CONFIG = ${renderSecurityHeadersConfigLiteral(opts.securityHeaders)}`,
160
184
  `const SECURITY_HEADERS = buildSecurityHeaders(SECURITY_HEADERS_CONFIG, { production: true })`,
161
185
  ``,
@@ -285,6 +309,7 @@ var cloudflareAdapter = {
285
309
  const outputDir = resolve(cwd, ".theokit/cloudflare");
286
310
  mkdirSync(outputDir, { recursive: true });
287
311
  const shell = readDocumentShell(cwd, config.ssrStreaming);
312
+ const assetsMap = readAssetsMapForBake(resolve(cwd, ".theokit", "client", "assets-map.json"));
288
313
  const scanned = ctx?.scanRoutes?.(config.serverDir) ?? { routes: [], wsRoutes: [], agents: [] };
289
314
  const pluginsPlan = planDeployedPlugins(config.plugins, "cloudflare");
290
315
  if (pluginsPlan !== void 0) {
@@ -299,6 +324,7 @@ var cloudflareAdapter = {
299
324
  csrf: config.security?.csrf,
300
325
  disallowed: config.security?.disallowed,
301
326
  cors: config.security?.cors,
327
+ assetsMap,
302
328
  // #425 — a selector, not a transformer, so it rides as a literal like the values above.
303
329
  serialization: config.serialization,
304
330
  // #425 — the ONE concern that is not a literal. A closure cannot be baked, so a plugin
@@ -330,7 +356,8 @@ var cloudflareAdapter = {
330
356
  };
331
357
  export {
332
358
  cloudflareAdapter,
359
+ readAssetsMapForBake,
333
360
  renderCloudflareWorkerEntry,
334
361
  renderWranglerToml
335
362
  };
336
- //# sourceMappingURL=cloudflare-VIQX4FVC.js.map
363
+ //# sourceMappingURL=cloudflare-5HU56XIH.js.map