@canmi/seam-server 0.5.27 → 0.5.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -264,16 +264,26 @@ interface PageAssets {
264
264
  preload: string[];
265
265
  prefetch: string[];
266
266
  }
267
+ type HeadFn = (data: Record<string, unknown>) => {
268
+ title?: string;
269
+ meta?: Record<string, string | undefined>[];
270
+ link?: Record<string, string | undefined>[];
271
+ };
267
272
  interface PageDef {
268
273
  template: string;
269
274
  localeTemplates?: Record<string, string>;
270
275
  loaders: Record<string, LoaderFn>;
271
276
  layoutChain?: LayoutDef[];
272
277
  headMeta?: string;
278
+ headFn?: HeadFn;
273
279
  dataId?: string;
274
280
  i18nKeys?: string[];
275
281
  pageAssets?: PageAssets;
276
282
  projections?: Record<string, string[]>;
283
+ /** SSG: page was pre-rendered at build time */
284
+ prerender?: boolean;
285
+ /** SSG: directory containing pre-rendered HTML and __data.json */
286
+ staticDir?: string;
277
287
  }
278
288
  interface I18nConfig {
279
289
  locales: string[];
@@ -403,6 +413,7 @@ interface SubscriptionDef<TIn = unknown, TOut = unknown> {
403
413
  handler: (params: {
404
414
  input: TIn;
405
415
  ctx: Record<string, unknown>;
416
+ lastEventId?: string;
406
417
  }) => AsyncIterable<TOut>;
407
418
  }
408
419
  interface StreamDef<TIn = unknown, TChunk = unknown> {
@@ -433,6 +444,10 @@ interface UploadDef<TIn = unknown, TOut = unknown> {
433
444
  }) => TOut | Promise<TOut>;
434
445
  }
435
446
  type DefinitionMap = Record<string, QueryDef<any, any> | CommandDef<any, any> | SubscriptionDef<any, any> | StreamDef<any, any> | UploadDef<any, any>>;
