@reckona/mreact-server 0.0.66 → 0.0.68
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/buffer-sink.js.map +1 -1
- package/dist/flight.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/native-flight.js.map +1 -1
- package/dist/reorder.js.map +1 -1
- package/dist/url-safety.js.map +1 -1
- package/package.json +5 -4
- package/src/buffer-sink.ts +239 -0
- package/src/flight.ts +2057 -0
- package/src/index.ts +1306 -0
- package/src/native-flight.ts +96 -0
- package/src/reorder.ts +30 -0
- package/src/url-safety.ts +9 -0
package/dist/buffer-sink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer-sink.js","sourceRoot":"","sources":["../src/buffer-sink.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buffer-sink.js","sourceRoot":"","sources":["../src/buffer-sink.ts"],"names":[],"mappings":"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","sourcesContent":["// Node 専用 buffer sink — issue 050 の対応。\n//\n// `createStringSink` (cross-runtime, string accumulator) と並べて、\n// Node の `Buffer` を直接 accumulate する sink を提供する。HTTP response\n// body へ `response.write(buffer)` で直接渡すと string → UTF-8 encode の\n// cost を 1 回にまとめられる利点がある。\n//\n// 注: Cloudflare Workers / Deno など `Buffer` を持たない runtime では\n// import 時に runtime error になる。cross-runtime ポータビリティが必要な\n// callsite は `@reckona/mreact-server` 本体の `createStringSink` を使う。\n//\n// tsconfig は `lib: ES2022 + DOM`, `types: []` なので `@types/node` に\n// 依存しないよう、`Buffer` の最小型を本 file 内で declare する。\n\ninterface NodeBuffer extends Uint8Array {\n toString(encoding?: string, start?: number, end?: number): string;\n write(input: string, offset: number, encoding?: string): number;\n copy(target: NodeBuffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;\n subarray(start?: number, end?: number): NodeBuffer;\n}\n\ninterface BufferConstructor {\n from(input: string, encoding?: string): NodeBuffer;\n from(input: ArrayBufferLike | ArrayLike<number>): NodeBuffer;\n alloc(size: number): NodeBuffer;\n allocUnsafe(size: number): NodeBuffer;\n byteLength(input: string, encoding?: string): number;\n isBuffer(input: unknown): input is NodeBuffer;\n}\n\ndeclare const Buffer: BufferConstructor;\n\nexport interface BufferSink {\n append(chunk: string | NodeBuffer): void;\n toBuffer(): NodeBuffer;\n toString(): string;\n size(): number;\n}\n\nexport interface BufferSinkOptions {\n /**\n * Initial backing buffer size (UTF-8 bytes). The buffer grows\n * geometrically as needed. Default: 8192.\n */\n initialSize?: number;\n /**\n * Growth multiplier when the backing buffer needs to expand.\n * Default: 2.\n */\n growthFactor?: number;\n}\n\n/**\n * Creates a Node-only buffer sink with a single pre-allocated growing\n * backing `Buffer`. UTF-8 encoding happens in-place at the current write\n * offset, avoiding per-chunk Buffer allocation and a final concat.\n *\n * Compared to `Buffer.concat`-style implementations, this trades a small\n * amount of headroom memory for ~5-10x throughput on small chunks\n * (see docs/benchmarks/2026-05-12-server-sink-strategy.md).\n */\n/**\n * A streaming-flavored buffer sink used by\n * `renderToReadableStream`. Coalesces successive `append(chunk)` calls\n * into a single byte buffer, then hands the buffer to a consumer\n * callback either on demand (`flush()`) or automatically once the\n * accumulated UTF-8 byte length crosses a threshold.\n *\n * The contract:\n * - Each call to `flush()` (or an auto-flush triggered from within\n * `append`) delivers **exactly one** non-empty byte buffer to the\n * consumer. Empty buffers are never delivered — callers do not\n * need to filter them out.\n * - The delivered buffer is exclusively owned by the consumer; the\n * sink will not mutate it afterwards. Internally we allocate a\n * fresh backing buffer per epoch, so handing off a `subarray` view\n * is safe with no copy.\n *\n * Issue 084: motivated by the streaming SSR throughput gap to\n * marko-run (mreact was at 0.66x marko's ops/sec because the previous\n * implementation paid a `TextEncoder.encode` + Web Streams\n * `controller.enqueue` round-trip per `sink.append()` call).\n */\nexport interface StreamingBufferSink {\n append(chunk: string): void;\n flush(): void;\n size(): number;\n}\n\nexport interface StreamingBufferSinkOptions {\n /** UTF-8 byte threshold that triggers an automatic flush from inside\n * `append`. Default 8 KiB (one common TCP segment payload). */\n flushThreshold?: number;\n /** Initial backing buffer size; same semantics as `BufferSinkOptions`. */\n initialSize?: number;\n /** Consumer hook — invoked at most once per `flush()` (manual or\n * automatic), and only with a non-empty byte buffer. */\n onFlush(buffer: Uint8Array): void;\n}\n\nexport function createStreamingBufferSink(\n options: StreamingBufferSinkOptions,\n): StreamingBufferSink {\n if (!hasNodeBuffer()) {\n return createStreamingEncodedSink(options);\n }\n\n const flushThreshold = options.flushThreshold ?? 8192;\n const initialSize = options.initialSize ?? flushThreshold;\n let inner = createBufferSink({ initialSize });\n const emitAndReset = () => {\n const buf = inner.toBuffer();\n inner = createBufferSink({ initialSize });\n options.onFlush(buf);\n };\n return {\n append(chunk) {\n if (chunk === \"\") return;\n inner.append(chunk);\n if (inner.size() >= flushThreshold) {\n emitAndReset();\n }\n },\n flush() {\n if (inner.size() === 0) return;\n emitAndReset();\n },\n size() {\n return inner.size();\n },\n };\n}\n\nfunction createStreamingEncodedSink(options: StreamingBufferSinkOptions): StreamingBufferSink {\n const flushThreshold = options.flushThreshold ?? 8192;\n const encoder = new TextEncoder();\n let chunks: Uint8Array[] = [];\n let byteLength = 0;\n\n const emitAndReset = () => {\n const output = concatUint8Arrays(chunks, byteLength);\n chunks = [];\n byteLength = 0;\n options.onFlush(output);\n };\n\n return {\n append(chunk) {\n if (chunk === \"\") return;\n\n const bytes = encoder.encode(chunk);\n chunks.push(bytes);\n byteLength += bytes.byteLength;\n\n if (byteLength >= flushThreshold) {\n emitAndReset();\n }\n },\n flush() {\n if (byteLength === 0) return;\n emitAndReset();\n },\n size() {\n return byteLength;\n },\n };\n}\n\nfunction concatUint8Arrays(chunks: Uint8Array[], byteLength: number): Uint8Array {\n if (chunks.length === 1) {\n return chunks[0] ?? new Uint8Array();\n }\n\n const output = new Uint8Array(byteLength);\n let offset = 0;\n\n for (const chunk of chunks) {\n output.set(chunk, offset);\n offset += chunk.byteLength;\n }\n\n return output;\n}\n\nfunction hasNodeBuffer(): boolean {\n return typeof Buffer !== \"undefined\" && typeof Buffer.allocUnsafe === \"function\";\n}\n\nexport function createBufferSink(options: BufferSinkOptions = {}): BufferSink {\n const initialSize = options.initialSize ?? 8192;\n const growthFactor = options.growthFactor ?? 2;\n let buffer = Buffer.allocUnsafe(initialSize);\n let offset = 0;\n\n function ensure(requiredBytes: number): void {\n const required = offset + requiredBytes;\n\n if (required <= buffer.length) {\n return;\n }\n\n let newCapacity = buffer.length === 0 ? initialSize : buffer.length;\n\n while (newCapacity < required) {\n newCapacity = Math.ceil(newCapacity * growthFactor);\n }\n\n const grown = Buffer.allocUnsafe(newCapacity);\n buffer.copy(grown, 0, 0, offset);\n buffer = grown;\n }\n\n return {\n append(chunk) {\n if (typeof chunk === \"string\") {\n // Reserve worst-case byte length (4 bytes/char) up front so we\n // can encode in a single `write()` call without a measurement\n // pass; the actual encoded length is returned by `write()`.\n const upperBound = chunk.length * 4;\n ensure(upperBound);\n offset += buffer.write(chunk, offset, \"utf8\");\n return;\n }\n\n ensure(chunk.length);\n chunk.copy(buffer, offset);\n offset += chunk.length;\n },\n toBuffer() {\n return buffer.subarray(0, offset);\n },\n toString() {\n return buffer.toString(\"utf8\", 0, offset);\n },\n size() {\n return offset;\n },\n };\n}\n"]}
|
package/dist/flight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flight.js","sourceRoot":"","sources":["../src/flight.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flight.js","sourceRoot":"","sources":["../src/flight.ts"],"names":[],"mappings":"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","sourcesContent":["import { getNativeFlight } from \"./native-flight.js\";\n\nexport const CLIENT_REFERENCE_TYPE = Symbol.for(\"modular.react.client_reference\");\nexport const SERVER_REFERENCE_TYPE = Symbol.for(\"modular.react.server_reference\");\nconst CACHE_SCOPE_SYMBOL = Symbol.for(\"modular.react.cache_scope\");\n\nconst REACT_COMPAT_ELEMENT_TYPE = Symbol.for(\"modular.react.element\");\nconst REACT_COMPAT_FRAGMENT_TYPE = Symbol.for(\"modular.react.fragment\");\n\nexport interface FlightClientReference {\n id: number;\n moduleId: string;\n exportName: string;\n chunks?: string[];\n}\n\nexport interface FlightClientReferenceInput {\n name: string;\n moduleId: string;\n exportName: string;\n}\n\nexport interface FlightClientManifestEntry extends FlightClientReferenceInput {\n chunks: string[];\n}\n\nexport type ServerAction = (...args: unknown[]) => unknown | Promise<unknown>;\n\nexport type ServerActionValidationResult = boolean | string;\n\nexport interface ServerActionDescriptor {\n action: ServerAction;\n validateArgs?: (args: unknown[]) => ServerActionValidationResult;\n}\n\nexport type ServerActionRegistry = Record<string, ServerAction | ServerActionDescriptor>;\n\nexport interface ServerActionReplayStore {\n has(value: string): boolean;\n add(value: string): void;\n}\n\nexport interface ServerActionRequestReference {\n moduleId: string;\n exportName: string;\n}\n\nexport interface ServerActionHandlerOptions {\n // Issue 076: secure defaults. When undefined, the handler enforces the\n // same-origin policy by comparing `Origin` to the request URL. Pass an\n // explicit array to extend the trust set, or `\"any\"` to disable the\n // check entirely (documented opt-out).\n allowedOrigins?: readonly string[] | \"any\";\n authorize?: (\n request: Request,\n reference: ServerActionRequestReference,\n args: unknown[],\n ) => ServerActionValidationResult | Promise<ServerActionValidationResult>;\n allowedActions?: readonly ServerActionRequestReference[];\n // Issue 076: CSRF is enabled by default. Pass `false` to disable\n // (documented opt-out for embedders that have their own scheme).\n csrf?:\n | boolean\n | {\n cookieName?: string;\n headerName?: string;\n };\n replayProtection?: {\n headerName?: string;\n seen: ServerActionReplayStore;\n };\n // Issue 076: bound by default so a hostile client cannot drive RSS via\n // an unbounded request body. The default is 1 MiB; pass a larger value\n // to allow bigger payloads.\n maxBodyBytes?: number;\n}\n\nconst DEFAULT_MAX_BODY_BYTES = 1024 * 1024;\n\nexport interface FlightScriptOptions {\n id?: string;\n nonce?: string;\n}\n\nexport interface FlightServerReference {\n id: number;\n moduleId: string;\n exportName: string;\n bound?: FlightModel[];\n}\n\nexport interface ClientReference {\n $$typeof: typeof CLIENT_REFERENCE_TYPE;\n moduleId: string;\n exportName: string;\n chunks?: string[];\n}\n\nexport interface ServerReference {\n $$typeof: typeof SERVER_REFERENCE_TYPE;\n moduleId: string;\n exportName: string;\n bound?: unknown[];\n}\n\nexport interface FlightResponse {\n version: 1;\n root: FlightModel;\n clientReferences: FlightClientReference[];\n serverReferences: FlightServerReference[];\n}\n\nexport type FlightModel =\n | null\n | string\n | number\n | boolean\n | FlightModel[]\n | FlightObjectModel\n | FlightElementModel\n | FlightClientReferenceModel\n | FlightServerReferenceModel\n | FlightDateModel\n | FlightBigIntModel\n | FlightNumberModel\n | FlightSymbolModel\n | FlightMapModel\n | FlightSetModel\n | FlightFormDataModel\n | FlightIterableModel\n | FlightErrorModel\n | FlightPromiseModel\n | FlightArrayBufferModel\n | FlightTypedArrayModel\n | FlightDataViewModel\n | { kind: \"undefined\" };\n\nexport interface FlightObjectModel {\n kind?: never;\n [key: string]: FlightModel | undefined;\n}\n\nexport interface FlightElementModel {\n kind: \"element\";\n type: string | FlightClientReferenceModel | { kind: \"fragment\" };\n key: string | null;\n props: Record<string, FlightModel>;\n}\n\nexport interface FlightClientReferenceModel {\n kind: \"client-reference\";\n id: number;\n}\n\nexport interface FlightServerReferenceModel {\n kind: \"server-reference\";\n id: number;\n}\n\nexport interface FlightDateModel {\n kind: \"date\";\n value: string;\n}\n\nexport interface FlightBigIntModel {\n kind: \"bigint\";\n value: string;\n}\n\nexport interface FlightNumberModel {\n kind: \"number\";\n value: \"Infinity\" | \"-Infinity\" | \"NaN\" | \"-0\";\n}\n\nexport interface FlightSymbolModel {\n kind: \"symbol\";\n name: string;\n}\n\nexport interface FlightMapModel {\n kind: \"map\";\n entries: [FlightModel, FlightModel][];\n}\n\nexport interface FlightSetModel {\n kind: \"set\";\n values: FlightModel[];\n}\n\nexport interface FlightFormDataModel {\n kind: \"form-data\";\n entries: [string, FlightModel][];\n}\n\nexport interface FlightIterableModel {\n kind: \"iterable\";\n values: FlightModel[];\n}\n\nexport interface FlightErrorModel {\n kind: \"error\";\n name: string;\n message: string;\n digest?: string;\n}\n\nexport interface FlightPromiseModel {\n kind: \"promise\";\n id: number;\n}\n\nexport interface FlightArrayBufferModel {\n kind: \"array-buffer\";\n bytes: number[];\n}\n\nexport interface FlightTypedArrayModel {\n kind: \"typed-array\";\n arrayType: FlightTypedArrayName;\n bytes: number[];\n}\n\nexport interface FlightDataViewModel {\n kind: \"data-view\";\n bytes: number[];\n}\n\nexport type FlightTypedArrayName =\n | \"Int8Array\"\n | \"Uint8Array\"\n | \"Uint8ClampedArray\"\n | \"Int16Array\"\n | \"Uint16Array\"\n | \"Int32Array\"\n | \"Uint32Array\"\n | \"Float32Array\"\n | \"Float64Array\"\n | \"BigInt64Array\"\n | \"BigUint64Array\";\n\nconst reactFlightBinaryRowTags = [\"A\", \"O\", \"o\", \"U\", \"S\", \"s\", \"L\", \"l\", \"G\", \"g\", \"M\", \"m\", \"V\"] as const;\nconst reactFlightRowTags = [\"C\", \"D\", \"E\", \"F\", \"H\", \"I\", \"J\", \"N\", \"P\", \"R\", \"T\", \"W\", \"X\", \"x\", \"r\"] as const;\nconst reactFlightModelTokens = [\n \"$\",\n \"$$\",\n \"$@\",\n \"$D\",\n \"$E\",\n \"$F\",\n \"$I\",\n \"$K\",\n \"$L\",\n \"$N\",\n \"$Q\",\n \"$S\",\n \"$W\",\n \"$Y\",\n \"$Z\",\n \"$i\",\n \"$n\",\n \"$u\",\n \"$undefined\",\n] as const;\n\nexport interface ReactFlightProtocolCoverage {\n binaryRowTags: string[];\n modelTokens: string[];\n rowTags: string[];\n}\n\nexport function getReactFlightProtocolCoverage(): ReactFlightProtocolCoverage {\n return {\n binaryRowTags: [...reactFlightBinaryRowTags],\n modelTokens: [...reactFlightModelTokens],\n rowTags: [...reactFlightRowTags],\n };\n}\n\ninterface ReactCompatElementLike {\n $$typeof: symbol;\n type: unknown;\n key: string | null;\n props: Record<string, unknown>;\n}\n\ninterface FlightSerializationState {\n clientReferences: FlightClientReference[];\n clientReferenceIndexes: Map<string, number>;\n serverReferences: FlightServerReference[];\n serverReferenceIndexes: Map<string, number>;\n}\n\ninterface ServerCacheScope {\n functionCaches: WeakMap<(...args: never[]) => unknown, unknown>;\n controller: AbortController;\n ownerStack: string[];\n}\n\nexport function createClientReference(\n moduleId: string,\n exportName = \"default\",\n chunks?: string[],\n): ClientReference {\n return {\n $$typeof: CLIENT_REFERENCE_TYPE,\n moduleId,\n exportName,\n ...(chunks === undefined ? {} : { chunks }),\n };\n}\n\nexport function createServerReference(\n moduleId: string,\n exportName = \"default\",\n bound?: unknown[],\n): ServerReference {\n return {\n $$typeof: SERVER_REFERENCE_TYPE,\n moduleId,\n exportName,\n ...(bound === undefined ? {} : { bound }),\n };\n}\n\nexport function isClientReference(value: unknown): value is ClientReference {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === CLIENT_REFERENCE_TYPE\n );\n}\n\nexport function isServerReference(value: unknown): value is ServerReference {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === SERVER_REFERENCE_TYPE\n );\n}\n\nexport async function renderToFlightResponse<P extends Record<string, unknown>>(\n renderable: ((props: P) => unknown) | unknown,\n props = {} as P,\n): Promise<FlightResponse> {\n return runWithFlightCacheScope(async () => {\n const state: FlightSerializationState = {\n clientReferences: [],\n clientReferenceIndexes: new Map(),\n serverReferences: [],\n serverReferenceIndexes: new Map(),\n };\n const rootValue =\n typeof renderable === \"function\"\n ? await (renderable as (props: P) => unknown)(props)\n : renderable;\n\n return {\n version: 1,\n root: await serializeFlightValue(rootValue, state),\n clientReferences: state.clientReferences,\n serverReferences: state.serverReferences,\n };\n });\n}\n\nexport function stringifyFlightResponse(response: FlightResponse): string {\n return JSON.stringify(response);\n}\n\nexport function renderFlightResponseScript(\n response: FlightResponse,\n options: FlightScriptOptions = {},\n): string {\n const idAttribute = options.id === undefined ? \"\" : ` id=\"${escapeAttribute(options.id)}\"`;\n const nonceAttribute =\n options.nonce === undefined ? \"\" : ` nonce=\"${escapeAttribute(options.nonce)}\"`;\n\n return `<script type=\"application/json\" data-mreact-flight${idAttribute}${nonceAttribute}>${serializeJsonForHtml(response)}</script>`;\n}\n\nexport function createServerActionHandler(\n actions: ServerActionRegistry,\n options: ServerActionHandlerOptions = {},\n) {\n const allowedActionKeys = options.allowedActions?.map((reference) =>\n serverActionKey(reference.moduleId, reference.exportName),\n );\n const allowedActionSet =\n allowedActionKeys === undefined ? undefined : new Set(allowedActionKeys);\n\n return async (request: Request): Promise<Response> => {\n if (request.method !== \"POST\") {\n return jsonResponse({ ok: false, error: \"Method not allowed.\" }, 405);\n }\n\n const originResponse = validateRequestOrigin(request, options.allowedOrigins);\n\n if (originResponse !== undefined) {\n return originResponse;\n }\n\n const csrfResponse = validateCsrfToken(request, options.csrf);\n\n if (csrfResponse !== undefined) {\n return csrfResponse;\n }\n\n // Issue 076: mark the nonce as used only after the action runs.\n // The validator now just reads + checks; the commit happens in a\n // try/finally below.\n const nonceCheck = validateServerActionNonce(request, options.replayProtection);\n\n if (nonceCheck.response !== undefined) {\n return nonceCheck.response;\n }\n\n const payload = await readServerActionPayload(\n request,\n options.maxBodyBytes ?? DEFAULT_MAX_BODY_BYTES,\n );\n\n if (payload instanceof Response) {\n return payload;\n }\n\n if (typeof payload.moduleId !== \"string\" || typeof payload.exportName !== \"string\") {\n return jsonResponse({ ok: false, error: \"Invalid server action reference.\" }, 400);\n }\n\n const reference = {\n moduleId: payload.moduleId,\n exportName: payload.exportName,\n };\n\n if (!isAllowedServerAction(reference, allowedActionSet)) {\n return jsonResponse({ ok: false, error: \"Unknown server action.\" }, 404);\n }\n\n const actionEntry = actions[serverActionKey(payload.moduleId, payload.exportName)];\n\n if (actionEntry === undefined) {\n return jsonResponse({ ok: false, error: \"Unknown server action.\" }, 404);\n }\n\n const action = getServerAction(actionEntry);\n const validateArgs = getServerActionArgsValidator(actionEntry);\n const boundArgs = Array.isArray(payload.bound) ? payload.bound : [];\n const args = [...boundArgs, ...(Array.isArray(payload.args) ? payload.args : [])];\n const validationResult = validateArgs?.(args);\n\n if (validationResult !== undefined && validationResult !== true) {\n return jsonResponse(\n {\n ok: false,\n error:\n typeof validationResult === \"string\"\n ? validationResult\n : \"Invalid server action arguments.\",\n },\n 400,\n );\n }\n\n const authorizationResult = await options.authorize?.(\n request,\n reference,\n args,\n );\n\n if (authorizationResult !== undefined && authorizationResult !== true) {\n return jsonResponse(\n {\n ok: false,\n error:\n typeof authorizationResult === \"string\"\n ? authorizationResult\n : \"Server action not authorized.\",\n },\n 403,\n );\n }\n\n try {\n const value = await action(...args);\n // Only commit the nonce on a successful run -- a flaky network\n // retry can otherwise lose the request permanently (Issue 076).\n if (nonceCheck.commit) nonceCheck.commit();\n return jsonResponse({ ok: true, value }, 200);\n } catch (error) {\n return jsonResponse(\n {\n ok: false,\n error: error instanceof Error ? error.message : String(error),\n },\n 500,\n );\n }\n };\n}\n\nexport function toReactFlightRows(response: FlightResponse): string {\n // Issue 081 note: a native encoder exists in\n // `packages/router-native/src/flight.rs::encode_flight_response`\n // but is intentionally *not* wired here. Microbenchmarking on\n // 2026-05-13 showed the JS-stringify -> napi -> Rust-parse ->\n // Rust-stringify round-trip dominates and produces a 7-9x\n // regression vs. the pure JS path. Re-wiring it requires\n // accepting a `napi::JsObject` directly to avoid the double JSON\n // pass; tracked as a follow-up.\n const rows: string[] = [];\n const clientWireIds = new Map<number, number>();\n const serverWireIds = new Map<number, number>();\n let nextWireId = 1;\n\n for (const reference of response.clientReferences) {\n const wireId = nextWireId;\n nextWireId += 1;\n clientWireIds.set(reference.id, wireId);\n rows.push(\n `${formatReactFlightId(wireId)}:I${JSON.stringify([\n reference.moduleId,\n reference.chunks ?? [],\n reference.exportName,\n ])}`,\n );\n }\n\n const state: ReactFlightEncodingState = {\n clientWireIds,\n serverWireIds,\n outlineRows: rows,\n nextWireId,\n };\n\n for (const reference of response.serverReferences) {\n const wireId = state.nextWireId;\n state.nextWireId += 1;\n serverWireIds.set(reference.id, wireId);\n rows.push(\n `${formatReactFlightId(wireId)}:F${JSON.stringify({\n id: serverActionKey(reference.moduleId, reference.exportName),\n bound: reference.bound === undefined\n ? null\n : reference.bound.map((value) => encodeReactFlightModel(value, state)),\n name: reference.exportName,\n })}`,\n );\n }\n\n if (isFlightErrorModel(response.root)) {\n rows.push(`0:E${JSON.stringify(encodeReactFlightError(response.root))}`);\n } else {\n rows.push(`0:${JSON.stringify(encodeReactFlightModel(response.root, state))}`);\n }\n return rows.join(\"\\n\");\n}\n\nexport function fromReactFlightRows(rows: string): FlightResponse {\n // Issue 081 note: a native decoder exists in\n // `packages/router-native/src/flight.rs::decode_flight_rows`\n // but is intentionally *not* wired here. Benchmarking on\n // 2026-05-13 showed 4-14x regression vs. the pure JS walker —\n // V8's JSON.parse is already extremely optimized and the\n // napi -> serde_json::parse -> walk -> serde_json::serialize ->\n // JS.parse round-trip multiplies the work. Wiring it requires\n // returning a `napi::JsObject` directly (avoiding the double\n // JSON pass); see `docs/benchmarks/2026-05-13-flight-rust-port.md`.\n const lines = rows.split(/\\r?\\n/).filter(Boolean);\n const metadataLine = lines.find((line) => line.startsWith(\"M0:\"));\n const rootLine = lines.find((line) => line.startsWith(\"J0:\"));\n\n if (metadataLine !== undefined && rootLine !== undefined) {\n const metadata = JSON.parse(metadataLine.slice(3)) as Omit<FlightResponse, \"root\">;\n\n return {\n version: metadata.version,\n clientReferences: metadata.clientReferences,\n serverReferences: metadata.serverReferences,\n root: JSON.parse(rootLine.slice(3)) as FlightModel,\n };\n }\n\n const clientReferences: FlightClientReference[] = [];\n const serverReferences: FlightServerReference[] = [];\n const modelChunks = new Map<number, unknown>();\n const errorChunks = new Map<number, FlightErrorModel>();\n let root: FlightModel | undefined;\n\n for (const line of lines) {\n const row = parseReactFlightRow(line);\n\n if (row.tag === \"I\") {\n clientReferences.push(parseReactFlightClientReference(row.id, row.payload));\n continue;\n }\n\n if (row.tag === \"F\") {\n serverReferences.push(parseReactFlightServerReference(row.id, row.payload, modelChunks, errorChunks));\n continue;\n }\n\n if (row.tag === \"E\") {\n const error = parseReactFlightError(row.payload);\n errorChunks.set(row.id, error);\n\n if (row.id === 0) {\n root = error;\n }\n continue;\n }\n\n if (row.tag === \"T\") {\n modelChunks.set(row.id, parseReactFlightTextChunk(row.payload));\n continue;\n }\n\n if (isReactFlightBinaryRowTag(row.tag)) {\n modelChunks.set(row.id, parseReactFlightBinaryChunk(row.tag, row.payload));\n continue;\n }\n\n if (isReactFlightMetadataTag(row.tag)) {\n continue;\n }\n\n if (row.tag === undefined && row.payload !== \"\") {\n modelChunks.set(row.id, JSON.parse(row.payload));\n }\n }\n\n if (root === undefined && modelChunks.has(0)) {\n root = decodeReactFlightModel(modelChunks.get(0), modelChunks, errorChunks);\n }\n\n if (root === undefined) {\n throw new Error(\"Invalid React Flight rows.\");\n }\n\n return {\n version: 1,\n root,\n clientReferences,\n serverReferences,\n };\n}\n\nexport function mergeReactFlightRows(\n response: FlightResponse,\n rows: string,\n): FlightResponse {\n // Issue 081 note: same finding as `fromReactFlightRows` — the native\n // merge path is slower than the JS one given the double-JSON tax.\n const modelChunks = new Map<number, unknown>();\n const errorChunks = new Map<number, FlightErrorModel>();\n const clientReferences = [...response.clientReferences];\n const serverReferences = [...response.serverReferences];\n\n for (const line of rows.split(/\\r?\\n/).filter(Boolean)) {\n const row = parseReactFlightRow(line);\n\n if (row.tag === \"I\") {\n clientReferences.push(parseReactFlightClientReference(row.id, row.payload));\n continue;\n }\n\n if (row.tag === \"F\") {\n serverReferences.push(parseReactFlightServerReference(row.id, row.payload, modelChunks, errorChunks));\n continue;\n }\n\n if (row.tag === \"E\") {\n errorChunks.set(row.id, parseReactFlightError(row.payload));\n continue;\n }\n\n if (row.tag === \"T\") {\n modelChunks.set(row.id, parseReactFlightTextChunk(row.payload));\n continue;\n }\n\n if (isReactFlightBinaryRowTag(row.tag)) {\n modelChunks.set(row.id, parseReactFlightBinaryChunk(row.tag, row.payload));\n continue;\n }\n\n if (isReactFlightMetadataTag(row.tag)) {\n continue;\n }\n\n if (row.tag === undefined && row.payload !== \"\") {\n modelChunks.set(row.id, JSON.parse(row.payload));\n }\n }\n\n return {\n ...response,\n clientReferences,\n serverReferences,\n root: resolveFlightPromiseChunks(response.root, modelChunks, errorChunks),\n };\n}\n\nexport function createFlightClientManifest(\n references: readonly FlightClientReferenceInput[],\n resolveChunks: (reference: FlightClientReferenceInput) => string[],\n): FlightClientManifestEntry[] {\n return references.map((reference) => ({\n ...reference,\n chunks: resolveChunks(reference),\n }));\n}\n\nexport function renderFlightPreloadLinks(\n response: FlightResponse,\n options: { nonce?: string } = {},\n): string {\n const seen = new Set<string>();\n const nonceAttribute =\n options.nonce === undefined ? \"\" : ` nonce=\"${escapeAttribute(options.nonce)}\"`;\n\n return response.clientReferences\n .flatMap((reference) => reference.chunks ?? [])\n .filter((chunk) => {\n if (seen.has(chunk)) {\n return false;\n }\n\n seen.add(chunk);\n return true;\n })\n .map((chunk) =>\n `<link rel=\"modulepreload\" href=\"${escapeAttribute(chunk)}\"${nonceAttribute}>`,\n )\n .join(\"\");\n}\n\nfunction resolveFlightPromiseChunks(\n model: FlightModel,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n): FlightModel {\n if (\n model === null ||\n typeof model === \"string\" ||\n typeof model === \"number\" ||\n typeof model === \"boolean\"\n ) {\n return model;\n }\n\n if (Array.isArray(model)) {\n return model.map((item) => resolveFlightPromiseChunks(item, modelChunks, errorChunks));\n }\n\n if (model.kind === \"promise\") {\n const error = errorChunks.get(model.id);\n\n if (error !== undefined) {\n return error;\n }\n\n if (modelChunks.has(model.id)) {\n return decodeReactFlightModel(modelChunks.get(model.id), modelChunks, errorChunks);\n }\n\n return model;\n }\n\n if (model.kind === \"element\") {\n return {\n ...model,\n props: Object.fromEntries(\n Object.entries(model.props).map(([key, value]) => [\n key,\n resolveFlightPromiseChunks(value, modelChunks, errorChunks),\n ]),\n ),\n };\n }\n\n if (model.kind === \"map\") {\n return {\n ...model,\n entries: model.entries.map(([key, value]): [FlightModel, FlightModel] => [\n resolveFlightPromiseChunks(key, modelChunks, errorChunks),\n resolveFlightPromiseChunks(value, modelChunks, errorChunks),\n ]),\n };\n }\n\n if (model.kind === \"set\") {\n return {\n ...model,\n values: model.values.map((value) => resolveFlightPromiseChunks(value, modelChunks, errorChunks)),\n };\n }\n\n if (\"kind\" in model) {\n return model;\n }\n\n return Object.fromEntries(\n Object.entries(model).map(([key, value]) => [\n key,\n value === undefined ? undefined : resolveFlightPromiseChunks(value, modelChunks, errorChunks),\n ]),\n );\n}\n\ninterface ReactFlightEncodingState {\n clientWireIds: ReadonlyMap<number, number>;\n serverWireIds: ReadonlyMap<number, number>;\n outlineRows: string[];\n nextWireId: number;\n}\n\nfunction encodeReactFlightModel(model: FlightModel, state: ReactFlightEncodingState): unknown {\n if (\n model === null ||\n typeof model === \"number\" ||\n typeof model === \"boolean\"\n ) {\n return model;\n }\n\n if (typeof model === \"string\") {\n return model.startsWith(\"$\") ? `$${model}` : model;\n }\n\n if (Array.isArray(model)) {\n return model.map((item) => encodeReactFlightModel(item, state));\n }\n\n if (model.kind === \"undefined\") {\n return \"$u\";\n }\n\n if (model.kind === \"date\") {\n return `$D${model.value}`;\n }\n\n if (model.kind === \"bigint\") {\n return `$n${model.value}`;\n }\n\n if (model.kind === \"number\") {\n if (model.value === \"Infinity\") {\n return \"$I\";\n }\n\n if (model.value === \"NaN\") {\n return \"$N\";\n }\n\n return `$${model.value}`;\n }\n\n if (model.kind === \"symbol\") {\n return `$S${model.name}`;\n }\n\n if (model.kind === \"map\") {\n const id = allocateReactFlightOutlineRow(\n state,\n model.entries.map(([key, value]) => [\n encodeReactFlightModel(key, state),\n encodeReactFlightModel(value, state),\n ]),\n );\n return `$Q${formatReactFlightId(id)}`;\n }\n\n if (model.kind === \"set\") {\n const id = allocateReactFlightOutlineRow(\n state,\n model.values.map((value) => encodeReactFlightModel(value, state)),\n );\n return `$W${formatReactFlightId(id)}`;\n }\n\n if (model.kind === \"form-data\") {\n const id = allocateReactFlightOutlineRow(\n state,\n model.entries.map(([key, value]) => [key, encodeReactFlightModel(value, state)]),\n );\n return `$K${formatReactFlightId(id)}`;\n }\n\n if (model.kind === \"iterable\") {\n const id = allocateReactFlightOutlineRow(\n state,\n model.values.map((value) => encodeReactFlightModel(value, state)),\n );\n return `$i${formatReactFlightId(id)}`;\n }\n\n if (model.kind === \"error\") {\n const id = state.nextWireId;\n state.nextWireId += 1;\n state.outlineRows.push(`${formatReactFlightId(id)}:E${JSON.stringify(encodeReactFlightError(model))}`);\n return `$Z${formatReactFlightId(id)}`;\n }\n\n if (model.kind === \"promise\") {\n return `$@${formatReactFlightId(model.id)}`;\n }\n\n if (model.kind === \"server-reference\") {\n return `$F${state.serverWireIds.get(model.id) ?? model.id}`;\n }\n\n if (model.kind === \"client-reference\") {\n return `$L${state.clientWireIds.get(model.id) ?? model.id}`;\n }\n\n if (model.kind === \"element\") {\n return [\n \"$\",\n encodeReactFlightElementType(model.type, state.clientWireIds),\n model.key,\n encodeReactFlightProps(model.props, state),\n ];\n }\n\n if (isReactFlightBinaryModel(model)) {\n return model;\n }\n\n return encodeReactFlightProps(model, state);\n}\n\nfunction allocateReactFlightOutlineRow(\n state: ReactFlightEncodingState,\n payload: unknown,\n): number {\n const id = state.nextWireId;\n state.nextWireId += 1;\n state.outlineRows.push(`${formatReactFlightId(id)}:${JSON.stringify(payload)}`);\n return id;\n}\n\nfunction encodeReactFlightElementType(\n type: FlightElementModel[\"type\"],\n clientWireIds: ReadonlyMap<number, number>,\n): string {\n if (typeof type === \"string\") {\n return type;\n }\n\n if (type.kind === \"fragment\") {\n return \"$Sreact.fragment\";\n }\n\n return `$L${clientWireIds.get(type.id) ?? type.id}`;\n}\n\nfunction encodeReactFlightProps(\n props: Record<string, FlightModel | undefined>,\n state: ReactFlightEncodingState,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(props)\n .filter((entry): entry is [string, FlightModel] => entry[1] !== undefined)\n .map(([key, value]) => [\n key,\n encodeReactFlightModel(value, state),\n ]),\n );\n}\n\ninterface ReactFlightRow {\n id: number;\n tag?: string;\n payload: string;\n}\n\ntype ReactFlightBinaryRowTag =\n | \"A\"\n | \"O\"\n | \"o\"\n | \"U\"\n | \"S\"\n | \"s\"\n | \"L\"\n | \"l\"\n | \"G\"\n | \"g\"\n | \"M\"\n | \"m\"\n | \"V\";\n\nfunction parseReactFlightRow(line: string): ReactFlightRow {\n const separator = line.indexOf(\":\");\n\n if (separator < 0) {\n throw new Error(\"Invalid React Flight row.\");\n }\n\n const id = separator === 0 ? 0 : parseReactFlightId(line.slice(0, separator));\n const body = line.slice(separator + 1);\n const first = body[0];\n const hasTag = first !== undefined && isReactFlightRowTag(first, body);\n\n if (first !== undefined && !hasTag && looksLikeUnsupportedReactFlightTag(first, body)) {\n throw new Error(`Unsupported React Flight row tag: ${first}`);\n }\n\n return {\n id,\n ...(hasTag ? { tag: first } : {}),\n payload: hasTag ? body.slice(1) : body,\n };\n}\n\nfunction looksLikeUnsupportedReactFlightTag(tag: string, body: string): boolean {\n return /^[A-Z]$/.test(tag) && (body[1] === \"{\" || body[1] === \"[\" || body[1] === \"\\\"\");\n}\n\nfunction parseReactFlightTextChunk(payload: string): string {\n const separator = payload.indexOf(\",\");\n\n if (separator < 0) {\n throw new Error(\"Invalid React Flight text row.\");\n }\n\n return payload.slice(separator + 1);\n}\n\nfunction parseReactFlightBinaryChunk(\n tag: ReactFlightBinaryRowTag,\n payload: string,\n): FlightArrayBufferModel | FlightTypedArrayModel | FlightDataViewModel {\n const separator = payload.indexOf(\",\");\n\n if (separator < 0) {\n throw new Error(\"Invalid React Flight binary row.\");\n }\n\n const byteLength = parseReactFlightId(payload.slice(0, separator));\n const bytes = decodeBase64Bytes(payload.slice(separator + 1));\n\n if (bytes.length !== byteLength) {\n throw new Error(\"React Flight binary row length did not match declared payload length.\");\n }\n\n return createReactFlightBinaryModel(tag, bytes);\n}\n\nfunction isReactFlightMetadataTag(tag: string | undefined): boolean {\n return (\n tag === \"H\" ||\n tag === \"N\" ||\n tag === \"P\" ||\n tag === \"D\" ||\n tag === \"J\" ||\n tag === \"W\" ||\n tag === \"R\" ||\n tag === \"r\" ||\n tag === \"X\" ||\n tag === \"x\" ||\n tag === \"C\"\n );\n}\n\nfunction isReactFlightRowTag(tag: string, body: string): boolean {\n if (\n tag === \"I\" ||\n tag === \"F\" ||\n tag === \"E\" ||\n tag === \"T\" ||\n tag === \"H\" ||\n tag === \"N\" ||\n tag === \"P\" ||\n tag === \"D\" ||\n tag === \"J\" ||\n tag === \"W\" ||\n tag === \"R\" ||\n tag === \"r\" ||\n tag === \"X\" ||\n tag === \"x\" ||\n tag === \"C\"\n ) {\n return true;\n }\n\n return isReactFlightBinaryRowTag(tag) && /^[AOoUSsLlGgMmV][0-9a-f]+,/i.test(body);\n}\n\nfunction isReactFlightBinaryRowTag(tag: string | undefined): tag is ReactFlightBinaryRowTag {\n return (\n tag === \"A\" ||\n tag === \"O\" ||\n tag === \"o\" ||\n tag === \"U\" ||\n tag === \"S\" ||\n tag === \"s\" ||\n tag === \"L\" ||\n tag === \"l\" ||\n tag === \"G\" ||\n tag === \"g\" ||\n tag === \"M\" ||\n tag === \"m\" ||\n tag === \"V\"\n );\n}\n\nfunction createReactFlightBinaryModel(\n tag: ReactFlightBinaryRowTag,\n bytes: Uint8Array,\n): FlightArrayBufferModel | FlightTypedArrayModel | FlightDataViewModel {\n const byteValues = Array.from(bytes);\n\n if (tag === \"A\") {\n return {\n kind: \"array-buffer\",\n bytes: byteValues,\n };\n }\n\n if (tag === \"V\") {\n return {\n kind: \"data-view\",\n bytes: byteValues,\n };\n }\n\n return {\n kind: \"typed-array\",\n arrayType: getReactFlightTypedArrayName(tag),\n bytes: byteValues,\n };\n}\n\nfunction getReactFlightTypedArrayName(tag: Exclude<ReactFlightBinaryRowTag, \"A\" | \"V\">): FlightTypedArrayName {\n switch (tag) {\n case \"O\":\n return \"Int8Array\";\n case \"o\":\n return \"Uint8Array\";\n case \"U\":\n return \"Uint8ClampedArray\";\n case \"S\":\n return \"Int16Array\";\n case \"s\":\n return \"Uint16Array\";\n case \"L\":\n return \"Int32Array\";\n case \"l\":\n return \"Uint32Array\";\n case \"G\":\n return \"Float32Array\";\n case \"g\":\n return \"Float64Array\";\n case \"M\":\n return \"BigInt64Array\";\n case \"m\":\n return \"BigUint64Array\";\n default:\n throw new Error(`Unsupported React Flight typed array row tag: ${tag}`);\n }\n}\n\nfunction decodeBase64Bytes(value: string): Uint8Array {\n // Issue 081: route through the native binding when available. The\n // native implementation accepts both URL-safe and standard alphabets\n // and tolerates missing padding, matching the JS fallback below.\n const native = getNativeFlight()?.decodeFlightBase64;\n\n if (native !== undefined) {\n const result = native(value);\n // napi-rs returns a Buffer which is a Uint8Array subclass; the\n // callsite types it as Uint8Array so this is structurally fine.\n return result instanceof Uint8Array ? result : new Uint8Array(result);\n }\n\n const normalized = value.replaceAll(\"-\", \"+\").replaceAll(\"_\", \"/\");\n const padded = normalized.padEnd(Math.ceil(normalized.length / 4) * 4, \"=\");\n const binary = globalThis.atob(padded);\n const bytes = new Uint8Array(binary.length);\n\n for (let index = 0; index < binary.length; index += 1) {\n bytes[index] = binary.charCodeAt(index);\n }\n\n return bytes;\n}\n\nfunction parseReactFlightClientReference(id: number, payload: string): FlightClientReference {\n const value = JSON.parse(payload) as unknown;\n\n if (Array.isArray(value)) {\n return {\n id,\n moduleId: String(value[0]),\n chunks: Array.isArray(value[1]) ? value[1].map(String) : [],\n exportName: String(value[2] ?? \"default\"),\n };\n }\n\n const object = valueIsObject(value) ? value : {};\n\n return {\n id,\n moduleId: String(object.id ?? object.moduleId ?? \"\"),\n chunks: Array.isArray(object.chunks) ? object.chunks.map(String) : [],\n exportName: String(object.name ?? object.exportName ?? \"default\"),\n };\n}\n\nfunction parseReactFlightServerReference(\n id: number,\n payload: string,\n modelChunks: ReadonlyMap<number, unknown> = new Map(),\n errorChunks: ReadonlyMap<number, FlightErrorModel> = new Map(),\n): FlightServerReference {\n const value = JSON.parse(payload) as unknown;\n const object = valueIsObject(value) ? value : {};\n const actionId = String(object.id ?? \"\");\n const separator = actionId.lastIndexOf(\"#\");\n const bound = Array.isArray(object.bound)\n ? object.bound.map((entry) => decodeReactFlightModel(entry, modelChunks, errorChunks))\n : undefined;\n\n return {\n id,\n moduleId: separator < 0 ? actionId : actionId.slice(0, separator),\n exportName:\n typeof object.name === \"string\"\n ? object.name\n : separator < 0\n ? \"default\"\n : actionId.slice(separator + 1),\n ...(bound === undefined ? {} : { bound }),\n };\n}\n\n// Issue 079: hard cap on Flight tree depth to prevent stack-exhaustion\n// DoS from a deeply-nested payload. The cap is far higher than any\n// legitimate component tree.\nconst MAX_FLIGHT_DECODE_DEPTH = 256;\n\nclass FlightDecodeError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"FlightDecodeError\";\n }\n}\n\nfunction flightTooDeep(): never {\n throw new FlightDecodeError(\n `MR_FLIGHT_TOO_DEEP: nested deeper than ${MAX_FLIGHT_DECODE_DEPTH} levels`,\n );\n}\n\nfunction decodeReactFlightModel(\n value: unknown,\n modelChunks: ReadonlyMap<number, unknown> = new Map(),\n errorChunks: ReadonlyMap<number, FlightErrorModel> = new Map(),\n depth = 0,\n): FlightModel {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) flightTooDeep();\n if (\n value === null ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n ) {\n return value;\n }\n\n if (typeof value === \"string\") {\n return decodeReactFlightString(value, modelChunks, errorChunks);\n }\n\n if (Array.isArray(value)) {\n if (value[0] === \"$\") {\n return {\n kind: \"element\",\n type: decodeReactFlightElementType(value[1]),\n key: typeof value[2] === \"string\" ? value[2] : null,\n props: decodeReactFlightProps(\n valueIsObject(value[3]) ? value[3] : {},\n modelChunks,\n errorChunks,\n depth + 1,\n ),\n };\n }\n\n return value.map((item) =>\n decodeReactFlightModel(item, modelChunks, errorChunks, depth + 1),\n );\n }\n\n if (isReactFlightBinaryModel(value)) {\n return value;\n }\n\n if (valueIsObject(value)) {\n return decodeReactFlightProps(value, modelChunks, errorChunks, depth + 1);\n }\n\n return { kind: \"undefined\" };\n}\n\nfunction decodeReactFlightString(\n value: string,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n): FlightModel {\n if (value === \"$undefined\" || value === \"$u\") {\n return { kind: \"undefined\" };\n }\n\n if (value.startsWith(\"$$\")) {\n return value.slice(1);\n }\n\n if (value === \"$I\") {\n return { kind: \"number\", value: \"Infinity\" };\n }\n\n if (value === \"$-Infinity\") {\n return { kind: \"number\", value: \"-Infinity\" };\n }\n\n if (value === \"$-0\") {\n return { kind: \"number\", value: \"-0\" };\n }\n\n if (value === \"$N\") {\n return { kind: \"number\", value: \"NaN\" };\n }\n\n if (value.startsWith(\"$D\")) {\n return { kind: \"date\", value: value.slice(2) };\n }\n\n if (value.startsWith(\"$n\")) {\n return { kind: \"bigint\", value: value.slice(2) };\n }\n\n if (/^\\$[AOoUSsLlGgMmV][0-9a-f]+$/.test(value)) {\n return decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n }\n\n if (value.startsWith(\"$S\")) {\n return { kind: \"symbol\", name: value.slice(2) };\n }\n\n if (/^\\$F[0-9a-f]+$/i.test(value)) {\n return {\n kind: \"server-reference\",\n id: parseReactFlightId(value.slice(2)),\n };\n }\n\n if (/^\\$L[0-9a-f]+$/i.test(value)) {\n return {\n kind: \"client-reference\",\n id: parseReactFlightId(value.slice(2)),\n };\n }\n\n if (/^\\$@[0-9a-f]*$/i.test(value)) {\n return {\n kind: \"promise\",\n id: value.length === 2 ? 0 : parseReactFlightId(value.slice(2)),\n };\n }\n\n if (/^\\$Q[0-9a-f]+$/i.test(value)) {\n const decoded = decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n const entries = Array.isArray(decoded)\n ? decoded.map((entry): [FlightModel, FlightModel] =>\n Array.isArray(entry) ? [entry[0] ?? { kind: \"undefined\" }, entry[1] ?? { kind: \"undefined\" }] : [entry, { kind: \"undefined\" }],\n )\n : [];\n\n return {\n kind: \"map\",\n entries,\n };\n }\n\n if (/^\\$W[0-9a-f]+$/i.test(value)) {\n const decoded = decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n\n return {\n kind: \"set\",\n values: Array.isArray(decoded) ? decoded : [],\n };\n }\n\n if (/^\\$K[0-9a-f]+$/i.test(value)) {\n const decoded = decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n const entries = Array.isArray(decoded)\n ? decoded.flatMap((entry): [string, FlightModel][] =>\n Array.isArray(entry) && typeof entry[0] === \"string\"\n ? [[entry[0], entry[1] ?? { kind: \"undefined\" }]]\n : [],\n )\n : [];\n\n return {\n kind: \"form-data\",\n entries,\n };\n }\n\n if (/^\\$i[0-9a-f]+$/i.test(value)) {\n const decoded = decodeReactFlightChunk(value.slice(2), modelChunks, errorChunks);\n\n return {\n kind: \"iterable\",\n values: Array.isArray(decoded) ? decoded : [],\n };\n }\n\n if (/^\\$Z[0-9a-f]+$/i.test(value)) {\n return errorChunks.get(parseReactFlightId(value.slice(2))) ?? {\n kind: \"error\",\n name: \"Error\",\n message: \"Unknown React Flight error.\",\n };\n }\n\n if (value === \"$Y\" || value.startsWith(\"$E\")) {\n return { kind: \"undefined\" };\n }\n\n if (/^\\$[0-9a-f]+$/i.test(value)) {\n return decodeReactFlightChunk(value.slice(1), modelChunks, errorChunks);\n }\n\n return value;\n}\n\nfunction decodeReactFlightChunk(\n id: string,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n): FlightModel {\n const numericId = parseReactFlightId(id);\n const error = errorChunks.get(numericId);\n\n if (error !== undefined) {\n return error;\n }\n\n if (!modelChunks.has(numericId)) {\n return {\n kind: \"promise\",\n id: numericId,\n };\n }\n\n return decodeReactFlightModel(modelChunks.get(numericId), modelChunks, errorChunks);\n}\n\nfunction decodeReactFlightElementType(value: unknown): FlightElementModel[\"type\"] {\n if (value === \"$Sreact.fragment\") {\n return { kind: \"fragment\" };\n }\n\n if (typeof value === \"string\" && /^\\$L[0-9a-f]+$/i.test(value)) {\n return {\n kind: \"client-reference\",\n id: parseReactFlightId(value.slice(2)),\n };\n }\n\n return typeof value === \"string\" ? value : String(value);\n}\n\nfunction decodeReactFlightProps(\n value: Record<string, unknown>,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n depth = 0,\n): Record<string, FlightModel> {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) flightTooDeep();\n return Object.fromEntries(\n Object.entries(value).map(([key, child]) => [\n key,\n decodeReactFlightModel(child, modelChunks, errorChunks, depth + 1),\n ]),\n );\n}\n\nfunction isReactFlightBinaryModel(\n value: unknown,\n): value is FlightArrayBufferModel | FlightTypedArrayModel | FlightDataViewModel {\n return (\n valueIsObject(value) &&\n (value.kind === \"array-buffer\" || value.kind === \"typed-array\" || value.kind === \"data-view\")\n );\n}\n\nfunction parseReactFlightError(payload: string): FlightErrorModel {\n const value = JSON.parse(payload) as unknown;\n const object = valueIsObject(value) ? value : {};\n const digest = typeof object.digest === \"string\" ? object.digest : undefined;\n\n return {\n kind: \"error\",\n name: typeof object.name === \"string\" ? object.name : \"Error\",\n message: typeof object.message === \"string\" ? object.message : \"React Flight error.\",\n ...(digest === undefined ? {} : { digest }),\n };\n}\n\nfunction encodeReactFlightError(model: FlightErrorModel): Record<string, unknown> {\n return {\n digest: model.digest ?? \"\",\n name: model.name,\n message: model.message,\n stack: [],\n env: \"Server\",\n };\n}\n\nfunction isFlightErrorModel(model: FlightModel): model is FlightErrorModel {\n return (\n typeof model === \"object\" &&\n model !== null &&\n !Array.isArray(model) &&\n model.kind === \"error\"\n );\n}\n\nfunction valueIsObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction formatReactFlightId(id: number): string {\n return id.toString(16);\n}\n\nfunction parseReactFlightId(value: string): number {\n return Number.parseInt(value, 16);\n}\n\nasync function serializeFlightValue(\n value: unknown,\n state: FlightSerializationState,\n): Promise<FlightModel> {\n const awaited = await value;\n\n if (awaited === null) {\n return null;\n }\n\n if (awaited === undefined) {\n return { kind: \"undefined\" };\n }\n\n if (\n typeof awaited === \"string\" ||\n typeof awaited === \"boolean\"\n ) {\n return awaited;\n }\n\n if (typeof awaited === \"number\") {\n if (Number.isNaN(awaited)) {\n return { kind: \"number\", value: \"NaN\" };\n }\n\n if (awaited === Infinity) {\n return { kind: \"number\", value: \"Infinity\" };\n }\n\n if (awaited === -Infinity) {\n return { kind: \"number\", value: \"-Infinity\" };\n }\n\n if (Object.is(awaited, -0)) {\n return { kind: \"number\", value: \"-0\" };\n }\n\n return awaited;\n }\n\n if (typeof awaited === \"bigint\") {\n return { kind: \"bigint\", value: awaited.toString() };\n }\n\n if (typeof awaited === \"symbol\") {\n return { kind: \"symbol\", name: Symbol.keyFor(awaited) ?? awaited.description ?? \"\" };\n }\n\n if (Array.isArray(awaited)) {\n return await Promise.all(awaited.map((item) => serializeFlightValue(item, state)));\n }\n\n if (isServerReference(awaited)) {\n return {\n kind: \"server-reference\",\n id: await getServerReferenceId(awaited, state),\n };\n }\n\n if (isReactCompatElement(awaited)) {\n return await serializeElement(awaited, state);\n }\n\n if (awaited instanceof Date) {\n return { kind: \"date\", value: awaited.toJSON() };\n }\n\n if (awaited instanceof Map) {\n return {\n kind: \"map\",\n entries: await Promise.all(\n Array.from(awaited.entries()).map(async ([key, value]) => [\n await serializeFlightValue(key, state),\n await serializeFlightValue(value, state),\n ] as [FlightModel, FlightModel]),\n ),\n };\n }\n\n if (awaited instanceof Set) {\n return {\n kind: \"set\",\n values: await Promise.all(\n Array.from(awaited.values()).map((value) => serializeFlightValue(value, state)),\n ),\n };\n }\n\n if (isFormDataLike(awaited)) {\n return {\n kind: \"form-data\",\n entries: await Promise.all(\n Array.from(awaited.entries()).map(async ([key, value]) => [\n key,\n await serializeFlightValue(value, state),\n ] as [string, FlightModel]),\n ),\n };\n }\n\n if (isIterableObject(awaited)) {\n return {\n kind: \"iterable\",\n values: await Promise.all(\n Array.from(awaited).map((value) => serializeFlightValue(value, state)),\n ),\n };\n }\n\n if (awaited instanceof Error) {\n return {\n kind: \"error\",\n name: awaited.name,\n message: awaited.message,\n };\n }\n\n if (typeof awaited === \"object\") {\n return await serializeObject(awaited as Record<string, unknown>, state);\n }\n\n throw new TypeError(`Unsupported Flight value: ${typeof awaited}`);\n}\n\nasync function serializeElement(\n element: ReactCompatElementLike,\n state: FlightSerializationState,\n): Promise<FlightElementModel | FlightModel> {\n if (typeof element.type === \"function\") {\n return await serializeFlightValue(element.type(element.props), state);\n }\n\n if (isClientReference(element.type)) {\n return {\n kind: \"element\",\n type: {\n kind: \"client-reference\",\n id: getClientReferenceId(element.type, state),\n },\n key: element.key,\n props: await serializeProps(element.props, state),\n };\n }\n\n if (typeof element.type === \"string\") {\n return {\n kind: \"element\",\n type: element.type,\n key: element.key,\n props: await serializeProps(element.props, state),\n };\n }\n\n if (element.type === REACT_COMPAT_FRAGMENT_TYPE) {\n return {\n kind: \"element\",\n type: { kind: \"fragment\" },\n key: element.key,\n props: await serializeProps(element.props, state),\n };\n }\n\n throw new TypeError(\"Unsupported Flight element type.\");\n}\n\nasync function serializeProps(\n props: Record<string, unknown>,\n state: FlightSerializationState,\n): Promise<Record<string, FlightModel>> {\n const entries = await Promise.all(\n Object.entries(props).map(async ([key, value]) => [\n key,\n await serializeFlightValue(value, state),\n ] as const),\n );\n\n return Object.fromEntries(entries);\n}\n\nasync function serializeObject(\n object: Record<string, unknown>,\n state: FlightSerializationState,\n): Promise<FlightObjectModel> {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(object).map(async ([key, value]) => [\n key,\n await serializeFlightValue(value, state),\n ] as const),\n ),\n ) as FlightObjectModel;\n}\n\nfunction getClientReferenceId(\n reference: ClientReference,\n state: FlightSerializationState,\n): number {\n const key = `${reference.moduleId}:${reference.exportName}`;\n const existing = state.clientReferenceIndexes.get(key);\n\n if (existing !== undefined) {\n return existing;\n }\n\n const id = state.clientReferences.length;\n state.clientReferences.push({\n id,\n moduleId: reference.moduleId,\n exportName: reference.exportName,\n ...(reference.chunks === undefined ? {} : { chunks: reference.chunks }),\n });\n state.clientReferenceIndexes.set(key, id);\n return id;\n}\n\nasync function getServerReferenceId(\n reference: ServerReference,\n state: FlightSerializationState,\n): Promise<number> {\n const serializedBound = reference.bound === undefined\n ? undefined\n : await Promise.all(reference.bound.map((value) => serializeFlightValue(value, state)));\n const key = `${reference.moduleId}:${reference.exportName}:${JSON.stringify(serializedBound ?? null)}`;\n const existing = state.serverReferenceIndexes.get(key);\n\n if (existing !== undefined) {\n return existing;\n }\n\n const id = state.serverReferences.length;\n state.serverReferences.push({\n id,\n moduleId: reference.moduleId,\n exportName: reference.exportName,\n ...(serializedBound === undefined ? {} : { bound: serializedBound }),\n });\n state.serverReferenceIndexes.set(key, id);\n return id;\n}\n\nfunction isReactCompatElement(value: unknown): value is ReactCompatElementLike {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === REACT_COMPAT_ELEMENT_TYPE\n );\n}\n\nfunction isFormDataLike(value: unknown): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nfunction isIterableObject(value: unknown): value is Iterable<unknown> {\n return typeof value === \"object\" && value !== null && Symbol.iterator in value;\n}\n\nfunction serverActionKey(moduleId: string, exportName: string): string {\n return `${moduleId}#${exportName}`;\n}\n\nasync function readServerActionPayload(\n request: Request,\n maxBodyBytes: number,\n): Promise<\n | {\n moduleId?: unknown;\n exportName?: unknown;\n bound?: unknown;\n args?: unknown;\n }\n | Response\n> {\n // Issue 076: bound the body before JSON.parse. The Content-Length\n // header (when present) is the cheap pre-check; the streaming reader\n // catches chunked / missing-length bodies too.\n const declaredLength = Number(request.headers.get(\"content-length\") ?? \"NaN\");\n if (Number.isFinite(declaredLength) && declaredLength > maxBodyBytes) {\n return jsonResponse({ ok: false, error: \"Payload too large.\" }, 413);\n }\n\n const body = request.body;\n let text = \"\";\n if (body !== null) {\n const reader = body.getReader();\n const decoder = new TextDecoder();\n let total = 0;\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n total += value.byteLength;\n if (total > maxBodyBytes) {\n await reader.cancel();\n return jsonResponse({ ok: false, error: \"Payload too large.\" }, 413);\n }\n text += decoder.decode(value, { stream: true });\n }\n text += decoder.decode();\n } finally {\n reader.releaseLock?.();\n }\n } else {\n text = await request.text();\n }\n\n try {\n return JSON.parse(text) as {\n moduleId?: unknown;\n exportName?: unknown;\n bound?: unknown;\n args?: unknown;\n };\n } catch {\n return jsonResponse({ ok: false, error: \"Invalid JSON payload.\" }, 400);\n }\n}\n\nfunction getServerAction(entry: ServerAction | ServerActionDescriptor): ServerAction {\n return typeof entry === \"function\" ? entry : entry.action;\n}\n\nfunction isAllowedServerAction(\n reference: ServerActionRequestReference,\n allowedActionSet: ReadonlySet<string> | undefined,\n): boolean {\n if (allowedActionSet === undefined) {\n return true;\n }\n\n return allowedActionSet.has(serverActionKey(reference.moduleId, reference.exportName));\n}\n\nfunction getServerActionArgsValidator(\n entry: ServerAction | ServerActionDescriptor,\n): ServerActionDescriptor[\"validateArgs\"] {\n return typeof entry === \"function\" ? undefined : entry.validateArgs;\n}\n\nfunction runWithFlightCacheScope<T>(callback: () => T): T {\n const previousScope = getGlobalCacheScope();\n setGlobalCacheScope({\n functionCaches: new WeakMap(),\n controller: new AbortController(),\n ownerStack: [\"renderToFlightResponse\"],\n });\n\n try {\n const result = callback();\n\n if (isPromiseLike(result)) {\n return Promise.resolve(result).finally(() => {\n setGlobalCacheScope(previousScope);\n }) as T;\n }\n\n setGlobalCacheScope(previousScope);\n return result;\n } catch (error) {\n setGlobalCacheScope(previousScope);\n throw error;\n }\n}\n\nfunction isPromiseLike(value: unknown): value is PromiseLike<unknown> {\n return (\n (typeof value === \"object\" || typeof value === \"function\") &&\n value !== null &&\n typeof (value as { then?: unknown }).then === \"function\"\n );\n}\n\nfunction getGlobalCacheScope(): ServerCacheScope | undefined {\n return (globalThis as { [CACHE_SCOPE_SYMBOL]?: ServerCacheScope })[CACHE_SCOPE_SYMBOL];\n}\n\nfunction setGlobalCacheScope(scope: ServerCacheScope | undefined): void {\n if (scope === undefined) {\n delete (globalThis as { [CACHE_SCOPE_SYMBOL]?: ServerCacheScope })[CACHE_SCOPE_SYMBOL];\n return;\n }\n\n (globalThis as { [CACHE_SCOPE_SYMBOL]?: ServerCacheScope })[CACHE_SCOPE_SYMBOL] = scope;\n}\n\nfunction validateRequestOrigin(\n request: Request,\n allowedOrigins: ServerActionHandlerOptions[\"allowedOrigins\"],\n): Response | undefined {\n // Issue 076: secure default. `\"any\"` disables the check (explicit\n // opt-out for embedders behind their own auth boundary). Otherwise we\n // enforce same-origin by default and extend with the array if given.\n if (allowedOrigins === \"any\") return undefined;\n\n const origin = request.headers.get(\"origin\");\n // Browsers omit `Origin` on same-origin GETs but include it on\n // cross-site POSTs. Missing Origin therefore signals same-origin\n // (or non-browser traffic) and is allowed.\n if (origin === null) return undefined;\n\n let expected: string | undefined;\n try {\n expected = new URL(request.url).origin;\n } catch {\n expected = undefined;\n }\n\n if (expected !== undefined && origin === expected) return undefined;\n if (allowedOrigins !== undefined && allowedOrigins.includes(origin)) {\n return undefined;\n }\n return jsonResponse({ ok: false, error: \"Origin not allowed.\" }, 403);\n}\n\nfunction validateCsrfToken(\n request: Request,\n csrf: ServerActionHandlerOptions[\"csrf\"],\n): Response | undefined {\n // Issue 076: CSRF check is on by default. `false` disables it\n // (documented opt-out); `true` / object override the names.\n if (csrf === false) return undefined;\n\n const config = typeof csrf === \"object\" ? csrf : {};\n const headerName = config.headerName ?? \"x-mreact-csrf\";\n const cookieName = config.cookieName ?? \"mreact.csrf\";\n const headerToken = request.headers.get(headerName);\n const cookieToken = readCookie(request.headers.get(\"cookie\"), cookieName);\n\n return headerToken !== null && cookieToken !== undefined && headerToken === cookieToken\n ? undefined\n : jsonResponse({ ok: false, error: \"Invalid CSRF token.\" }, 403);\n}\n\nfunction validateServerActionNonce(\n request: Request,\n replayProtection: ServerActionHandlerOptions[\"replayProtection\"],\n): { response?: Response; commit?: () => void } {\n if (replayProtection === undefined) {\n return {};\n }\n\n const headerName = replayProtection.headerName ?? \"x-mreact-action-nonce\";\n const nonce = request.headers.get(headerName);\n\n if (nonce === null || nonce.length === 0) {\n return {\n response: jsonResponse({ ok: false, error: \"Missing server action nonce.\" }, 400),\n };\n }\n\n if (replayProtection.seen.has(nonce)) {\n return {\n response: jsonResponse(\n { ok: false, error: \"Server action nonce was already used.\" },\n 409,\n ),\n };\n }\n\n // Issue 076: defer the .add() until the action succeeds so a failed\n // run does not consume a replay slot. The caller invokes `commit()`\n // on the success path only.\n return {\n commit: () => replayProtection.seen.add(nonce),\n };\n}\n\nfunction readCookie(cookieHeader: string | null, name: string): string | undefined {\n if (cookieHeader === null) {\n return undefined;\n }\n\n for (const part of cookieHeader.split(\";\")) {\n const [rawKey, ...rawValue] = part.trim().split(\"=\");\n\n if (rawKey === name) {\n const raw = rawValue.join(\"=\");\n if (raw.indexOf(\"%\") === -1) {\n return raw;\n }\n\n // Issue 076 / 072: malformed `%`-escapes raise URIError; treat\n // the cookie as absent so a bogus cookie cannot abort the handler.\n try {\n return decodeURIComponent(raw);\n } catch {\n return undefined;\n }\n }\n }\n\n return undefined;\n}\n\nfunction jsonResponse(value: unknown, status: number): Response {\n return new Response(JSON.stringify(value), {\n status,\n headers: { \"content-type\": \"application/json\" },\n });\n}\n\nfunction serializeJsonForHtml(value: unknown): string {\n return JSON.stringify(value)\n .replaceAll(\"<\", \"\\\\u003c\")\n .replaceAll(\"\\u2028\", \"\\\\u2028\")\n .replaceAll(\"\\u2029\", \"\\\\u2029\");\n}\n\nfunction escapeAttribute(value: string): string {\n return value\n .replaceAll(\"&\", \"&\")\n .replaceAll('\"', \""\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\");\n}\n"]}
|