vinext 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (813) hide show
  1. package/README.md +158 -84
  2. package/THIRD_PARTY_LICENSES.md +25 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +82 -8
  37. package/dist/build/prerender-paths.js +814 -99
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +67 -15
  43. package/dist/build/prerender.js +177 -64
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +38 -19
  49. package/dist/build/report.js +73 -4
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +7 -8
  62. package/dist/cache/cache-adapters-virtual.d.ts +95 -9
  63. package/dist/cache/cache-adapters-virtual.js +58 -6
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -435
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -8
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +10 -7
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +5 -6
  102. package/dist/entries/app-browser-entry.js +3 -2
  103. package/dist/entries/app-rsc-entry.d.ts +12 -3
  104. package/dist/entries/app-rsc-entry.js +530 -55
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +27 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +237 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +832 -199
  117. package/dist/init-cloudflare.d.ts +27 -16
  118. package/dist/init-cloudflare.js +754 -113
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +20 -5
  191. package/dist/routing/app-router.js +28 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +121 -40
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +9 -5
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +7 -3
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-browser-visible-commit.js +1 -1
  237. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  238. package/dist/server/app-elements-wire-key.d.ts +25 -0
  239. package/dist/server/app-elements-wire-key.js +69 -0
  240. package/dist/server/app-elements-wire.d.ts +34 -53
  241. package/dist/server/app-elements-wire.js +4 -75
  242. package/dist/server/app-elements.d.ts +5 -5
  243. package/dist/server/app-elements.js +1 -1
  244. package/dist/server/app-fallback-renderer.d.ts +4 -4
  245. package/dist/server/app-fallback-renderer.js +6 -6
  246. package/dist/server/app-fetch-tracing.d.ts +15 -0
  247. package/dist/server/app-fetch-tracing.js +38 -0
  248. package/dist/server/app-history-state.d.ts +26 -27
  249. package/dist/server/app-history-state.js +19 -11
  250. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  251. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  252. package/dist/server/app-inline-css-client.d.ts +3 -4
  253. package/dist/server/app-interception-context-header.d.ts +2 -3
  254. package/dist/server/app-layout-param-observation.d.ts +7 -8
  255. package/dist/server/app-metadata-tracing.d.ts +12 -0
  256. package/dist/server/app-metadata-tracing.js +17 -0
  257. package/dist/server/app-middleware.d.ts +15 -7
  258. package/dist/server/app-middleware.js +30 -5
  259. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  260. package/dist/server/app-mounted-slots-header.js +2 -2
  261. package/dist/server/app-optimistic-routing.d.ts +14 -10
  262. package/dist/server/app-optimistic-routing.js +16 -3
  263. package/dist/server/app-page-boundary-render.d.ts +6 -6
  264. package/dist/server/app-page-boundary-render.js +10 -4
  265. package/dist/server/app-page-boundary.d.ts +9 -10
  266. package/dist/server/app-page-boundary.js +2 -1
  267. package/dist/server/app-page-cache-finalizer.d.ts +32 -8
  268. package/dist/server/app-page-cache-finalizer.js +118 -14
  269. package/dist/server/app-page-cache-render.d.ts +8 -5
  270. package/dist/server/app-page-cache-render.js +22 -5
  271. package/dist/server/app-page-cache.d.ts +28 -9
  272. package/dist/server/app-page-cache.js +96 -25
  273. package/dist/server/app-page-dispatch.d.ts +36 -12
  274. package/dist/server/app-page-dispatch.js +188 -63
  275. package/dist/server/app-page-element-builder.d.ts +13 -11
  276. package/dist/server/app-page-element-builder.js +104 -61
  277. package/dist/server/app-page-execution.d.ts +14 -14
  278. package/dist/server/app-page-execution.js +12 -8
  279. package/dist/server/app-page-head.d.ts +19 -16
  280. package/dist/server/app-page-head.js +25 -25
  281. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  282. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  283. package/dist/server/app-page-method.d.ts +5 -11
  284. package/dist/server/app-page-method.js +2 -9
  285. package/dist/server/app-page-params.d.ts +5 -6
  286. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  287. package/dist/server/app-page-probe.d.ts +5 -6
  288. package/dist/server/app-page-probe.js +5 -4
  289. package/dist/server/app-page-render-identity.d.ts +4 -5
  290. package/dist/server/app-page-render-observation.d.ts +8 -9
  291. package/dist/server/app-page-render-observation.js +1 -1
  292. package/dist/server/app-page-render.d.ts +42 -6
  293. package/dist/server/app-page-render.js +192 -28
  294. package/dist/server/app-page-request.d.ts +10 -9
  295. package/dist/server/app-page-request.js +16 -12
  296. package/dist/server/app-page-response.d.ts +20 -9
  297. package/dist/server/app-page-response.js +31 -13
  298. package/dist/server/app-page-route-wiring.d.ts +15 -15
  299. package/dist/server/app-page-route-wiring.js +31 -24
  300. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  301. package/dist/server/app-page-search-params-observation.js +42 -6
  302. package/dist/server/app-page-segment-plan.d.ts +2 -3
  303. package/dist/server/app-page-segment-state.d.ts +11 -12
  304. package/dist/server/app-page-stream.d.ts +27 -11
  305. package/dist/server/app-page-stream.js +35 -6
  306. package/dist/server/app-page-tracing.d.ts +33 -0
  307. package/dist/server/app-page-tracing.js +49 -0
  308. package/dist/server/app-pages-bridge.d.ts +6 -6
  309. package/dist/server/app-pages-bridge.js +19 -4
  310. package/dist/server/app-post-middleware-context.d.ts +2 -3
  311. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  312. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  313. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  314. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  315. package/dist/server/app-prerender-endpoints.js +26 -12
  316. package/dist/server/app-prerender-static-params.d.ts +15 -7
  317. package/dist/server/app-prerender-static-params.js +33 -11
  318. package/dist/server/app-render-dependency.d.ts +14 -13
  319. package/dist/server/app-render-dependency.js +5 -1
  320. package/dist/server/app-request-context.d.ts +3 -4
  321. package/dist/server/app-request-stage-context.d.ts +5 -0
  322. package/dist/server/app-request-stage-context.js +11 -0
  323. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  324. package/dist/server/app-request-stage-dispatch.js +54 -0
  325. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  326. package/dist/server/app-request-stage-independent-entry.js +115 -0
  327. package/dist/server/app-response-header-provenance.d.ts +13 -7
  328. package/dist/server/app-response-header-provenance.js +34 -1
  329. package/dist/server/app-response-stage-entry.d.ts +9 -0
  330. package/dist/server/app-response-stage-entry.js +87 -0
  331. package/dist/server/app-route-handler-cache.d.ts +2 -3
  332. package/dist/server/app-route-handler-cache.js +46 -34
  333. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  334. package/dist/server/app-route-handler-dispatch.js +75 -57
  335. package/dist/server/app-route-handler-execution.d.ts +18 -13
  336. package/dist/server/app-route-handler-execution.js +189 -25
  337. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  338. package/dist/server/app-route-handler-middleware-context.js +15 -0
  339. package/dist/server/app-route-handler-policy.d.ts +22 -10
  340. package/dist/server/app-route-handler-policy.js +19 -4
  341. package/dist/server/app-route-handler-response.d.ts +9 -10
  342. package/dist/server/app-route-handler-response.js +2 -0
  343. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  344. package/dist/server/app-route-handler-runtime.js +20 -16
  345. package/dist/server/app-route-module-loader.d.ts +6 -7
  346. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  347. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  348. package/dist/server/app-route-tree-prefetch.js +2 -1
  349. package/dist/server/app-router-entry.d.ts +2 -0
  350. package/dist/server/app-router-entry.js +76 -12
  351. package/dist/server/app-rsc-cache-busting.d.ts +47 -22
  352. package/dist/server/app-rsc-cache-busting.js +80 -18
  353. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  354. package/dist/server/app-rsc-combined-handler.js +11 -0
  355. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  356. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  357. package/dist/server/app-rsc-error-handler.js +15 -6
  358. package/dist/server/app-rsc-errors.d.ts +12 -9
  359. package/dist/server/app-rsc-errors.js +15 -13
  360. package/dist/server/app-rsc-handler.d.ts +33 -6
  361. package/dist/server/app-rsc-handler.js +498 -83
  362. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  363. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  364. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  365. package/dist/server/app-rsc-request-normalization.js +2 -1
  366. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  367. package/dist/server/app-rsc-response-finalizer.js +24 -7
  368. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  369. package/dist/server/app-rsc-response-stage.js +251 -0
  370. package/dist/server/app-rsc-route-matching.d.ts +4 -4
  371. package/dist/server/app-rsc-route-matching.js +4 -2
  372. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  373. package/dist/server/app-rsc-vary.d.ts +16 -0
  374. package/dist/server/app-rsc-vary.js +31 -0
  375. package/dist/server/app-segment-config.d.ts +120 -6
  376. package/dist/server/app-segment-config.js +264 -12
  377. package/dist/server/app-server-action-execution.d.ts +16 -12
  378. package/dist/server/app-server-action-execution.js +88 -35
  379. package/dist/server/app-ssr-entry.d.ts +14 -4
  380. package/dist/server/app-ssr-entry.js +64 -17
  381. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  382. package/dist/server/app-ssr-error-meta.js +2 -1
  383. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  384. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  385. package/dist/server/app-ssr-search-params-gate.js +54 -0
  386. package/dist/server/app-ssr-stream.d.ts +13 -9
  387. package/dist/server/app-ssr-stream.js +33 -7
  388. package/dist/server/app-static-generation.d.ts +4 -5
  389. package/dist/server/app-visited-response-cache.d.ts +11 -12
  390. package/dist/server/app-visited-response-cache.js +2 -2
  391. package/dist/server/app-worker-stages.d.ts +112 -0
  392. package/dist/server/app-worker-stages.js +105 -0
  393. package/dist/server/artifact-compatibility.d.ts +11 -12
  394. package/dist/server/before-interactive-head.d.ts +2 -3
  395. package/dist/server/bfcache-identity.d.ts +7 -8
  396. package/dist/server/cache-control.d.ts +39 -11
  397. package/dist/server/cache-control.js +104 -7
  398. package/dist/server/cache-headers.d.ts +3 -4
  399. package/dist/server/cache-proof.d.ts +75 -70
  400. package/dist/server/cache-proof.js +9 -1
  401. package/dist/server/cacheability-limits.d.ts +8 -0
  402. package/dist/server/cacheability-limits.js +9 -0
  403. package/dist/server/cacheability-manifest.d.ts +68 -0
  404. package/dist/server/cacheability-manifest.js +241 -0
  405. package/dist/server/cacheability-request.d.ts +49 -0
  406. package/dist/server/cacheability-request.js +559 -0
  407. package/dist/server/client-reuse-manifest.d.ts +17 -18
  408. package/dist/server/client-reuse-manifest.js +2 -2
  409. package/dist/server/client-trace-metadata.d.ts +9 -6
  410. package/dist/server/client-trace-metadata.js +27 -15
  411. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  412. package/dist/server/cloudflare-workers-tracing.js +8 -0
  413. package/dist/server/config-headers.d.ts +19 -5
  414. package/dist/server/config-headers.js +39 -5
  415. package/dist/server/cookie-utils.d.ts +2 -3
  416. package/dist/server/csp.d.ts +5 -6
  417. package/dist/server/default-global-error-module.d.ts +2 -3
  418. package/dist/server/default-global-not-found-module.d.ts +2 -3
  419. package/dist/server/default-not-found-module.d.ts +2 -3
  420. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  421. package/dist/server/defer-until-stream-consumed.js +2 -1
  422. package/dist/server/dev-initial-server-error.d.ts +3 -4
  423. package/dist/server/dev-initial-server-error.js +2 -1
  424. package/dist/server/dev-lockfile.d.ts +7 -8
  425. package/dist/server/dev-lockfile.js +4 -1
  426. package/dist/server/dev-module-runner.d.ts +2 -3
  427. package/dist/server/dev-origin-check.d.ts +5 -6
  428. package/dist/server/dev-route-files.d.ts +2 -3
  429. package/dist/server/dev-server.d.ts +4 -5
  430. package/dist/server/dev-server.js +130 -61
  431. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  432. package/dist/server/dev-stack-sourcemap.js +1 -1
  433. package/dist/server/document-initial-head.d.ts +3 -4
  434. package/dist/server/edge-api-runtime.d.ts +4 -5
  435. package/dist/server/fetch-handler.d.ts +3 -2
  436. package/dist/server/fetch-handler.js +3 -18
  437. package/dist/server/file-based-metadata.d.ts +2 -3
  438. package/dist/server/framework-tracer.d.ts +46 -0
  439. package/dist/server/framework-tracer.js +125 -0
  440. package/dist/server/fully-buffered-response.d.ts +11 -0
  441. package/dist/server/fully-buffered-response.js +19 -0
  442. package/dist/server/headers.d.ts +62 -56
  443. package/dist/server/headers.js +33 -20
  444. package/dist/server/html.d.ts +6 -27
  445. package/dist/server/html.js +16 -1
  446. package/dist/server/http-conditional.d.ts +5 -6
  447. package/dist/server/http-date.d.ts +2 -3
  448. package/dist/server/http-error-responses.d.ts +9 -10
  449. package/dist/server/http-range.d.ts +4 -5
  450. package/dist/server/hybrid-route-priority.d.ts +4 -5
  451. package/dist/server/image-optimization.d.ts +20 -21
  452. package/dist/server/implicit-tags.d.ts +3 -4
  453. package/dist/server/instrumentation-runtime.d.ts +17 -21
  454. package/dist/server/instrumentation-runtime.js +26 -8
  455. package/dist/server/instrumentation.d.ts +26 -30
  456. package/dist/server/instrumentation.js +18 -23
  457. package/dist/server/isr-cache.d.ts +28 -27
  458. package/dist/server/isr-cache.js +18 -70
  459. package/dist/server/isr-decision.d.ts +4 -4
  460. package/dist/server/metadata-route-build-data.d.ts +4 -5
  461. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  462. package/dist/server/metadata-route-response.d.ts +7 -7
  463. package/dist/server/metadata-route-response.js +68 -2
  464. package/dist/server/metadata-routes.d.ts +18 -19
  465. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  466. package/dist/server/middleware-matcher.d.ts +13 -6
  467. package/dist/server/middleware-matcher.js +22 -1
  468. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  469. package/dist/server/middleware-path-to-regexp.js +11 -9
  470. package/dist/server/middleware-response-headers.d.ts +3 -4
  471. package/dist/server/middleware-runtime.d.ts +13 -8
  472. package/dist/server/middleware-runtime.js +54 -10
  473. package/dist/server/middleware.d.ts +5 -5
  474. package/dist/server/multi-stage.d.ts +141 -0
  475. package/dist/server/multi-stage.js +8 -0
  476. package/dist/server/navigation-planner.d.ts +26 -26
  477. package/dist/server/navigation-trace.d.ts +11 -12
  478. package/dist/server/next-error-digest.d.ts +4 -5
  479. package/dist/server/normalize-path.d.ts +5 -6
  480. package/dist/server/normalize-path.js +1 -1
  481. package/dist/server/open-redirect.d.ts +2 -3
  482. package/dist/server/opentelemetry-api.d.ts +59 -0
  483. package/dist/server/opentelemetry-api.js +53 -0
  484. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  485. package/dist/server/opentelemetry-tracing.js +83 -0
  486. package/dist/server/operation-token.d.ts +11 -12
  487. package/dist/server/otel-tracer-extension.d.ts +7 -9
  488. package/dist/server/otel-tracer-extension.js +37 -36
  489. package/dist/server/pages-api-route.d.ts +5 -4
  490. package/dist/server/pages-api-route.js +21 -8
  491. package/dist/server/pages-asset-tags.d.ts +6 -6
  492. package/dist/server/pages-asset-tags.js +37 -2
  493. package/dist/server/pages-body-parser-config.d.ts +4 -5
  494. package/dist/server/pages-body-parser-config.js +4 -4
  495. package/dist/server/pages-client-assets.d.ts +11 -5
  496. package/dist/server/pages-data-route.d.ts +11 -12
  497. package/dist/server/pages-data-route.js +1 -1
  498. package/dist/server/pages-default-404.d.ts +3 -4
  499. package/dist/server/pages-dev-hydration.d.ts +9 -4
  500. package/dist/server/pages-dev-hydration.js +19 -7
  501. package/dist/server/pages-dev-module-url.d.ts +3 -4
  502. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  503. package/dist/server/pages-document-asset-props.d.ts +6 -7
  504. package/dist/server/pages-document-initial-props.d.ts +5 -5
  505. package/dist/server/pages-document-initial-props.js +4 -2
  506. package/dist/server/pages-execution-tracing.d.ts +40 -0
  507. package/dist/server/pages-execution-tracing.js +80 -0
  508. package/dist/server/pages-get-initial-props.d.ts +9 -10
  509. package/dist/server/pages-i18n.d.ts +8 -8
  510. package/dist/server/pages-i18n.js +3 -2
  511. package/dist/server/pages-media-type.d.ts +4 -5
  512. package/dist/server/pages-node-compat.d.ts +11 -10
  513. package/dist/server/pages-node-compat.js +12 -4
  514. package/dist/server/pages-page-data.d.ts +18 -19
  515. package/dist/server/pages-page-data.js +11 -10
  516. package/dist/server/pages-page-handler.d.ts +7 -6
  517. package/dist/server/pages-page-handler.js +98 -47
  518. package/dist/server/pages-page-method.d.ts +2 -3
  519. package/dist/server/pages-page-response.d.ts +14 -10
  520. package/dist/server/pages-page-response.js +49 -31
  521. package/dist/server/pages-preview.d.ts +10 -11
  522. package/dist/server/pages-readiness.d.ts +2 -3
  523. package/dist/server/pages-request-pipeline.d.ts +16 -12
  524. package/dist/server/pages-request-pipeline.js +69 -28
  525. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  526. package/dist/server/pages-request-stage-entry.js +314 -0
  527. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  528. package/dist/server/pages-response-stage-entry.js +106 -0
  529. package/dist/server/pages-response-stage.d.ts +31 -0
  530. package/dist/server/pages-response-stage.js +49 -0
  531. package/dist/server/pages-revalidate.d.ts +3 -4
  532. package/dist/server/pages-revalidate.js +9 -4
  533. package/dist/server/pages-route-data-kind.d.ts +18 -0
  534. package/dist/server/pages-route-data-kind.js +11 -0
  535. package/dist/server/pages-router-entry.d.ts +1 -25
  536. package/dist/server/pages-router-entry.js +48 -114
  537. package/dist/server/pages-serializable-props.d.ts +3 -4
  538. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  539. package/dist/server/pregenerated-concrete-paths.js +12 -6
  540. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  541. package/dist/server/prerender-manifest.d.ts +11 -11
  542. package/dist/server/prerender-manifest.js +6 -3
  543. package/dist/server/prerender-route-params.d.ts +16 -9
  544. package/dist/server/prerender-route-params.js +18 -2
  545. package/dist/server/prerender-work-unit-setup.d.ts +4 -4
  546. package/dist/server/prerender-work-unit-setup.js +37 -14
  547. package/dist/server/prod-server.d.ts +12 -9
  548. package/dist/server/prod-server.js +129 -36
  549. package/dist/server/proxy-trust.d.ts +5 -6
  550. package/dist/server/request-log.d.ts +3 -4
  551. package/dist/server/request-pipeline.d.ts +17 -21
  552. package/dist/server/request-pipeline.js +8 -10
  553. package/dist/server/request-stage.d.ts +5 -0
  554. package/dist/server/request-stage.js +7 -0
  555. package/dist/server/request-tracing.d.ts +22 -0
  556. package/dist/server/request-tracing.js +180 -0
  557. package/dist/server/response-stage-cacheability.d.ts +37 -0
  558. package/dist/server/response-stage-cacheability.js +55 -0
  559. package/dist/server/response-stage-policy.d.ts +23 -0
  560. package/dist/server/response-stage-policy.js +89 -0
  561. package/dist/server/response-stage.d.ts +5 -0
  562. package/dist/server/response-stage.js +7 -0
  563. package/dist/server/response-start-tracing.d.ts +14 -0
  564. package/dist/server/response-start-tracing.js +80 -0
  565. package/dist/server/revalidation-host.d.ts +2 -3
  566. package/dist/server/revalidation-host.js +2 -1
  567. package/dist/server/revalidation-request.d.ts +8 -0
  568. package/dist/server/revalidation-request.js +37 -0
  569. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  570. package/dist/server/rsc-stream-hints.d.ts +18 -7
  571. package/dist/server/rsc-stream-hints.js +70 -35
  572. package/dist/server/seed-cache.d.ts +2 -3
  573. package/dist/server/seed-cache.js +8 -7
  574. package/dist/server/server-action-not-found.d.ts +5 -6
  575. package/dist/server/server-globals.d.ts +2 -3
  576. package/dist/server/server-globals.js +13 -0
  577. package/dist/server/skip-cache-proof.d.ts +4 -4
  578. package/dist/server/socket-error-backstop.d.ts +5 -6
  579. package/dist/server/socket-error-backstop.js +1 -1
  580. package/dist/server/static-file-cache.d.ts +5 -6
  581. package/dist/server/static-file-cache.js +9 -7
  582. package/dist/server/static-file-signal.d.ts +16 -0
  583. package/dist/server/static-file-signal.js +82 -0
  584. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  585. package/dist/server/streaming-metadata.d.ts +2 -3
  586. package/dist/server/tracer.d.ts +5 -0
  587. package/dist/server/tracer.js +13 -0
  588. package/dist/server/worker-prerender-discovery.d.ts +18 -0
  589. package/dist/server/worker-prerender-discovery.js +55 -0
  590. package/dist/server/worker-revalidation-context.d.ts +2 -3
  591. package/dist/server/worker-revalidation-context.js +5 -5
  592. package/dist/server/worker-stages.d.ts +43 -0
  593. package/dist/server/worker-stages.js +25 -0
  594. package/dist/server/worker-utils.d.ts +5 -6
  595. package/dist/server/worker-utils.js +4 -4
  596. package/dist/server/workers-tracing.d.ts +17 -0
  597. package/dist/server/workers-tracing.js +27 -0
  598. package/dist/shims/amp.d.ts +3 -4
  599. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  600. package/dist/shims/app-router-scroll.d.ts +4 -5
  601. package/dist/shims/app-router-scroll.js +2 -1
  602. package/dist/shims/app.d.ts +5 -6
  603. package/dist/shims/before-interactive-context.d.ts +5 -6
  604. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  605. package/dist/shims/cache-callable-runtime.js +168 -8
  606. package/dist/shims/cache-for-request.d.ts +2 -3
  607. package/dist/shims/cache-handler.d.ts +33 -20
  608. package/dist/shims/cache-handler.js +61 -2
  609. package/dist/shims/cache-request-state.d.ts +28 -29
  610. package/dist/shims/cache-runtime.d.ts +23 -21
  611. package/dist/shims/cache-runtime.js +239 -121
  612. package/dist/shims/cache.d.ts +15 -15
  613. package/dist/shims/cache.js +25 -13
  614. package/dist/shims/cacheability-classification.d.ts +106 -0
  615. package/dist/shims/cacheability-classification.js +161 -0
  616. package/dist/shims/cdn-cache-state.d.ts +13 -0
  617. package/dist/shims/cdn-cache-state.js +23 -0
  618. package/dist/shims/cdn-cache.d.ts +76 -18
  619. package/dist/shims/cdn-cache.js +40 -39
  620. package/dist/shims/client-hook-error.d.ts +3 -4
  621. package/dist/shims/client-locale.d.ts +2 -3
  622. package/dist/shims/client-page-root.d.ts +24 -0
  623. package/dist/shims/client-page-root.js +121 -0
  624. package/dist/shims/compat-router.d.ts +2 -3
  625. package/dist/shims/config.d.ts +3 -4
  626. package/dist/shims/constants.d.ts +73 -74
  627. package/dist/shims/constants.js +1 -1
  628. package/dist/shims/default-not-found.d.ts +2 -3
  629. package/dist/shims/document.d.ts +9 -9
  630. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  631. package/dist/shims/dynamic-preload-chunks.js +17 -13
  632. package/dist/shims/dynamic.d.ts +3 -3
  633. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  634. package/dist/shims/error-boundary.d.ts +17 -18
  635. package/dist/shims/error-boundary.js +17 -11
  636. package/dist/shims/error.d.ts +4 -4
  637. package/dist/shims/error.js +1 -1
  638. package/dist/shims/error.react-server.d.ts +3 -4
  639. package/dist/shims/fetch-cache.d.ts +22 -22
  640. package/dist/shims/fetch-cache.js +50 -20
  641. package/dist/shims/font-google-base.d.ts +9 -9
  642. package/dist/shims/font-google-base.js +2 -1
  643. package/dist/shims/font-local.d.ts +3 -3
  644. package/dist/shims/font-local.js +1 -1
  645. package/dist/shims/font-utils.d.ts +14 -15
  646. package/dist/shims/form.d.ts +2 -2
  647. package/dist/shims/form.js +10 -7
  648. package/dist/shims/hash-scroll.d.ts +5 -6
  649. package/dist/shims/head-state.d.ts +4 -5
  650. package/dist/shims/head.d.ts +16 -16
  651. package/dist/shims/head.js +5 -4
  652. package/dist/shims/headers.d.ts +68 -32
  653. package/dist/shims/headers.js +101 -10
  654. package/dist/shims/i18n-context.d.ts +5 -6
  655. package/dist/shims/i18n-state.d.ts +4 -5
  656. package/dist/shims/image-config.d.ts +5 -6
  657. package/dist/shims/image-config.js +2 -0
  658. package/dist/shims/image.d.ts +5 -5
  659. package/dist/shims/image.js +12 -8
  660. package/dist/shims/internal/als-registry.d.ts +4 -5
  661. package/dist/shims/internal/api-utils.d.ts +3 -4
  662. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  663. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  664. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  665. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
  666. package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
  667. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  668. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
  669. package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
  670. package/dist/shims/internal/app-router-context.d.ts +9 -10
  671. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  672. package/dist/shims/internal/format-url-object.d.ts +7 -0
  673. package/dist/shims/internal/format-url-object.js +53 -0
  674. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  675. package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
  676. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  677. package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
  678. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  679. package/dist/shims/internal/interpolate-as.js +4 -2
  680. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  681. package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
  682. package/dist/shims/internal/make-hanging-promise.js +13 -2
  683. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  684. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  685. package/dist/shims/internal/normalize-router-href.js +41 -0
  686. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  687. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  688. package/dist/shims/internal/pages-data-target.js +32 -36
  689. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  690. package/dist/shims/internal/pages-data-url.js +2 -1
  691. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  692. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  693. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  694. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  695. package/dist/shims/internal/router-context.d.ts +2 -3
  696. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  697. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  698. package/dist/shims/internal/utils.d.ts +7 -8
  699. package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
  700. package/dist/shims/layout-segment-context.d.ts +3 -4
  701. package/dist/shims/link-prefetch.d.ts +9 -10
  702. package/dist/shims/link.d.ts +4 -4
  703. package/dist/shims/link.js +67 -116
  704. package/dist/shims/metadata.d.ts +15 -16
  705. package/dist/shims/metadata.js +40 -36
  706. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  707. package/dist/shims/navigation-context-accessors.js +19 -0
  708. package/dist/shims/navigation-context-state.d.ts +27 -18
  709. package/dist/shims/navigation-errors.d.ts +18 -19
  710. package/dist/shims/navigation-state.d.ts +6 -7
  711. package/dist/shims/navigation.d.ts +80 -68
  712. package/dist/shims/navigation.js +45 -17
  713. package/dist/shims/navigation.react-server.d.ts +9 -9
  714. package/dist/shims/navigation.react-server.js +1 -1
  715. package/dist/shims/offline.d.ts +2 -3
  716. package/dist/shims/og.d.ts +2 -2
  717. package/dist/shims/pages-router-runtime.d.ts +4 -5
  718. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  719. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  720. package/dist/shims/request-context.d.ts +7 -6
  721. package/dist/shims/root-params.d.ts +14 -15
  722. package/dist/shims/router-state.d.ts +5 -6
  723. package/dist/shims/router-state.js +1 -1
  724. package/dist/shims/router.d.ts +22 -21
  725. package/dist/shims/router.js +339 -164
  726. package/dist/shims/script-nonce-context.d.ts +8 -6
  727. package/dist/shims/script-nonce-context.js +15 -6
  728. package/dist/shims/script.d.ts +4 -4
  729. package/dist/shims/script.js +9 -7
  730. package/dist/shims/search-params-gate.d.ts +35 -0
  731. package/dist/shims/search-params-gate.js +32 -0
  732. package/dist/shims/server.d.ts +19 -51
  733. package/dist/shims/server.js +14 -28
  734. package/dist/shims/slot.d.ts +33 -15
  735. package/dist/shims/slot.js +41 -9
  736. package/dist/shims/streamed-icons.d.ts +3 -4
  737. package/dist/shims/thenable-params.d.ts +5 -7
  738. package/dist/shims/thenable-params.js +3 -24
  739. package/dist/shims/unified-request-context.d.ts +34 -31
  740. package/dist/shims/unified-request-context.js +34 -24
  741. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  742. package/dist/shims/url-safety.d.ts +5 -6
  743. package/dist/shims/url-utils.d.ts +18 -12
  744. package/dist/shims/url-utils.js +10 -1
  745. package/dist/shims/use-merged-ref.d.ts +2 -3
  746. package/dist/shims/user-agent.d.ts +31 -0
  747. package/dist/shims/user-agent.js +16 -0
  748. package/dist/shims/web-vitals.d.ts +2 -2
  749. package/dist/typegen.d.ts +3 -4
  750. package/dist/utils/asset-prefix.d.ts +7 -8
  751. package/dist/utils/base-path.d.ts +5 -6
  752. package/dist/utils/built-asset-url.d.ts +2 -3
  753. package/dist/utils/built-asset-url.js +1 -1
  754. package/dist/utils/cache-control-metadata.d.ts +4 -5
  755. package/dist/utils/client-build-manifest.d.ts +6 -7
  756. package/dist/utils/client-build-manifest.js +2 -1
  757. package/dist/utils/client-entry-manifest.d.ts +6 -7
  758. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  759. package/dist/utils/client-runtime-metadata.js +18 -1
  760. package/dist/utils/commonjs-loader.d.ts +4 -5
  761. package/dist/utils/compare.d.ts +2 -3
  762. package/dist/utils/deployment-id.d.ts +6 -7
  763. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  764. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  765. package/dist/utils/domain-locale.d.ts +7 -8
  766. package/dist/utils/encode-cache-tag.d.ts +3 -4
  767. package/dist/utils/error-cause.d.ts +2 -3
  768. package/dist/utils/external-url.d.ts +2 -3
  769. package/dist/utils/has-trailing-comma.d.ts +3 -4
  770. package/dist/utils/hash.d.ts +3 -4
  771. package/dist/utils/html-limited-bots.d.ts +3 -4
  772. package/dist/utils/lazy-chunks.d.ts +8 -9
  773. package/dist/utils/lazy-chunks.js +4 -4
  774. package/dist/utils/manifest-paths.d.ts +5 -6
  775. package/dist/utils/mdx-scan.d.ts +11 -4
  776. package/dist/utils/mdx-scan.js +27 -1
  777. package/dist/utils/middleware-request-headers.d.ts +7 -6
  778. package/dist/utils/middleware-request-headers.js +6 -1
  779. package/dist/utils/navigation-signal.d.ts +3 -3
  780. package/dist/utils/navigation-signal.js +16 -1
  781. package/dist/utils/number.d.ts +2 -3
  782. package/dist/utils/package-name.d.ts +3 -4
  783. package/dist/utils/parse-cookie.d.ts +4 -5
  784. package/dist/utils/path.d.ts +8 -9
  785. package/dist/utils/plugin-options.d.ts +2 -3
  786. package/dist/utils/precompressed-variant.d.ts +3 -4
  787. package/dist/utils/prerender-output-paths.d.ts +9 -10
  788. package/dist/utils/prerender-output-paths.js +16 -9
  789. package/dist/utils/project.d.ts +19 -30
  790. package/dist/utils/project.js +20 -29
  791. package/dist/utils/promise.d.ts +2 -3
  792. package/dist/utils/protocol-headers.d.ts +14 -15
  793. package/dist/utils/public-file-path.d.ts +2 -3
  794. package/dist/utils/public-routes.d.ts +2 -3
  795. package/dist/utils/query.d.ts +14 -9
  796. package/dist/utils/query.js +22 -1
  797. package/dist/utils/react-compiler-support.d.ts +6 -7
  798. package/dist/utils/react-version.d.ts +4 -3
  799. package/dist/utils/react-version.js +19 -1
  800. package/dist/utils/record.d.ts +2 -3
  801. package/dist/utils/redirect-digest.d.ts +3 -4
  802. package/dist/utils/regex-safety.d.ts +4 -5
  803. package/dist/utils/regex.d.ts +2 -3
  804. package/dist/utils/safe-json-file.d.ts +2 -3
  805. package/dist/utils/sorted-array.d.ts +2 -3
  806. package/dist/utils/text-stream.d.ts +3 -4
  807. package/dist/utils/vinext-root.d.ts +2 -3
  808. package/dist/utils/virtual-module.d.ts +3 -4
  809. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  810. package/dist/utils/vite-cli-invocation.js +144 -0
  811. package/dist/utils/vite-version.d.ts +5 -6
  812. package/next-package.json +4 -0
  813. package/package.json +55 -6