447
+ type NestedDefinitionValue = QueryDef<any, any> | CommandDef<any, any> | SubscriptionDef<any, any> | StreamDef<any, any> | UploadDef<any, any> | {
448
+ [key: string]: NestedDefinitionValue;
449
+ };
450
+ type NestedDefinitionMap = Record<string, NestedDefinitionValue>;
436
451
  interface RouterOptions {
437
452
  pages?: Record<string, PageDef>;
438
453
  rpcHashMap?: RpcHashMap;
@@ -455,11 +470,13 @@ interface Router<T extends DefinitionMap> {
455
470
  handleBatch(calls: BatchCall[], rawCtx?: RawContextMap): Promise<{
456
471
  results: BatchResultItem[];
457
472
  }>;
458
- handleSubscription(name: string, input: unknown, rawCtx?: RawContextMap): AsyncIterable<unknown>;
473
+ handleSubscription(name: string, input: unknown, rawCtx?: RawContextMap, lastEventId?: string): AsyncIterable<unknown>;
459
474
  handleStream(name: string, input: unknown, rawCtx?: RawContextMap): AsyncGenerator<unknown>;
460
475
  handleUpload(name: string, body: unknown, file: SeamFileHandle, rawCtx?: RawContextMap): Promise<HandleResult>;
461
476
  getKind(name: string): ProcedureKind | null;
462
477
  handlePage(path: string, headers?: PageRequestHeaders, rawCtx?: RawContextMap): Promise<HandlePageResult | null>;
478
+ /** Serve __data.json for a prerendered page (SPA navigation) */
479
+ handlePageData(path: string): Promise<unknown>;
463
480
  hasContext(): boolean;
464
481
  readonly ctxConfig: ContextConfig;
465
482
  readonly hasPages: boolean;
@@ -467,7 +484,7 @@ interface Router<T extends DefinitionMap> {
467
484
  /** Exposed for adapter access to the definitions */
468
485
  readonly procedures: T;
469
486
  }
470
- declare function createRouter<T extends DefinitionMap>(procedures: T, opts?: RouterOptions): Router<T>;
487
+ declare function createRouter<T extends DefinitionMap>(procedures: T | NestedDefinitionMap, opts?: RouterOptions): Router<T>;
471
488
  //#endregion
472
489
  //#region src/factory.d.ts
473
490
  declare function query<TIn, TOut>(def: Omit<QueryDef<TIn, TOut>, 'kind' | 'type'>): QueryDef<TIn, TOut>;
@@ -680,5 +697,5 @@ interface ValidationDetail {
680
697
  actual?: string;
681
698
  }
682
699
  //#endregion
683
- export { type BatchCall, type BatchResultItem, type BuildOutput, type CallbackSink, type ChannelDef, type ChannelMeta, type ChannelResult, type ChannelWsOptions, type ChannelWsSession, type CommandDef, type ContextConfig, type ContextFieldDef, type ContextManifestEntry, type DefinitionMap, type DevProxyOptions, type ErrorCode, type HandlePageResult, type HandleResult, type HttpBodyResponse, type HttpHandler, type HttpHandlerOptions, type HttpRequest, type HttpResponse, type HttpStreamResponse, type I18nConfig, type I18nOpts, type IncomingDef, type Infer, type InvalidateTarget, type LayoutDef, type LoaderError, type LoaderFn, type MappingValue, type NormalizedInvalidateTarget, type NormalizedMappingValue, type OptionalSchemaNode, type PageDef, type PageRequestHeaders, type PageTiming, type ProcedureDef, type ProcedureEntry, type ProcedureKind, type ProcedureManifest, type ProcedureType, type QueryDef, type RawContextMap, type ReloadWatcher, type ResolveData, type ResolveStrategy, type Router, type RouterOptions, type RpcHashMap, type SchemaNode, type SeamDefine, SeamError, type SeamFileHandle, type SseOptions, type StaticHandlerOptions, type StreamDef, type SubscriptionDef, type TransportConfig, type TransportPreference, type TypedContextFieldDef, type UploadDef, type ValidationConfig, type ValidationDetail, type ValidationMode, type WsSink, buildRawContext, command, contextHasExtracts, createChannel, createDevProxy, createHttpHandler, createRouter, createSeamRouter, createStaticHandler, defaultStrategies, definePage, drainStream, extract, fromAcceptLanguage, fromCallback, fromCookie, fromUrlPrefix, fromUrlQuery, isLoaderError, loadBuild, loadBuildDev, loadBuildOutput, loadBuildOutputDev, loadI18nMessages, loadRpcHashMap, parseCookieHeader, query, resolveChain, serialize, sseCompleteEvent, sseDataEvent, sseDataEventWithId, sseErrorEvent, startChannelWs, stream, subscription, t, toWebResponse, upload, watchReloadTrigger };
700
+ export { type BatchCall, type BatchResultItem, type BuildOutput, type CallbackSink, type ChannelDef, type ChannelMeta, type ChannelResult, type ChannelWsOptions, type ChannelWsSession, type CommandDef, type ContextConfig, type ContextFieldDef, type ContextManifestEntry, type DefinitionMap, type DevProxyOptions, type ErrorCode, type HandlePageResult, type HandleResult, type HeadFn, type HttpBodyResponse, type HttpHandler, type HttpHandlerOptions, type HttpRequest, type HttpResponse, type HttpStreamResponse, type I18nConfig, type I18nOpts, type IncomingDef, type Infer, type InvalidateTarget, type LayoutDef, type LoaderError, type LoaderFn, type MappingValue, type NestedDefinitionMap, type NormalizedInvalidateTarget, type NormalizedMappingValue, type OptionalSchemaNode, type PageDef, type PageRequestHeaders, type PageTiming, type ProcedureDef, type ProcedureEntry, type ProcedureKind, type ProcedureManifest, type ProcedureType, type QueryDef, type RawContextMap, type ReloadWatcher, type ResolveData, type ResolveStrategy, type Router, type RouterOptions, type RpcHashMap, type SchemaNode, type SeamDefine, SeamError, type SeamFileHandle, type SseOptions, type StaticHandlerOptions, type StreamDef, type SubscriptionDef, type TransportConfig, type TransportPreference, type TypedContextFieldDef, type UploadDef, type ValidationConfig, type ValidationDetail, type ValidationMode, type WsSink, buildRawContext, command, contextHasExtracts, createChannel, createDevProxy, createHttpHandler, createRouter, createSeamRouter, createStaticHandler, defaultStrategies, definePage, drainStream, extract, fromAcceptLanguage, fromCallback, fromCookie, fromUrlPrefix, fromUrlQuery, isLoaderError, loadBuild, loadBuildDev, loadBuildOutput, loadBuildOutputDev, loadI18nMessages, loadRpcHashMap, parseCookieHeader, query, resolveChain, serialize, sseCompleteEvent, sseDataEvent, sseDataEventWithId, sseErrorEvent, startChannelWs, stream, subscription, t, toWebResponse, upload, watchReloadTrigger };
684
701
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/schema.ts","../src/types/primitives.ts","../src/types/composites.ts","../src/types/index.ts","../src/procedure.ts","../src/http.ts","../src/channel.ts","../src/context.ts","../src/manifest/index.ts","../src/router/handler.ts","../src/page/index.ts","../src/page/handler.ts","../src/resolve.ts","../src/router/index.ts","../src/factory.ts","../src/seam-router.ts","../src/errors.ts","../src/page/loader-error.ts","../src/page/build-loader.ts","../src/subscription.ts","../src/ws.ts","../src/proxy.ts","../src/dev/reload-watcher.ts","../src/validation/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/schema.ts","../src/types/primitives.ts","../src/types/composites.ts","../src/types/index.ts","../src/procedure.ts","../src/http.ts","../src/channel.ts","../src/context.ts","../src/manifest/index.ts","../src/router/handler.ts","../src/page/index.ts","../src/page/handler.ts","../src/resolve.ts","../src/router/index.ts","../src/factory.ts","../src/seam-router.ts","../src/errors.ts","../src/page/loader-error.ts","../src/page/build-loader.ts","../src/subscription.ts","../src/ws.ts","../src/proxy.ts","../src/dev/reload-watcher.ts","../src/validation/index.ts"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { validate } from "jtd";
2
1
  import { existsSync, readFileSync, watch } from "node:fs";
3
2
  import { extname, join } from "node:path";
3
+ import { validate } from "jtd";
4
4
  import { escapeHtml, renderPage } from "@canmi/seam-engine";
5
5
  import { readFile } from "node:fs/promises";
6
6
 
@@ -473,7 +473,7 @@ async function handleBatchRequest(procedures, calls, shouldValidateInput = true,
473
473
  };
474
474
  })) };
