@reckona/mreact-server 0.0.151 → 0.0.153

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.
@@ -1 +1 @@
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(\"react.transitional.element\");\nconst REACT_COMPAT_FRAGMENT_TYPE = Symbol.for(\"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 depth = 0,\n context: FlightDecodeContext = createFlightDecodeContext(),\n): FlightModel {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) flightTooDeep();\n\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) =>\n resolveFlightPromiseChunks(item, modelChunks, errorChunks, depth + 1, context),\n );\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 if (context.inProgressChunkIds.has(model.id)) {\n flightCycle(model.id);\n }\n\n context.inProgressChunkIds.add(model.id);\n try {\n return decodeReactFlightModel(\n modelChunks.get(model.id),\n modelChunks,\n errorChunks,\n depth + 1,\n context,\n );\n } finally {\n context.inProgressChunkIds.delete(model.id);\n }\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, depth + 1, context),\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, depth + 1, context),\n resolveFlightPromiseChunks(value, modelChunks, errorChunks, depth + 1, context),\n ]),\n };\n }\n\n if (model.kind === \"set\") {\n return {\n ...model,\n values: model.values.map((value) =>\n resolveFlightPromiseChunks(value, modelChunks, errorChunks, depth + 1, context),\n ),\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\n ? undefined\n : resolveFlightPromiseChunks(value, modelChunks, errorChunks, depth + 1, context),\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 flightCycle(id: number): never {\n throw new FlightDecodeError(`MR_FLIGHT_CYCLE: cyclic chunk reference ${id}`);\n}\n\ninterface FlightDecodeContext {\n inProgressChunkIds: Set<number>;\n}\n\nfunction createFlightDecodeContext(): FlightDecodeContext {\n return {\n inProgressChunkIds: new Set(),\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 context: FlightDecodeContext = createFlightDecodeContext(),\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, depth, context);\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 context,\n ),\n };\n }\n\n return value.map((item) =>\n decodeReactFlightModel(item, modelChunks, errorChunks, depth + 1, context),\n );\n }\n\n if (isReactFlightBinaryModel(value)) {\n return value;\n }\n\n if (valueIsObject(value)) {\n return decodeReactFlightProps(value, modelChunks, errorChunks, depth + 1, context);\n }\n\n return { kind: \"undefined\" };\n}\n\nfunction decodeReactFlightString(\n value: string,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n depth: number,\n context: FlightDecodeContext,\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, depth + 1, context);\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, depth + 1, context);\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, depth + 1, context);\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, depth + 1, context);\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, depth + 1, context);\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, depth + 1, context);\n }\n\n return value;\n}\n\nfunction decodeReactFlightChunk(\n id: string,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n depth: number,\n context: FlightDecodeContext,\n): FlightModel {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) flightTooDeep();\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 if (context.inProgressChunkIds.has(numericId)) {\n flightCycle(numericId);\n }\n\n context.inProgressChunkIds.add(numericId);\n try {\n return decodeReactFlightModel(\n modelChunks.get(numericId),\n modelChunks,\n errorChunks,\n depth,\n context,\n );\n } finally {\n context.inProgressChunkIds.delete(numericId);\n }\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 context: FlightDecodeContext = createFlightDecodeContext(),\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, context),\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 &&\n cookieToken !== undefined &&\n constantTimeStringEqual(headerToken, cookieToken)\n ? undefined\n : jsonResponse({ ok: false, error: \"Invalid CSRF token.\" }, 403);\n}\n\nfunction constantTimeStringEqual(left: string, right: string): boolean {\n const length = Math.max(left.length, right.length);\n let diff = left.length ^ right.length;\n\n for (let index = 0; index < length; index += 1) {\n diff |= (left.charCodeAt(index) || 0) ^ (right.charCodeAt(index) || 0);\n }\n\n return diff === 0;\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(\"&\", \"&amp;\")\n .replaceAll('\"', \"&quot;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\");\n}\n"]}
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(\"react.transitional.element\");\nconst REACT_COMPAT_FRAGMENT_TYPE = Symbol.for(\"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, 0),\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 depth = 0,\n context: FlightDecodeContext = createFlightDecodeContext(),\n): FlightModel {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) flightTooDeep();\n\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) =>\n resolveFlightPromiseChunks(item, modelChunks, errorChunks, depth + 1, context),\n );\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 if (context.inProgressChunkIds.has(model.id)) {\n flightCycle(model.id);\n }\n\n context.inProgressChunkIds.add(model.id);\n try {\n return decodeReactFlightModel(\n modelChunks.get(model.id),\n modelChunks,\n errorChunks,\n depth + 1,\n context,\n );\n } finally {\n context.inProgressChunkIds.delete(model.id);\n }\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, depth + 1, context),\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, depth + 1, context),\n resolveFlightPromiseChunks(value, modelChunks, errorChunks, depth + 1, context),\n ]),\n };\n }\n\n if (model.kind === \"set\") {\n return {\n ...model,\n values: model.values.map((value) =>\n resolveFlightPromiseChunks(value, modelChunks, errorChunks, depth + 1, context),\n ),\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\n ? undefined\n : resolveFlightPromiseChunks(value, modelChunks, errorChunks, depth + 1, context),\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 flightCycle(id: number): never {\n throw new FlightDecodeError(`MR_FLIGHT_CYCLE: cyclic chunk reference ${id}`);\n}\n\ninterface FlightDecodeContext {\n inProgressChunkIds: Set<number>;\n}\n\nfunction createFlightDecodeContext(): FlightDecodeContext {\n return {\n inProgressChunkIds: new Set(),\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 context: FlightDecodeContext = createFlightDecodeContext(),\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, depth, context);\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 context,\n ),\n };\n }\n\n return value.map((item) =>\n decodeReactFlightModel(item, modelChunks, errorChunks, depth + 1, context),\n );\n }\n\n if (isReactFlightBinaryModel(value)) {\n return value;\n }\n\n if (valueIsObject(value)) {\n return decodeReactFlightProps(value, modelChunks, errorChunks, depth + 1, context);\n }\n\n return { kind: \"undefined\" };\n}\n\nfunction decodeReactFlightString(\n value: string,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n depth: number,\n context: FlightDecodeContext,\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, depth + 1, context);\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, depth + 1, context);\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, depth + 1, context);\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, depth + 1, context);\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, depth + 1, context);\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, depth + 1, context);\n }\n\n return value;\n}\n\nfunction decodeReactFlightChunk(\n id: string,\n modelChunks: ReadonlyMap<number, unknown>,\n errorChunks: ReadonlyMap<number, FlightErrorModel>,\n depth: number,\n context: FlightDecodeContext,\n): FlightModel {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) flightTooDeep();\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 if (context.inProgressChunkIds.has(numericId)) {\n flightCycle(numericId);\n }\n\n context.inProgressChunkIds.add(numericId);\n try {\n return decodeReactFlightModel(\n modelChunks.get(numericId),\n modelChunks,\n errorChunks,\n depth,\n context,\n );\n } finally {\n context.inProgressChunkIds.delete(numericId);\n }\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 context: FlightDecodeContext = createFlightDecodeContext(),\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, context),\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 depth: number,\n): Promise<FlightModel> {\n if (depth > MAX_FLIGHT_DECODE_DEPTH) flightTooDeep();\n\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, depth + 1)));\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, depth + 1);\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, depth + 1),\n await serializeFlightValue(value, state, depth + 1),\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, depth + 1)),\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, depth + 1),\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, depth + 1)),\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, depth + 1);\n }\n\n throw new TypeError(`Unsupported Flight value: ${typeof awaited}`);\n}\n\nasync function serializeElement(\n element: ReactCompatElementLike,\n state: FlightSerializationState,\n depth: number,\n): Promise<FlightElementModel | FlightModel> {\n if (typeof element.type === \"function\") {\n return await serializeFlightValue(element.type(element.props), state, depth + 1);\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, depth + 1),\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, depth + 1),\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, depth + 1),\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 depth: number,\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, depth + 1),\n ] as const),\n );\n\n return Object.fromEntries(entries);\n}\n\nasync function serializeObject(\n object: Record<string, unknown>,\n state: FlightSerializationState,\n depth: number,\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, depth + 1),\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, 0)));\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 &&\n cookieToken !== undefined &&\n constantTimeStringEqual(headerToken, cookieToken)\n ? undefined\n : jsonResponse({ ok: false, error: \"Invalid CSRF token.\" }, 403);\n}\n\nfunction constantTimeStringEqual(left: string, right: string): boolean {\n const length = Math.max(left.length, right.length);\n let diff = left.length ^ right.length;\n\n for (let index = 0; index < length; index += 1) {\n diff |= (left.charCodeAt(index) || 0) ^ (right.charCodeAt(index) || 0);\n }\n\n return diff === 0;\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(\"&\", \"&amp;\")\n .replaceAll('\"', \"&quot;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\");\n}\n"]}
@@ -81,11 +81,7 @@ function appendReactNodeList(sink, nodes, state) {
81
81
  for (const node of nodes) {
82
82
  if (chain !== undefined) {
83
83
  const buffered = renderReactNodeToBufferedString(node, state);
84
- chain = chain.then(async () => {
85
- await buffered.result;
86
- await buffered.sink.drain();
87
- sink.append(buffered.sink.toString());
88
- });
84
+ chain = chain.then(() => appendBufferedSinkAfterResult(sink, buffered));
89
85
  continue;
90
86
  }
91
87
  const result = appendReactNode(sink, node, state);
@@ -168,11 +164,7 @@ function appendRawTextNodeList(sink, nodes) {
168
164
  for (const node of nodes) {
169
165
  if (chain !== undefined) {
170
166
  const buffered = renderRawTextNodeToBufferedString(node);
171
- chain = chain.then(async () => {
172
- await buffered.result;
173
- await buffered.sink.drain();
174
- sink.append(buffered.sink.toString());
175
- });
167
+ chain = chain.then(() => appendBufferedSinkAfterResult(sink, buffered));
176
168
  continue;
177
169
  }
178
170
  const result = appendRawTextNode(sink, node);
@@ -189,6 +181,23 @@ function renderRawTextNodeToBufferedString(node) {
189
181
  sink,
190
182
  };
191
183
  }
184
+ async function appendBufferedSinkAfterResult(sink, buffered) {
185
+ await buffered.result;
186
+ const shell = buffered.sink.toString();
187
+ sink.append(shell);
188
+ if (!hasDeferredTasks(buffered.sink)) {
189
+ return;
190
+ }
191
+ const appendDeferredTail = buffered.sink.drain().then(() => {
192
+ const resolved = buffered.sink.toString();
193
+ sink.append(resolved.slice(shell.length));
194
+ });
195
+ if (sink.defer !== undefined) {
196
+ sink.defer(appendDeferredTail);
197
+ return;
198
+ }
199
+ await appendDeferredTail;
200
+ }
192
201
  function appendSuspenseElement(sink, element, state) {
193
202
  const rendered = renderReactNodeChildrenToString(element.props.children, state);
194
203
  if (!isPromiseLikeString(rendered)) {