/** * Production SSR endpoint for server-owned islands. * * Default export is an oxidejs-style fetch middleware: * `(request) => Response | undefined`. Returns `undefined` for any request it * does not own, so hosts can chain it ahead of their own handler: * * ```ts * oxide({ middleware: ["@ilha/router/ssr"] }); * ``` * * Serves `POST /__ilha/frame` — re-renders a server island (JSON `{ id, path }` * in, `{ html }` out). Renderers come from the process-global registry * populated by self-registration code appended to `.server` modules. * * Frame helpers live in `./frame` (no oxidejs). `__ilhaServerAction` lives in * `./oxide-action` so `@ilha/router/vite` can load the pages plugin without * the optional oxide peer. */ export { FRAME_ENDPOINT, FrameError, MAX_BODY, authorizeFrameRequest, forwardIdentityHeaders, frameEnvelope, frameScopedUrl, getFrameAuth, getFrameGuard, getServerIslandEntry, isSafeFramePath, isTrustedOrigin, json, parseFrameProps, readBodyBounded, registerServerIsland, renderServerIsland, renderServerIslandResult, setFrameAuth, setFrameGuard, } from "./frame"; export type { FrameAuthPolicy, FrameEnvelope, FrameGuard, FrameJsonObject, FrameJsonValue, ServerIslandEntry, ServerIslandRenderFn, } from "./frame"; export { __ilhaServerAction } from "./oxide-action"; /** Side-effect imports required alongside this handler. */ interface SsrMiddleware { (request: Request): Promise; imports: string[]; } declare const ssrWithImports: SsrMiddleware; export default ssrWithImports;