@@ -1,7 +1,8 @@
1
- import { NEXT_CACHE_TAGS_HEADER, NEXT_ROUTER_STALE_TIME_HEADER, VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, VINEXT_STALE_TIME_PENDING_HEADER, VINEXT_TIMING_HEADER } from "./headers.js";
2
- import { NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildRevalidateCacheControl } from "./cache-control.js";
1
+ import { VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
2
+ import { NEXT_CACHE_TAGS_HEADER, NEXT_ROUTER_STALE_TIME_HEADER, VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_PARAMS_HEADER, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, VINEXT_STALE_TIME_PENDING_HEADER, VINEXT_TIMING_HEADER } from "./headers.js";
3
+ import { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildRevalidateCacheControl } from "./cache-control.js";
3
4
  import { setCacheStateHeaders } from "./cache-headers.js";
4
- import { VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, applyRscDeploymentIdHeader } from "./app-rsc-cache-busting.js";
5
+ import { VINEXT_RSC_CONTENT_TYPE, applyRscCompatibilityIdHeader, applyRscDeploymentIdHeader } from "./app-rsc-cache-busting.js";
5
6
  import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
6
7
  import { applyPrerenderCacheLifeHeader } from "./prerender-cache-life-header.js";
7
8
  import { markFrameworkLinkHeaders } from "./app-response-header-provenance.js";
@@ -28,14 +29,27 @@ function applyClientStaleTimeHeader(headers, staleTimeSeconds) {
28
29
  function applyPrerenderCacheTagsHeader(headers, cacheTags) {
29
30
  if (cacheTags && cacheTags.length > 0) headers.set(NEXT_CACHE_TAGS_HEADER, cacheTags.join(","));
30
31
  }
32
+ /**
33
+ * Next.js sends `private, no-cache, no-store, max-age=0, must-revalidate` for
34
+ * an App page response it knows is dynamic. Dev responses never cache, so they
35
+ * keep vinext's dev `no-store` header.
36
+ */
37
+ function resolveUncacheableCacheControl(isProduction) {
38
+ return isProduction ? NEVER_CACHE_CONTROL : NO_STORE_CACHE_CONTROL;
39
+ }
31
40
  function resolveAppPageRscResponsePolicy(options) {
32
- if (options.isDraftMode) return { cacheControl: NO_STORE_CACHE_CONTROL };
33
- if (options.isForceDynamic || options.dynamicUsedDuringBuild) return { cacheControl: NO_STORE_CACHE_CONTROL };
34
- if (options.revalidateSeconds === 0) return { cacheControl: NO_STORE_CACHE_CONTROL };
35
- if ((options.isForceStatic || options.isDynamicError) && !options.revalidateSeconds || options.revalidateSeconds === Infinity) return {
41
+ if (options.isDraftMode) return { cacheControl: resolveUncacheableCacheControl(options.isProduction) };
42
+ if (options.isStaticEligible === false) return { cacheControl: resolveUncacheableCacheControl(options.isProduction) };
43
+ if (options.isForceDynamic || options.dynamicUsedDuringBuild) return { cacheControl: resolveUncacheableCacheControl(options.isProduction) };
44
+ if (options.revalidateSeconds === 0) return { cacheControl: resolveUncacheableCacheControl(options.isProduction) };
45
+ if ((options.isForceStatic || options.isDynamicError) && (options.revalidateSeconds === null || options.revalidateSeconds === Infinity)) return {
36
46
  cacheControl: STATIC_CACHE_CONTROL,
37
47
  cacheState: "STATIC"
38
48
  };
49
+ if (options.revalidateSeconds === Infinity) return {
50
+ cacheControl: STATIC_CACHE_CONTROL,
51
+ cacheState: options.isProduction ? "MISS" : "STATIC"
52
+ };
39
53
  if (options.revalidateSeconds) return {
40
54
  cacheControl: buildRevalidateCacheControl(options.revalidateSeconds, options.expireSeconds),
41
55
  cacheState: options.isProduction ? "MISS" : void 0
@@ -44,11 +58,15 @@ function resolveAppPageRscResponsePolicy(options) {
44
58
  }
45
59
  function resolveAppPageHtmlResponsePolicy(options) {
46
60
  if (options.isDraftMode) return {
47
- cacheControl: NO_STORE_CACHE_CONTROL,
61
+ cacheControl: resolveUncacheableCacheControl(options.isProduction),
62
+ shouldWriteToCache: false
63
+ };
64
+ if (options.isStaticEligible === false) return {
65
+ cacheControl: resolveUncacheableCacheControl(options.isProduction),
48
66
  shouldWriteToCache: false
49
67
  };
50
68
  if (options.isForceDynamic) return {
51
- cacheControl: NO_STORE_CACHE_CONTROL,
69
+ cacheControl: resolveUncacheableCacheControl(options.isProduction),
52
70
  shouldWriteToCache: false
53
71
  };
54
72
  if (options.hasScriptNonce) return {
@@ -60,16 +78,16 @@ function resolveAppPageHtmlResponsePolicy(options) {
60
78
  shouldWriteToCache: false
61
79
  };
62
80
  if (options.revalidateSeconds === 0) return {
63
- cacheControl: NO_STORE_CACHE_CONTROL,
81
+ cacheControl: resolveUncacheableCacheControl(options.isProduction),
64
82
  shouldWriteToCache: false
65
83
  };
66
- if ((options.isForceStatic || options.isDynamicError) && options.revalidateSeconds === null) return {
84
+ if ((options.isForceStatic || options.isDynamicError) && (options.revalidateSeconds === null || options.revalidateSeconds === Infinity)) return {
67
85
  cacheControl: STATIC_CACHE_CONTROL,
68
86
  cacheState: options.isProduction ? "MISS" : "STATIC",
69
87
  shouldWriteToCache: options.isProduction
70
88
  };
71
89
  if (options.dynamicUsedDuringRender) return {
72
- cacheControl: NO_STORE_CACHE_CONTROL,
90
+ cacheControl: resolveUncacheableCacheControl(options.isProduction),
73
91
  shouldWriteToCache: false
74
92
  };
75
93
  if (options.revalidateSeconds !== null && options.revalidateSeconds > 0 && options.revalidateSeconds !== Infinity) return {
@@ -140,4 +158,4 @@ function buildAppPageHtmlResponse(body, options) {
140
158
  return response;
141
159
  }
142
160
  //#endregion
143
- export { applyClientStaleTimeHeader, applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy };
161
+ export { applyClientStaleTimeHeader, applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy, resolveUncacheableCacheControl };
@@ -22,13 +22,13 @@ type AppPageErrorComponent = ComponentType<{
22
22
  error: unknown;
23
23
  reset: () => void;
24
24
  }>;
25
- type AppPageModule = Record<string, unknown> & {
25
+ export type AppPageModule = Record<string, unknown> & {
26
26
  default?: AppPageComponent | null | undefined;
27
27
  };
28
- type AppPageErrorModule = Record<string, unknown> & {
28
+ export type AppPageErrorModule = Record<string, unknown> & {
29
29
  default?: AppPageErrorComponent | null | undefined;
30
30
  };
31
- type AppPageRouteWiringSlot<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
31
+ export type AppPageRouteWiringSlot<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
32
32
  /** Graph-owned semantic slot identity. */
33
33
  id?: string | null;
34
34
  /** Slot prop name passed to the owning layout (e.g. "modal" from @modal). */
@@ -57,7 +57,7 @@ type AppPageRouteWiringSlot<TModule extends AppPageModule = AppPageModule, TErro
57
57
  /** Param names captured by `slotPatternParts`, in order. */
58
58
  slotParamNames?: readonly string[] | null;
59
59
  };
60
- type AppPageRouteWiringRoute<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
60
+ export type AppPageRouteWiringRoute<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
61
61
  ids?: AppRouteSemanticIds | null;
62
62
  error?: TErrorModule | null;
63
63
  errorPaths?: readonly TErrorModule[] | null;
@@ -105,7 +105,7 @@ type AppPageRouteWiringRoute<TModule extends AppPageModule = AppPageModule, TErr
105
105
  templateTreePositions?: readonly number[] | null;
106
106
  templates?: readonly (TModule | null | undefined)[] | null;
107
107
  };
108
- type AppPageSlotOverride<TModule extends AppPageModule = AppPageModule> = {
108
+ export type AppPageSlotOverride<TModule extends AppPageModule = AppPageModule> = {
109
109
  branchSegments?: readonly string[] | null;
110
110
  /** Route-matcher-resolved semantic branch, aligned with the flattened branch. */
111
111
  identitySegments?: readonly AppPageSemanticSegment[] | null;
@@ -123,7 +123,7 @@ type AppPageSlotOverride<TModule extends AppPageModule = AppPageModule> = {
123
123
  props?: Readonly<Record<string, unknown>>;
124
124
  routeSegments?: readonly string[] | null;
125
125
  };
126
- type AppPageLayoutEntry<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
126
+ export type AppPageLayoutEntry<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
127
127
  errorModule?: TErrorModule | null | undefined;
128
128
  forbiddenModule?: TModule | null | undefined;
129
129
  id: string;
@@ -177,27 +177,27 @@ type BuildAppPageElementsOptions<TModule extends AppPageModule = AppPageModule,
177
177
  semanticInterceptionTargetRouteId?: string | null;
178
178
  sourcePageSegments?: readonly string[] | null;
179
179
  };
180
- type AppPageTemplateEntry<TModule extends AppPageModule = AppPageModule> = {
180
+ export type AppPageTemplateEntry<TModule extends AppPageModule = AppPageModule> = {
181
181
  id: string;
182
182
  templateModule?: TModule | null | undefined;
183
183
  treePath: string;
184
184
  treePosition: number;
185
185
  };
186
- declare function createAppPageTreePath(routeSegments: readonly string[] | null | undefined, treePosition: number): string;
187
- declare function probeAppPageLayoutWithTracking<TModule extends AppPageModule>(options: {
186
+ export declare function createAppPageTreePath(routeSegments: readonly string[] | null | undefined, treePosition: number): string;
187
+ export declare function probeAppPageLayoutWithTracking<TModule extends AppPageModule>(options: {
188
188
  layoutIndex: number;
189
189
  layoutParamAccess: AppLayoutParamAccessTracker | undefined;
190
190
  makeThenableParams: MakeThenableParams;
191
191
  matchedParams: AppPageParams;
192
192
  route: Pick<AppPageRouteWiringRoute<TModule>, "layoutTreePositions" | "layouts" | "routeSegments">;
193
193
  }): unknown;
194
- declare function createAppPageLayoutEntries<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(route: Pick<AppPageRouteWiringRoute<TModule, TErrorModule>, "errors" | "errorTreePositions" | "layoutTreePositions" | "layouts" | "notFounds" | "routeSegments"> & {
194
+ export declare function createAppPageLayoutEntries<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(route: Pick<AppPageRouteWiringRoute<TModule, TErrorModule>, "errors" | "errorTreePositions" | "layoutTreePositions" | "layouts" | "notFounds" | "routeSegments"> & {
195
195
  forbiddens?: readonly (TModule | null | undefined)[] | null;
196
196
  unauthorizeds?: readonly (TModule | null | undefined)[] | null;
197
197
  }): AppPageLayoutEntry<TModule, TErrorModule>[];
198
- declare function createAppPageSourcePage(routeSegments: readonly string[] | null | undefined): string;
199
- declare function resolveAppPageLoadingModuleAtOrAbove<TModule extends AppPageModule>(route: Pick<AppPageRouteWiringRoute<TModule>, "loading" | "loadings" | "loadingTreePositions">, treePosition: number): TModule | null;
200
- declare function createAppPageRouteBodyMetadata(metadata: Metadata | null, pathname: string, metadataPlacement: "body" | "head", trailingSlash?: boolean, scriptNonce?: string): ReactNode;
201
- declare function buildAppPageElements<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: BuildAppPageElementsOptions<TModule, TErrorModule>): AppElements;
198
+ export declare function createAppPageSourcePage(routeSegments: readonly string[] | null | undefined): string;
199
+ export declare function resolveAppPageLoadingModuleAtOrAbove<TModule extends AppPageModule>(route: Pick<AppPageRouteWiringRoute<TModule>, "loading" | "loadings" | "loadingTreePositions">, treePosition: number): TModule | null;
200
+ export declare function createAppPageRouteBodyMetadata(metadata: Metadata | null, pathname: string, metadataPlacement: "body" | "head", trailingSlash?: boolean, scriptNonce?: string): ReactNode;
201
+ export declare function buildAppPageElements<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: BuildAppPageElementsOptions<TModule, TErrorModule>): AppElements;
202
202
  //#endregion
203
- export { AppPageErrorModule, AppPageLayoutEntry, AppPageModule, AppPageRouteWiringRoute, AppPageRouteWiringSlot, AppPageSlotOverride, AppPageTemplateEntry, buildAppPageElements, createAppPageLayoutEntries, createAppPageRouteBodyMetadata, createAppPageSourcePage, createAppPageTreePath, probeAppPageLayoutWithTracking, resolveAppPageChildSegments, resolveAppPageLoadingModuleAtOrAbove };
203
+ export { resolveAppPageChildSegments };
@@ -1,6 +1,7 @@
1
+ import { fnv1a64 } from "../utils/hash.js";
2
+ import { APP_RSC_RENDER_MODE_PREFETCH_EMPTY, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL } from "./app-rsc-render-mode.js";
1
3
  import { createAppRenderDependency, registerAppElementRenderDependencies, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier } from "./app-render-dependency.js";
2
4
  import { APP_LAYOUT_IDS_KEY, APP_ROOT_LAYOUT_KEY, APP_STATIC_SIBLINGS_KEY, AppElementsWire, normalizeAppElementsSlotBindings } from "./app-elements-wire.js";
3
- import { APP_RSC_RENDER_MODE_PREFETCH_EMPTY, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL } from "./app-rsc-render-mode.js";
4
5
  import { APP_PREFETCH_LOADING_SHELL_MARKER_KEY } from "./app-elements.js";
5
6
  import { createInlineScriptTag, escapeHtmlAttr } from "./html.js";
6
7
  import DefaultGlobalError from "../shims/default-global-error.js";
@@ -15,9 +16,11 @@ import { resolveAppPageBranchParams, resolveAppPageSegmentParamScopeKeys, resolv
15
16
  import { probeReactServerSubtree } from "./app-page-probe.js";
16
17
  import { APP_PAGE_SEGMENT_KEY, resolveAppPageChildSegments, resolveAppPageSegmentStateKey, resolveAppPageTemplateStateKey } from "./app-page-segment-state.js";
17
18
  import { createAppPageSegmentPlan } from "./app-page-segment-plan.js";
19
+ import { resolveAppPageModuleTraceSegment, traceGetLayoutOrPageModule } from "./app-page-tracing.js";
18
20
  import { Fragment, Suspense } from "react";
19
21
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
20
22
  //#region src/server/app-page-route-wiring.tsx
23
+ const APP_PAGE_SLOT_SEGMENT_KEY = "(__SLOT__)";
21
24
  const APP_PAGE_LAYOUT_PROBE_CHILD = /* @__PURE__ */ jsx(Fragment, {});
22
25
  const DEFAULT_GLOBAL_ERROR_COMPONENT = DefaultGlobalError;
23
26
  const DEFAULT_NOT_FOUND_COMPONENT = DefaultNotFound;
@@ -188,9 +191,10 @@ function createAppPageParallelSlotEntries(layoutIndex, layoutEntries, route, get
188
191
  const slotId = resolveAppPageSlotId(slot, layoutEntries[targetIndex]?.treePath ?? "/");
189
192
  const slotParams = getEffectiveSlotParams(slotKey, slotName);
190
193
  const routeSegments = resolveSlotOverride(slotKey, slotName)?.routeSegments ?? slot.routeSegments;
194
+ const slotSegments = routeSegments ? resolveAppPageLayoutSegmentProviderSegments(routeSegments, 0, slotParams) : [];
191
195
  parallelSlots[slotName] = /* @__PURE__ */ jsx(LayoutSegmentProvider, {
192
196
  providerId: slotId,
193
- segmentMap: { children: routeSegments ? resolveAppPageLayoutSegmentProviderSegments(routeSegments, 0, slotParams) : [] },
197
+ segmentMap: { children: slotSegments },
194
198
  children: /* @__PURE__ */ jsx(Slot, { id: slotId })
195
199
  });
196
200
  }
@@ -257,12 +261,7 @@ function hasStreamedIcons(metadata) {
257
261
  return Boolean(icons.shortcut || icons.icon || icons.apple || icons.other);
258
262
  }
259
263
  function createStreamedIconKey(pathname, metadataHtml) {
260
- let hash = 2166136261;
261
- for (let index = 0; index < metadataHtml.length; index++) {
262
- hash ^= metadataHtml.charCodeAt(index);
263
- hash = Math.imul(hash, 16777619);
264
- }
265
- return `${pathname}:${(hash >>> 0).toString(36)}`;
264
+ return `vi${fnv1a64(`${pathname}\0${metadataHtml}`)}`;
266
265
  }
267
266
  const STREAMED_ICON_KEY_PLACEHOLDER = "vinext-pending-streamed-icon-key";
268
267
  const REINSERT_STREAMED_ICONS_SCRIPT = `document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el));const a='data-vinext-streamed-icon',o=el=>{const m=el.getAttribute(a),i=m.lastIndexOf(':');return Number(m.slice(i+1))};[...document.querySelectorAll('link['+a+']')].sort((l,r)=>o(l)-o(r)).forEach(el=>document.head.appendChild(el))`;
@@ -274,10 +273,11 @@ function createAppPageRouteBodyMetadata(metadata, pathname, metadataPlacement, t
274
273
  streamedIconKey
275
274
  });
276
275
  const metadataKey = streamedIconKey ? createStreamedIconKey(pathname, renderedMetadataHtml) : "";
276
+ const parserInsertedMetadataHtml = (streamedIconKey ? renderedMetadataHtml.replaceAll(`<link data-vinext-streamed-icon="${STREAMED_ICON_KEY_PLACEHOLDER}:`, `<link data-vinext-streamed-icon="${escapeHtmlAttr(metadataKey)}:`) : renderedMetadataHtml) + createInlineScriptTag(REINSERT_STREAMED_ICONS_SCRIPT, scriptNonce);
277
277
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
278
278
  hidden: true,
279
279
  suppressHydrationWarning: true,
280
- dangerouslySetInnerHTML: { __html: (streamedIconKey ? renderedMetadataHtml.replaceAll(`<link data-vinext-streamed-icon="${STREAMED_ICON_KEY_PLACEHOLDER}:`, `<link data-vinext-streamed-icon="${escapeHtmlAttr(metadataKey)}:`) : renderedMetadataHtml) + createInlineScriptTag(REINSERT_STREAMED_ICONS_SCRIPT, scriptNonce) }
280
+ dangerouslySetInnerHTML: { __html: parserInsertedMetadataHtml }
281
281
  }), /* @__PURE__ */ jsx(StreamedIconsInsertion, { metadataKey })] });
282
282
  }
283
283
  async function AppPageStreamingMetadata(props) {
@@ -489,7 +489,8 @@ function buildAppPageElements(options) {
489
489
  for (let index = 0; index < layoutEntries.length; index++) {
490
490
  const layoutEntry = layoutEntries[index];
491
491
  if (isPrefetchLoadingShell && !includesPrefetchTreePosition(layoutEntry.treePosition)) continue;
492
- const layoutComponent = getDefaultExport(layoutEntry.layoutModule);
492
+ if (!layoutEntry.layoutModule) continue;
493
+ const layoutComponent = traceGetLayoutOrPageModule(resolveAppPageModuleTraceSegment(routeSegments, layoutEntry.treePosition), () => getDefaultExport(layoutEntry.layoutModule));
493
494
  if (!layoutComponent) continue;
494
495
  const layoutParams = resolveAppPageSegmentParams(options.route.routeSegments, layoutEntry.treePosition, options.matchedParams);
495
496
  recordLayoutSkipObservationScope({
@@ -535,17 +536,20 @@ function buildAppPageElements(options) {
535
536
  const slotLoadingEntries = createAppPageSlotLoadingEntries(slot, hasSlotTreeOverride ? slotOverride ?? null : null);
536
537
  const prefetchSlotLoadingEntry = isOwnedAtRoutePrefetchCutoff ? prefetchLoadingEntry : isPrefetchLoadingShell ? getFirstLoadingEntry(slotLoadingEntries) : null;
537
538
  if (isPrefetchLoadingShell && prefetchSlotLoadingEntry === null) continue;
538
- const overrideOrPageComponent = getDefaultExport(slotOverride?.pageModule) ?? getDefaultExport(slot.page);
539
- const defaultComponent = getDefaultExport(slot.default);
540
- if (!overrideOrPageComponent && defaultComponent && options.isRscRequest && options.mountedSlotIds?.has(slotId)) continue;
541
- const slotComponent = overrideOrPageComponent ?? defaultComponent;
539
+ const resolvedOverrideOrPageComponent = slotOverride?.pageModule || slot.page ? traceGetLayoutOrPageModule(APP_PAGE_SEGMENT_KEY, () => getDefaultExport(slotOverride?.pageModule) ?? getDefaultExport(slot.page)) : null;
540
+ const resolvedDefaultComponent = getDefaultExport(slot.default);
541
+ if (!resolvedOverrideOrPageComponent && resolvedDefaultComponent && options.isRscRequest && options.mountedSlotIds?.has(slotId)) continue;
542
+ const slotComponent = resolvedOverrideOrPageComponent ?? resolvedDefaultComponent;
543
+ const overrideOrPageComponent = resolvedOverrideOrPageComponent;
542
544
  if (!slotComponent && !isOwnedAtRoutePrefetchCutoff) {
543
545
  elements[slotId] = AppElementsWire.unmatchedSlotValue;
544
546
  continue;
545
547
  }
546
548
  let slotElement;
547
- if (prefetchSlotLoadingEntry) slotElement = /* @__PURE__ */ jsx(getDefaultExport(prefetchSlotLoadingEntry.loadingModule), {});
548
- else {
549
+ if (prefetchSlotLoadingEntry) {
550
+ const PrefetchSlotLoadingComponent = getDefaultExport(prefetchSlotLoadingEntry.loadingModule);
551
+ slotElement = /* @__PURE__ */ jsx(PrefetchSlotLoadingComponent, {});
552
+ } else {
549
553
  const slotProps = { params: options.makeThenableParams(slotParams) };
550
554
  if (options.searchParams !== void 0) slotProps.searchParams = options.searchParams;
551
555
  if (slotOverride?.props) Object.assign(slotProps, slotOverride.props);
@@ -561,18 +565,20 @@ function buildAppPageElements(options) {
561
565
  branchLayouts.set(treePosition, entries);
562
566
  };
563
567
  if (hasSlotTreeOverride) for (const [layoutIndex, layoutModule] of (slotOverride?.layoutModules ?? []).entries()) {
564
- const component = getDefaultExport(layoutModule);
565
- if (!component) continue;
568
+ if (!layoutModule) continue;
566
569
  const treePosition = slotOverride?.layoutSegments?.[layoutIndex]?.length ?? branchSegments.length;
570
+ const component = traceGetLayoutOrPageModule(resolveAppPageModuleTraceSegment(branchSegments, treePosition), () => getDefaultExport(layoutModule));
571
+ if (!component) continue;
567
572
  addBranchLayout(treePosition, {
568
573
  component,
569
574
  params: resolveSlotLayoutParams(branchSegments, treePosition, slotParams)
570
575
  });
571
576
  }
572
577
  else for (const [layoutIndex, layoutModule] of (slot.configLayouts ?? []).entries()) {
573
- const component = getDefaultExport(layoutModule);
574
- if (!component) continue;
578
+ if (!layoutModule) continue;
575
579
  const treePosition = slot.configLayoutTreePositions?.[layoutIndex] ?? 0;
580
+ const component = traceGetLayoutOrPageModule(resolveAppPageModuleTraceSegment(slotRouteSegments, treePosition), () => getDefaultExport(layoutModule));
581
+ if (!component) continue;
576
582
  addBranchLayout(treePosition, {
577
583
  component,
578
584
  params: {
@@ -581,7 +587,7 @@ function buildAppPageElements(options) {
581
587
  }
582
588
  });
583
589
  }
584
- const slotLayoutComponent = overrideOrPageComponent ? getDefaultExport(slot.layout) : null;
590
+ const slotLayoutComponent = overrideOrPageComponent && slot.layout ? traceGetLayoutOrPageModule(APP_PAGE_SLOT_SEGMENT_KEY, () => getDefaultExport(slot.layout)) : null;
585
591
  if (slotLayoutComponent) {
586
592
  const rootEntries = branchLayouts.get(0) ?? [];
587
593
  branchLayouts.set(0, [{
@@ -659,9 +665,10 @@ function buildAppPageElements(options) {
659
665
  segmentMap: { children: [APP_PAGE_SEGMENT_KEY] },
660
666
  children: /* @__PURE__ */ jsx(Slot, { id: pageElementId })
661
667
  }), createAppPageStreamingMetadataOutlet(streamingMetadataOutletId, options.streamingMetadataOutletSuspended)] });
662
- if (isPrefetchLoadingShell) if (prefetchLoadingComponent === null) routeChildren = null;
663
- else routeChildren = /* @__PURE__ */ jsx(prefetchLoadingComponent, {});
664
- else {
668
+ if (isPrefetchLoadingShell) {
669
+ if (prefetchLoadingComponent === null) routeChildren = null;
670
+ else routeChildren = /* @__PURE__ */ jsx(prefetchLoadingComponent, {});
671
+ } else {
665
672
  routeChildren = /* @__PURE__ */ jsx(RedirectBoundary, { children: routeChildren });
666
673
  if (routeLoadingComponent) routeChildren = /* @__PURE__ */ jsx(Suspense, {
667
674
  fallback: /* @__PURE__ */ jsx(routeLoadingComponent, {}),
@@ -2,10 +2,31 @@ import { ThenableParams, ThenableParamsObserver } from "../shims/thenable-params
2
2
  import { AppPageSearchParams } from "./app-page-head.js";
3
3
  //#region src/server/app-page-search-params-observation.d.ts
4
4
  type AppPageSearchParamsObservationOptions = {
5
- markDynamic?: boolean;
6
5
  observeReactPromiseStatus?: boolean;
7
6
  };
8
- declare function createAppPageSearchParamsObserver(options?: AppPageSearchParamsObservationOptions): ThenableParamsObserver;
9
- declare function makeObservedAppPageSearchParamsThenable(pageSearchParams: AppPageSearchParams, options?: AppPageSearchParamsObservationOptions): ThenableParams<AppPageSearchParams>;
10
- //#endregion
11
- export { createAppPageSearchParamsObserver, makeObservedAppPageSearchParamsThenable };
7
+ type ClientPageSsrSearchParamsOptions = {
8
+ isForceStatic?: boolean;
9
+ isPprFallbackShell?: boolean;
10
+ };
11
+ export declare function createAppPageSearchParamsObserver(): ThenableParamsObserver;
12
+ export declare function makeObservedAppPageSearchParamsThenable(pageSearchParams: AppPageSearchParams, options?: AppPageSearchParamsObservationOptions): ThenableParams<AppPageSearchParams>;
13
+ /**
14
+ * The `searchParams` a client page receives during SSR (see
15
+ * `shims/client-page-root.tsx`). Its RSC payload carries no query, so this is
16
+ * the only place a client page can read it on the server, and a read counts
17
+ * like a server page's: the render is dynamic and won't be stored.
18
+ *
19
+ * `force-static` renders read an empty query, which isn't a read, and PPR
20
+ * fallback shells keep their untracked query, so neither is observed.
21
+ */
22
+ export declare function makeClientPageSsrSearchParamsThenable(searchParams: URLSearchParams, options: ClientPageSsrSearchParamsOptions): ThenableParams<AppPageSearchParams>;
23
+ /**
24
+ * The client page `searchParams` of one SSR render, one promise per page,
25
+ * keyed by the page's props object as the browser keys its own. React writes
26
+ * `status` and `value` onto a promise it tracks, so a promise shared across
27
+ * pages would show one page's `use()` to a sibling in SSR only.
28
+ *
29
+ * The cache lives in this render's navigation context and is dropped with it.
30
+ */
31
+ export declare function createClientPageSsrSearchParamsSource(searchParams: URLSearchParams, options: ClientPageSsrSearchParamsOptions): (pageProps: object) => ThenableParams<AppPageSearchParams>;
32
+ //#endregion
@@ -1,24 +1,60 @@
1
1
  import { markDynamicUsage, markRenderRequestApiUsage, throwIfInsideCacheScope, throwIfStaticGenerationAccessError } from "../shims/headers.js";
2
+ import { searchParamsToRecord } from "../utils/query.js";
2
3
  import { makeThenableParams } from "../shims/thenable-params.js";
3
4
  //#region src/server/app-page-search-params-observation.ts
4
- function markAppPageSearchParamsAccess(markDynamic) {
5
+ function markAppPageSearchParamsAccess() {
5
6
  throwIfStaticGenerationAccessError();
6
7
  throwIfInsideCacheScope("searchParams");
7
- if (markDynamic) markDynamicUsage();
8
+ markDynamicUsage();
8
9
  markRenderRequestApiUsage("searchParams");
9
10
  }
10
- function createAppPageSearchParamsObserver(options = {}) {
11
+ function createAppPageSearchParamsObserver() {
11
12
  return { observeParamAccess() {
12
- markAppPageSearchParamsAccess(options.markDynamic !== false);
13
+ markAppPageSearchParamsAccess();
13
14
  } };
14
15
  }
15
16
  function makeObservedAppPageSearchParamsThenable(pageSearchParams, options = {}) {
16
- const observer = createAppPageSearchParamsObserver(options);
17
+ const observer = createAppPageSearchParamsObserver();
17
18
  if (options.observeReactPromiseStatus === true) return makeThenableParams(pageSearchParams, {
18
19
  ...observer,
19
20
  observeReactPromiseStatus: true
20
21
  });
21
22
  return makeThenableParams(pageSearchParams, observer);
22
23
  }
24
+ /**
25
+ * The `searchParams` a client page receives during SSR (see
26
+ * `shims/client-page-root.tsx`). Its RSC payload carries no query, so this is
27
+ * the only place a client page can read it on the server, and a read counts
28
+ * like a server page's: the render is dynamic and won't be stored.
29
+ *
30
+ * `force-static` renders read an empty query, which isn't a read, and PPR
31
+ * fallback shells keep their untracked query, so neither is observed.
32
+ */
33
+ function makeClientPageSsrSearchParamsThenable(searchParams, options) {
34
+ return makeClientPageSsrSearchParamsThenableFromRecord(searchParamsToRecord(searchParams), options);
35
+ }
36
+ /**
37
+ * The client page `searchParams` of one SSR render, one promise per page,
38
+ * keyed by the page's props object as the browser keys its own. React writes
39
+ * `status` and `value` onto a promise it tracks, so a promise shared across
40
+ * pages would show one page's `use()` to a sibling in SSR only.
41
+ *
42
+ * The cache lives in this render's navigation context and is dropped with it.
43
+ */
44
+ function createClientPageSsrSearchParamsSource(searchParams, options) {
45
+ const pageSearchParams = searchParamsToRecord(searchParams);
46
+ const byPage = /* @__PURE__ */ new WeakMap();
47
+ return (pageProps) => {
48
+ let thenable = byPage.get(pageProps);
49
+ if (!thenable) {
50
+ thenable = makeClientPageSsrSearchParamsThenableFromRecord(pageSearchParams, options);
51
+ byPage.set(pageProps, thenable);
52
+ }
53
+ return thenable;
54
+ };
55
+ }
56
+ function makeClientPageSsrSearchParamsThenableFromRecord(pageSearchParams, options) {
57
+ return options.isForceStatic !== true && options.isPprFallbackShell !== true ? makeObservedAppPageSearchParamsThenable(pageSearchParams) : makeThenableParams(pageSearchParams);
58
+ }
23
59
  //#endregion
24
- export { createAppPageSearchParamsObserver, makeObservedAppPageSearchParamsThenable };
60
+ export { createAppPageSearchParamsObserver, createClientPageSsrSearchParamsSource, makeClientPageSsrSearchParamsThenable, makeObservedAppPageSearchParamsThenable };
@@ -32,7 +32,7 @@ type AppPageSegmentPlan<TModule extends AppPageModule> = Readonly<{
32
32
  * semantics — which segment intercepts, which params bind it — so this layer
33
33
  * only binds keys and derives identities from graph ids.
34
34
  */
35
- declare function createAppPageSegmentPlan<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: {
35
+ export declare function createAppPageSegmentPlan<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: {
36
36
  includeSlot: (ownerTreePosition: number, targetTreePosition: number) => boolean;
37
37
  interception: AppElementsInterception | null;
38
38
  layoutEntries: readonly AppPageLayoutEntry<TModule, TErrorModule>[];
@@ -52,5 +52,4 @@ declare function createAppPageSegmentPlan<TModule extends AppPageModule, TErrorM
52
52
  slotBindings: readonly AppElementsSlotBinding[];
53
53
  templateEntries: readonly AppPageTemplateEntry<TModule>[];
54
54
  }): AppPageSegmentPlan<TModule>;
55
- //#endregion
56
- export { createAppPageSegmentPlan };
55
+ //#endregion
@@ -1,16 +1,16 @@
1
1
  import { AppPageParams } from "./app-page-boundary.js";
2
2
  //#region src/server/app-page-segment-state.d.ts
3
- declare const APP_PAGE_SEGMENT_KEY = "__PAGE__";
4
- declare function isAppPageRouteGroupSegment(segment: string): boolean;
5
- declare function canonicalizeAppPageParams(params: AppPageParams): void;
6
- declare function resolveAppPageChildSegments(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string[];
7
- declare function resolveAppPageSegmentStateKey(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string;
3
+ export declare const APP_PAGE_SEGMENT_KEY = "__PAGE__";
4
+ export declare function isAppPageRouteGroupSegment(segment: string): boolean;
5
+ export declare function canonicalizeAppPageParams(params: AppPageParams): void;
6
+ export declare function resolveAppPageChildSegments(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string[];
7
+ export declare function resolveAppPageSegmentStateKey(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string;
8
8
  /**
9
9
  * A branch segment already resolved by route matching: the interception marker
10
10
  * is split off and the param map that binds the segment is chosen. Downstream
11
11
  * layers serialise these; they never reparse filesystem interception syntax.
12
12
  */
13
- type AppPageSemanticSegment = Readonly<{
13
+ export type AppPageSemanticSegment = Readonly<{
14
14
  /** Interception marker this segment carries, or null when it is a plain segment. */
15
15
  marker: string | null;
16
16
  /** Whether the route's matched params or the slot's own params bind the segment. */
@@ -18,9 +18,8 @@ type AppPageSemanticSegment = Readonly<{
18
18
  /** Segment name with any interception marker removed. */
19
19
  segment: string;
20
20
  }>;
21
- declare function resolveAppPageSemanticSegmentStateKey(semanticSegment: AppPageSemanticSegment, params: AppPageParams): string;
22
- declare function resolveAppPageRouteStateKey(routeSegments: readonly string[], params: AppPageParams): string;
23
- declare function resolveAppPagePatternStateKey(patternParts: readonly string[], params: AppPageParams): string;
24
- declare function resolveAppPageTemplateStateKey(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string;
25
- //#endregion
26
- export { APP_PAGE_SEGMENT_KEY, AppPageSemanticSegment, canonicalizeAppPageParams, isAppPageRouteGroupSegment, resolveAppPageChildSegments, resolveAppPagePatternStateKey, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey, resolveAppPageSemanticSegmentStateKey, resolveAppPageTemplateStateKey };
21
+ export declare function resolveAppPageSemanticSegmentStateKey(semanticSegment: AppPageSemanticSegment, params: AppPageParams): string;
22
+ export declare function resolveAppPageRouteStateKey(routeSegments: readonly string[], params: AppPageParams): string;
23
+ export declare function resolveAppPagePatternStateKey(patternParts: readonly string[], params: AppPageParams): string;
24
+ export declare function resolveAppPageTemplateStateKey(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string;
25
+ //#endregion
@@ -6,7 +6,7 @@ import { InitialNavigationCacheMetadata } from "./app-ssr-stream.js";
6
6
  import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
7
7
  import { ReactFormState } from "react-dom/client";
8
8
  //#region src/server/app-page-stream.d.ts
9
- type AppPageFontData = {
9
+ export type AppPageFontData = {
10
10
  links: string[];
11
11
  preloads: readonly AppPageFontPreload[];
12
12
  styles: string[];
@@ -16,9 +16,10 @@ type CreateAppPageFontDataOptions = {
16
16
  getPreloads: () => AppPageFontPreload[];
17
17
  getStyles: () => string[];
18
18
  };
19
- type AppSsrRenderResult = {
19
+ export type AppSsrRenderResult = {
20
20
  htmlStream: ReadableStream<Uint8Array>;
21
21
  metadataReady: Promise<void>;
22
+ renderComplete?: Promise<void>;
22
23
  capturedRscData: Promise<ArrayBuffer> | null;
23
24
  shellErrorRecovered?: boolean;
24
25
  /**
@@ -28,7 +29,7 @@ type AppSsrRenderResult = {
28
29
  */
29
30
  linkHeader?: string;
30
31
  };
31
- declare function isAppSsrRenderResult(value: unknown): value is AppSsrRenderResult;
32
+ export declare function isAppSsrRenderResult(value: unknown): value is AppSsrRenderResult;
32
33
  /**
33
34
  * Combine the React-emitted preload `Link` header with vinext's font preload
34
35
  * `Link` header, capping the result to `reactMaxHeadersLength`.
@@ -44,8 +45,8 @@ declare function isAppSsrRenderResult(value: unknown): value is AppSsrRenderResu
44
45
  * the render-critical entries survive and trailing font preloads are dropped
45
46
  * first.
46
47
  */
47
- declare function buildAppPageLinkHeader(reactLinkHeader: string | undefined, fontLinkHeader: string | undefined, maxHeadersLength: number | undefined): string;
48
- type AppPageSsrHandler = {
48
+ export declare function buildAppPageLinkHeader(reactLinkHeader: string | undefined, fontLinkHeader: string | undefined, maxHeadersLength: number | undefined): string;
49
+ export type AppPageSsrHandler = {
49
50
  handleSsr: (rscStream: ReadableStream<Uint8Array>, navigationContext: NavigationContext | null, fontData: AppPageFontData, options?: {
50
51
  formState?: ReactFormState | null;
51
52
  scriptNonce?: string;
@@ -55,6 +56,8 @@ type AppPageSsrHandler = {
55
56
  * in the SSR head. Sourced from `experimental.clientTraceMetadata`.
56
57
  */
57
58
  clientTraceMetadata?: readonly string[];
59
+ /** Private marker used to identify only this render's injected trace tags. */
60
+ clientTraceMetadataMarker?: string;
58
61
  /**
59
62
  * Maximum total length (in characters) of the preload `Link` header
60
63
  * emitted during SSR. `0` disables emission. From `reactMaxHeadersLength`
@@ -74,8 +77,12 @@ type AppPageSsrHandler = {
74
77
  isStaticGeneration?: boolean;
75
78
  /** `dynamic = "force-static"` suppresses the useSearchParams bailout. */
76
79
  isForceStatic?: boolean;
80
+ /** Production render that may be stored under a query-free key. */
81
+ isCacheCandidate?: boolean;
77
82
  /** Dev-only: original server error to surface in the browser overlay. */
78
83
  initialDevServerError?: unknown;
84
+ /** Report an SSR/Fizz render failure through instrumentation. */
85
+ onSsrError?: (error: unknown) => unknown;
79
86
  /** Mirror inline Flight chunks into Next.js's `self.__next_f` transport. */
80
87
  mirrorNextFlight?: boolean;
81
88
  /** When true, an SSR-phase-only shell render error resolves to the
@@ -101,6 +108,8 @@ type RenderAppPageHtmlStreamOptions = {
101
108
  * the SSR head. Undefined or empty disables emission.
102
109
  */
103
110
  clientTraceMetadata?: readonly string[];
111
+ /** Private marker used to identify only this render's injected trace tags. */
112
+ clientTraceMetadataMarker?: string;
104
113
  /**
105
114
  * Maximum total length (in characters) of the preload `Link` header emitted
106
115
  * during SSR. `0` disables emission. From `reactMaxHeadersLength` in
@@ -124,10 +133,14 @@ type RenderAppPageHtmlStreamOptions = {
124
133
  isStaticGeneration?: boolean;
125
134
  /** `dynamic = "force-static"` suppresses the useSearchParams bailout. */
126
135
  isForceStatic?: boolean;
136
+ /** Production render that may be stored under a query-free key. */
137
+ isCacheCandidate?: boolean;
127
138
  /** Override the default shell-error recovery decision passed to handleSsr. */
128
139
  fallbackToErrorDocumentOnShellError?: boolean;
129
140
  /** Dev-only: original server error to surface in the browser overlay. */
130
141
  initialDevServerError?: unknown;
142
+ /** Report an SSR/Fizz render failure through instrumentation. */
143
+ onSsrError?: (error: unknown) => unknown;
131
144
  /** Mirror inline Flight chunks into Next.js's `self.__next_f` transport. */
132
145
  mirrorNextFlight?: boolean;
133
146
  /** True when the app supplies a custom global-error.tsx. Disables the
@@ -146,6 +159,7 @@ type AppPageHtmlStreamRecoveryResult = {
146
159
  htmlStream: ReadableStream<Uint8Array> | null;
147
160
  response: Response | null;
148
161
  metadataReady: Promise<void>;
162
+ renderComplete: Promise<void>;
149
163
  capturedRscData: Promise<ArrayBuffer> | null;
150
164
  shellErrorRecovered: boolean;
151
165
  /** React-emitted preload `Link` header (already capped). */
@@ -167,12 +181,14 @@ type AppPageRscErrorTracker = {
167
181
  * synchronously inside a route-level Suspense boundary (loading.tsx).
168
182
  */
169
183
  getCapturedSpecialError: () => unknown;
184
+ isCapturedError: (error: unknown) => boolean;
170
185
  onRenderError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
171
186
  };
172
- declare function createAppPageFontData(options: CreateAppPageFontDataOptions): AppPageFontData;
173
- declare function renderAppPageHtmlStream(options: RenderAppPageHtmlStreamOptions): Promise<AppSsrRenderResult>;
174
- declare function renderAppPageHtmlResponse(options: RenderAppPageHtmlResponseOptions): Promise<Response>;
175
- declare function renderAppPageHtmlStreamWithRecovery<TSpecialError>(options: RenderAppPageHtmlStreamWithRecoveryOptions<TSpecialError>): Promise<AppPageHtmlStreamRecoveryResult>;
176
- declare function createAppPageRscErrorTracker(baseOnError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown): AppPageRscErrorTracker;
187
+ export declare function createAppPageSsrErrorHandler(baseOnError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown, isCapturedRscError: (error: unknown) => boolean): (error: unknown) => unknown;
188
+ export declare function createAppPageFontData(options: CreateAppPageFontDataOptions): AppPageFontData;
189
+ export declare function renderAppPageHtmlStream(options: RenderAppPageHtmlStreamOptions): Promise<AppSsrRenderResult>;
190
+ export declare function renderAppPageHtmlResponse(options: RenderAppPageHtmlResponseOptions): Promise<Response>;
191
+ export declare function renderAppPageHtmlStreamWithRecovery<TSpecialError>(options: RenderAppPageHtmlStreamWithRecoveryOptions<TSpecialError>): Promise<AppPageHtmlStreamRecoveryResult>;
192
+ export declare function createAppPageRscErrorTracker(baseOnError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown): AppPageRscErrorTracker;
177
193
  //#endregion
178
- export { AppPageFontData, AppPageSsrHandler, AppSsrRenderResult, buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery };
194
+ export { deferUntilStreamConsumed };