475
475
  }
476
- async function* handleSubscription(subscriptions, name, rawInput, shouldValidateInput = true, validateOutput, ctx) {
476
+ async function* handleSubscription(subscriptions, name, rawInput, shouldValidateInput = true, validateOutput, ctx, lastEventId) {
477
477
  const sub = subscriptions.get(name);
478
478
  if (!sub) throw new SeamError("NOT_FOUND", `Subscription '${name}' not found`);
479
479
  if (shouldValidateInput) {
@@ -485,7 +485,8 @@ async function* handleSubscription(subscriptions, name, rawInput, shouldValidate
485
485
  }
486
486
  for await (const value of sub.handler({
487
487
  input: rawInput,
488
- ctx: ctx ?? {}
488
+ ctx: ctx ?? {},
489
+ lastEventId
489
490
  })) {
490
491
  if (validateOutput) {
491
492
  const outValidation = validateInput(sub.outputSchema, value);
@@ -581,6 +582,7 @@ function categorizeProcedures(definitions, contextConfig) {
581
582
  const uploadMap = /* @__PURE__ */ new Map();
582
583
  const kindMap = /* @__PURE__ */ new Map();
583
584
  for (const [name, def] of Object.entries(definitions)) {
585
+ if (name.startsWith("seam.")) throw new Error(`Procedure name "${name}" uses reserved "seam." namespace`);
584
586
  const kind = resolveKind(name, def);
585
587
  kindMap.set(name, kind);
586
588
  const contextKeys = def.context ?? [];
@@ -621,6 +623,28 @@ function categorizeProcedures(definitions, contextConfig) {
621
623
  };
622
624
  }
623
625
 
626
+ //#endregion
627
+ //#region src/page/head.ts
628
+ /**
629
+ * Convert a HeadConfig with real values into escaped HTML.
630
+ * Used at request-time by TS server backends.
631
+ */
632
+ function headConfigToHtml(config) {
633
+ let html = "";
634
+ if (config.title !== void 0) html += `<title>${escapeHtml(config.title)}</title>`;
635
+ for (const meta of config.meta ?? []) {
636
+ html += "<meta";
637
+ for (const [k, v] of Object.entries(meta)) if (v !== void 0) html += ` ${k}="${escapeHtml(v)}"`;
638
+ html += ">";
639
+ }
640
+ for (const link of config.link ?? []) {
641
+ html += "<link";
642
+ for (const [k, v] of Object.entries(link)) if (v !== void 0) html += ` ${k}="${escapeHtml(v)}"`;
643
+ html += ">";
644
+ }
645
+ return html;
646
+ }
647
+
624
648
  //#endregion
625
649
  //#region src/page/loader-error.ts
626
650
  function isLoaderError(value) {
@@ -764,6 +788,22 @@ function lookupMessages(config, routePattern, locale) {
764
788
  }
765
789
  return config.messages[locale]?.[routeHash] ?? {};
766
790
  }
791
+ /** Build JSON payload for engine i18n injection */
792
+ function buildI18nPayload(opts) {
793
+ const { config: i18nConfig, routePattern, locale } = opts;
794
+ const messages = lookupMessages(i18nConfig, routePattern, locale);
795
+ const routeHash = i18nConfig.routeHashes[routePattern];
796
+ const i18nData = {
797
+ locale,
798
+ default_locale: i18nConfig.default,
799
+ messages
800
+ };
801
+ if (i18nConfig.cache && routeHash) {
802
+ i18nData.hash = i18nConfig.contentHashes[routeHash]?.[locale];
803
+ i18nData.router = i18nConfig.contentHashes;
804
+ }
805
+ return JSON.stringify(i18nData);
806
+ }
767
807
  async function handlePageRequest(page, params, procedures, i18nOpts, searchParams, ctxResolver, shouldValidateInput) {
768
808
  try {
769
809
  const t0 = performance.now();
@@ -783,32 +823,23 @@ async function handlePageRequest(page, params, procedures, i18nOpts, searchParam
783
823
  const layout = layoutChain[i];
784
824
  composedTemplate = selectTemplate(layout.template, layout.localeTemplates, locale).replace("<!--seam:outlet-->", composedTemplate);
785
825
  }
826
+ let resolvedHeadMeta = page.headMeta;
827
+ if (page.headFn) try {
828
+ resolvedHeadMeta = headConfigToHtml(page.headFn(allData));
829
+ } catch (err) {
830
+ console.error("[seam] head function failed:", err);
831
+ }
786
832
  const config = {
787
833
  layout_chain: layoutChain.map((l) => ({
788
834
  id: l.id,
789
835
  loader_keys: Object.keys(l.loaders)
790
836
  })),
791
837
  data_id: page.dataId ?? "__data",
792
- head_meta: page.headMeta,
838
+ head_meta: resolvedHeadMeta,
793
839
  loader_metadata: allMeta
794
840
  };
795
841
  if (page.pageAssets) config.page_assets = page.pageAssets;
796
- let i18nOptsJson;
797
- if (i18nOpts) {
798
- const { config: i18nConfig, routePattern } = i18nOpts;
799
- const messages = lookupMessages(i18nConfig, routePattern, i18nOpts.locale);
800
- const routeHash = i18nConfig.routeHashes[routePattern];
801
- const i18nData = {
802
- locale: i18nOpts.locale,
803
- default_locale: i18nConfig.default,
804
- messages
805
- };
806
- if (i18nConfig.cache && routeHash) {
807
- i18nData.hash = i18nConfig.contentHashes[routeHash]?.[i18nOpts.locale];
808
- i18nData.router = i18nConfig.contentHashes;
809
- }
810
- i18nOptsJson = JSON.stringify(i18nData);
811
- }
842
+ const i18nOptsJson = i18nOpts ? buildI18nPayload(i18nOpts) : void 0;
812
843
  const html = renderPage(composedTemplate, JSON.stringify(prunedData), JSON.stringify(config), i18nOptsJson);
813
844
  const t2 = performance.now();
814
845
  return {
@@ -822,7 +853,11 @@ async function handlePageRequest(page, params, procedures, i18nOpts, searchParam
822
853
  } catch (error) {
823
854
  return {
824
855
  status: 500,
825
- html: `<!DOCTYPE html><html><body><h1>500 Internal Server Error</h1><p>${escapeHtml(error instanceof Error ? error.message : "Unknown error")}</p></body></html>`
856
+ html: `<!DOCTYPE html><html><body><h1>500 Internal Server Error</h1><p>${escapeHtml(error instanceof Error ? error.message : "Unknown error")}</p></body></html>`,
857
+ timing: {
858
+ dataFetch: 0,
859
+ inject: 0
860
+ }
826
861
  };
827
862
  }
828
863
  }
@@ -934,14 +969,16 @@ function buildStrategies(opts) {
934
969
  hasUrlPrefix: strategies.some((s) => s.kind === "url_prefix")
935
970
  };
936
971
  }
937
- /** Register built-in __seam_i18n_query procedure (route-hash-based lookup) */
972
+ /** Register built-in seam.i18n.query procedure (route-hash-based lookup) */
938
973
  function registerI18nQuery(procedureMap, config) {
939
- procedureMap.set("__seam_i18n_query", {
974
+ const localeSet = new Set(config.locales);
975
+ procedureMap.set("seam.i18n.query", {
940
976
  inputSchema: {},
941
977
  outputSchema: {},
942
978
  contextKeys: [],
943
979
  handler: ({ input }) => {
944
- const { route, locale } = input;
980
+ const { route, locale: rawLocale } = input;
981
+ const locale = localeSet.has(rawLocale) ? rawLocale : config.default;
945
982
  const messages = lookupI18nMessages(config, route, locale);
946
983
  return {
947
984
  hash: config.contentHashes[route]?.[locale] ?? "",
@@ -998,6 +1035,15 @@ async function matchAndHandlePage(pageMatcher, procedureMap, i18nConfig, strateg
998
1035
  });
999
1036
  const match = pageMatcher.match(routePath);
1000
1037
  if (!match) return null;
1038
+ if (match.value.prerender && match.value.staticDir) {
1039
+ const htmlPath = join(match.value.staticDir, routePath === "/" ? "" : routePath, "index.html");
1040
+ try {
1041
+ return {
1042
+ status: 200,
1043
+ html: readFileSync(htmlPath, "utf-8")
1044
+ };
1045
+ } catch {}
1046
+ }
1001
1047
  let searchParams;
1002
1048
  if (headers?.url) try {
1003
1049
  const url = new URL(headers.url, "http://localhost");
@@ -1090,9 +1136,9 @@ function buildRouterMethods(state, procedures, opts) {
1090
1136
  return buildManifest(procedures, state.channelsMeta, state.ctxConfig, opts?.transportDefaults);
1091
1137
  },
1092
1138
  ...buildRpcMethods(state),
1093
- handleSubscription(name, input, rawCtx) {
1139
+ handleSubscription(name, input, rawCtx, lastEventId) {
1094
1140
  const ctx = resolveCtxFor(state.subscriptionMap, name, rawCtx, state.ctxConfig);
1095
- return handleSubscription(state.subscriptionMap, name, input, state.shouldValidateInput, state.shouldValidateOutput, ctx);
1141
+ return handleSubscription(state.subscriptionMap, name, input, state.shouldValidateInput, state.shouldValidateOutput, ctx, lastEventId);
1096
1142
  },
1097
1143
  handleStream(name, input, rawCtx) {
1098
1144
  const ctx = resolveCtxFor(state.streamMap, name, rawCtx, state.ctxConfig);
@@ -1103,18 +1149,44 @@ function buildRouterMethods(state, procedures, opts) {
1103
1149
  },
1104
1150
  handlePage(path, headers, rawCtx) {
1105
1151
  return matchAndHandlePage(state.pageMatcher, state.procedureMap, state.i18nConfig, state.strategies, state.hasUrlPrefix, path, headers, rawCtx, state.ctxConfig, state.shouldValidateInput);
1152
+ },
1153
+ handlePageData(path) {
1154
+ const match = state.pageMatcher?.match(path);
1155
+ if (!match) return Promise.resolve(null);
1156
+ const page = match.value;
1157
+ if (!page.prerender || !page.staticDir) return Promise.resolve(null);
1158
+ const dataPath = join(page.staticDir, path === "/" ? "" : path, "__data.json");
1159
+ try {
1160
+ if (!existsSync(dataPath)) return Promise.resolve(null);
1161
+ return Promise.resolve(JSON.parse(readFileSync(dataPath, "utf-8")));
1162
+ } catch {
1163
+ return Promise.resolve(null);
1164
+ }
1106
1165
  }
1107
1166
  };
1108
1167
  }
1109
1168
 
1110
1169
  //#endregion
1111
1170
  //#region src/router/index.ts
1171
+ function isProcedureDef(value) {
1172
+ return typeof value === "object" && value !== null && "input" in value && "handler" in value;
1173
+ }
1174
+ function flattenDefinitions(nested, prefix = "") {
1175
+ const flat = {};
1176
+ for (const [key, value] of Object.entries(nested)) {
1177
+ const fullKey = prefix ? `${prefix}.${key}` : key;
1178
+ if (isProcedureDef(value)) flat[fullKey] = value;
1179
+ else Object.assign(flat, flattenDefinitions(value, fullKey));
1180
+ }
1181
+ return flat;
1182
+ }
1112
1183
  function createRouter(procedures, opts) {
1113
- const state = initRouterState(procedures, opts);
1184
+ const flat = flattenDefinitions(procedures);
1185
+ const state = initRouterState(flat, opts);
1114
1186
  return {
1115
- procedures,
1187
+ procedures: flat,
1116
1188
  rpcHashMap: opts?.rpcHashMap,
1117
- ...buildRouterMethods(state, procedures, opts)
1189
+ ...buildRouterMethods(state, flat, opts)
1118
1190
  };
1119
1191
  }
1120
1192
 
@@ -1310,6 +1382,7 @@ const MIME_TYPES = {
1310
1382
  //#region src/http.ts
1311
1383
  const PROCEDURE_PREFIX = "/_seam/procedure/";
1312
1384
  const PAGE_PREFIX = "/_seam/page/";
1385
+ const DATA_PREFIX = "/_seam/data/";
1313
1386
  const STATIC_PREFIX = "/_seam/static/";
1314
1387
  const MANIFEST_PATH = "/_seam/manifest.json";
1315
1388
  const JSON_HEADER = { "Content-Type": "application/json" };
@@ -1433,9 +1506,10 @@ async function* withSseLifecycle(inner, opts) {
1433
1506
  if (idleTimer) clearTimeout(idleTimer);
1434
1507
  }
1435
1508
  }
1436
- async function* sseStream(router, name, input, rawCtx) {
1509
+ async function* sseStream(router, name, input, rawCtx, lastEventId) {
1437
1510
  try {
1438
- for await (const value of router.handleSubscription(name, input, rawCtx)) yield sseDataEvent(value);
1511
+ let seq = 0;
1512
+ for await (const value of router.handleSubscription(name, input, rawCtx, lastEventId)) yield sseDataEventWithId(value, seq++);
1439
1513
  yield sseCompleteEvent();
1440
1514
  } catch (error) {
1441
1515
  yield formatSseError(error);
@@ -1505,7 +1579,7 @@ async function handleProcedurePost(req, router, name, rawCtx, sseOptions) {
1505
1579
  function createHttpHandler(router, opts) {
1506
1580
  const effectiveHashMap = opts?.rpcHashMap ?? router.rpcHashMap;
1507
1581
  const hashToName = effectiveHashMap ? new Map(Object.entries(effectiveHashMap.procedures).map(([n, h]) => [h, n])) : null;
1508
- if (hashToName) hashToName.set("__seam_i18n_query", "__seam_i18n_query");
1582
+ if (hashToName) hashToName.set("seam.i18n.query", "seam.i18n.query");
1509
1583
  const batchHash = effectiveHashMap?.batch ?? null;
1510
1584
  const hasCtx = router.hasContext();
1511
1585
  return async (req) => {
@@ -1532,10 +1606,11 @@ function createHttpHandler(router, opts) {
1532
1606
  } catch {
1533
1607
  return errorResponse(400, "VALIDATION_ERROR", "Invalid input query parameter");
1534
1608
  }
1609
+ const lastEventId = req.header?.("last-event-id") ?? void 0;
1535
1610
  return {
1536
1611
  status: 200,
1537
1612
  headers: SSE_HEADER,
1538
- stream: withSseLifecycle(sseStream(router, name, input, rawCtx), opts?.sseOptions)
1613
+ stream: withSseLifecycle(sseStream(router, name, input, rawCtx, lastEventId), opts?.sseOptions)
1539
1614
  };
1540
1615
  }
1541
1616
  }
@@ -1553,6 +1628,11 @@ function createHttpHandler(router, opts) {
1553
1628
  body: result.html
1554
1629
  };
1555
1630
  }
1631
+ if (req.method === "GET" && pathname.startsWith(DATA_PREFIX) && router.hasPages) {
1632
+ const pagePath = "/" + pathname.slice(12).replace(/\/$/, "");
1633
+ const dataResult = await router.handlePageData(pagePath);
1634
+ if (dataResult !== null) return jsonResponse(200, dataResult);
1635
+ }
1556
1636
  if (req.method === "GET" && pathname.startsWith(STATIC_PREFIX) && opts?.staticDir) return handleStaticAsset(pathname.slice(14), opts.staticDir);
1557
1637
  if (opts?.fallback) return opts.fallback(req);
1558
1638
  return errorResponse(404, "NOT_FOUND", "Not found");
@@ -1752,6 +1832,8 @@ function loadBuildOutput(distDir) {
1752
1832
  const lt = loadLocaleTemplates(entry, distDir);
1753
1833
  if (lt) layoutLocaleTemplates[id] = lt;
1754
1834
  }
1835
+ const staticDir = join(distDir, "..", "static");
1836
+ const hasStaticDir = existsSync(staticDir);
1755
1837
  const pages = {};
1756
1838
  for (const [path, entry] of Object.entries(manifest.routes)) {
1757
1839
  const template = readFileSync(join(distDir, resolveTemplatePath(entry, defaultLocale)), "utf-8");
@@ -1761,7 +1843,7 @@ function loadBuildOutput(distDir) {
1761
1843
  localeTemplates: layoutLocaleTemplates[id]
1762
1844
  })) : [];
1763
1845
  const i18nKeys = mergeI18nKeys(entry, layoutEntries);
1764
- pages[path] = {
1846
+ const page = {
1765
1847
  template,
1766
1848
  localeTemplates: loadLocaleTemplates(entry, distDir),
1767
1849
  loaders,
@@ -1772,6 +1854,11 @@ function loadBuildOutput(distDir) {
1772
1854
  pageAssets: entry.assets,
1773
1855
  projections: entry.projections
1774
1856
  };
1857
+ if (entry.prerender && hasStaticDir) {
1858
+ page.prerender = true;
1859
+ page.staticDir = staticDir;
1860
+ }
1861
+ pages[path] = page;
1775
1862
  }
1776
1863
  return pages;
1777
1864
  }